Pythonはlistまたはnumpy配列の最大小要素に対応するインデックスを取得する
1553 ワード
リスト内の最大要素のインデックスを取得
対応する最小値の使用
numpy配列の最大要素のインデックスを取得はnumpyの関数を使用し、argmaxは最大要素のインデックスを取得し、対応する最小値を取得するにはargminを使用する必要があります. はnumpyをlistに変換し、listまたは最大値インデックスを使用して最大値を得ることもできる.
まずaaをListに変換し、インデックスを求めます. pythonは柔軟なので、where関数を使用するなど、他の方法もあります. まず,arrayのグローバルおよび各行の各列における最大値(最小値同理) を得ることができる.
次にwhereで最大値のインデックスを得て、値の中で、前のarrayは行数に対応して、後者は列数に対応します
arrayに同じ最大値がある場合、whereはその位置をすべて与えます.
aa = [1,2,3,4,5]
aa.index(max(aa))
対応する最小値の使用
aa = [1,2,3,4,5]
aa.index(min(aa))
numpy配列の最大要素のインデックスを取得
aa = [1,2,3,4,5]
arr_aa = np.array(aa)
maxindex = np.argmax(arr_aa )
aa = numpy.array([1,2,3,4,5])
まずaaをListに変換し、インデックスを求めます.
bb = aa.tolist()
bb.index(max(bb))
>>> a = np.arange(9).reshape((3,3))
>>> a
array([[0, 1, 2],
[3, 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で最大値のインデックスを得て、値の中で、前のarrayは行数に対応して、後者は列数に対応します
>>> 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)) # , ,
arrayに同じ最大値がある場合、whereはその位置をすべて与えます.
>>> 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))