Skip to main content
 首页 » 编程设计

python之如何在 Pandas 中应用前一行结果

2025年05月04日14wuhuacong

我正在尝试了解如何在 python pandas 中解决这个问题。我的目标是用初始投资填写“RESULT”栏,并将利润应用到之前的结果之上。

所以如果我要使用 excel 电子表格,我会这样做:

  1. 询问初始投资是多少(在本例中为 350 美元)
  2. 将第一行计算为 profit/100*initial_investment + initial_investment
  3. 第二个和第四个将是相同的,除了“initial_investment”在上面的原始中。

我最初的 python 代码是这样的

import pandas as pd 
df = pd.DataFrame({"DATE":[2009,2010,2011,2012,2013,2014,2015,2016],"PROFIT":[10,4,5,7,-10,5,-5,3],"RESULT":[350,350,350,350,350,350,350,350]}) 
print df 

请您参考如下方法:

可以使用累计乘积函数cumprod() :

df['RESULT'] = ((df.PROFIT + 100) / 100.).cumprod() * 350 

首先,您将 df.PROFIT 转换为先前值的一部分。然后 cumprod() 将每一行乘以前面的行。然后,您可以将其乘以您的初始值。