2013-08-25 12 views
5

私は、ファンダスがスマートに文字列にtimedeltaオブジェクトをフォーマットする方法を知っていました。パンダの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:sstimedeltaオブジェクトを表示するために使用するアクセスする方法はありますか?

答えて

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

私は尋ねるかもしれませんが、これが関数であることをどうお知りになりましたか?あなたはコードベースをよく知っていますか? Pandasにはすばらしい文字列書式設定ユーティリティがありますので、それらをブラウズする方法を知っておくとよいでしょう。 –

+1

私はそれがtslibにあると感じました(私がコードベースを知っているので、それはtimeseriesのものです)、タブでそれを見つけました:) –

関連する問題