You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas高效统计每行中大于指定列值的元素数量

解决方法:用Pandas矢量化操作高效统计

没问题,这事儿用Pandas的矢量化操作就能完美解决,完全不需要循环或者lambda,速度拉满,特别适合大数据量的场景。

步骤1:构造原始DataFrame

先把你的数据转换成Pandas DataFrame:

import pandas as pd

df = pd.DataFrame({
    'X': [1, 5, 6],
    'a': [1, 4, 7],
    'b': [0, 7, 8],
    'c': [2, 3, 9]
})

步骤2:矢量化统计大于X的元素数

核心代码就一行,直接生成Count列:

df['Count'] = (df.drop('X', axis=1) > df['X']).sum(axis=1)

代码解释

拆解一下这行代码的逻辑:

  • df.drop('X', axis=1):先移除X列,得到只包含a、b、c的子DataFrame
  • > df['X']:利用Pandas的广播机制,把X列的值自动匹配到每行的对应位置,和a、b、c的每个元素做比较,生成一个布尔值DataFrame(True表示该位置元素大于对应行的X值)
  • .sum(axis=1):按行求和,布尔值里True会被视为1,False视为0,求和结果就是每行中大于X的元素数量

最终输出

执行完代码后,你的DataFrame就变成了:

X  a  b  c  Count
0  1  1  0  2      2
1  5  4  7  3      1
2  6  7  8  9      3

这种方法完全基于Pandas/NumPy的底层矢量化实现,没有任何循环操作,处理几十万甚至上百万行数据都毫无压力,完全符合你的需求。

内容的提问来源于stack exchange,提问作者sandy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:13:30