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.