使用带小数点的“pandas.to_timedelta”

Use `pandas.to_timedelta` with decimal periods

在我的 CSV 中,我有一个持续时间列,写为 13:08.413:06.20

我想将此列转换为 pandas timedelta。

但是当我尝试 df['Time'] = pd.to_timedelta(df['Time']) 时出现错误 ValueError: expected hh:mm:ss format before .

这是怎么回事,我该如何解决?

您可以将 '.' 替换为 ':',就像错误所说的那样,格式为 hh:mm:ss:

df['Time'] = pd.to_timedelta(df['Time'].str.replace('.',':'))
#13:08.4 becomes: 0 days 13:08:04

如果'Time'的格式是mm:ss那么使用:

df['Time'] = pd.to_timedelta('00:'+df['Time'])
#13:08.4 becomes: 0 days 00:13:08.400000