我有一个numpy乘积生成器(使用meshgrid
),它可以查找两个数组的乘积(类似于itertools.product
)。问题是它生成包含相同元素但重新排列的数组(因此 numpy.unique 不会过滤它们)。
例如,如果我有一个像这样的数组:
[[0, 0]
[1, 0]
[0, 1]
[1, 1]]
我需要这样的结果:
[[0, 0]
[1, 0]
[1, 1]]
因为 [1, 0]
和 [0, 1]
对于我的目的来说是相同的。
最佳答案
如果您有 numpy >= 1.13.0
,您可以在先前排序的数组上使用 np.unique
:
>>> a = np.array([[0, 0], [1, 0], [0, 1], [1, 1]])
>>> a
[[0 0]
[1 0]
[0 1]
[1 1]]
>>> b = np.unique(np.sort(a, axis=1), axis=0)
>>> b
[[0 0]
[0 1]
[1 1]]
关于python - 删除 Numpy 中重新排列的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45132602/