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

如何正确转换格式为'13:55:07 03-01-2023'的时间戳字符串?

解决pandas日期解析错误:将'日-月-年'格式转换为正确时间戳

你的问题出在pandas默认的日期解析逻辑上——它会把03-01-2023默认识别为月-日-年,所以才得到了错误的2023-03-01。要让它正确解析为日-月-年,有两种可靠方法:

方法1:显式指定日期格式(推荐)

直接告诉pandas你的字符串格式,这是效率最高的方式,尤其适合大数据集:

order_data['exch_tm'] = pd.to_datetime(order_data['exch_tm'], format='%H:%M:%S %d-%m-%Y')

格式符说明:

  • %H:%M:%S:匹配时间部分的小时:分钟:秒
  • %d-%m-%Y:匹配日期部分的日-月-年

执行后,'13:55:07 03-01-2023'会被正确转换为Timestamp('2023-01-03 13:55:07')。

方法2:使用dayfirst=True参数

如果不确定具体格式,或者格式有轻微变动,可以让pandas优先把日期中的第一个数字当作日:

order_data['exch_tm'] = pd.to_datetime(order_data['exch_tm'], dayfirst=True)

不过这种方式会让pandas尝试多种格式匹配,效率略低于显式指定格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 11:45:33