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

物联沃分享整理
物联沃-IOTWORD物联网 » Python中unique()用法及代码示例

发表回复