Python numpy 点数组去重


本文摘自php中文网,作者不言,侵删。

下面为大家分享一篇Python numpy 点数组去重的实例,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

# 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的代码

如何找到一个目录下所有.txt文件

你知道Python

Python while循环语句讲解与同步解析(代码示例)

Python两种错误类型的介绍

Python怎么输出汉字

Python单引号和双引号的区别

Python是如何爬取散文网的文章的?

Python自定义类对象序列化为json串(代码示例)

爬虫能获取什么样的数据和具体的解析方式

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...