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

如何在Pandas透视表中按条件对指定行求和与差值计算

透视表新增自定义计算行的实现方法

核心思路

提取透视表中目标行的数据完成求和、差值计算,再将计算结果作为新行合并回原透视表。

具体代码实现

假设你已经生成了索引包含a、b、e、f的透视表df_1,以下是完整实现步骤:

  1. 导入依赖并模拟透视表(替换为你的真实数据即可)
import pandas as pd

# 模拟已生成的透视表df_1
data = {
    'math_score': [82, 91, 76, 87],
    'english_score': [78, 85, 72, 83]
}
df_1 = pd.DataFrame(data, index=['a', 'b', 'e', 'f'])
  1. 计算新增行的数据
# 计算a行与b行的求和行
sum_ab = df_1.loc[['a', 'b']].sum(axis=0)
sum_ab.name = 'total a + b'

# 计算f行与e行的差值行
diff_fe = df_1.loc['f'] - df_1.loc['e']
diff_fe.name = 'total f - e'
  1. 合并新增行到原透视表
    推荐使用pd.concat(兼容新版pandas):
df_final = pd.concat([df_1, sum_ab.to_frame().T, diff_fe.to_frame().T])

若使用旧版pandas,也可使用append:

df_final = df_1.append([sum_ab, diff_fe])

结果说明

执行后df_final会保留原透视表的所有行,同时新增total a + b和total f - e两行,每行各列的值对应目标行的求和/差值结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 15:42:13