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

Pandas转换datetime时日期格式不一致,日与月被颠倒

解决pandas日期转换中日月颠倒的问题

你的问题源于日期解析的格式歧义:

  • 日期字符串是日-月-年格式,但pd.to_datetime()默认会优先尝试月-日-年解析逻辑。
  • 像6-3-2020这种日和月数值都≤12的字符串,会被错误解析成2020-06-03;而18-3-2022因为18超出月份的合法范围(1-12),会自动按正确的日-月-年规则解析,最终导致timestamp列格式不一致。

解决方案:指定明确的日期格式

直接在pd.to_datetime()中通过format参数强制指定字符串格式,彻底消除解析歧义:

df['timestamp'] = pd.to_datetime(df['Datum WSM-09'], format='%d-%m-%Y %H:%M')
df_daily_avg = df.groupby(pd.Grouper(freq='D', key='timestamp')).mean()

补充说明

如果你的日期字符串存在格式不统一的情况(比如部分日/月是两位数、部分是一位),也可以用dayfirst=True参数让pandas优先将第一个数字视为日期:

df['timestamp'] = pd.to_datetime(df['Datum WSM-09'], dayfirst=True)

不过指定format是最稳妥的方式,能确保所有日期都严格按预期规则解析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 13:17:02