将列转换为时间增量并从中删除天



我正在尝试将数据如下的列:1:38:17或36:21转换为timedelta格式。此列是从网站中提取的,并使用panda转换为表格。

df[' Chip Time'] = df[' Chip Time'].apply(pd.to_timedelta, errors='coerce')

这将返回0天01:38:17,但对于带有分和秒(36:21(的行,它将返回NaT。我想把时间适当地转换一下,去掉日期部分,只留下这样的时间:01:38:17。

我试着使用下面的代码,但它并没有减少天数,而是减少了时间。

df[' Chip Time'] = pd.to_timedelta(df[' Chip Time'].dt.days, unit='d')

请问我是否可以使用另一种方法来返回这样的结果01:38:17。

我认为您希望使用pd.to_datetime而不是pd.to_timedelta:

df[' Chip Time'] = pd.to_datetime(df[' Chip Time'], format='%H:%M:%S').dt.time

最新更新