Python 如何在同一个表中使用第一级和第二级聚合进行透视

Python 如何在同一个表中使用第一级和第二级聚合进行透视,python,pandas,Python,Pandas,如何在同一个表(即类别和子类别)中以第一级和第二级聚合为轴心 这是我的数据 Name Category Sub-Category sum yuew Food Snack 100 dhjs Food Snack 50 jdsd Food Drink 60 kjkd Food Drink 60 sjdbk

如何在同一个表(即类别和子类别)中以第一级和第二级聚合为轴心

这是我的数据

Name       Category   Sub-Category   sum
yuew       Food       Snack          100
dhjs       Food       Snack          50
jdsd       Food       Drink          60
kjkd       Food       Drink          60
sjdbk      Food       Snack          70
ndkbjd     Clothes    Shirt          80
ndcb       Clothes    Trousers       80
dbkjd      Clothes    Shirt          90
我试着编码

table_pivot = table.pivot_table(values='sum',index=['Category','Sub-Category'],aggfunc=np.sum)
这是结果,结果只针对每个子类别的总和

Category                    Sub Category      Sum
Food                        Snack             220
                            Drink             120
Clothes                     Shirt             170
                            Trousers           80
我需要的是结果,不仅在每个子类别的总和上,而且在类别级别上

Category                    Sub Category      Sum
Food                                          340
                            Snack             220
                            Drink             120
Clothes                                       250 
                            Shirt             170
                            Trousers           80

假设我如何做到这一点

首先对第一级使用
求和
,然后创建
多索引
,直到原始和最后:

df = table_pivot.sum(level=0)
df = df.set_index([df.index.values, [''] * len(df)])
print (df)
                       sum
Category Sub-Category     
Clothes                250
Food                   340

df = table_pivot.append(df).sort_index()
print (df)
                       sum
Category Sub-Category     
Clothes                250
         Shirt         170
         Trousers       80
Food                   340
         Drink         120
         Snack         220