Python numpy 点数组去重的实例
废话不多说,直接上代码,有详细注释
#coding=utf-8 importnumpyasnp fromIPythonimportembed #xy输入,可支持浮点数操作速度很快哦 #returnxy去重后结果 defduplicate_removal(xy): ifxy.shape[0]<2: returnxy _tmp=(xy*4000).astype('i4')#转换成i4处理 _tmp=_tmp[:,0]+_tmp[:,1]*1j#转换成复数处理 keep=np.unique(_tmp,return_index=True)[1]#去重得到索引 returnxy[keep]#得到数据并返回 #_tmp[:,0]切片操作,因为时二维数组,_tmp[a:b,c:d]为通用表达式, #表示取第一维的索引a到索引b,和第二维的索引c到索引d #当取所有时可以直接省略,但要加':'冒号、当a==b时可只写a,同时不用':'冒号 if__name__=='__main__': if1:#test xy=np.array([[1.0,1.0,1.0],[2.0,2.0,2.0],[3.0,0.0,0.0],[1.0,1.0,1.00]]) print(xy) new_xy=duplicate_removal(xy) print(new_xy) embed()
以上这篇Pythonnumpy点数组去重的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。