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

python

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

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

スポンサーリンク

方法

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

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

argmax()メソッド

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

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

argmaxメソッドの引数「axis」に「0」を指定します。

array.argmax(axis=0)

引数「axis」に「0」を指定したargmax()メソッドは、呼び出したNumpy配列のカラムごとの最大値のインデックスを返します。

使用例

import numpy as np

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

max_num_indicies = nums.argmax(axis=0) 

print(max_num_indicies) #[2 1 2]

numpy.argmax()

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

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

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

np.argmax(array, axis=0) 

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

使用例

import numpy as np

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

max_num_indicies = np.argmax(nums, axis=0) 

print(max_num_indicies) #[2 1 2]

まとめ

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

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

コメント

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