Python中unique()用法及代码示例
在处理数据中,如果希望查看列中的去重之后的不同值或者唯一值,这可以使用 Pandas unique()函数来完成。Python的Pandas库Series.unique方法会返回Series中的唯一值。这些值是按照出现顺序排序的,它返回一个 NumPy
数组。
示例:
import pandas as pd
import numpy as np
data = pd.Series([5, 7, 6, 3, 4, 1, 2, 3, 5, 4, 1, 1])#Series化数组
print(data.unique())
[5 7 6 3 4 1 2]
对于取去重值
Pandas中Series和DataFrame的两种数据类型中都有nunique()和unique()方法。unique()方法返回的是去重之后的不同值,而nunique()方法则直接放回不同值的个数。
但是,当Series和DataFrame中包含np.NAN, np.NaN,pd.NaT, None等特殊值时,uniuqe()会统计它们,而nunique()不会(可以加个dropna=False关掉)。
具体使用方法和区别如下:
import pandas as pd
import numpy as np
data1 = pd.Series([34,212,23,11,33,11,22,34,33,22,34])
print('data1中不同值:', data1.unique())
print('data中不同值的个数:', len(data1.unique()))
print('daat1中不同值的个数:', data1.nunique())
结果:
data1中不同值: [ 34 212 23 11 33 22] data中不同值的个数: 6 daat1中不同值的个数: 6
# 当存在Nan、None时
data2 = pd.Series([34,212,23,None,11,33,pd.NaT,11,22,34,33,22,34, np.NAN, np.NaN])
print('data2中不同值:', data2.unique())
print('data2中不同值的个数:', len(data2.unique()))
print('data2中不同值的个数:', data2.nunique())
print('data2中不同值的个数(包含空值):', data2.nunique(dropna=False))
结果:
data2中不同值: [34 212 23 None 11 33 NaT 22 nan] data2中不同值的个数: 9 data2中不同值的个数: 8 data2中不同值的个数(包含空值): 9
来源:第三方都是156445