多次元配列のクエリの配列のインデックスを見つける方法を探しています。たとえば:多次元numpy配列の複数のクエリのインデックスを見つける
arr = np.array([[17, 5, 19, 9],
[18, 13, 3, 7],
[ 8, 1, 4, 2],
[ 8, 9, 7, 19],
[ 6, 11, 8, 5],
[11, 16, 13, 18],
[ 0, 1, 2, 9],
[ 1, 7, 4, 6]])
私は1つのクエリのためのインデックスを見つけることができます。
np.where(arr==1)
# (array([2, 6, 7]), array([1, 1, 0]))
を次for
ループを交換する複数の値のためにこれを行うには、任意のnumpyの解決策はありますか?
for q in queries:
np.where(arr==q)
アレイとクエリの両方が一次元であった場合、私はthis answerとしてsearchsorted
を使用することができるが、それは、多次元配列では動作しません。
ありがとうございましたが、私は 'q'の異なる値に対して' np.where(arr == q) 'を得たかったのです! – Mahdi
'q'の各値または' q'のすべての値のインデックスを求めますか? – Alexander
>>> ix = np.in1d(arr.ravel()、[1,8,18])。reshape(arr.shape)... >>> found = np.array(list(zip(* np.where(ix))))...リストはPython 3で必要です。 –