NumPyで数列中の特定の数のインデックスを求める方法
行列の特定の数値のインデックスは、numpy.where() 関数を使用して見つけることができます。
数値が 5 である配列内の要素のインデックスを見つける方法を以下に例を示します。
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 5, 8, 9])
indices = np.where(arr == 5)
print(indices)
結果は0ではない
(array([4, 7]),)
数列における数字5のインデックスは4と7です。np.where() 関数はインデックスを表す配列を含むタプルを返します。
インデックス値を複数見つけたい場合は NumPy.in1d() 関数を使用できます。以下の例では、配列の中で値が 5 および 6 の要素のインデックスを見つける方法を示します。
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 5, 8, 9])
values = np.array([5, 6])
indices = np.where(np.in1d(arr, values))
print(indices)
日本語でネイティブに言い換えると、
(array([4, 5, 7]),)
数列の中では、数字5と6のインデクスはそれぞれ4、5、7であることがわかります。