2013-08-25 23 views
5

我注意到Pandas知道如何巧妙地將timedelta對象格式化爲字符串。Pandas中的timedeltas的字符串格式

In [1]: df[column][rows].max() 
Out[1]: 
0 2 days, 02:08:07 
dtype: timedelta64[ns] 

當我嘗試這樣做手工我不斷收到以納秒的字符串。

In [2]: df[column][rows].max()[0] 
Out[2]: numpy.timedelta64(180487000000000,'ns') 

In [2]: str(df[column][rows].max()[0]) 
Out[2]: '180487000000000 nanoseconds' 

我寧願不推倒重來,那麼有沒有什麼辦法來訪問字符串格式化方法(或字符串本身),大熊貓用來顯示x days, hh:mm:ss一個timedelta對象?

回答

6

該功能位於here

pd.tslib.repr_timedelta64 

在行動:

In [11]: pd.tslib.repr_timedelta64(np.timedelta64(180487000000000,'ns')) 
Out[11]: '2 days, 02:08:07' 
+0

謝謝!這是一個有用的函數 –

+4

我可以問,你怎麼知道這是函數?你知道代碼庫嗎?熊貓有一些不錯的字符串格式化工具,所以知道如何瀏覽它們會很棒。 –

+1

我有一種感覺,它會在tslib(因爲我知道代碼庫,這是時間序列的東西),並發現它與一個標籤完整:) –