首页 > 解决方案 > Pandas timedelta 列将小时和分钟转换为整数格式

问题描述

我知道发布了类似的问题,但不完全符合我的用例。

我有一个包含 timedelta 值的 pandas 列:

0 days 10:46:22.000000000

我想看起来像一个整数:

10.46

有没有一种简单的方法可以通过提取小时和分钟来做到这一点?

标签: pythonpandastimedelta

解决方案


将您Timedelta的 s 转换为秒并除以 3600:

s = pd.Series([pd.Timedelta('0 days 10:46:22.000000000'), pd.Timedelta('5 days 100:31:22.000000000')])

float_hours = s.dt.total_seconds() / 3600

给出:

0     10.772778
1    220.522778
dtype: float64

推荐阅读