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

Pandas访问Month列触发KeyError错误的解决方法求助

解决Pandas中KeyError: 'Month'的问题

你的数据格式如下:

Month Target Efficiency Actual
Aug-18 95% 0.4500
Sep-18 95% 0.3000

执行df['Efficiency Actual']能正常返回结果,但调用df['Month']时触发KeyError: 'Month',可以从以下几个方向排查解决:

  • 检查列名是否存在不可见空格
    读取数据时,Month列名前后可能带有空格(比如' Month'或'Month '),导致直接匹配失败。先打印所有列名确认:

    print(df.columns.tolist())
    

    如果发现列名带空格,要么直接用实际列名访问,要么批量去除所有列名的空格:

    # 方式1:使用实际列名访问
    df[' Month']  # 示例:假设列名前有空格
    # 方式2:批量清理列名空格
    df.columns = df.columns.str.strip()
    # 清理后即可正常使用df['Month']
    
  • 确认数据读取时表头是否被正确识别
    若读取数据时,pandas未将第一行识别为表头,或把Month设成了索引,也会导致无法通过列名访问。检查读取代码,确保表头参数正确,同时查看索引情况:

    # 正确读取空格分隔的文本示例
    df = pd.read_table('your_data_file.txt', sep='\s+', header=0)
    # 检查索引是否为Month
    print(df.index.name)
    # 如果Month是索引,这样访问
    df.index
    # 或者重置索引将Month转为普通列
    df = df.reset_index()
    
  • 排查列名是否被自动修改
    少数情况下pandas会自动修改列名(比如重复列名时添加后缀),打印列名列表就能确认,之后使用实际列名访问即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 09:54:56