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

指定infer_datetime_format=True仍触发pandas日期解析警告的问题

解决Pandas日期解析警告问题

警告原因分析

  • 你指定的format="%d/%m/%y"是两位年份格式,但数据中存在31/12/2015这种四位年份的日期,格式不匹配。
  • format参数优先级高于infer_datetime_format=True,Pandas会优先尝试用你指定的格式解析,失败后才会自动推断,这个过程就会触发警告。
  • 你的代码生成了data_date但未替换原data['date']列,后续set_index使用的还是原始字符串日期,等于没完成日期转换。

解决方案

方案1:明确指定正确的日期格式

因为数据是DD/MM/YYYY格式,把format参数改成%d/%m/%Y(大写Y对应四位年份),同时替换原日期列:

data = pd.read_csv('index.csv')
# 替换原date列为解析后的datetime类型
data['date'] = pd.to_datetime(data['date'], dayfirst=True, format="%d/%m/%Y")
data.set_index('date', inplace=True)
data = data.asfreq('b')

方案2:让Pandas自动推断格式(适合混合格式场景)

如果数据中存在多种日期格式,直接去掉format参数,保留dayfirst=True和infer_datetime_format=True即可:

data = pd.read_csv('index.csv')
data['date'] = pd.to_datetime(data['date'], dayfirst=True, infer_datetime_format=True)
data.set_index('date', inplace=True)
data = data.asfreq('b')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 08:40:37