2013-08-25 19 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(因为我知道代码库,这是时间序列的东西),并发现它与一个标签完整:) –