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

如何从pandas的DataFrameGroupBy对象中获取列名列表?

获取DataFrameGroupBy对象的列名:最优方案

未聚合GroupBy对象的最优方法

直接访问GroupBy对象的obj属性,它指向原始的DataFrame,无需生成任何分组数据即可获取列名:

dfg.obj.columns

这个方案逻辑直接且性能高效——未执行聚合操作的GroupBy对象,其列名与原始DataFrame完全一致,不需要遍历分组或构建子DataFrame。

聚合后的GroupBy对象处理

如果GroupBy对象已经完成聚合操作(比如dfg = df.groupby('category').sum()),此时它本质是带分组索引的DataFrame/Series结构,直接用dfg.columns即可获取列名:

dfg.columns

对比现有方案的问题

你当前使用的dfg.get_group(next(iter(dfg.groups.keys()))).columns存在两个明显缺陷:

  • 性能浪费:get_group会完整生成第一个分组的DataFrame,分组数据量大时会占用额外内存、增加计算耗时
  • 潜在报错:若分组集合为空(极端场景),next(iter(dfg.groups.keys()))会触发StopIteration错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 08:54:56