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

为什么使用Pandas转换为Datetime时会出现日期格式错位问题?

问题原因

pandas的pd.to_datetime()函数默认采用美式日期解析逻辑(优先将第一个数值识别为月份),当字符串中第一个数值≤12时,会默认判定为月份,只有当第一个数值>12(无法作为合法月份取值)时,才会自动识别为日期:

  • 第一条记录22-04-15、第三条记录18-04-15的首段数值22、18均大于12,无法被解析为月份,因此自动识别为日期,结果正确
  • 第二条记录04-08-15、第四条记录05-07-15的首段数值04、05均≤12,被默认解析为月份,因此出现月日错位的问题

解决方案

有两种常用解决方式,第二种精准指定格式的方案更稳定,适合已知日期格式的场景:

  • 开启dayfirst参数,明确告知pandas日期段在前:
df['Date'] = pd.to_datetime(df['Date'], dayfirst=True)
  • 直接指定日期匹配格式,完全避免解析歧义,同时解析效率更高:
df['Date'] = pd.to_datetime(df['Date'], format='%d-%m-%y')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 23:54:00