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

pandas使用groupby指定axis=1按行值聚合列触发KeyError问题咨询

报错原因

当调用groupby时,axis参数决定了分组的维度,by参数的取值逻辑和axis强绑定:

  • axis=0(默认按行分组):传入字符串类型的by参数时,pandas会到列索引中匹配对应列,用该列的所有值作为行的分组键
  • axis=1(按列分组):传入字符串类型的by参数时,pandas会到列索引中匹配,你传入的r1是行索引的标签,不存在于列索引中,因此触发KeyError。
按指定行值聚合列的实现方法

如果要按某一行的值作为列的分组依据,直接显式传入该行的取值序列作为by参数即可,示例代码如下:

# 按r1行的值对列分组,求每组均值
print(junk_df.groupby(junk_df.loc["r1"], axis=1).mean())

运行后输出结果:

1    2
r1  1.0  2.0
r2  1.0  2.0
r3  2.5  3.0
r3  2.5  3.0
r5  4.0  4.0
r6  4.0  4.0

结果的列名就是r1行的取值,每一行对应原数据同索引行,按分组后的列求均值得到结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:45:04