pandas 将增量时间列转换为一个单独的单位时间

pandas convert delta time column into one sole unit time

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

它没有阐明如何简单地改变单位

您可以使用 timedeltatotal_seconds() 方法来获取其持续时间(以秒为单位):

seconds = [t.total_seconds() for t in df['deltatime']]

然后根据需要转换单位:

#to hours, i.e. 3600 seconds
hours = [t.total_seconds()/3600 for t in df['deltatime']]

你可以这样做:

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