Cumsum 作为现有 Pandas 数据帧中的新列

Cumsum as a new column in an existing Pandas dataframe

提问人:user1124702 提问时间:1/26/2017 最后编辑:wjandreauser1124702 更新时间:3/2/2023 访问量:61076

问:

我有一个 pandas 数据帧定义为:

A   B   SUM_C      
1   1   10     
1   2   20   

我想做一个累积的SUM_C,并将其作为新列添加到同一个数据帧中。换句话说,我的最终目标是拥有如下所示的数据帧:

A   B   SUM_C   CUMSUM_C       
1   1   10      10     
1   2   20      30   

在 group() 上的 pandas 中使用 cumsum 显示了生成新数据帧的可能性,其中列名 SUM_C 替换为累积总和。但是,我的要求是将累积总和作为新列添加到现有数据帧中。

python pandas 数据帧 cumsum

评论


答:

87赞 blacksite 1/26/2017 #1

只需应用并将其分配给新列:cumsumpandas.Seriesdf['SUM_C']

df['CUMSUM_C'] = df['SUM_C'].cumsum()

结果:

df
Out[34]: 
   A  B  SUM_C  CUMSUM_C
0  1  1     10       10
1  1  2     20       30

评论

1赞 Josh Herzberg 1/29/2020
如果有两列同名,此操作将失败。在这种情况下,请在继续操作之前重命名其中之一。