Python numpy 点数组去重的实例

yipeiwu_com5年前Python基础

废话不多说,直接上代码,有详细注释

# coding = utf-8
import numpy as np
from IPython import embed
# xy 输入,可支持浮点数操作 速度很快哦
# return xy 去重后结果
def duplicate_removal(xy):
  if xy.shape[0] < 2:
    return xy
  _tmp = (xy*4000).astype('i4')          # 转换成 i4 处理
  _tmp = _tmp[:,0] + _tmp[:,1]*1j         # 转换成复数处理 
  keep = np.unique(_tmp, return_index=True)[1]  # 去重 得到索引                  
  return xy[keep]                 # 得到数据并返回  
# _tmp[:,0] 切片操作,因为时二维数组,_tmp[a:b, c:d]为通用表达式,
# 表示取第一维的索引 a 到索引 b,和第二维的索引 c 到索引 d
# 当取所有时可以直接省略,但要加':'冒号 、当 a == b 时可只写 a ,同时不用':'冒号
if __name__ == '__main__':
  if 1: # 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()

以上这篇Python numpy 点数组去重的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python使用matplotlib绘制正弦和余弦曲线的方法示例

Python使用matplotlib绘制正弦和余弦曲线的方法示例

本文实例讲述了Python使用matplotlib绘制正弦和余弦曲线的方法。分享给大家供大家参考,具体如下: 一 介绍 关键词:绘图库 官网:http://matplotlib.org/...

微信跳一跳游戏python脚本

微信跳一跳游戏python脚本

微信更新后出来了一块比较火的小游戏,要是一款不涉及到排行的游戏,可能 没人去关注这款游戏。最开自己一直苦练技术,想在微信排行上面装一装,练了好久才跑三百多分。接着在Github(Gith...

Python编程实战之Oracle数据库操作示例

本文实例讲述了Python编程实战之Oracle数据库操作。分享给大家供大家参考,具体如下: 1. 要想使Python可以操作Oracle数据库,首先需要安装cx_Oracle包,可以通...

TensorFlow实现打印每一层的输出

在test.py中可以通过如下代码直接生成带weight的pb文件,也可以通过tf官方的freeze_graph.py将ckpt转为pb文件。 constant_graph = gr...

Python读写zip压缩文件的方法

Python 内置的 zipfile 模块可以对文件(夹)进行ZIP格式的压缩和读取操作。要进行相关操作,首先需要实例化一个 ZipFile 对象。ZipFile 接受一个字符串格式压缩...