我有一个数据集,以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)
我们非常感谢您的帮助
答案 0 :(得分:3)
您想将此值转换为timedelta
而不是datetime
。因此,您应该使用pd.to_timedelta
方法,例如:
pd.to_timedelta(df["ConnectedDuration"].astype('float'), unit='h')