创建包含小计的数据透视表,并在Python中获取父项合计的百分比

创建包含小计的数据透视表,并在Python中获取父项合计的百分比,python,pandas,Python,Pandas,我能够用python创建一个透视表,但是我无法获得小计。我得到的是总列总数和行总数,但不是中间的小计 Ex:如果我在Python中创建的pivot如下所示,我想得到BU:A和Region:APAC的小计。类似地,BU:A和Region:EU等的小计。请帮忙 表: BU Region Level Jan Feb Mar A APAC 1 value value value 2 value val

我能够用python创建一个透视表,但是我无法获得小计。我得到的是总列总数和行总数,但不是中间的小计

Ex:如果我在Python中创建的pivot如下所示,我想得到BU:A和Region:APAC的小计。类似地,BU:A和Region:EU等的小计。请帮忙

表:

BU  Region   Level  Jan      Feb      Mar
A    APAC     1     value    value    value
              2     value    value    value
              3     value    value    value
     EU       1     value    value    value
              2     value    value    value
              3     value    value    value
     NA       1     value    value    value
              2     value    value    value
              3     value    value    value
B    APAC     1     value    value    value
              2     value    value    value
              3     value    value    value
     EU       1     value    value    value
              2     value    value    value
              3     value    value    value
     NA       1     value    value    value
              2     value    value    value
              3     value    value    value

使用groupby和pd.concat而不是pivot表,即

x = df.groupby(level=['BU','Region']).apply(sum).assign(Level='Total')
# if BU and Region is not index then use df.groupby(['BU,'Region'])...
# if the values are numbers then `.sum()` than `.apply(sum)`
ndf = pd.concat([df,x]).sort_index()
输出: Level Jan Feb Mar BU Region
A APAC 1 value value value APAC 2 value value value APAC 3 value value value APAC Total valuevaluevalue valuevaluevalue valuevaluevalue EU 1 value value value EU 2 value value value EU 3 value value value EU Total valuevaluevalue valuevaluevalue valuevaluevalue NaN 1 value value value NaN 2 value value value NaN 3 value value value B APAC 1 value value value APAC 2 value value value APAC 3 value value value APAC Total valuevaluevalue valuevaluevalue valuevaluevalue EU 1 value value value EU 2 value value value EU 3 value value value EU Total valuevaluevalue valuevaluevalue valuevaluevalue NaN 1 value value value NaN 2 value value value NaN 3 value value value 一月二月三月 BU地区
亚太地区1号价值观 亚太地区2价值 亚太地区3价值 亚太地区总价值 欧盟1值 欧盟2值 欧盟3值 欧盟总价值 NaN 1值 NaN 2值 NaN 3值 B亚太地区1价值 亚太地区2价值 亚太地区3价值 亚太地区总价值 欧盟1值 欧盟2值 欧盟3值 欧盟总价值 NaN 1值 NaN 2值 NaN 3值

Thank you@jezrael我使用了apply for different函数,然后将它改为sum:),它只给出了nan,因为它们是字符串。所以我一直在这里申请。