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

尝试删除DataFrame列时触发KeyError: not found in axis错误

解决DataFrame删除SG列报错的问题

问题根源

你遇到的问题大概率是列名里的空白不是普通半角空格,可能是全角空格、制表符或者其他隐藏字符,导致手动加前后空格的方式匹配不到真实列名。

步骤1:确认真实列名

先打印所有列名,或者查看列名的具体字符编码,搞清楚真实的列名细节:

# 打印所有列名列表
print(df.columns.tolist())

# 查看每个列名的字符编码,排查隐藏特殊字符
for col in df.columns:
    print(f"列名: '{col}',字符编码: {[ord(c) for c in col]}")

比如全角空格的ASCII码是12288,和半角空格的32完全不同,这时候手动加半角空格肯定匹配不上。

步骤2:两种可行解决方法

方法一:统一清理列名空白

直接把所有列名的前后空白(含各类空白字符)清理掉,之后再删除列就不会报错:

# 复制原数据
df = df.copy()
# 清理列名前后的所有空白字符
df.columns = df.columns.str.strip()
# 删除SG列
df.drop('SG', axis=1, inplace=True)

方法二:精准匹配真实列名

如果不想修改原列名,直接定位包含SG的列进行删除:

df = df.copy()
# 筛选出包含SG的列
sg_column = [col for col in df.columns if 'SG' in col][0]
# 删除目标列
df.drop(sg_column, axis=1, inplace=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 05:30:58