В много случаи, когато размерът на масива е твърде голям, отнема твърде много време, за да се намерят максималните елементи от тях. За тази цел модулът numpy на Python предоставя функция, наречена numpy.argmax() . Тази функция връща индекси на максималните стойности, които се връщат заедно с посочената ос.
Синтаксис:
numpy.argmax(a, axis=None, out=None)
Параметри
x: array_like
Този параметър дефинира изходния масив, чиято максимална стойност искаме да знаем.
как е изобретено училището
ос: int (по избор)
Този параметър дефинира оста, по която присъства индексът, и по подразбиране той е в плоския масив.
out: масив (по избор)
Този параметър дефинира ndarray, в който ще бъде вмъкнат резултатът. Това ще бъде от същия вид и форма, която е подходяща за съхранение на резултата
Се завръща
Този параметър дефинира ndarray, който съдържа индексите на масива. Формата е същата като x.форма с премахнат размер по оста.
разделител java
Пример 1:
Import numpy as np x = np.arange(20).reshape(4,5) + 7 x y=np.argmax(a) y
Изход:
array([[ 7, 8, 9, 10, 11], [12, 13, 14, 15, 16], [17, 18, 19, 20, 21], [22, 23, 24, 25, 26]]) 19
В горния код
- Импортирахме numpy с псевдоним np.
- Създадохме масив 'х' използвайки np.arange() функция с формата на четири реда и пет колони.
- Добавихме също 7 във всеки елемент от масива.
- Ние сме декларирали променливата 'и' и присвои върнатата стойност на np.argmax() функция.
- Минахме масива 'х' във функцията.
- Накрая се опитахме да отпечатаме стойността на 'и' .
В изхода той показва индексите на максималния елемент в масива.
Пример 2:
Import numpy as np x = np.arange(20).reshape(4,5) + 7 y=np.argmax(x, axis=0) z=np.argmax(x, axis=1) y z
Изход:
Катрина Кайф
array([3, 3, 3, 3, 3], dtype=int64) array([4, 4, 4, 4], dtype=int64)
Пример 3:
Import numpy as np x = np.arange(20).reshape(4,5) + 7 indices = np.unravel_index(np.argmax(x, axis=None), x.shape) indices x[indices]
Изход:
(3, 4) 26
Пример 4:
import numpy as np a = np.array([[5,2,1], [3,7,9],[0, 4, 6]]) index_arr = np.argmax(a, axis=-1) index_arr # Same as np.max(a, axis=-1, keepdims=True) result = np.take_along_axis(a, np.expand_dims(index_arr, axis=-1), axis=-1) result1 # Same as np.max(a, axis=-1) result = np.take_along_axis(a, np.expand_dims(index_arr, axis=-1), axis=-1).squeeze(axis=-1) result2
Изход:
array([[0], [2], [2]]) array([5, 9, 6])
В горния код
- Импортирахме numpy с псевдоним np.
- Създадохме многоизмерен масив 'а ' използвайки np.array() функция.
- Ние сме декларирали променливата 'index_arr' и присвои върнатата стойност на np.argmax() функция.
- Минахме масива 'а' и оста във функцията.
- Опитахме се да отпечатаме стойността на 'index_arr' .
- В крайна сметка се опитахме да извлечем максималната стойност на масива с помощта на два различни начина, които са доста подобни на np.argmax() .
В изхода той показва индекси на максималните елементи в масива и стойностите, които присъстват в тези индекси.