在Python中计算百分比变化时出错

问题描述

我在cod列中有3个组[A,B和C],其百分数(列perc)在不同的日期,初始值为1000(列v)。

v_perc_acum列中,我需要根据前一天(第v_perc_acum列)的值来计算获利能力,但是,在每个组的第一天,我将不得不使用该值v_perc列中。

我创建的公式的问题是,在第二次迭代之后,正在考虑列v_perc的值,而不是列v _perc_acum的值。

公式:

df.loc[:,'v_perc'] = df.loc[:,'v'] * df.loc[:,'perc']

df.loc[:,'v_perc_acum'] = np.where( df['v_perc_acum'].shift(1).isna(),df['v_perc'],df['v_perc_acum'].shift(1) * df['perc'] )

我已经进行了一些更改,但没有发现错误

Data Table

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...