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

如何统计Pandas DataFrame中指定单个值(如“No”)的出现次数?

统计Pandas DataFrame中"No"的出现次数

嗨,我来帮你快速搞定这个需求!不用借助df.apply(pd.value_counts)统计所有值再筛选,直接用下面几种更高效的方法就能精准统计"No"的出现次数:

  • 方法一:布尔掩码两层求和(最简洁)
    直接把整个DataFrame和"No"做相等判断,生成布尔型DataFrame后,先按列求和再全局求和:

    count_no = (df == "No").sum().sum()
    print(f'"No"的出现次数为{count_no}')
    

    解释:df == "No"会生成和原DataFrame同结构的布尔表,True代表对应位置是"No";第一层.sum()统计每列里"No"的数量,第二层.sum()把所有列的结果加总,得到全局总次数。

  • 方法二:堆叠成Series后统计
    先把DataFrame转成一维Series,再针对性统计"No"的次数:

    count_no = df.stack().value_counts().get("No", 0)
    print(f'"No"的出现次数为{count_no}')
    

    解释:df.stack()会把所有行、列的元素合并成一个Series;.value_counts()统计各值的出现次数,.get("No", 0)能避免"No"不存在时报错,直接返回0。

  • 方法三:用Numpy提升大数据效率
    如果你的DataFrame数据量很大,用Numpy的函数会更快:

    import numpy as np
    count_no = np.count_nonzero(df.values == "No")
    print(f'"No"的出现次数为{count_no}')
    

    解释:df.values将DataFrame转为Numpy数组,np.count_nonzero直接统计数组中等于"No"的元素数量,运算效率比纯Pandas方法更高。

小提示:如果DataFrame里有缺失值(NaN),这些方法都不会把NaN误判为"No",完全不用担心干扰统计结果~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:58:13