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

如何在Pandas的groupby每个分组中插入合计行,合计值为分组value列总和

Pandas实现分组新增合计行的方案

假设你已经将示例中的csv数据加载为DataFrame对象df,可参考以下代码实现需求:

import pandas as pd

# 1. 按指定字段分组计算value列的总和
sum_df = df.groupby(['eff_date', 'mdl_cd', 'ast_cd'], as_index=False)['value'].sum()
# 2. 给合计行补全prop_cd字段值
sum_df['prop_cd'] = 'Hlds'
# 3. 新增辅助排序字段,保证原数据在前、新增合计行在后
df['sort_key'] = 0
sum_df['sort_key'] = 1
# 4. 合并原数据和合计行数据
result = pd.concat([df, sum_df], ignore_index=True)
# 5. 按业务要求排序,保证分组顺序和行顺序和预期一致
result = result.sort_values(by=['eff_date', 'mdl_cd', 'ast_cd', 'sort_key', 'prop_cd'], ignore_index=True)
# 6. 删除辅助排序列,可选保留4位小数匹配示例精度
result = result.drop(columns=['sort_key']).round({'value': 4})

实现说明

  • 分组求和时设置as_index=False,会自动保留eff_date、mdl_cd、ast_cd三个分组字段的取值,不需要额外赋值
  • 新增sort_key辅助列是为了规避prop_cd自然排序时,Hlds因首字母顺序排在Mmt前面的问题,保证每个分组的原始数据全部展示完成后再追加合计行
  • 最终输出的result和你提供的预期结果完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:36:04