我注意到Pandas知道如何巧妙地将timedelta
对象格式化为字符串。
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'
我宁愿不重新发明轮子,所以有没有办法访问Pandas用来在timedelta
中显示x days, hh:mm:ss
对象的字符串格式化方法(或字符串本身)?
答案 0 :(得分:7)
该功能位于here:
pd.tslib.repr_timedelta64
行动中:
In [11]: pd.tslib.repr_timedelta64(np.timedelta64(180487000000000,'ns'))
Out[11]: '2 days, 02:08:07'