numpy.argmax()
Функция numpy.argmax() возвращает индекс первого максимального элемента массива (или вдоль указанной оси). При нескольких максимумах берётся индекс с наименьшим номером.
Сигнатура
numpy.argmax(a, axis=None, out=None, *, keepdims=<no value>)
Параметры
a— входной массив.axis— ось, вдоль которой ищется максимум. По умолчанию — массив рассматривается как плоский.out— массив для записи результата.keepdims— сохранять ли редуцированные оси.
Возвращаемое значение
Целое число (если axis=None) или ndarray индексов типа intp.
Примеры
Пример 1. Индекс максимума одномерного массива.
import numpy as np
arr = np.array([5, 1, 9, 3, 9])
print(np.argmax(arr))
2
Пример 2. По осям 2D-массива.
m = np.array([[1, 7, 3], [8, 2, 6]])
print(np.argmax(m, axis=0))
print(np.argmax(m, axis=1))
[1 0 1]
[1 0]
Пример 3. Индекс в «плоском» представлении и пересчёт в координаты.
m = np.array([[1, 7, 3], [8, 2, 6]])
flat = np.argmax(m)
idx = np.unravel_index(flat, m.shape)
print(flat, idx)
3 (1, 0)
Пример 4. Поиск канала АЦП с наибольшим сигналом.
channels = np.array([320, 850, 412, 198, 760])
print(f"Самый сильный канал: A{np.argmax(channels)}")
Самый сильный канал: A1
Пример 5. keepdims для совмещения с broadcasting.
m = np.array([[1, 5, 3], [8, 2, 6]])
print(np.argmax(m, axis=1, keepdims=True))
[[1]
[0]]
См. также
Примечание
Лицензия и источники
Техническое описание функции адаптировано из официальной документации NumPy (https://numpy.org/doc/stable/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.