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

如何在Pandas DataFrame多列并行计算符合条件的行数?

解决方法

首先,Pandas本身的向量化操作已经是处理这类列级统计最高效的方式,完全不需要额外写并行逻辑,100列的计算瞬间就能完成。具体步骤如下:

  • 第一步:筛选出你关注的S1到S100列
    如果这些列的名称是连续排列的,可以直接用列切片:

    target_cols = df.loc[:, 'S1':'S100']
    

    如果列不是连续的,用正则匹配筛选更稳妥:

    target_cols = df.filter(regex='^S\d+$')  # 匹配以S开头、后面跟数字的列
    
  • 第二步:统计每列中满足值 >= cutoff的行数
    直接对筛选后的列应用条件判断,再求和(布尔值True等价于1,False等价于0,求和就是符合条件的行数):

    cutoff = 某个数值
    num_of_rows_array = (target_cols >= cutoff).sum().values
    

    执行后num_of_rows_array就是一个NumPy数组,按顺序对应S1到S100列的统计结果。

关于“并行”的补充

其实Pandas的向量化操作本身就是在底层做了优化,比手动写循环或多线程并行效率更高。如果你的DataFrame体量特别大,非要用并行框架的话,可以试试Dask来分块处理,但对于100列的常规场景,上面的方法完全足够。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 11:45:58