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

Pandas DataFrame删除列时持续出现Key Error问题求助

解决Pandas DataFrame删列时的Key Error问题

Key Error的核心原因是你指定的列名不存在于当前DataFrame的列中,以下是针对性的排查和解决方法:

1. 先确认列名的真实状态

先打印出DataFrame的所有列名,检查目标列是否存在,以及是否有格式问题:

print(SATdf.columns.tolist())

重点排查:

  • 列名是否有前后空格(比如实际是 School ID而非School ID)
  • 大小写是否和你写的一致(比如school id和School ID)
  • 是否存在特殊符号或拼写错误

如果有空格问题,先清理列名再删除:

# 去除所有列名的前后空格
SATdf.columns = SATdf.columns.str.strip()
# 批量删除目标列
SATdf.drop(['School ID', 'Building Code'], axis=1, inplace=True)

2. 避免重复删除触发错误

如果代码重复执行过,目标列已经被删除,再次运行就会报错。可以添加errors='ignore'参数忽略不存在的列:

SATdf.drop(['School ID', 'Building Code'], axis=1, inplace=True, errors='ignore')

3. 确认操作对象正确

检查变量名是否拼写正确(比如是否误写为Satdf而非SATdf),或者该DataFrame是否被其他代码修改过。

4. 备选:通过列索引删除

如果列名格式问题难以处理,可以先通过print(SATdf.columns.tolist())找到目标列的位置索引,再按索引删除:

# 假设"School ID"是第0列,"Building Code"是第1列
SATdf.drop(SATdf.columns[[0, 1]], axis=1, inplace=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 17:10:33