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

如何在Dataframe中忽略空值并批量统计各类颜色的元素数量?

解决方法

方法一:使用pandas内置的value_counts()(推荐)

pandas的Series.value_counts()方法专门用来统计类别型数据的出现次数,默认会自动忽略NaN空值,代码简洁且性能优化过,完全不用手动写重复代码:

color_counts = data["Primary Fur Color"].value_counts()

执行后,color_counts是一个pandas.Series对象——索引是各类颜色(比如Black、Gray、Cinnamon),对应的值就是该颜色的元素总数。你可以直接打印查看结果,也能通过索引单独获取某类颜色的数量,比如color_counts["Gray"]。

如果需要把结果转换成字典格式方便后续处理,只需追加:

color_counts_dict = data["Primary Fur Color"].value_counts().to_dict()

方法二:手动过滤空值后统计(适合自定义逻辑)

如果需要在统计过程中添加额外自定义规则,可以先过滤列中的空值,再获取唯一颜色类别,最后循环统计:

# 过滤掉所有空值
fur_clean = data["Primary Fur Color"].dropna()
# 获取去重后的颜色集合
fur_unique = set(fur_clean.to_list())
# 遍历统计每个颜色的数量
color_counts = {}
for color in fur_unique:
    color_counts[color] = len(fur_clean[fur_clean == color])

这种方法灵活性更高,但对于单纯的计数需求,value_counts()是更优选择——尤其是数据量较大时,内置方法的性能会远优于手动循环。

内容的提问来源于stack exchange,提问作者Avry G.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 11:55:16