我的数据透视表有两个级别的列(级别1:成人与孩子,级别2:男性与女性)
对于成年人,我想折叠级别2。如何将数据透视表1转换为表2?

数据透视表1(当前输出)

          Adults_____   Kids_______
          Male Female   Male  Female
Count     5      5       12      8


数据透视表2(所需输出)

          Adults    Kids_______
                    Male    Female
Count     10         12      8


我尝试了以下返回KeyError的方法。

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

最佳答案

您可以使用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

关于python - 在Python Pandas数据透视表中对列进行分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36812800/

10-12 20:23