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

Python中Pivot Table仅显示列总计,如何添加行总计?

解决Pivot Table显示行总计的问题

你当前设置的margins=True是用来添加所有分组的汇总行(也就是输出里的All行),这是列维度的总计。如果要显示每行的各列数值总和(行总计),可以在生成透视表后手动添加总计列:

import pandas as pd

test = pd.DataFrame(
    [['a1', 1, 1, 11],
     ['a1', 2, 3, 12],
     ['a1', 3, 5, 13],
     ['a2', 4, 7, 14],
     ['a2', 5, 9, 15],
     ['b',  6, 2, 16],
     ['c',  7, 4, 17]],
    columns=['ID1', 'Value1', 'Value2', 'Value3']
)

# 生成带分组汇总行的透视表
pivot_result = test.pivot_table(values=['Value1', 'Value2'], index=['ID1'], aggfunc='sum', margins=True)
# 添加行总计列,对每行的数值列求和
pivot_result['行总计'] = pivot_result.sum(axis=1)

print(pivot_result)

运行后输出会包含行总计列,每行的数值就是对应行Value1和Value2的总和,包括All行的总计:

Value1  Value2  行总计
ID1                       
a1         6       9     15
a2         9      16     25
b          6       2      8
c          7       4     11
All       28      31     59

如果想调整行总计列的位置,比如放到最前面,可以用insert方法:

# 先计算行总计,再插入到第0位
total_col = pivot_result.sum(axis=1)
pivot_result.insert(0, '行总计', total_col)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 08:20:47