根据行和列条件中的条件求和

时间:2019-06-11 19:57:33

标签: python pandas numpy

我在Pandas中有一个数据框,看起来像这样:

Year  Type  Money  
2012    A   2  
2012    A   3  
2012    B   4  
2012    B   5  
2012    C   7  
2013    A   6  
2013    A   4  
2013    B   3  
2013    B   2  
2013    C   1  
2014    A   3  
2014    A   4  
2014    B   5  

我想这样总结一下:

        A   B   C  
2012    5   9   7  
2013    10  5   1  
2014    7   5   0  

例如,第一个条目5是2012年数据中类型为A的所有条目的总和。

有没有简单的方法可以做到这一点?我知道如何在Excel中使用SUMIFS进行此操作,但如果可能的话,请避免这种情况。

1 个答案:

答案 0 :(得分:1)

尝试:

df.groupby(['Year','Type']).Money.sum().unstack(level=1).fillna(0)

输出:

Type     A    B    C
Year                
2012   5.0  9.0  7.0
2013  10.0  5.0  1.0
2014   7.0  5.0  0.0