Python3 求最大/小值及索引值 Numpy

np.argmax()

mp.argmin()

import numpy as np

c = np.array([[11, 2, 8, 4], [4, 52, 6, 17], [2, 8, 9, 100]])

print(c)

print(np.argmin(c))

print(np.argmin(c, axis=0)) # 按每列求出最小值的索引

print(np.argmin(c, axis=1)) # 按每行

输出结果:

[[ 11 2 8 4]

[ 4 52 6 17]

[ 2 8 9 100]]

1

[2 0 1 0]

[1 0 0]

np.argwhere()

>>> x = np.arange(6).reshape(2,3)
>>> x
array([[0, 1, 2],
       [3, 4, 5]])
>>> np.argwhere(x>1)
array([[0, 2],
       [1, 0],
       [1, 1],
       [1, 2]])

np.argsort()

One dimensional array:

>>> x = np.array([3, 1, 2])
>>> np.argsort(x)
array([1, 2, 0])

Two-dimensional array:

>>> x = np.array([[0, 3], [2, 2]])
>>> x
array([[0, 3],
       [2, 2]])
>>> np.argsort(x, axis=0)
array([[0, 1],
       [1, 0]])
>>> np.argsort(x, axis=1)
array([[0, 1],
       [0, 1]])

Sorting with keys:

>>> x = np.array([(1, 0), (0, 1)], dtype=[('x', '<i4'), ('y', '<i4')])
>>> x
array([(1, 0), (0, 1)],
      dtype=[('x', '<i4'), ('y', '<i4')])
>>> np.argsort(x, order=('x','y'))
array([1, 0])
>>> np.argsort(x, order=('y','x'))
array([0, 1])