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

Pandas绘制箱线图出现KeyError:指定列不在索引中的问题

解决pandas boxplot列名匹配的KeyError问题

排查列名隐藏字符

  • 先打印列名的原始字符串(包含不可见字符),用repr()函数暴露细节:
    for col in df.columns:
        print(repr(col))
    
    对比三个列名的输出,大概率能发现第三列存在多余空格、制表符这类肉眼看不到的字符——比如实际列名是'Own contribution assessment 3 '(末尾多了空格),手动输入的名字自然匹配不上。

直接引用现有列名

  • 别手动输入列名,直接从df.columns里取对应元素传入boxplot,彻底避免字符匹配问题:
    df.boxplot(column=[df.columns[0], df.columns[1], df.columns[2]])
    
    嫌麻烦的话直接传入全部列:
    df.boxplot(column=df.columns)
    

重命名列名消除隐患

  • 如果确认有隐藏字符,直接重命名列名统一格式:
    df.columns = ['Own contribution assessment 1', 'Own contribution assessment 2', 'Own contribution assessment 3']
    
    之后再调用df.boxplot(column=df.columns)验证是否正常生成包含三列的箱线图。

辅助验证:检查列名长度

  • 打印每个列名的长度,看是否和预期一致:
    for col in df.columns:
        print(col, len(col))
    
    要是第三列长度比前两列长,基本实锤有隐藏字符。

内容的提问来源于stack exchange,提问作者FluidMechanics Potential Flows

相关产品推荐
方舟 Agent Plan

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

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