计算每行列值的总和,但不包括每个值



我的数据集是这样的

<表类> id 是 number1 科学 number3 number4 number5 number6 sum_columns tbody><<tr>11051南南23442300211336263201南南南533

对于不太像6的过滤器值使用DataFrame.where,替换不匹配的0:

df1 = df.filter(like='number')
df['values_sum'] = df1.where(df1.lt(6),0).sum(axis=1)
#if need values only range(1,6)
#df['values_sum'] = df1.where(df1.isin(range(1, 6)),0).sum(axis=1)
print (df)
id  something  number1  number2  number3  number4  number5  number6  
0   1        105        1      NaN      NaN      2.0        3        4   
1   2        300        2      1.0      1.0     33.0        6        2   
2   3         20        1      NaN      NaN      NaN        5        3   
sum_columns  values_sum  
0            4        10.0  
1            6         6.0  
2            3         9.0  

最新更新