You need to enable JavaScript to run this app. Pandas使用rename重命名列时报KeyError但列确实存在如何解决?
优惠活动
大模型
产品
解决方案
定价
更多

Pandas使用rename重命名列时报KeyError但列确实存在如何解决?

报错原因

核心原因是列名存在肉眼不可见的隐藏字符,常见为列名前后的空格、制表符、换行符。print(df.columns)输出时不会特殊标记这类隐藏字符,因此你会误判列名完全匹配,实际执行重命名时字符串匹配失败就会抛出KeyError。
小概率场景为你执行重命名操作的DataFrame对象和打印列信息的DataFrame不是同一个,比如中间做过切片、赋值、过滤操作重置了df变量,导致待操作的df确实不存在目标列。

解决方法
  • 先统一清理所有列名的隐藏空白字符:
# 去除所有列名首尾的空格、制表符、换行符
df.columns = df.columns.str.strip()
  • 清理完成后再执行重命名操作即可正常运行:
df.rename(columns = {'Long Name 1':'Court'}, inplace = True)

如果清理后仍报错,可以通过repr函数打印列名的原始字符内容,定位特殊字符:

# 输出所有列名的原始字符串表示,不可见字符会被转义展示
for col in df.columns:
    print(repr(col))

找到Long Name 1对应的实际原始列名,替换rename方法中字典的key即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 20:57:00