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

pd.to_datetime转换年月列报格式不匹配错误原因及解决方法

问题根源

你的报错核心是日期格式符使用错误:

  • 格式符%y仅匹配2位长度的年份(例如14对应2014、24对应2024),但你的数据里年份是4位完整格式(如2014),和%y的匹配规则不相符。
  • 额外注意:你给出的样例数据里月份列的列名是大写开头的Month,代码里写的是小写month,如果实际运行时列名大小写不匹配,还会触发列不存在的KeyError,需要保证字段名完全对应。
修正代码
import pandas as pd

# 参考样例数据构造
df = pd.DataFrame({
    'Month': ['2014-01', '2014-02', '2014-03', '2014-04', '2014-05'],
    'Fee': [350800, 113800, 375200, 142200, 304500]
})

# 正确转换:用大写%Y匹配4位年份,列名和实际字段保持一致
df['Month'] = pd.to_datetime(df['Month'], format='%Y-%m')

转换后因为原始数据仅包含年月、没有具体日信息,pandas会自动将日期补全为对应月份的1号,最终列类型为标准datetime64类型,可直接用于后续时间序列筛选、分组、重采样等数据处理操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 20:27:19