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

pandas groupby聚合后打印DataFrame如何显示完整分组列值不折叠

实现方法

pandas默认会对多层行索引(MultiIndex)做稀疏打印,自动隐藏重复的上层索引值,才会出现你看到的折叠效果。用下面两种方法都可以实现每行完整展示所有分组列值的需求:

  • 方案1:转换多层索引为普通列(最常用,输出格式完全匹配预期)
    分组聚合时增加as_index=False参数,让分组列直接作为普通数据列返回,不生成多层行索引;如果已经生成了带多层索引的聚合结果,调用reset_index()即可完成转换:

    # 分组时直接生成普通列结构
    grouped_df = df.groupby(['A', 'B', 'C'], as_index=False).agg({'value': 'sum'})
    
    # 对已生成的多层索引结果做转换
    # grouped_df = df.groupby(['A', 'B', 'C']).agg({'value': 'sum'}).reset_index()
    
    print(grouped_df)
    

    转换后A、B、C都是普通数据列,打印时不会有任何折叠省略。

  • 方案2:修改打印配置,保留原有多层索引结构
    如果你需要保留聚合结果的多层索引结构,仅调整打印效果,直接关闭多层索引的稀疏显示配置即可:

    import pandas as pd
    # 关闭多层索引稀疏打印,强制每行展示所有层级的索引值
    pd.set_option('display.multi_sparse', False)
    
    # 后续直接打印原多层索引的聚合结果即可
    grouped_df = df.groupby(['A', 'B', 'C']).agg({'value': 'sum'})
    print(grouped_df)
    

    该配置全局生效,需要恢复默认折叠效果时,重新执行pd.set_option('display.multi_sparse', True)即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 02:09:10