Python 如何获取先前的行值并将其用作输入,以计算熊猫中的当前行值?

Python 如何获取先前的行值并将其用作输入,以计算熊猫中的当前行值?,python,pandas,shift,Python,Pandas,Shift,如果可能的话,我想寻求一些帮助 我希望在熊猫身上复制下表 B列只是一个随机浮点(我知道如何生成它) 列A依赖于列B,例如A2=A1*B2。A3=A2*B3,依此类推 我实际上是取A列中的先前值,然后乘以B列中的当前值,生成当前A 如果有人能告诉我如何做到这一点,我将不胜感激。提前谢谢你 让我们先做数学吧 A2 = A1 * B2 A3 = A2 * B3 = A1 * B2 * B3 A4 = A3 * B4 = A2 * B3 * B4 = A1 * B2 * B3 * B4 然后这是cum

如果可能的话,我想寻求一些帮助

我希望在熊猫身上复制下表

B列只是一个随机浮点(我知道如何生成它)

列A依赖于列B,例如A2=A1*B2。A3=A2*B3,依此类推

我实际上是取A列中的先前值,然后乘以B列中的当前值,生成当前A

如果有人能告诉我如何做到这一点,我将不胜感激。提前谢谢你

让我们先做数学吧

A2 = A1 * B2
A3 = A2 * B3 = A1 * B2 * B3
A4 = A3 * B4 = A2 * B3 * B4 = A1 * B2 * B3 * B4
然后这是
cumprod

s=pd.Series([0.9791,1.0019,1.0082,0.9975])
10*s.cumprod()
0    9.791000
1    9.809603
2    9.890042
3    9.865317
dtype: float64

对于您拥有的excel,请从A1:B5复制范围,将其粘贴到图像的文本位置,然后使用您的预期输出创建另一个版本的相同excel,并将其粘贴为文本。谢谢Yoben。如果我想将您的cumprod()calc的输出添加为另一列,比如“调整后的A”,您会怎么做?抱歉,这里真是个新手!df['A adjusted']=df.B.fillna(1.cumprod()*10@pallalenyoban,在我的pandas中,df单元格B1实际上有一个值,并且不是空的(但没有使用-它只是碰巧是自动填充的),因此不需要fillna。但是,我使用了您的代码,并得出了以下似乎有效的结果:df['A adjusted']=df['A'].iloc[0]*(df['b'].iloc[1:]).cumprod()