logo

numpy.argmax u Pythonu

U mnogim slučajevima, gdje je veličina niza prevelika, potrebno je previše vremena da se iz njih pronađe najveći broj elemenata. U tu svrhu, numpy modul Pythona pruža funkciju tzv numpy.argmax() . Ova funkcija vraća indekse maksimalnih vrijednosti koje se vraćaju zajedno s navedenom osi.

numpy argmax

Sintaksa:

 numpy.argmax(a, axis=None, out=None) 

Parametri

x: sličan_nizu

Ovaj parametar definira izvorni niz čiju najveću vrijednost želimo znati.

ručno testiranje

os: int (neobavezno)

Ovaj parametar definira os duž koje je prisutan indeks, a prema zadanim postavkama nalazi se u spljoštenom polju.

out: niz (izborno)

Ovaj parametar definira ndarray u koji će se rezultat umetnuti. Ovo će biti iste vrste i oblika, koji je prikladan za pohranjivanje rezultata

koliko tipki imaju tipkovnice

Povratak

Ovaj parametar definira ndarray koji sadrži indekse niza. Oblik je isti kao x.oblik s uklonjenom dimenzijom duž osi.

Primjer 1:

 Import numpy as np x = np.arange(20).reshape(4,5) + 7 x y=np.argmax(a) y 

Izlaz:

 array([[ 7, 8, 9, 10, 11], [12, 13, 14, 15, 16], [17, 18, 19, 20, 21], [22, 23, 24, 25, 26]]) 19 

U gornjem kodu

  • Uvezli smo numpy s alias imenom np.
  • Napravili smo niz 'x' korištenjem np.arange() funkcija u obliku četiri retka i pet stupaca.
  • Također smo dodali 7 u svaki element niza.
  • Varijablu smo deklarirali 'i' i dodijeljena vraćena vrijednost od np.argmax() funkcija.
  • Prošli smo niz 'x' u funkciji.
  • Na kraju, pokušali smo ispisati vrijednost 'i' .

U izlazu prikazuje indekse maksimalnog elementa u nizu.

Primjer 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 

Izlaz:

 array([3, 3, 3, 3, 3], dtype=int64) array([4, 4, 4, 4], dtype=int64) 

Primjer 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] 

Izlaz:

značajke serije panda
 (3, 4) 26 

Primjer 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 

Izlaz:

 array([[0], [2], [2]]) array([5, 9, 6]) 

U gornjem kodu

  • Uvezli smo numpy s alias imenom np.
  • Stvorili smo višedimenzionalni niz 'a ' koristeći np.array() funkcija.
  • Varijablu smo deklarirali 'index_arr' i dodijeljena vraćena vrijednost od np.argmax() funkcija.
  • Prošli smo niz 'a' a os u funkciji.
  • Pokušali smo ispisati vrijednost 'index_arr' .
  • Na kraju smo pokušali dohvatiti maksimalnu vrijednost niza uz pomoć dva različita načina, koji su prilično slični np.argmax() .

U izlazu prikazuje indekse maksimalnih elemenata u nizu i vrijednosti koje su prisutne na tim indeksima.