【发布时间】:2020-04-07 21:35:18
【问题描述】:
我有一个如下的熊猫数据框:
df2 = pd.DataFrame({ 'b' : [1, 1, 1]})
df2
b
0 1
1 1
2 1
我想用第 2 行开始的 b 列的累积总和创建一个列“cumsum”。我还想使用 iterrows 来执行此操作。我尝试了下面的代码,但它似乎不起作用。
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
【问题讨论】:
-
为什么不
df['b'].cumsum()? -
我想使用 iterrows
-
您可以添加枚举并执行以下操作:
df.iloc[i-1, "cumsum"]+df2.loc[row_index, 'b']。为什么 iterrows 呢? -
为什么需要 iterrows?
标签: python-3.x pandas