python - 检查值按行计数,它小于另一个列值
问题描述
我有一个这样的数据框,
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 快捷方式或任何其他最有效的方法。
解决方案
做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
推荐阅读
- delphi - 为什么在 Delphi 中录制的麦克风音频有时会被截断?
- button - 访问主页后,Imacro 必须按下按钮
- json - 未达到 API 调用函数 Swift?
- reactjs - 动态计时器在到达 00:00 时不会暂停 - 反应
- html - HTML 基于变量的重复页面
- r - R Keras 错误 - py_call_impl 中的错误(可调用,dots$args,dots$keywords)
- android - 使用motionLayout时recyclerView中的项目未更新
- c# - Mvvmcross 嵌套视图模型
- android - 如何更改 MotionLayout 中的起始 ConstraintSet?
- r - 使用 R 在 PCA 分析中使用权重列