[Python]Numpy配列の特定の要素のインデックスを取得するには?

python

どうも、ちょげ(@chogetarou)です。

Numpy配列の特定の要素のインデックス(index)を取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

Numpy配列の特定の要素のインデックス(index)を取得するには、numpy.where()を使います。

まず、numpyからwhere()を呼び出します。

numpy.where()の引数に、配列と特定の要素を「==」で比較した条件式を指定します。

そして、numpy.where()の結果のインデックス「0」にアクセスします。

#arr=対象のnumpy配列, item=要素
np.where(arr == item)[0]

上記のwhere()は、Numpy配列の指定した要素のインデックスを全て取得します。

もし、特定の要素のインデックスを最初の1つだけ取得したい場合は、where()の結果のインデックス「0」に2度アクセスします。

#特定の要素のインデックスを最初の1つだけ取得
np.where(arr == item)[0][0]

使用例

import numpy as np

nums = np.array(["one", "two", "three", "one", "four", "five"])

print(np.where(nums == "one")[0]) #oneのインデックスを全て取得
print(np.where(nums == "four")[0][0]) #fourのインデックスを1つだけ取得
出力:
[0 3]
4

コメント

タイトルとURLをコピーしました