2017-01-21 130 views
1

我使用大熊猫timedelta对象跟踪的分段时间在体育相关的数据使用下面这种建设集:如何格式化pandas timedelta对象?

import pandas as pd 
pd.to_timedelta("-0:0:1.0") 

这本身报告为:

-1 days +23:59:59

我可以使用pd.to_timedelta("-0:0:1.0").total_seconds()获得原始秒数,但在负数量以分钟或小时计算时很难应用:

对于表达:

pd.to_timedelta("-1:2:3.0") 

我怎么能得到格式化为"-1:2:3.0,或-1 hour, 2 minutes, 3 seconds报告,从timedelta对象,而不是形式-3723.0000000000005(有浮动的误差)或-1 days +22:57:57

回答

0

这就是你想要的吗?

In [223]: df 
Out[223]: 
       delta 
0 -1 days +23:59:59 
1 -1 days +22:57:57 
2   00:00:11 

In [224]: df.delta.abs().dt.components 
Out[224]: 
    days hours minutes seconds milliseconds microseconds nanoseconds 
0  0  0  0  1    0    0   0 
1  0  1  2  3    0    0   0 
2  0  0  0  11    0    0   0 
+0

卫生署!好的,是的,如果否定的话。组件方法也很方便... 我真正想要的是直接使用类似'strftime'格式的东西来控制delta对象的显示格式。 – psychemedia