熊猫Groupby Aggregate添加摘要行

时间:2019-01-26 03:10:00

标签: pandas-groupby

爱熊猫-尤其是groupby功能。当前,它可以对原始数据进行分组并很好地汇总数据,并具有嵌套细分(例如,按以下类别分别为Cat1,Cat,Brand)

问题是,我想要每个嵌套级别的摘要行,包括最终的总计,无法弄清楚该怎么做。到处都在查看代码-被Google搜索耗尽

import pandas as pd
import csv
salesdata = pd.read_csv("data/junk.csv")
dfa=salesdata.groupby(['cat1','cat2','brand']).aggregate({'gmv':    ['sum']})
dfa.to_excel('junk_summary.xlsx', sheet_name='summary')

对不起-试图在此屏幕上显示输出格式,似乎无法使其正常工作,因此无法制作图像

Current Output Desired Output

1 个答案:

答案 0 :(得分:0)

一种方法是

  1. 计算groupby([cat1,cat2])的总和表(table1),并将总和列命名为“ gmv”
  2. 为groupby([cat1])计算另一个总和表(table2),然后再次将总和列命名为“ gmv”
  3. 外部将表与[cat1,cat2,gmv]-> table3上的table1合并
  4. [cat1,gmv]上的table2与table2的外部合并

它看起来并不完全像您想要的,但应该非常接近。如果合并中有NA值,则可以执行df.fillna(“”)。