Pythonで値が一番大きい要素のインデックスを探す
PythonのNumPyの行列の各要素から、最も値が大きい要素のインデックスを見つけてみます。
目次
numpy.argmaxメソッドの使い方
index_array = numpy.argmax(a, [axis], [out])
変数 |
型 |
内容 |
---|---|---|
a |
array_like |
最大値の検索の対象となる行列。 |
axis |
int |
省略可。規定値はNone。比較の方向。 |
out |
array |
省略可。規定値はNone。行列に出力する場合は指定する。 |
index_array |
ndarray |
インデックスの行列。 |
最大値の要素のインデックスを返すメソッドです。
ndarrayだけでなく、リストでも使えます。
axisの指定の仕方が独特かな。
最大値検出の実施例
2行3列の行列で試してみましょう。
>>> import numpy as np
>>> a = np.array([[0,5,2],[4,3,1]])
>>> a
array([[0, 5, 2],
[4, 3, 1]])
>>> np.argmax(a)
1
>>> np.argmax(a, axis=0)
array([1, 0, 0])
>>> np.argmax(a, axis=1)
array([1, 0])
argmax(a)の場合は、2番目(インデックスが1)の要素が行列の中で最大の要素なので、1が返ってきました。
argmax(a, axis=0)の場合は、各列の要素を比較して各列内で最大の要素の列内でのインデックスが返ってきました。すなわち、1列目はインデックス1、2列目と3列目は1行目の方がそれぞれ大きいのでインデックス0が返ってきました。
argmax(a, axis=1)の場合は、各行内で最大の要素のインデックスが返ってきました。
axisは、一番外側の[]が0で、その入れ子が1で、さらにその入れ子が2というふうに考えれば良いでしょう。
公開日
広告
Pythonの数値計算カテゴリの投稿
- NumPyで転置行列を取得する
- NumPyの定数
- Pythonで2つの行列の対応する要素の最大値の行列を作る
- Pythonで2次元メッシュを作る
- Pythonで値が一番大きい要素のインデックスを探す
- Pythonで値が一番小さい要素のインデックスを探す
- Pythonで指定した数値以上の最小の整数を計算する
- Pythonで等間隔の数字の列を作る
- Pythonで等間隔の数字の列を作る(arange編)
- Pythonで行列の次元を調べる
- Pythonで行列の積を計算する
- Pythonで零行列を作る
- PythonのNumPyの行列の書き換えを禁止したり許可したりする
- Pythonの行列のサイズを調べる