I många fall, där storleken på arrayen är för stor, tar det för lång tid att hitta de maximala elementen från dem. För detta ändamål tillhandahåller numpy-modulen i Python en funktion som kallas numpy.argmax() . Denna funktion returnerar index för de maximala värden som returneras tillsammans med den angivna axeln.
Syntax:
numpy.argmax(a, axis=None, out=None)
Parametrar
x: array_like
Den här parametern definierar källmatrisen vars maximala värde vi vill veta.
abstrakt klass java
axel: int(valfritt)
Den här parametern definierar axeln längs vilken indexet finns, och som standard är det i den tillplattade arrayen.
ut: array (valfritt)
Den här parametern definierar ndarrayen i vilken resultatet ska infogas. Detta kommer att vara av samma typ och form, vilket är lämpligt för att lagra resultatet
Returnerar
Den här parametern definierar en ndarray, som innehåller indexen för arrayen. Formen är densamma som x.form med dimensionen längs axeln borttagen.
Exempel 1:
Import numpy as np x = np.arange(20).reshape(4,5) + 7 x y=np.argmax(a) y
Produktion:
typskrift för varje slinga
array([[ 7, 8, 9, 10, 11], [12, 13, 14, 15, 16], [17, 18, 19, 20, 21], [22, 23, 24, 25, 26]]) 19
I ovanstående kod
- Vi har importerat numpy med alias np.
- Vi har skapat en array 'x' använder sig av np.arange() funktion med formen av fyra rader och fem kolumner.
- Vi har lagt till 7 i varje element i arrayen också.
- Vi har deklarerat variabeln 'och' och tilldelade det returnerade värdet på np.argmax() fungera.
- Vi har passerat arrayen 'x' i funktionen.
- Till sist försökte vi skriva ut värdet på 'och' .
I utgången visar den indexen för det maximala elementet i arrayen.
när uppfanns skolan
Exempel 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
Produktion:
array([3, 3, 3, 3, 3], dtype=int64) array([4, 4, 4, 4], dtype=int64)
Exempel 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]
Produktion:
(3, 4) 26
Exempel 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
Produktion:
array([[0], [2], [2]]) array([5, 9, 6])
I ovanstående kod
- Vi har importerat numpy med alias np.
- Vi har skapat en flerdimensionell array 'a ' använder sig av np.array() fungera.
- Vi har deklarerat variabeln 'index_arr' och tilldelade det returnerade värdet på np.argmax() fungera.
- Vi har passerat arrayen 'a' och axeln i funktionen.
- Vi försökte skriva ut värdet på 'index_arr' .
- Till sist försökte vi hämta maxvärdet för arrayen med hjälp av två olika sätt, som är ganska lika np.argmax() .
I utgången visar den index för de maximala elementen i arrayen och de värden som finns på dessa index.