Python numpy 点数组去重的实例

yipeiwu_com6年前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的turtle模块画国旗

使用Python的turtle模块画国旗

Python的turtle模块画国旗主要用到两个函数:draw_rentangle和draw_star。 至于函数的调用就和我们学的C,C++是一样的。对于turtle画国旗的程序中,首...

jenkins配置python脚本定时任务过程图解

jenkins配置python脚本定时任务过程图解

这篇文章主要介绍了jekins配置python脚本定时任务过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.首先安装jeki...

Python小游戏之300行代码实现俄罗斯方块

Python小游戏之300行代码实现俄罗斯方块

前言 本文代码基于 python3.6 和 pygame1.9.4。 俄罗斯方块是儿时最经典的游戏之一,刚开始接触 pygame 的时候就想写一个俄罗斯方块。但是想到旋转,停靠,消除等操...

Django中redis的使用方法(包括安装、配置、启动)

Django中redis的使用方法(包括安装、配置、启动)

一、安装redis: 1.下载: wget http://download.redis.io/releases/redis-3.2.8.tar.gz 2.解压 tar -zxv...

python自带tkinter库实现棋盘覆盖图形界面

python自带tkinter库实现棋盘覆盖图形界面

python实现棋盘覆盖图形界面,供大家参考,具体内容如下 一、解决方案和关键代码 工具: python tkinter库 问题描述:   在一个2^k×2...