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

通过索引删除DataFrame多列时触发KeyError问题求助

Pandas删除DataFrame列报KeyError问题解决方案

错误原因

  • pandasdrop()方法默认axis=0(匹配行索引删除行),你未指定删除列的参数,导致pandas到行索引中查找传入的列名,找不到对应值抛出KeyError。

解决方法

方法1:修正drop()方法参数

删除列时需要显式指定axis=1,单条删除首列的正确写法:

df.drop(df.columns[0], axis=1, inplace=True)

如果要一次性完成所有冗余列删除,写法如下:

# 同时删除首列、及第22列及之后的所有冗余列
df.drop(df.columns[[0] + list(range(21, 69))], axis=1, inplace=True)

方法2:直接按位置选取保留列(更简洁不易出错)

你的需求是固定保留删除首列后的20列,直接用iloc按位置选取目标列即可,无需调用删除方法:

# 取所有行,第2列到第21列(索引1到20,共20列)直接覆盖原df
df = df.iloc[:, 1:21]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 18:27:04