gpt4 book ai didi

python - 根据上面的行创建新的数据框行

转载 作者:行者123 更新时间:2023-12-04 02:25:44 26 4
gpt4 key购买 nike

我有一个包含一列(更改)的数据框。我想创建 NewColumn,它在第一行输入数字 60,之后的每一行由“更改”* NewColumn 中的先前值 + NewColumn 中的先前值给出。导致下面的示例数据框

 Index    Change    NewColumn
0 0.02 60
1 -0.01 59.4
2 0.05 62.37
3 0.02 63.6174

我可以通过运行以下循环来实现这一点

df['NewColumn'] = 0.00000
for i in range(len(df)):
if i == 0:
df['NewColumn'][i] = 60
else:
df['NewColumn'][i] = df['NewColumn'][i-1] * df['Change'][i] + df['NewColumn'][i-1]

它确实工作正常,但在大型数据帧上它非常慢,所以我正在寻找任何更快的方法来做到这一点。

最佳答案

我会在修改后的更改列上使用 Series.cumprod,然后将其乘以起始值 60:

df = pd.DataFrame(dict(Change=[0.00, -0.01, 0.05, 0.02]))
multiplier = (df.Change + 1.0).cumprod()
df['New Column'] = multiplier * 60

df
Change New Column
0 0.00 60.0000
1 -0.01 59.4000
2 0.05 62.3700
3 0.02 63.6174

(我把第一个Change的值改成了零,因为不清楚第一行Change是什么意思)

关于python - 根据上面的行创建新的数据框行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67879310/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com