创建包含小计的数据透视表,并在Python中获取父项合计的百分比
我能够用python创建一个透视表,但是我无法获得小计。我得到的是总列总数和行总数,但不是中间的小计 Ex:如果我在Python中创建的pivot如下所示,我想得到BU:A和Region:APAC的小计。类似地,BU:A和Region:EU等的小计。请帮忙 表:创建包含小计的数据透视表,并在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
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 RegionA 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,因为它们是字符串。所以我一直在这里申请。