Pandas多级索引列求和:如何为透视表新增三类汇总列
实现代码
你可以直接通过多级列索引分组求和+拼接的方式实现,核心逻辑是沿着列方向按第二级索引(指标类别)分组求和,再把汇总结果拼到原表右侧:
import pandas as pd # 核心实现代码,df为你已有的多级列索引透视表 # 1. 按第二级列索引(Teachers/Students/COA)分组求和 total_data = df.groupby(level=1, axis=1).sum() # 2. 给汇总列重命名 total_data.columns = [f'Total_{col}' for col in total_data.columns] # 3. 拼接原表和汇总列 result = pd.concat([df, total_data], axis=1)
补充说明
如果你的多级列索引有自定义的名称,也可以直接用名称代替level序号,可读性更高:
# 假设第二级列索引的名称为indicator,替换为你实际的索引名即可 total_data = df.groupby('indicator', axis=1).sum()
运行后输出的result就是你需要的带汇总列的结果。
内容的提问来源于stack exchange,提问作者alwayzconfused
相关产品推荐
相关产品推荐

