首页 > 解决方案 > len() 和 .nunique 与 pandas 数据帧的区别

问题描述

我已经定义了一个 Pandas 数据框,其中包含一个名为“emp_title”的列名。我想查看该特定列中唯一条目的总数。

我用了:

len(df['emp_title'].unique())

这给了我 173106 的价值

而当我使用时:

df['emp_title'].nunique()

它给了我一个 173105 的值,它应该是实际大小。

任何人都可以解释为什么我不应该将代码与 len() 函数一起使用。或者这里的数据集可能存在问题?

标签: pythonpandasdataframe

解决方案


这意味着存在一些缺失值,因为Series.nunique默认情况下会删除缺失值。

因此,对于相同的输出,将默认参数更改dropna=TrueFalse

df['emp_title'].nunique(dropna=False)

推荐阅读