尝试使用 lambda 函数添​​加一个新列,并在 DataFrame 中累积增加值

Trying to use a lambda function to add a new column with cumulative increase of the values in a DataFrame

假设我有一个简单的单列 DataFrame:

df = pd.DataFrame([0.01,0.02,0.03,0.04,0.05,0.06,0.07])

我正在尝试将前两个数字相乘,然后将其结果乘以第三个数字,然后将其结果乘以第四个数字,依此类推。

例如:

df['chainlink'] = df.apply(λ x: (1+x[0])*(1+x[1]))

这显然会在第一行创建一个值为 1.0302 的新列,然后是 NaN。然后我想做的是 (1.0302)(1+0.03) = 1.0611 然后 (1.0611)(1+0.04) = 1.1036 等

新列应该是数值的一种累积增加。

检查cumprod

df['new'] = df[0].add(1).cumprod()
0    1.010000
1    1.030200
2    1.061106
3    1.103550
4    1.158728
5    1.228251
6    1.314229
Name: 0, dtype: float64