python二维数组去重_np.unique()对一维和二维数组去重

一维数组

对一维数组或列表,unique()函数去除其中重复元素,并按元素大小返回一个新的无重复元组或列表。

import numpy as np

A = [1, 2, 2, 5,3, 4, 3]

a = np.unique(A)

print(a)

[1 2 3 4 5]

C= ['fgfh','asd','fgfh','asdfds','wrh']

c= np.unique(C)

print(c)

['asd' 'asdfds' 'fgfh' 'wrh']

return_index = True

# return_index=True表示返回新列表元素在旧列表中的位置,并以列表形式储存在s中。

a, s= np.unique(A, return_index=True)

print(a)

print(s)

[1 2 3 4 5]

[0 1 4 5 3]

return_inverse = True

# return_inverse=True 表示返回旧列表元素在新列表中的位置,并以列表形式储存在p中。

a, s,p = np.unique(A, return_index=True, return_inverse=True)

print(a)

print(s)

print(p)

[1 2 3 4 5]

[0 1 4 5 3]

[0 1 1 4 2 3 2]

二维数组

import numpy

c=np.array(((1,2),(3,4),(5,6),(7,8),(7,8),(3,4),(1,2)))

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])

转化为虚数: [ 1.+2.j 3.+4.j 5.+6.j 7.+8.j 7.+8.j 3.+4.j 1.+2.j]

虚数去重后: [ 1.+2.j 3.+4.j 5.+6.j 7.+8.j]

(array([ 1.+2.j, 3.+4.j, 5.+6.j, 7.+8.j]), array([0, 1, 2, 3], dtype=int64))

二维数组去重:

[[1 2]

[3 4]

[5 6]

[7 8]]

print('去重方案2:\n',np.array(list(set([tuple(t) for t in c]))))

去重方案2:

[[1 2]

[3 4]

[5 6]

[7 8]]

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

二维数组的去重,能和一维的方法类似吗?import numpyc=np.array(((1,2),(3,4),(5,6),(7,8),(7,8),(3,4),(1,2)))print('二维数组:\n ...

php二维数组去重

php二维数组去重 前言:php一维数组去重很简单,直接array_unique($arr)即可,但是二维数组去重就得自己去写了 二维数组去重方法: /* * 二维数组去重 * 注意:二维数组中的元素 ...

PHP二维数组去重(指定键名)

本例对二维数组中某个指定键名进行去重,发现网上大多使用array_unique或是foreach遍历等方式去重,效果不佳且较为繁琐. 本文以二维数组去重为引,介绍array_column函数的三种用法 ...

VB6 二维数组去重实现

关于VB6的二维数组去重算法实现 当然,这里还是有局限性,当我们的数组被填满了各个不同的值时,例如下方 700*700 = 490000 就要While49万次,这谁受得了? 所以以下仅适合小规模使用 ...

Mojo 返回一维和二维数组

这种情况不断的网数组@arr2里放入数据,返回的内容为: 这种情况是一维数组: while( $selStmt->fetch() ){ print "\$a1 is $a1\n&quo ...

PHP 二维数组去重(保留各个键值的同时去除重复的项)

对于如下二维数组,要求对其进行去重: $arr = array( '=>array( 'name'=>'james', , ), '=>array( 'name'=>'susu ...

PHP 二维数组去重方法

php二维数组的去重策略,如果需要根据某字段去重(其他字段可能不一致),那么需要使用循环策略,如果去重的都是相同的(字段,值),那么可以用序列化方式. $allComments = array_map ...

C#如何定义一个变长的一维和二维数组

1.假设将要定义数组的长度为程序执行过程中计算出来的MAX List Arc = new List(); ; i < MAX; i++) { Arc. ...

51Nod1085 0-1背包(一维和二维数组实现)

背包是典型的动态规划问题,关于背包问题的详解,推荐博客:点击打开链接(这篇博客有点错误,代码for循环里错了,不过讲解 的很详细) 题目如下: 在N件物品取出若干件放在容量为W的背包里,每件物品的体积 ...

随机推荐

ASP.NET Core的配置(1):读取配置信息

提到"配置"二字,我想绝大部分.NET开发人员脑海中会立马浮现出两个特殊文件的身影,那就是我们再熟悉不过的app.config和web.config,多年以来我们已经习惯了将结构化 ...

打不开tomcat

org.xml.sax.SAXParseException; lineNumber: 14; columnNumber: 59; schema_reference.4: 无法读取方案文档 'http: ...

Win8怎么查看IP地址

win8查看自己IP地址方法一:查看本地网络法 1.首先从桌面右下角的“网络连接图标上”点击右键,然后选择打开网络和共享中心,如下图所示: 打开win8网络和共享中心 2.之后在打开的网络和共享中心窗 ...

用AndroidStudio发布Libs到Bintray jCenter

1 RootProject[根目录]build.gradle中添加如下插件引用 dependencies { ....... classpath 'com.jfrog.bintray.gradle:g ...

css在盒子中垂直居中和固定居中

顶部固定居中

我是固定的
.w960{ width: 960px; margin:0 aut ...

WEB框架-Django框架学习-预备知识

今日份整理,终于开始整个阶段学习的后期了,今日开始学习Django的框架,加油,你是最胖的! 1.web基础知识 1.1 web应用 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是 ...

14.swing

一.开发架构1.最外层是一个jframe的框架2.可以在框架中添加任意组件3.组件分为两大类: a.容器类型:可以继续在该容器中添加其他组件.例如:jpanel 面板,可以多个面板添加到同一个框架中 ...

关于js特效轮播图练习

[出现问题] js轮播图,图片未正常轮播. [解决方法] 通过对代码的检查,发现是以下三个原因造成的错误. 1.js代码问题 js代码使用alert(test);,测试修改完毕后,发现依然没有解决错误 ...

GitHub学习二-将本地Git库与Github上的Git库相关联

0 git clone 如果是从自己的github clone,一键搞定,和三步的git remote add功能一样. 1.创建本地库 新建目录,右键git bash here,输入 git ini ...

Note of The Linux Command Line

心得 在用鼠标点击的图形化桌面之前,单纯用键盘操作软件的时代已经很成熟了.并且还在这样延续下去.鼠标不是电脑操作的唯一模式,至少不是程序员的. 在黑色屏幕下,因为没有鼠标所以只能用按键来操作软件.包括 ...

你可能感兴趣的:(python二维数组去重)