目录
前言
unique()函数可以返回输入数组中所有不同的值(就是把重复的值会去掉),并且按照从大到小的顺序排列,即unique()函数能够返回由输入数组中的去重后的值组成的去重数组,去重数组的索引数组,去重数组的下标和去重值的重复数量等结果
代码格式:
numpy.unique(arr,return_index,return_inverse,return_counts)
解释:其中,参数arr表示输入的数组,如果不是一维数组则会展开;
return_index如果为True,返回输入数组中去重数组的索引数组;
return_inverse如果为True,返回去重数组的下标,他可以用于重构输入数组;
return_counts如果为True,返回去重数组中的元素在原数组中出现的次数
代码实列:
import numpy as np
#去重
# 1.unique()函数
arr=np.array([3,2,3,5,1,7,4,6,8,1])
print('第1个数组:',arr)
#第1个数组: [3 2 3 5 1 7 4 6 8 1]
print('第1个数组的去重(去重后的值)数组:')
arr_u=np.unique(arr)
print(arr_u)
#[1 2 3 4 5 6 7 8]
print('去重数组的索引数组')
u_index=np.unique(arr,return_index=True) #去重的数组,去重的数组原来位置的索引
print(u_index) #(array([1, 2, 3, 4, 5, 6, 7, 8]), array([4, 1, 0, 6, 3, 7, 5, 8], dtype=int64))
print('查看原数中的元素相对于去重数组中的元素的索引值')
print('原数组',arr) #[3 2 3 5 1 7 4 6 8 1]
print('用去重数组下标标记原数组中元素')
arr_u,u_inverse=np.unique(arr,return_inverse=True)
print(u_inverse) #[2 1 2 4 0 6 3 5 7 0]
print('使用去重数组下标重构原数组:')
print(arr_u[u_inverse]) #[3 2 3 5 1 7 4 6 8 1]
print('返回去重后的值的重复数量')
arr_c,u_counts=np.unique(arr,return_counts=True)
print(arr_c) #[1 2 3 4 5 6 7 8]
print(u_counts) #[2 1 2 1 1 1 1 1]
本篇内容就到这里了,这篇比较重点,谢谢大家观看!记得点赞收藏~