如何在迭代中执行累积和

问题描述 投票:0回答:1

我有一个如下所示的熊猫数据框:

df2 = pd.DataFrame({ 'b' : [1, 1, 1]})
df2

    b
0   1
1   1
2   1

我想创建一个'cumsum'列,并从第2行开始添加b列的累计和。我尝试了下面的代码,但它似乎不起作用。

for row_index, row in df2.iloc[1:].iterrows():
    df2.loc[row_index, 'cumsum'] = df2.loc[row_index, 'b'].cumsum()

我的预期输出:

    b   cum_sum
0   1   NaN
1   1   2
2   1   3
python-3.x pandas
1个回答
0
投票

坚持[C0​​]:

iterrows()

输出:

i=0
df2['cumsum']=0
col=list(df2.columns).index('cumsum')
for row_index, row in df2.iloc[1:].iterrows():
    df2.loc[row_index, 'cumsum'] = df2.loc[row_index, 'b']+df2.iloc[i, col]
    i+=1
© www.soinside.com 2019 - 2024. All rights reserved.