[Python]Numpyの配列(Array)の最大値のインデックスを取得するには?

python

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

Numpyの配列(Array)の最大値のインデックスを取得する方法を紹介します。

スポンサーリンク

方法

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

Numpyの配列(Array)の最大値のインデックスを取得する方法は、2つあります。

argmax()メソッド

1つは、argmax()メソッドを使う方法です。

具体的には、Numpyの配列からargmax()メソッドを呼び出します。

array.argmax()

argmax()メソッドは、呼び出したNumpy配列の最大値のインデックスを返します。

argmax()の結果は、多次元配列の形状を考慮しません。

もし、多次元配列の形状を考慮した結果を得たい場合は、numpyのnunravel_index()を使います。

np.unravel_index(array.argmax(), array.shape)

使用例

import numpy as np

nums = np.array([[1, 2, 3],
                 [4, 10, 6], 
                 [7, 8, 9]])

max_index = nums.argmax()

max_dim_index = np.unravel_index(nums.argmax(), nums.shape)

print(max_index) #4

print(max_dim_index) #(1, 1)

numpy.argmax()

もう1つは、numpyのargmax()を使う方法です。

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

そして、argmax()関数の引数にNumpy配列を指定します。

np.argmax(array)

argmax()関数は、引数に指定したNumpy配列の最大値のインデックスを返します。

Numpyのargmax()の結果は、多次元配列の形状を考慮しません。

もし、多次元配列の形状を考慮した結果を得たい場合は、numpyのnunravel_index()を使います。

np.unravel_index(np.argmax(array), array.shape)

使用例

import numpy as np

nums = np.array([[1, 2, 3],
                 [4, 10, 6], 
                 [7, 8, 9]])

max_index = np.argmax(nums)
max_dim_index = np.unravel_index(np.argmax(nums), nums.shape)

print(max_index) #10
print(max_dim_index) #(1, 1)

まとめ

Numpyの配列(Array)の最大値のインデックスを取得する方法は、次の2つです。

  • argmax()メソッドを使う方法
  • numpy.argmax()を使う方法

コメント

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