numpy对二维数组去重(附np.unique()文档)

首先放上一个链接:如何使用python将二维数组去重呢?

其中提到了两种方案:

#方案1:转化为虚数
x=c[:,0]+c[:,1]*1j
print('转化为虚数:',x)
print('虚数去重后:',np.unique(x))
print(np.unique(x,return_index=True))#return_index:输出的元素索引值
idx=np.unique(x,return_index=True)[1]
print('二维数组去重:\n',c[idx])

#方案2:利用set
print('去重方案2:\n',np.array(list(set([tuple(t) for t in c]))))

但是思前想后,感觉这么简单常用的功能不至于这么麻烦。于是我又把np.unique()这个函数看了一遍,发现np.unique()是可以直接解决的。PS:吐槽一下,第二种方案是真的慢。

继续阅读“numpy对二维数组去重(附np.unique()文档)”