首页 文章

使用Pandas在数据透视表上运行groupby

提问于
浏览
1

我有一个如下所示的数据透视表:

In [41]: counts
Out[41]: 
SourceColumnID                    3029903181  3029903182  3029903183  3029903184  ResponseCount
ColID      QuestionID RowID                                                                    
3029903193 316923119  3029903189         773         788         778         803           3142
3029903194 316923119  3029903189         766         799         782         773           3120

[2 rows x 5 columns]

我试图找出如何通过RowID进行分组,以便我可以获得每个RowID的每个列的总计数(在这种情况下,它只是总结所有这些,因为2在同一个rowid中) .

这是数据透视表索引:

In [42]: counts.index
Out[42]: 
MultiIndex(levels=[[3029903193, 3029903194], [316923119], [3029903189]],
           labels=[[0, 1], [0, 0], [0, 0]],
           names=[u'ColID', u'QuestionID', u'RowID'])

1 回答

  • 2

    你想要分组 'RowID' . 由于它是MultiIndex上的一个级别,因此您将 'RowID' 传递给 level 关键字 .

    In [5]: df.groupby(level='RowID').sum()
    Out[5]: 
                3029903181  3029903182  3029903183  3029903184  ResponseCount
    RowID                                                                    
    3029903189        1539        1587        1560        1576           6262
    

相关问题