首页 > 解决方案 > 检查值按行计数,它小于另一个列值

问题描述

我有一个这样的数据框,

 df
 col1    col2    col3    col4
  1       3       4       2
  4       6       7       7
  3       6       3       3

现在我想找出有多少值小于 col4 值并将计数存储在另一列中,例如在第一行中有 1 个值小于 2,因此新值将为 1,最终数据框应如下所示,

col1    col2    col3    col4    col5
  1       3       4       2       1
  4       6       7       7       2
  3       6       3       3       0

我可以通过比较行值使用 for 循环来做到这一点,但是执行时间会很长。我正在寻找任何 pandas 快捷方式或任何其他最有效的方法。

标签: pythonpandasdataframe

解决方案


lt和通过axis=0

df['new']=df.lt(df.col4,axis=0).sum(1)
df
   col1  col2  col3  col4  new
0     1     3     4     2    1
1     4     6     7     7    2
2     3     6     3     3    0

推荐阅读