[Python]Numpy配列の行ごとの最小値のインデックスを取得するには?

python

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

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

スポンサーリンク

方法

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

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

argmin()メソッド

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

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

argmin()の引数「axis」に「1」を指定します。

array.argmin(axis=1)

引数「axis」に「1」を指定したargmin()メソッドは、呼び出したNumpy配列の行ごとの最小値のインデックスを返します。

使用例

import numpy as np

nums = np.array([[1, 2, -100],
                 [4, -1000, 6], 
                 [7, 8, -10]])

min_num = nums.argmin(axis=1)

print(min_num) #[ 2, 1, 2]

numpy.argmin()

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

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

そして、argmin()関数の第1引数にNumpy配列、引数「axis」に「1」を指定します。

np.argmin(array, axis=1)

引数「axis」に「1」を指定したargmax()関数は、引数に指定したNumpy配列の行ごとの最小値のインデックスを返します。

使用例

import numpy as np

nums = np.array([[1, 2, -100],
                 [4, -1000, 6], 
                 [7, 8, -10]])

min_num = np.argmin(nums, axis=1)

print(min_num) #[ 2, 1, 2]

まとめ

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

  • argmin(axis=1)メソッドを使う方法
  • numpy.argmin(array, axis=1)を使う方法

コメント

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