2017-07-16 16 views
1

2つの配列(itertools.productに似ています)の積を求めるnumpy生成ジェネレータ(meshgridを使用)があります。問題は、同じ要素を含む配列が生成されますが、並べ替えられたためです(したがって、numpy.uniqueはそれらをフィルタリングしません)。例えばNumpyで並べ替える配列を取り除く

、私はこのような配列がある場合:

[[0, 0] 
[1, 0] 
[0, 1] 
[1, 1]] 

を私はこのような結果必要があるでしょう:[1, 0][0, 1]ので

[[0, 0] 
[1, 0] 
[1, 1]] 

は私の目的のために同じです。あなたはnumpy >= 1.13.0を持っている場合は

答えて

2

、あなたは以前にソートされた配列に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]]