首页 > 后端开发 > Python教程 > 如何使用'apply()”函数根据 Pandas 中的前一行值计算列?

如何使用'apply()”函数根据 Pandas 中的前一行值计算列?

Mary-Kate Olsen
发布: 2024-10-29 20:58:29
原创
742 人浏览过

How to Calculate a Column Based on Previous Row Values in Pandas Using the `apply()` Function?

在 Pandas 中应用前一行值的计算

在 Pandas 中,在数据操作期间遇到将前一行值合并到计算中的挑战并不困难罕见。其中一个场景涉及在使用 apply() 函数计算新列时需要使用前一行的值。

考虑一个场景,其中我们有一个具有以下结构的 DataFrame:

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”列。对于第一行,“C”源自“D”。对于后续行,“C”的计算方法是将前一行的“C”值乘以当前行的“A”值并加上“B”值。

Approach

为了实现这一点,我们在 apply() 函数中结合使用初始化和迭代。

  1. 使用“D”中的值初始化第一行的“C”值.
<code class="python">df.loc[0, 'C'] = df.loc[0, 'D']</code>
登录后复制
  1. 迭代剩余行并计算 '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”列:

Index_Date    A   B    C    D
================================
2015-01-31  10  10   10   10
2015-02-01   2   3   23   22
2015-02-02  10  60  290  280
2015-02-03  10  100  3000  250
登录后复制

以上是如何使用'apply()”函数根据 Pandas 中的前一行值计算列?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板