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