Numpy 配列の値インデックスを見つける方法 (例付き)
次のメソッドを使用して、NumPy 配列内の特定の値のインデックス位置を見つけることができます。
方法 1: すべての値のインデックス位置を検索する
n.p. where (x== value )
方法 2: 最初の値のインデックス位置を見つける
n.p. where (x== value )[0][0]
方法 3: 複数の値の最初のインデックス位置を見つける
#define values of interest vals = np. array ([ value1 , value2 , value3 ]) #find index location of first occurrence of each value of interest exit = np. argsort (x) go out[np. searchsorted (x, vals, sorter=sorter)]
次の例は、各メソッドを実際に使用する方法を示しています。
方法 1: すべての値のインデックス位置を検索する
次のコードは、NumPy 配列内の特定の値に等しい各インデックス位置を検索する方法を示しています。
import numpy as np #define array of values x = np. array ([4, 7, 7, 7, 8, 8, 8]) #find all index positions where x is equal to 8 n.p. where (x== 8 ) (array([4, 5, 6]),)
結果から、インデックス位置 4、5、および 6 はすべて値8に等しいことがわかります。
方法 2: 最初の値のインデックス位置を見つける
次のコードは、NumPy 配列内の特定の値に等しい最初のインデックス位置を見つける方法を示しています。
import numpy as np #define array of values x = np. array ([4, 7, 7, 7, 8, 8, 8]) #find first index position where x is equal to 8 n.p. where (x== 8 )[0][0] 4
結果から、値8がインデックス位置 4 に最初に出現することがわかります。
方法 3: 複数の値の最初のインデックス位置を見つける
次のコードは、NumPy 配列内の複数の値の最初のインデックス位置を見つける方法を示しています。
import numpy as np #define array of values x = np. array ([4, 7, 7, 7, 8, 8, 8]) #define values of interest vals = np. array ([4, 7, 8]) #find index location of first occurrence of each value of interest exit = np. argsort (x) go out[np. searchsorted (x, vals, sorter=sorter)] array([0, 1, 4])
結果から次のことがわかります。
- 値4はインデックス位置 0 に最初に現れます。
- 値7はインデックス位置 1 に最初に現れます。
- 値8はインデックス位置 4 に最初に現れます。
追加リソース
次のチュートリアルでは、NumPy で他の一般的な操作を実行する方法について説明します。
関数を NumPy 配列にマップする方法
NumPy 配列を Python のリストに変換する方法
NumPy を使用してベクトルの大きさを計算する方法