numpy.argmax#

numpy.argmax(a, axis=None, out=None, *, keepdims= значение>)[источник]#

Возвращает индексы максимальных значений вдоль оси.

Параметры:
aarray_like

Входной массив.

осьint, необязательный

По умолчанию индекс относится к сглаженному массиву, в противном случае вдоль указанной оси.

выходмассив, опционально

Если предоставлен, результат будет вставлен в этот массив. Он должен иметь соответствующую форму и dtype.

keepdimsbool, необязательно

Если установлено значение True, оси, которые были сокращены, остаются в результате как измерения с размером один. С этой опцией результат будет корректно транслироваться относительно массива.

Новое в версии 1.22.0.

Возвращает:
index_arrayndarray целых чисел

Массив индексов в массив. Он имеет ту же форму, что и a.shape с размерностью вдоль ось удалено. Если keepdims установлено в True, тогда размер ось установка в False вызовет исключение, если значения отсутствуют в любом из входных массивов. a.shape.

Смотрите также

ndarray.argmax, argmin
amax

Максимальное значение вдоль заданной оси.

unravel_index

Преобразовать плоский индекс в кортеж индексов.

take_along_axis

Apply np.expand_dims(index_array, axis) от argmax к массиву, как если бы вызывался max.

Примечания

В случае нескольких вхождений максимальных значений возвращаются индексы, соответствующие первому вхождению.

Примеры

>>> import numpy as np
>>> a = np.arange(6).reshape(2,3) + 10
>>> a
array([[10, 11, 12],
       [13, 14, 15]])
>>> np.argmax(a)
5
>>> np.argmax(a, axis=0)
array([1, 1, 1])
>>> np.argmax(a, axis=1)
array([2, 2])

Индексы максимальных элементов N-мерного массива:

>>> a.flat[np.argmax(a)]
15
>>> ind = np.unravel_index(np.argmax(a, axis=None), a.shape)
>>> ind
(1, 2)
>>> a[ind]
15
>>> b = np.arange(6)
>>> b[1] = 5
>>> b
array([0, 5, 2, 3, 4, 5])
>>> np.argmax(b)  # Only the first occurrence is returned.
1
>>> x = np.array([[4,2,3], [1,0,3]])
>>> index_array = np.argmax(x, axis=-1)
>>> # Same as np.amax(x, axis=-1, keepdims=True)
>>> np.take_along_axis(x, np.expand_dims(index_array, axis=-1), axis=-1)
array([[4],
       [3]])
>>> # Same as np.amax(x, axis=-1)
>>> np.take_along_axis(x, np.expand_dims(index_array, axis=-1),
...     axis=-1).squeeze(axis=-1)
array([4, 3])

Установка keepdims to True,

>>> x = np.arange(24).reshape((2, 3, 4))
>>> res = np.argmax(x, axis=1, keepdims=True)
>>> res.shape
(2, 1, 4)