Numpy配列の最大値インデックスを取得する方法
次のメソッドを使用して、NumPy 配列の最大値のインデックスを取得できます。
方法 1: 1 次元配列の最大値のインデックスを取得する
x. argmax ()
方法 2: 多次元配列の各行の最大値のインデックスを取得する
x. argmax (axis= 1 )
方法 3: 多次元配列の各列の最大値のインデックスを取得する
x. argmax (axis= 0 )
次の例は、各メソッドを実際に使用する方法を示しています。
例 1: 1 次元配列の最大値のインデックスを取得する
次のコードは、1 次元 NumPy 配列の最大値のインデックスを取得する方法を示しています。
import numpy as np
#create NumPy array of values
x = np. array ([2, 7, 9, 4, 4, 6, 3])
#find index that contains max value
x. argmax ()
2
argmax()関数は値2を返します。
これは、配列のインデックス位置2の値に最大値が含まれていることを示します。
元の配列を見ると、インデックス位置2の値が9であることがわかります。これは確かに配列内の最大値です。
例 2: 多次元配列の各行の最大値のインデックスを取得する
次のコードは、多次元 NumPy 配列の各行の最大値のインデックスを取得する方法を示しています。
import numpy as np
#create multi-dimentional NumPy array
x = np. array ([[4, 2, 1, 5], [7, 9, 2, 0]])
#view NumPy array
print (x)
[[4 2 1 5]
[7 9 2 0]]
#find index that contains max value in each row
x. argmax (axis= 1 )
array([3, 1], dtype=int32)
結果から次のことがわかります。
- 最初の行の最大値はインデックス位置3にあります。
- 2 行目の最大値はインデックス位置1にあります。
例 3: 多次元配列の各列の最大値のインデックスを取得する
次のコードは、多次元 NumPy 配列の各列の最大値のインデックスを取得する方法を示しています。
import numpy as np
#create multi-dimentional NumPy array
x = np. array ([[4, 2, 1, 5], [7, 9, 2, 0]])
#view NumPy array
print (x)
[[4 2 1 5]
[7 9 2 0]]
#find index that contains max value in each column
x. argmax (axis= 0 )
array([1, 1, 1, 0], dtype=int32)
結果から次のことがわかります。
- 最初の列の最大値はインデックス位置1にあります。
- 2 番目の列の最大値はインデックス位置1にあります。
- 3 番目の列の最大値はインデックス位置1にあります。
- 4 番目の列の最大値はインデックス位置0にあります。
関連: NumPy 軸の簡単な説明
追加リソース
次のチュートリアルでは、Python で他の一般的な操作を実行する方法について説明します。