如何在 Pandas 中根据上一行的值条件增加新列并累加满足条件的值?

ID:20993 / 打印

如何在 pandas 中根据上一行的值条件增加新列并累加满足条件的值?

根据上一行的值条件增加新列

在 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

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

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
上一篇: Python 语音识别库哪家强?主流库对比分析
下一篇: 如何利用内存文件系统提升视频关键帧处理速度?

作者:admin @ 24资源网   2025-01-14

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。