试图使用lambda函数添加一个新列,该列的值在DataFrame中累积增加



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

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

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

例如:

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

这显然会在第一行创建一个值为1.0302的新列,然后在后面创建NaNs。然后我试图做的是(1.0302((1+0.03(=1.0611,然后(1.0611((1+1.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

最新更新