logo

numpy.argmax в Python

В много случаи, когато размерът на масива е твърде голям, отнема твърде много време, за да се намерят максималните елементи от тях. За тази цел модулът numpy на Python предоставя функция, наречена numpy.argmax() . Тази функция връща индекси на максималните стойности, които се връщат заедно с посочената ос.

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() .

В изхода той показва индекси на максималните елементи в масива и стойностите, които присъстват в тези индекси.