简体   繁体   English

在Python Pandas数据透视表中对列进行分组

[英]Grouping columns in Python Pandas pivot table

My pivot table has two levels of columns (level 1: adult vs kids, level 2: male vs Female) For Adults, I want to collapse level 2. How do I convert Pivot table 1 to table 2? 我的数据透视表有两个级别的列(级别1:成人与孩子,级别2:男性与女性)对于成年人,我想折叠级别2。如何将数据透视表1转换为表2?

Pivot table 1 (current output) 数据透视表1(当前输出)

          Adults_____   Kids_______
          Male Female   Male  Female
Count     5      5       12      8

Pivot table 2 (desired output) 数据透视表2(所需输出)

          Adults    Kids_______
                    Male    Female
Count     10         12      8

I tried the following which returns a KeyError. 我尝试了以下返回KeyError的方法。

df = df[[('Adults'),('Kids','Male'),('Kids','Female')]]

You can use sum and then drop original column Adults_____ : 您可以使用sum ,然后drop原始列Adults_____

print df
      Adults_____        Kids_______       
             Male Female        Male Female
Count           5      5          12      8

df['Adults'] = df['Adults_____'].sum(axis=1)
df = df.drop('Adults_____', axis=1)
df = df[['Adults','Kids_______']]
print df
      Adults Kids_______       
                    Male Female
Count     10          12      8

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM