
根据上一行的值条件增加新列
在 pandas 中,可以通过 df.apply() 函数结合条件判断和赋值操作,根据上一行的值条件向 dataframe 中增加新列。
例如,给定一个 dataframe:
values = [[5.5, 2.5, 10.0], [2.0, 4.5, 1.0], [2.5, 5.2, 8.0], [4.5, 5.8, 4.8], [4.6, 6.3, 9.6], [4.1, 6.4, 9.0], [5.1, 2.3, 11.1]] df = pd.dataframe(values, columns=['col1', 'col2', 'col3'],index=['a', 'b', 'c', 'd', 'e', 'f', 'g'])
要根据 col1 列的值条件向 dataframe 中增加新列 col4,满足条件 3 < col1 < 5 时 col4 为 1,否则为 0,可以使用以下代码:
df['col4'] = df.apply(lambda x: 1 if 3 < x['col1'] < 5 else 0, axis=1)
结果为:
col1 col2 col3 col4 a 5.5 2.5 10.0 0 b 2.0 4.5 1.0 0 c 2.5 5.2 8.0 0 d 4.5 5.8 4.8 1 e 4.6 6.3 9.6 1 f 4.1 6.4 9.0 1 g 5.1 2.3 11.1 0
进一步,如果需要将满足条件 3 < col1 < 5 的 col4 值累加,可以进一步使用 cumsum() 方法:
df['col4'] = df['col4'].cumsum()
结果为:
col1 col2 col3 col4 a 5.5 2.5 10.0 0 b 2.0 4.5 1.0 0 c 2.5 5.2 8.0 0 d 4.5 5.8 4.8 1 e 4.6 6.3 9.6 2 f 4.1 6.4 9.0 3 g 5.1 2.3 11.1 3
以上就是如何在 Pandas 中根据上一行的值条件增加新列并累加满足条件的值?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号