如何统计DataFrame每行AA、B列大于2的列数并新增列?
解决方案
可以通过以下步骤实现需求:
- 选中需要统计的
AA和B列 - 判断每个单元格的值是否大于2,生成布尔值矩阵
- 按行对布尔值求和(
True等价于1,False等价于0),得到每行符合条件的列数 - 将结果存入新列
完整代码示例:
import numpy as np import pandas as pd # 创建原DataFrame df = pd.DataFrame({ "AA": [3,6,0,3,4], "B": [1,5,1,1,4], "W": [1,2,1,1,9] }) # 统计AA和B列中值大于2的列数,存入新列count_gt2 df['count_gt2'] = df[['AA', 'B']].gt(2).sum(axis=1) # 查看结果 print(df)
运行后输出结果:
AA B W count_gt2 0 3 1 1 1 1 6 5 2 2 2 0 1 1 0 3 3 1 1 1 4 4 4 9 2
代码解释
df[['AA', 'B']]:精准筛选出需要统计的两列,避免其他列干扰.gt(2):是greater than的缩写,等价于>2,生成布尔型DataFrame,符合条件的单元格为True,否则为False.sum(axis=1):axis=1表示按行求和,将每行的True(对应数值1)累加,得到该行符合条件的列数- 最后将求和结果赋值给新列
count_gt2,完成需求
内容的提问来源于stack exchange,提问作者HnV
相关产品推荐
相关产品推荐

