如何在python / pandas中将字符串/浮点数转换为时间?

时间:2020-07-15 18:45:21

标签: python pandas dataframe datetime

我有一个数据集,以3.11的格式存储3个小时7分钟之类的持续时间。 我想通过以下方式将包含这些值的列转换为日期时间:03:07。

当我这样做时:

df["ConnectedDuration"] = pd.to_datetime(df['ConnectedDuration'])

我得到:1970-01-01 00:00:00.000000003显然不是我想要的。

当我这样做时:

df["ConnectedDuration"] = pd.to_datetime(df['ConnectedDuration'], format='%H:%M')

我收到以下错误:ValueError: time data '3' does not match format '%H:%M' (match)

我们非常感谢您的帮助

1 个答案:

答案 0 :(得分:3)

您想将此值转换为timedelta而不是datetime。因此,您应该使用pd.to_timedelta方法,例如:

pd.to_timedelta(df["ConnectedDuration"].astype('float'), unit='h')