如何使用python将二维数组去重呢?

二维数组的去重,能和一维的方法类似吗?
import numpy
c=np.array(((1,2),(3,4),(5,6),(7,8),(7,8),(3,4),(1,2)))
print('二维数组:\n',c)
print('去重后:',np.unique(c))
然而并不能达到预期,好伤心....
原因:unique()只是将二位数据转化为一维,然后再去重

下面来点干货!
#方案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]))))

转载于:https://www.cnblogs.com/Michelle-Yang/p/6730818.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值