どうも、ちょげ(@chogetarou)です。
配列(Array)の最小値のインデックスを取得する方法を紹介します。
方法

リストとArray.arrayの場合
リスト(List)もしくはArray.arrayの最小値のインデックスを取得するには、index()メソッドとmax()関数を使います。
まず、リストもしくはArray.arrayからindex()メソッドを呼び出します。
index()メソッドの引数に、min()関数を指定します。
そして、min()関数の引数にリストもしくはArray.arrayを指定します。
array.index(min(array))
上記のindex()メソッドは、リストもしくはArray.arrayの最小値のインデックスを返します。
使用例
numbers = [1, 2, 3, -10, 4, 5]
min_index = numbers.index(min(numbers))
print(min_index) #3
print(numbers[min_index]) #-10
Numpy配列の場合
Numpyの配列(Array)の最小値のインデックスを取得する方法は、2つあります。
argmin()メソッド
1つは、argmin()メソッドを使う方法です。
具体的には、Numpyの配列からargmin()メソッドを呼び出します。
array.argmin()
argmin()メソッドは、呼び出したNumpy配列の最小値のインデックスを返します。
使用例
import numpy as np
nums = np.array([[1, 2, -100],
[4, -1000, 6],
[7, 8, -10]])
min_num_index = nums.argmin()
min_dim_index = np.unravel_index(nums.argmin(), nums.shape)
print(min_num_index) #4
print(min_dim_index) #(1, 1)
numpy.argmin()
もう1つは、numpyのargmin()を使う方法です。
まず、numpyからargmin()を呼び出します。
そして、argmin()関数の引数にNumpy配列を指定します。
np.argmin(array)
argmax()関数は、引数に指定したNumpy配列の最小値のインデックスを返します。
使用例
import numpy as np
nums = np.array([[1, 2, -100],
[4, -1000, 6],
[7, 8, -10]])
min_num_index = np.argmin(nums)
min_dim_index = np.unravel_index(np.argmin(nums), nums.shape)
print(min_num_index) #4
print(min_dim_index) #(1, 1)
まとめ
リストもしくはArray.arrayの最小値を取得するには、index()メソッドとmin()関数を使います。
Numpyの配列(Array)の最小値のインデックスを取得するには、次の2つの方法のいずれかを使います。
- argmin()メソッドを使う方法
- numpy.argmin()を使う方法
コメント