我有一个此处表示的数据框
A
0.001216
0.000453
0.00506
0.004556
0.005266
我想根据下面代码中显示的公式创建新的列B。
column_key = 'B'
factor = 'A'
df[column_key] = np.nan
df[column_key][0] = (df[factor][0] + 1) * 100
for i in range(1, len(df)):
df[column_key][i] = (df[factor][i] + 1) * df[column_key][i-1]
我一直在尝试使用列的上一个单元格和列的相邻单元格填充当前单元格值。
这是我尝试过的方法,但是我认为这不会有效。
有人可以帮助我以最有效的方式解决此问题吗?
答案 0 :(得分:1)
使用pandas.cumprod(),可以通过以下方式完成:
df['B'] = df['A'] + 1
df['B'][0] = df['B'][0] * 100
df['B'] = df['B'].cumprod()