繁体   English   中英

如何在熊猫中应用上一行结果

[英]How to apply previous row result in pandas

我试图了解如何在python熊猫中解决这个问题。 我的目标是用初始投资填充“结果”列,并在先前结​​果的基础上应用利润。

因此,如果我要使用Excel电子表格,则可以这样做:

  1. 询问什么是initial_investment(在此示例中为$ 350)
  2. 将第一行计算为利润/ 100 * initial_investment + initial_investment
  3. 除了“ rawial_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()将每行乘以前几行。 然后,您可以将其乘以初始值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM