Python Pandas-如何按某些级别的列汇总水平分组?

时间:2018-08-28 17:05:53

标签: python pandas dataframe

假设我有以下df:

df = pd.DataFrame({('A1','B1'):range(0,5),
                   ('A1','B2'):range(1,6),
                   ('A2','B1'):range(2,7),
                   ('A2','B2'):range(3,8),})



    A1      A2
    B1  B2  B1  B2
    0   1   2   3
    1   2   3   4
    2   3   4   5
    3   4   5   6
    4   5   6   7         

如何对列的第一级进行分组并汇总每一行和每一组中各列的值,并生成:

    A1  A2
    1   5
    3   7
    5   9
    7   11
    9   13     

1 个答案:

答案 0 :(得分:1)

只需将axis=1传递到groupby(),例如:

In []:
df.groupby(axis=1, level=0).sum()

Out[]:
   A1  A2
0   1   5
1   3   7
2   5   9
3   7  11
4   9  13