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

如何用更简洁的方法统计Pandas DataFrame列中符合条件的值的数量

统计Pandas DataFrame列中符合条件的元素数量

给定如下DataFrame:

import pandas as pd

df = pd.DataFrame({'A': [1, 10, 100, 1000, 10000], 'B': [1, 2, 3, 4, 5]})

输出结果:

A  B
0      1  1
1     10  2
2    100  3
3   1000  4
4  10000  5

要统计A列中值大于100的元素数量,你提到的df['A'][df['A']>100].count()虽然可行,但重复调用df['A']不够简洁,以下是几种更简便的方法:

  • 方法一:布尔序列直接求和(最简洁)

    (df['A'] > 100).sum()
    

    原理:比较操作df['A'] > 100会返回布尔类型的Series,符合条件的元素对应True(数值1),不符合的对应False(数值0),对该Series求和即可直接得到符合条件的元素总数,结果为2。

  • 方法二:使用query方法筛选后取行数

    df.query('A > 100').shape[0]
    

    或者:

    len(df.query('A > 100'))
    

    原理:query通过字符串表达式筛选出符合条件的行,shape[0]或len()可直接获取筛选结果的行数,也就是目标元素数量。

  • 方法三:使用loc定位后计数

    df.loc[df['A'] > 100, 'A'].count()
    

    原理:loc先通过布尔条件筛选行,再指定统计的A列,最后调用count()得到数量。这种方法避免了链式索引的潜在警告,可读性较强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 20:12:47