以下はPythonでnumpy配列の最大値を求める方法とそのインデックス付け方法についての記事です。参考になると思います。一緒に見てみましょう
リストlistではmax(list)でリストの最大値を取得でき、list.index(max(list))で最大値に対応するインデックスを取得できますが
numpy の配列のインデックスメソッド。list では利用できない where に置き換えられます
まず、配列の最大値をグローバルかつ各行と列で取得できます (最小値についても同様です)
>>> a = np.arange(9).reshape((3,3)) >>> a array([[0, 1, 2], [9, 4, 5], [6, 7, 8]]) >>> print(np.max(a)) #全局最大 8 >>> print(np.max(a,axis=0)) #每列最大 [6 7 8] >>> print(np.max(a,axis=1)) #每行最大 [2 5 8]
次に、最大値のインデックスを取得する where を使用します。戻り値では、前者の配列は行数に対応し、後者は列数に対応します
>>> print(np.where(a==np.max(a))) (array([2], dtype=int64), array([2], dtype=int64)) >>> print(np.where(a==np.max(a,axis=0))) (array([2, 2, 2], dtype=int64), array([0, 1, 2], dtype=int64))
配列内の同じ最大値。ここですべての位置が得られます
>>> a[1,0]=8 >>> a array([[0, 1, 2], [8, 4, 5], [6, 7, 8]]) >>> print(np.where(a==np.max(a))) (array([1, 2], dtype=int64), array([0, 2], dtype=int64))
関連推奨事項:
以上がPythonでnumpy配列の最大値とそのインデックス付け方法を見つけるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。