Pandas Pivot Table透视表margins生成的All行列数值来源疑问
pandas pivot_table margins参数计算规则说明
pd.pivot_table默认的聚合函数为均值(aggfunc='mean'),你看到的All行、All列的数值并非对聚合后的表格行/列结果二次计算,而是直接基于原始数据集对应维度的所有数据计算聚合结果:
- 最右侧All列:每行的All值是该行对应员工名下所有产品的全部原始
Price数据的均值。比如Staff_A的All值14890.196,是Staff_A售出的所有A、B、C产品的Price总和除以他的总销售记录数,不是A、B、C三个产品均值的求和或者平均值。 - 最下方All行:每列的All值是该列对应产品的所有员工销售记录的
Price均值。比如产品A的All值14779.545,是所有员工售出的A产品Price总和除以A产品的总销售记录数,不是三个员工A产品均值的求和或者平均值。 - 右下角的最终All值:是整个输入数据集
df1所有Price记录的整体均值。
如果你希望All结果为求和值,只需要在pivot_table参数中指定aggfunc='sum'即可。
内容的提问来源于stack exchange,提问作者Dominic Sham
相关产品推荐
相关产品推荐

