首页 > 解决方案 > Python如何添加数据框的两个元素保持结果之前

问题描述

我想在我的数据框中添加它们之间的值,但每次都保留之前添加的结果。

简单地说,我想做:

df['col'][0]
df['col'][0] + df['col'][1] 
df['col'][0] + df['col'][1] + df['col'][2]
df['col'][0] + df['col'][1] + df['col'][2] + df['col'][3]
               .
               .
               .
df['col'][0] + ... + df['col'][n] 

我想将每个值放在一个列表中。

你可以帮帮我吗 ?太感谢了

标签: pythonlistloopsdataframeadd

解决方案


您可以使用cumsum

In [679]: df = pd.DataFrame({"A":[5, 3, 6, 4],  
     ...:                    "B":[11, 2, 4, 3],  
     ...:                    "C":[4, 3, 8, 5],  
     ...:                    "D":[5, 4, 2, 8]})                                                                                                                                                             

In [680]: df                                                                                                                                                                                                
Out[680]: 
   A   B  C  D
0  5  11  4  5
1  3   2  3  4
2  6   4  8  2
3  4   3  5  8

In [682]: df.A.cumsum(axis=0)                                                                                                                                                                                     
Out[682]: 
0     5
1     8
2    14
3    18

推荐阅读