将某些值连续汇总[重复]

Posted

技术标签:

【中文标题】将某些值连续汇总[重复]【英文标题】:Sum together certain values in a row [duplicate] 【发布时间】:2019-01-02 07:26:05 【问题描述】:

我在 python 中工作,并且有一个数据框(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】:

使用GroupBy.transform:

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

【讨论】:

以上是关于将某些值连续汇总[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将连续重复项变为一个值(Python)

防重复提交的方式汇总

使用 dplyr、group_by 和折叠或汇总连接字符串/行,但保持 NA 值 [重复]

删除数组中重复的连续值

Vim - 直观地选择多个不连续的部分[重复]

15.最长连续不重复子序列