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

pandas设置DataFrame索引时出现KeyError: 'None of [2001] are in the columns'如何解决

报错原因

pandas的set_index()方法的入参需要是DataFrame中已存在的列名,你传入的2001是具体的年份值,不是当前DataFrame的列名,系统找不到对应名称的列,因此抛出KeyError。

解决方案

你有两种常用的实现方式可选:

方式1:直接修改索引属性(适合当前仅1行的场景)

直接给DataFrame的index属性赋值即可,注意传入的可迭代对象长度要和DataFrame行数一致:

maximosVerano.index = [anio]

方式2:先加年份列再设索引(适合多行均为同一年份、后续要保留年份字段的场景)

先把年份作为新列写入DataFrame,再调用set_index()把该列设为索引:

# 新增年份列
maximosVerano['anio'] = anio
# 将年份列设为索引
maximosVerano.set_index('anio', inplace=True)

操作完成后可通过print(maximosVerano.index)验证索引修改结果,后续可以直接按年份索引拼接其他同结构的DataFrame。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 02:12:03