You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pd.to_datetime转换字符串时间列报格式不匹配错误如何解决

错误原因

你指定的解析格式%H:%M:%S.%f要求输入字符串必须符合「两位小时:两位分钟:两位秒.毫秒」的结构,字符串内需要包含2个冒号分隔3段时间值,但触发报错的样本值42:53.700仅包含1个冒号,只有2段时间值,缺失小时段,和指定格式不匹配,因此解析失败。
额外注意:如果该列存储的是耗时、时长类数据(如比赛用时、视频时长)而非具体时间点,不适合转换为DateTime类型,应当使用时间差类型存储。

解决方法

根据你的数据实际格式选择对应方案:

  • 如果整列都是「分钟:秒.毫秒」格式的时长数据:直接补全前导小时位后转换为Timedelta(时间差)类型,是最符合数据语义的方案
Merge_df['Time'] = pd.to_timedelta('00:' + Merge_df['Time'])
  • 如果整列都是「分钟:秒.毫秒」格式的当日时间点(小时统一为0点):补全前导小时位后按原格式转DateTime即可
Merge_df['Time'] = pd.to_datetime('00:' + Merge_df['Time'], format='%H:%M:%S.%f')
  • 如果列内格式不统一,同时存在带小时位(如01:12:34.567)和不带小时位的字符串:取消硬编码格式,让pandas自动推断格式解析
Merge_df['Time'] = pd.to_datetime(Merge_df['Time'], infer_datetime_format=True)

解析完成后建议取前5行数据执行print(Merge_df['Time'].head())校验结果,确认没有出现时间字段错位的问题。

内容的提问来源于stack exchange,提问作者harsh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 22:18:32