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

Pandas Dataframe KeyError:'account_key'不在索引中求助

解决groupby后提取列出现KeyError的问题

运行以下代码尝试提取指定列时触发KeyError,提示account_key不在索引中,但原数据框确实包含该列:

non_contras_by_account = non_contras.groupby('account_key').sum()
non_contra_tab_df = non_contras_by_account[['account_key',value_col,'abs_val']]

错误信息:

KeyError: "['account_key'] not in index"

问题原因

使用groupby('account_key').sum()进行分组聚合时,account_key会被自动设置为结果数据框的索引,不再作为普通列存在,因此直接按列名提取会报错。

解决方法

有两种常用方案:

方案1:分组时保留account_key为列

在groupby中添加as_index=False参数,让分组键保持为普通列:

non_contras_by_account = non_contras.groupby('account_key', as_index=False).sum()
non_contra_tab_df = non_contras_by_account[['account_key',value_col,'abs_val']]

方案2:将索引转为普通列后再提取

对分组后的结果调用reset_index(),把索引account_key转为普通列:

non_contras_by_account = non_contras.groupby('account_key').sum().reset_index()
non_contra_tab_df = non_contras_by_account[['account_key',value_col,'abs_val']]

如果不想修改原分组结果,也可以在提取时直接链式调用:

non_contra_tab_df = non_contras_by_account.reset_index()[['account_key',value_col,'abs_val']]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 19:02:10