利用 Pandas 将前一行值合并到派生值的“应用”计算中
在 Pandas 中使用数据帧时,通常有必要执行涉及使用前一行值的计算。当之前的值也在“apply”函数中计算时,这可能具有挑战性。
考虑以下数据框:
Index_Date A B C D ================================ 2015-01-31 10 10 Nan 10 2015-02-01 2 3 Nan 22 2015-02-02 10 60 Nan 280 2015-02-03 10 100 Nan 250
要计算列 C,我们首先复制以下值D 到第一行:
df.loc[0, 'C'] = df.loc[0, 'D']
现在,对于后续行,我们可以迭代数据帧并使用循环填充 C 列的计算值:
<code class="python">for i in range(1, len(df)): df.loc[i, 'C'] = df.loc[i-1, 'C'] * df.loc[i, 'A'] + df.loc[i, 'B']</code>
此循环确保每行的 C 值由其先前的值以及 A 和 B 的相应值确定。生成的数据帧将如下所示:
Index_Date A B C D 0 2015-01-31 10 10 10 10 1 2015-02-01 2 3 23 22 2 2015-02-02 10 60 290 280
通过遵循此方法,您可以有效地将先前的行值合并到“应用”计算中,即使先前的值是从相同的“应用”函数派生的。
以上是如何将前一行值合并到带有派生值的 Pandas'应用”计算中?的详细内容。更多信息请关注PHP中文网其他相关文章!