多くの場合、配列のサイズが大きすぎると、配列から最大の要素を見つけるのに時間がかかりすぎます。この目的のために、Python の numpy モジュールは次の関数を提供します。 numpy.argmax() 。この関数は、指定された軸とともに返される最大値のインデックスを返します。
構文:
numpy.argmax(a, axis=None, out=None)
パラメーター
x: 配列のようなもの
このパラメータは、最大値を知りたいソース配列を定義します。
Javaでcatchブロックを試してください
軸: int(オプション)
このパラメータは、インデックスが存在する軸を定義します。デフォルトでは、インデックスはフラット化された配列に含まれます。
出力: 配列(オプション)
このパラメータは、結果が挿入される ndarray を定義します。これは、結果を保存するのに適した同じタイプと形状になります。
戻り値
このパラメータは、配列のインデックスを含む ndarray を定義します。形状は同じです x 形状 軸に沿った寸法が削除されました。
レル対セントス
例 1:
Import numpy as np x = np.arange(20).reshape(4,5) + 7 x y=np.argmax(a) y
出力:
array([[ 7, 8, 9, 10, 11], [12, 13, 14, 15, 16], [17, 18, 19, 20, 21], [22, 23, 24, 25, 26]]) 19
上記のコードでは
- numpy をエイリアス名 np でインポートしました。
- 配列を作成しました 'バツ' を使用して np.arange() 4 行 5 列の形状を持つ関数。
- 配列の各要素にも 7 を追加しました。
- 変数を宣言しました 'そして' そして戻り値を代入しました np.argmax() 関数。
- 配列を渡しました 'バツ' 関数内で。
- 最後に、次の値を出力しようとしました。 'そして' 。
出力には、配列内の最大要素のインデックスが表示されます。
例 2:
Import numpy as np x = np.arange(20).reshape(4,5) + 7 y=np.argmax(x, axis=0) z=np.argmax(x, axis=1) y z
出力:
エスケープ文字 Java
array([3, 3, 3, 3, 3], dtype=int64) array([4, 4, 4, 4], dtype=int64)
例 3:
Import numpy as np x = np.arange(20).reshape(4,5) + 7 indices = np.unravel_index(np.argmax(x, axis=None), x.shape) indices x[indices]
出力:
(3, 4) 26
例 4:
import numpy as np a = np.array([[5,2,1], [3,7,9],[0, 4, 6]]) index_arr = np.argmax(a, axis=-1) index_arr # Same as np.max(a, axis=-1, keepdims=True) result = np.take_along_axis(a, np.expand_dims(index_arr, axis=-1), axis=-1) result1 # Same as np.max(a, axis=-1) result = np.take_along_axis(a, np.expand_dims(index_arr, axis=-1), axis=-1).squeeze(axis=-1) result2
出力:
array([[0], [2], [2]]) array([5, 9, 6])
上記のコードでは
- numpy をエイリアス名 np でインポートしました。
- 多次元配列を作成しました 「あ」 ' を使用して np.array() 関数。
- 変数を宣言しました 'インデックス_arr' そして戻り値を代入しました np.argmax() 関数。
- 配列を渡しました 「あ」 そして関数内の軸。
- の値を出力しようとしました 'インデックス_arr' 。
- 最終的に、次の 2 つの異なる方法を使用して配列の最大値をフェッチしようとしました。これらの方法は次のとおりです。 np.argmax() 。
出力には、配列内の最大要素のインデックスと、そのインデックスに存在する値が表示されます。