连续将某些值求和

时间:2018-07-25 12:58:48

标签: python pandas

我正在使用python工作,并且有一个dataframe(df),其中包含“ COUNTERPARTYNAME”列。此列中有不同的交易对手,例如'A','B','C'等。还有另一个称为MTM的列,它由数字组成。

COUNTERPARTYNAME                   NPV          
0     A                            90                

1     B                            85                    

2     A                            130                     

3     C                            90    

4     B                            105

5     A                            75
...

...

基本上,我想在数据框中添加一列,该列应具有该行中对应的COUNTERPARTYNAME的所有NPV的总和。

我的预期结果如下:

    COUNTERPARTYNAME               NPV                 SUM(NPV)      
0     A                            90                  295

1     B                            85                  190  

2     A                            130                 295 

3     C                            90                  90

4     B                            105                 190

5     A                            75                  295
...

谢谢!

1 个答案:

答案 0 :(得分:3)

使用GroupBy.transform

df['SUM(NPV)'] = df.groupby('COUNTERPARTYNAME')['NPV'].transform('sum')