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

Pandas groupby分组后在每组末尾添加数值列求和汇总的方法

Pandas分组后追加分组汇总行实现方案

完整实现代码

import pandas as pd
import numpy as np

# 构造示例数据
df = pd.DataFrame({
    'A': [1, 2, 3, 4],
    'B': ['foo', 'foo', 'bar', 'bar'],
    'C': [12, 22, 8, 32],
    'D': ['California', 'California', 'Rhode Island', 'Rhode Island']
})

# 分组处理函数:单分组内追加汇总行+调整显示格式
def process_group(group):
    # 仅保留分组首行的分组标识,其余行置空匹配显示要求
    group.loc[group.index[1:], 'B'] = ''
    # 计算分组内所有数值列的总和
    sum_val = group.select_dtypes(include=np.number).sum()
    # 构造汇总行
    total_row = pd.Series({
        'A': '',
        'B': f"{group.name} Total",
        'C': sum_val['C'],
        'D': ''
    })
    # 拼接原分组数据和汇总行
    return pd.concat([group, total_row.to_frame().T], ignore_index=True)

# 按B列分组后应用处理逻辑,输出最终结果
result = df.groupby('B', group_keys=False).apply(process_group).reset_index(drop=True)
print(result)

实现说明

  • 自动适配数值列求和逻辑:如果有多个数值列需要统计,只需调整汇总行的赋值规则即可批量处理
  • 显示格式完全匹配预期:分组内非首行自动隐藏重复的分组标识,汇总行仅保留分组汇总标识和数值总和,其余列留空
  • 不打乱原始数据的排列顺序,所有分组和组内数据顺序和原始输入保持一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 05:39:03