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



