使用带小数点的“pandas.to_timedelta”
Use `pandas.to_timedelta` with decimal periods
在我的 CSV 中,我有一个持续时间列,写为 13:08.4
和 13: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
在我的 CSV 中,我有一个持续时间列,写为 13:08.4
和 13: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