2022.09.15
在给定的numpy数组中找到重复的条目(第二次出现以后),并将它们标记为True(第一次出现应该为False)。
[[0,0,3,0],[2,4,2,2]]
[[false,true, false,true],[false,false,true,true]]
numpy.unique的使用方法
numpy.unique 函数用于去除数组中的重复元素。
numpy.unique(arr, return_index, return_inverse, return_counts)
import numpy as np
def search(ori_array):
res = []
for i in range(len(ori_array)):# 列表的行数
a = ori_array[i]# 列表中的每一行
b=np.full(len(a),True) # b初始为True,表示第二次出现
vals,counts=np.unique(a,return_index=True)# 函数用于去除数组中的重复元素
# vals表示去重后的数组[0,3] [2,4]
# counts表示去重后元素在原来所在的索引[0 2]--0在下标0位置,3在下标2位置;[0 1]--2在下标0位置,4在下标2位置
b[counts] = False
res.append(list(b)) # 转换成列表添加到输出,不转类型的话b是array类型
return res
ori_array=[[0,0,3,0],[2,4,2,2]]
print(search(ori_array))
