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

如何用Pandas正确将dd/mm/yy格式日期转换为dd/mm/yyyy?

Pandas 正确转换 dd/mm/yy 格式日期为 dd/mm/yyyy 的方法

出现日月互换的问题,本质是pd.to_datetime默认会自动推断日期格式,当日期里的“日”数值≤12时,它会优先把第一个数字当成月份(比如03/05/22会被误解析成2022年3月5日,而非2022年5月3日),只有当“日”>12时才会按日/月逻辑解析,导致部分日期格式混乱。

给你两种靠谱的解决方法:

1. 明确指定输入格式(推荐)

直接通过format参数告诉Pandas你的日期是dd/mm/yy格式,彻底避免推断错误:

# 先转换成datetime类型
df['Date'] = pd.to_datetime(df['Date'], format='%d/%m/%y')

# 如果需要输出成dd/mm/yyyy的字符串格式,再加一步strftime
df['Date'] = pd.to_datetime(df['Date'], format='%d/%m/%y').dt.strftime('%d/%m/%Y')

参数说明:

  • %d:两位数字的日
  • %m:两位数字的月
  • %y:两位数字的年份(会自动补全为4位,比如22→2022,99→1999)
  • %Y:四位数字的年份

2. 强制优先解析日(适合混合格式场景)

如果你的数据里同时存在dd/mm/yy和mm/dd/yy的混合格式,可以用dayfirst=True参数让Pandas优先把第一个数字当作日:

df['Date'] = pd.to_datetime(df['Date'], dayfirst=True)

注意:如果所有日期的日都≤12,这个参数还是可能出现误判,所以优先推荐第一种方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 19:04:06