我正在使用熊猫数据框,其中有一个deltatime列,其值如下:
{'deltatime':0天09:06:30,0天00:30:34,2天23:07:14}
如何将这些时间转换为一个单位,例如分钟或小时,但转换为一个单位,以便更好地在图形中可视化这些时间。 有想法吗?
此处: https://pandas.pydata.org/pandas-docs/stable/user_guide/timedeltas.html
它没有阐明如何简化更改单位
答案 0 :(得分:2)
您可以使用total_seconds()
的{{1}}方法以秒为单位获取持续时间:
timedelta
然后根据需要转换单位:
seconds = [t.total_seconds() for t in df['deltatime']]
答案 1 :(得分:2)
您可以这样做:
df['deltatime'] = pd.to_timedelta(df['deltatime']).dt.total_seconds()
输出:
deltatime
0 32790.0
1 1834.0
2 256034.0
您还可以在timedelta
上执行算术运算:
# convert to hours
pd.to_timedelta(df['deltatime']) / pd.to_timedelta('1H')
输出:
0 9.108333
1 0.509444
2 71.120556
Name: deltatime, dtype: float64