You need to enable JavaScript to run this app. 对DataFrame使用value_counts()统计时如何包含NaN值
优惠活动
大模型
产品
解决方案
定价
更多

对DataFrame使用value_counts()统计时如何包含NaN值

解决方法

pandas 的 value_counts() 方法默认会忽略包含 NaN 的分组,只需在调用时添加 dropna=False 参数即可保留 NaN 行的统计结果:

df[["No", "Name"]].value_counts(dropna=False)

如果需要输出列名带 Count 的结构化 DataFrame,可以链式调用 reset_index():

res = df[["No", "Name"]].value_counts(dropna=False).reset_index(name="Count")

运行上述代码后,输出结果与你预期完全一致:

NoNameCount
1A3
5T2
9V1
NaNM1

如果你的 pandas 版本低于 1.1.0(value_counts() 从该版本开始支持 dropna 参数),可以用 groupby 方法实现相同效果:

res = df.groupby(["No", "Name"], dropna=False).size().reset_index(name="Count")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 07:36:09