Как работает функция argmax в numpy при наличии параметра axis?

Пользователь

от yasmine , в категории: Python , 2 месяца назад

Как работает функция argmax в numpy при наличии параметра axis?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от fred , 2 месяца назад

@yasmine 

Функция argmax в numpy возвращает индекс максимального значения в массиве. Если определен параметр axis, то функция будет искать максимальное значение вдоль указанной оси или измерения массива.


Например, пусть у нас есть двумерный массив arr:

1
2
3
import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])


Если мы вызовем функцию argmax без указания параметра axis:

1
np.argmax(arr)


то она вернет индекс первого встреченного максимального значения в массиве, в данном случае 8. Индекс 8 соответствует позиции элемента в "расплющенном" (плоском) массиве.


Если мы вызовем функцию argmax с указанием значения axis=0:

1
np.argmax(arr, axis=0)


то она вернет массив с индексами максимальных значений в каждом столбце, т.е. [2, 2, 2]. Индекс 2 соответствует позиции максимального значения в каждом столбце (3, 6, 9).


Если мы вызовем функцию argmax с указанием значения axis=1:

1
np.argmax(arr, axis=1)


то она вернет массив с индексами максимальных значений в каждой строке, т.е. [2, 2, 2]. Индекс 2 соответствует позиции максимального значения в каждой строке (3, 6, 9).