np.unique()函数详解

2020年1月8日 1 作者 折纸

学习的时候遇到了 记一下。

unique()函数详解

unique():返回参数数组中所有不同的值,并按照从小到大排序

可选参数:

return_index=True: 返回新列表中的每个元素在原列表第一次出现的索引值,因此元素个数与新列表中元素个数一样

return_inverse=True:返回原列表中的每个元素在新列表中出现的索引值,因此元素个数与原列表中元素个数一样

 

一、元素为数值型数据

#一、元素为数值型数据

import numpy as np  

A = [1, 2, 5, 3, 4, 3]
print ("原列表:", A)
print ("--------------------------") 

#返回任意的一个参数值
a = np.unique(A)
print ("新列表:", a)  
print ("--------------------------") 

#返回任意的两个参数值
a, s = np.unique(A, return_index=True)
print ("新列表:",a) 
print ("return_index:",s) 
print ("--------------------------") 

#返回全部三个参数值
a, s, p = np.unique(A, return_index=True, return_inverse=True)
print ("新列表:",a)  
print ("return_index", s) 
print ("return_inverse", p) 

 

运行结果:

说明:原列表A = [1, 2, 5, 3, 4, 3],各元素对应的索引值为:0,1,2,3 ,4,5

 

return_index=True:返回新列表a=[1 2 3 4 5]中每个元素在原列表A = [1  2  5  3  4  3]中第一次出现的索引值

1的索引为0,2的索引为1,3的索引为3,4对应的索引为4,5对应的索引为2,所以最后返回的结果为[0  1  3  4  2],

新列表5个元素,结果也是5个元素

 

return_inverse=True:返回原列表A = [1  2  5  3  4  3]中每个元素在新列表a=[1 2 3 4 5]中的索引值

1对应的索引为0,2对应的索引为1,5对应的索引为4,3对应的索引为2,4对应的索引为3,3对应的索引为2,所以最后的结果为[0 1 4 2 3 2]

原列表6个元素,结果也是6个元素

 

二、元素为字符型数据

 

#二、元素为字符型数据

A = ['fgfh','asd','fgfh','asdfds','wrh']  
print ("原列表:", A)
print ("-------------------------------------------------") 

a, s, p = np.unique(A, return_index=True, return_inverse=True)  
print ("新列表:",a)  
print ("return_index", s) 
print ("return_inverse", p) 

 

运行结果: