假设我有一个简单的单列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