2016-08-15 13 views
2

私は関数のようなインデックスを持っていたいと思います:np.searchsorted([1,2,3,4,5], 3)は2を返しますが、2-D次元の場合:np.searchsorted([[1,2],[3,4],[5,6]], [5,6])は2を返す必要があります。2次元配列の検索を使用

+0

あなたは本当に '' sorted'場所のためsearch'をやっていますか?あるいは、これはある種の 'find'ですか?配列内にあるアイテムを探していますか?新しいものを置く場所? – hpaulj

+0

第1列で 'searchsorted'を実行してください。結びつきが心配な場合は、問題を解決する列の機能をいくつか計算します。 'searchsorted'は、配列のソートが明確に定義されている場合にのみ意味があります。これは、リストの索引または検索の代用ではありません。 – hpaulj

+0

複数の値を扱う場合は、次のようにします。['numpy配列の複数の値の行インデックスを検索する '](http://stackoverflow.com/questions/38674027/find-the-row-indexes-of-いくつかの値が並んだ配列)。 – Divakar

答えて

1

documentation for searchsortedは、1-Dアレイでのみ機能することを示します。

あなたは内蔵のmethds使用して、リスト内のインデックス位置を見つけることができます。

>>> a = [[1,2],[3,4],[5,6]] 
>>> a.index([5,6]) 
2 

>>> a = [[1,2],[5,6],[3,4]] 
>>> print(a.index([5,6])) 
>>> a.sort() 
>>> print(a.index([5,6])) 
1 
2 
+0

ありがとうございます! –

3
a = np.array([[1,2],[3,4],[5,6]]) 
b = np.array([5,6]) 
np.where(np.all(a==b,axis=1)) 
+0

ありがとうございました! –