栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从NumPy 2D数组中删除重复的列和行

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从NumPy 2D数组中删除重复的列和行

这是一个主意,需要一些工作,但可能会很快。我将给您一维的情况,让您找出如何将其扩展到二维的情况。以下函数查找一维数组的唯一元素:

import numpy as npdef unique(a):    a = np.sort(a)    b = np.diff(a)    b = np.r_[1, b]    return a[b != 0]

现在要将其扩展到2d,您需要更改两件事。您将需要弄清楚自己如何进行排序,关于排序的重要事项是两个相同的条目彼此相邻。其次,您需要执行类似的操作,

(b !=0).all(axis)
因为您要比较整个行/列。让我知道这是否足以让您入门。

更新:在道格的一些帮助下,我认为这应该适用于二维情况。

import numpy as npdef unique(a):    order = np.lexsort(a.T)    a = a[order]    diff = np.diff(a, axis=0)    ui = np.ones(len(a), 'bool')    ui[1:] = (diff != 0).any(axis=1)     return a[ui]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/650637.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号