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

Pandas如何计算列表元素对应DataFrame同位置列的百分位及小于该元素的个数

问题解答

最优实现方案

直接用pandas内置的向量化比较操作即可,全程不需要写任何显式循环,性能远高于遍历列/遍历元素的写法,数据量越大优势越明显:

import pandas as pd

# 示例数据初始化
l = [4,1,6,7]
df = pd.DataFrame([
    [1,2,3,4],
    [5,4,1,0],
    [7,5,0,9]
])

# 核心实现仅一行代码
result = (df < l).sum().tolist()
print(result) # 输出 [1, 0, 3, 2]

逻辑说明

  • pandas执行df < 长度等于df列数的序列运算时,会自动按列对齐规则广播比较:序列第i个元素会和df第i列的所有值逐一比较,返回布尔矩阵
  • 对布尔矩阵按列求和,自动统计每列真值(即小于阈值)的元素个数
  • 最后调用tolist()转成列表格式就得到目标输出

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 14:30:04