其中unique()方法返回的是去重之后的不同值,而nunique()方法则直接返回不同值的个数。
特别说明:当Series和DataFrame中包含np.NAN, np.NaN,pd.NaT, None等特殊值时,uniuqe()和nunique()返回的不同值个数不一致,可以通过增加nunique()的参数自定义统计是否包含特殊值的情况。
nunique()和unique()方法两个函数的具体使用方法和区别如下:
import pandas as pd
import numpy as np
s1 = pd.Series([5, 7, 6, 3, 4, 1, 2, 3, 5, 4, 1, 1])
print('s1中不同值:', s1.unique())
print('s1中不同值的个数:', len(s1.unique()))
print('s1中不同值的个数:', s1.nunique())
# 当存在Nan、None时
print('='*30)
s2 = pd.Series([5, 7, 6, 3, np.NAN, np.NaN,4, 1, 2, 3, 5, 4, 1, 1, pd.NaT, None])
print('s2中不同值:', s2.unique())
print('s2中不同值的个数:', len(s2.unique()))
print('s2中不同值的个数:', s2.nunique())
print('s2中不同值的个数(包含空值):', s2.nunique(dropna=False))