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

无法删除名为2021.0的列:KeyError报错求助

解决DataFrame删除"2021.0"列报错的问题

先确认列名的真实状态

报错核心是你指定的列名和DataFrame里的实际列名不匹配,先做这几步排查:

  • 执行print(df2.columns)打印所有列名,仔细核对:是不是列名带空格、大小写差异,或者是数值类型的2021.0而非字符串类型?
  • 如果列名是float类型的数值,把代码里的字符串"2021.0"换成数值2021.0即可:
    df3 = df2.drop(labels=2021.0, axis=1)
    # 或者另一种写法
    df3 = df2.drop([2021.0], axis='columns')
    

处理列名的隐藏格式问题

如果打印出来列名看起来是"2021.0"但还是报错,大概率是列名带隐藏空格或特殊字符:

  • 先执行df2.columns = df2.columns.str.strip()去除所有列名前后的空格
  • 再重新运行删除代码

用索引强制删除(兜底方案)

要是还是搞不定,直接用列的索引定位删除:

# 先执行print(df2.columns)找到"2021.0"对应的索引(从0开始计数)
# 假设它是第2列,就用下面的代码
df3 = df2.drop(df2.columns[2], axis=1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 00:40:36