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,argminamaxМаксимальное значение вдоль заданной оси.
unravel_indexПреобразовать плоский индекс в кортеж индексов.
take_along_axisApply
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)