根据上一行的值条件增加新列
在 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 col4a 5.5 2.5 10.0 0b 2.0 4.5 1.0 0c 2.5 5.2 8.0 0d 4.5 5.8 4.8 1e 4.6 6.3 9.6 1f 4.1 6.4 9.0 1g 5.1 2.3 11.1 0
登录后复制
进一步,如果需要将满足条件 3
df['col4'] = df['col4'].cumsum()
登录后复制
结果为:
col1 col2 col3 col4a 5.5 2.5 10.0 0b 2.0 4.5 1.0 0c 2.5 5.2 8.0 0d 4.5 5.8 4.8 1e 4.6 6.3 9.6 2f 4.1 6.4 9.0 3g 5.1 2.3 11.1 3
登录后复制
以上就是如何在 Pandas 中根据上一行的值条件增加新列并累加满足条件的值?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2181872.html