首页 > 解决方案 > 使用带有小数点的`pandas.to_timedelta`

问题描述

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

我想将此列转换为 pandas timedelta。

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

发生了什么事,我该如何解决?

标签: pythonpandastimedeltatime-format

解决方案


您可以用类似的错误替换'.'':'以使其格式为hh:mm:ss

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

或者

如果使用“时间”格式,mm:ss则使用:

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

推荐阅读