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

如何计算DataFrame中数值大于/小于特定值的占比?

计算DataFrame中满足数值条件的占比

问题场景

现有如下结构的单列DataFrame(Series):

df = 
2018-06-15    0.096377
2018-06-18    0.095913
2018-06-19    0.073047
2018-06-20    0.065600
2018-06-21    0.063776
...

需要查询其中数值大于/小于特定值的占比,例如查询大于0.07的数值占比,结果为0.50(即50%)。

解决方案

利用Pandas的布尔索引结合mean()方法直接计算占比:

  • 计算大于特定值的占比:
    # 以大于0.07为例
    ratio_gt = (df > 0.07).mean()
    print(ratio_gt)  # 示例中输出0.5
    
  • 计算小于特定值的占比:
    # 以小于0.065为例
    ratio_lt = (df < 0.065).mean()
    print(ratio_lt)
    

原理说明

df > 0.07会生成一个布尔类型的Series,满足条件的元素为True(等价于数值1),不满足的为False(等价于数值0)。调用mean()方法时,会自动计算所有元素的平均值,也就是满足条件的元素占总元素的比例。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 19:09:27