Как получить индекс максимального значения в массиве 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