我正在尝试生成一个新列,其值基于将col_a行乘以新列(col_b)先前的值
所需的输出:
col_a. col_b.
1 na
2 2*1 (2)
3 3*2.(6)
4 4*6.(24)
5 5*24 (120)
我尝试使用以下代码,并认为我已经接近了,但可以使用一些帮助
df['col_b'] = df['col_a'].apply(lambda x[n]: x[n] * x[n-1] for n in range(0, len(df)))
编辑为原始问题已更改。我现在已经尝试:
def func(df):
for n in range(1, len(df)):
df['col_b'] = df['col_a'][n]*df['col_b'][n-1]
return df
但是我只得到NaNs