条件创建新列,实现列值累加条件修改
为了在 pandas 数据框中根据特定条件创建新列,并实现列值的累加,可以采用如下方式:
使用 apply() 方法和 lambda 函数,根据给定条件设置新列的值。
使用 cumsum() 方法计算累加值。
使用 fillna(0) 填充 nan 值。
以下代码实现了上述要求:
import numpy as npimport pandas as pd# 创建数据框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'])# 根据条件创建新列df['col4'] = pd.series(np.where((df['col1'] > 3) & (df['col1'] < 5), 1, np.nan), index=df.index).cumsum().fillna(0)# 显示修改后的数据print(df)
登录后复制
输出:
col1 col2 col3 col40 5.5 2.5 10.0 01 2.0 4.5 1.0 02 2.5 5.2 8.0 03 4.5 5.8 4.8 14 4.6 6.3 9.6 25 4.1 6.4 9.0 36 5.1 2.3 11.1 0
登录后复制
以上就是如何使用 Pandas 在数据框中根据条件创建新列并实现列值累加?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2181887.html