熊猫将增量时间列转换为一个唯一的单位时间

时间:2020-06-02 21:06:08

标签: pandas time timedelta units-of-measurement

我正在使用熊猫数据框,其中有一个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

它没有阐明如何简化更改单位

2 个答案:

答案 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