如何将包含 pandas.datetime.timedelta 的系列转换为浮点数,例如小时或天?

数据挖掘 Python 熊猫 麻木的
2022-03-04 14:31:24

我想绘制一些包含时间增量的数据。但是,numpyplot()errorbar()返回:

TypeError: float() argument must be a string or a number, not 'Timedelta'

问题是如何有效地将时间增量转换为浮点数或整数。例如,当我使用分钟作为基础时:

0 days 01:30:00 -> 90

或小时

0 days 01:30:00 -> 1.5

类似于Series.dt.dayswhich 在这种情况下会返回 0。

2个回答

一种方法是使用Series.dt.seconds和“Series.dt.days”并乘以所需单位的因子:

(Series.dt.seconds/3600) + (Series.dt.days*24)  # for values with [hours]

您可以除以要用作单位的 timedelta:

totalDays = my_timedelta = pd.TimeDelta('1D')