Как получить индекс максимального значения в массиве numpy


Вы можете использовать следующие методы, чтобы получить индекс максимального значения в массиве NumPy:

Способ 1: получить индекс максимального значения в одномерном массиве

 x. argmax ()

Способ 2: получить индекс максимального значения в каждой строке многомерного массива.

 x. argmax (axis= 1 )

Способ 3: получить индекс максимального значения в каждом столбце многомерного массива

 x. argmax (axis= 0 )

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

Пример 1: Получить индекс максимального значения в одномерном массиве

Следующий код показывает, как получить индекс максимального значения в одномерном массиве NumPy:

 import numpy as np

#create NumPy array of values
x = np. array ([2, 7, 9, 4, 4, 6, 3])

#find index that contains max value
x. argmax ()

2

Функция argmax() возвращает значение 2 .

Это говорит нам о том, что значение в индексной позиции 2 массива содержит максимальное значение.

Если мы посмотрим на исходный массив, мы увидим, что значение в позиции индекса 2 равно 9 , что действительно является максимальным значением в массиве.

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

Следующий код показывает, как получить индекс максимального значения в каждой строке многомерного массива NumPy:

 import numpy as np

#create multi-dimentional NumPy array
x = np. array ([[4, 2, 1, 5], [7, 9, 2, 0]])

#view NumPy array
print (x)

[[4 2 1 5]
 [7 9 2 0]]

#find index that contains max value in each row
x. argmax (axis= 1 )

array([3, 1], dtype=int32)

По результатам мы видим:

  • Максимальное значение первой строки находится в позиции индекса 3 .
  • Максимальное значение второй строки находится в позиции индекса 1 .

Пример 3: Получить индекс максимального значения в каждом столбце многомерного массива

Следующий код показывает, как получить индекс максимального значения в каждом столбце многомерного массива NumPy:

 import numpy as np

#create multi-dimentional NumPy array
x = np. array ([[4, 2, 1, 5], [7, 9, 2, 0]])

#view NumPy array
print (x)

[[4 2 1 5]
 [7 9 2 0]]

#find index that contains max value in each column
x. argmax (axis= 0 )

array([1, 1, 1, 0], dtype=int32)

По результатам мы видим:

  • Максимальное значение в первом столбце находится в позиции индекса 1 .
  • Максимальное значение во втором столбце находится в позиции индекса 1 .
  • Максимальное значение в третьем столбце находится в позиции индекса 1 .
  • Максимальное значение в четвертом столбце находится в позиции индекса 0 .

Связанный: Простое объяснение осей NumPy

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в Python:

Как заполнить массив NumPy значениями
Как заменить элементы в массиве NumPy
Как получить определенную строку из массива NumPy

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *