计算serise数据的唯一值数量
1. Series.unique()
-
功能:返回 Series 中所有唯一值的 数组(顺序按首次出现排列)。
-
返回值类型:
numpy.ndarray
(用户可能误认为是列表,但实际是 NumPy 数组)。 -
对 NaN 的处理:包含 NaN(如果存在)。
import pandas as pds = pd.Series([1, 2, 2, 3, None])
print(s.unique())
# 输出:array([1, 2, 3, nan], dtype=object)
2. Series.nunique()
-
功能:
统计 Series 中唯一值的 数量(默认不包含 NaN)。 -
返回值:
整数(int
)。 -
参数
dropna
:-
默认
dropna=True
:不统计 NaN。 -
dropna=False
:将 NaN 视为一个唯一值并统计。
-
s = pd.Series([1, 2, 2, 3, None])# 默认不统计 NaN
print(s.nunique()) # 输出:3# 统计 NaN
print(s.nunique(dropna=False)) # 输出:4
3. Series.nunique(dropna=False)
-
功能:
统计 Series 中唯一值的数量,包含 NaN。 -
返回值:
整数(int
)。 -
说明:
是Series.nunique()
方法的参数化调用形式,通过dropna=False
强制包含 NaN 的计数。
对比:
import pandas as pds = pd.Series([1, 1, 2, None, None])# 唯一值列表(包含 NaN)
print(s.unique()) # 输出:[1, 2, nan]# 默认统计唯一值数量(不包含 NaN)
print(s.nunique()) # 输出:2# 统计唯一值数量(包含 NaN)
print(s.nunique(dropna=False)) # 输出:3