(仅介绍最常用部分)
作用:unique函数去除其中重复的元素,并按元素由大到小返回一个新的无元素重复的元组或者列表
eg:
此处借鉴了之前几个博主的例子
a = np.unique(A)
import numpy as np
A = [1, 2, 2, 5, 3, 4, 3]
a = np.unique(A)
B= (1, 2, 2, 5, 3, 4, 3)#其中2和3重复了
b= np.unique(B)
C= ['fgfh','asd','fgfh','asdfds','wrh']
c= np.unique(C)
print(a)
print(b)
print(c)
# 输出为
#[1 2 3 4 5]
#[1 2 3 4 5]
#['asd' 'asdfds' 'fgfh' 'wrh']
eg2:
c,s=np.unique(b,return_index=True)
a, s= np.unique(A, return_index=True)
print(a)
print(s)
# 运行结果
# [1 2 3 4 5]
# [0 1 4 5 3]
>>> a = np.array([[1, 0, 0], [1, 0, 0], [2, 3, 4]])
>>> np.unique(a, axis=0)
array([[1, 0, 0], [2, 3, 4]])
eg3:
a, s,p = np.unique(A, return_index=True, return_inverse=True)
return_inverse=True 表示返回旧列表元素在新列表中的位置,并以列表形式储存在p中
a, s,p = np.unique(A, return_index=True, return_inverse=True)
print(a)
print(s)
print(p)
# 运行结果
# [1 2 3 4 5]
# [0 1 4 5 3]
# [0 1 1 4 2 3 2]
>>> a = np.array(['a', 'b', 'b', 'c', 'a'])
>>> u, indices = np.unique(a, return_index=True)
>>> u
array(['a', 'b', 'c'], dtype='<U1')
>>> indices
array([0, 1, 3])
>>> a[indices]
array(['a', 'b', 'c'], dtype='<U1')