Hoe u de maximale waarde-index in de numpy-array kunt krijgen
U kunt de volgende methoden gebruiken om de index van de maximale waarde in een NumPy-array te verkrijgen:
Methode 1: Haal de index van de maximale waarde op in een eendimensionale array
x. argmax ()
Methode 2: Haal de index van de maximale waarde op in elke rij van een multidimensionale array
x. argmax (axis= 1 )
Methode 3: Haal de index van de maximale waarde op in elke kolom van een multidimensionale array
x. argmax (axis= 0 )
De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken.
Voorbeeld 1: Haal de index van de maximale waarde op in een eendimensionale array
De volgende code laat zien hoe u de index van de maximale waarde in een eendimensionale NumPy-array kunt verkrijgen:
import numpy as np
#create NumPy array of values
x = np. array ([2, 7, 9, 4, 4, 6, 3])
#find index that contains max value
x. argmax ()
2
De functie argmax() retourneert een waarde van 2 .
Dit vertelt ons dat de waarde op indexpositie 2 van de array de maximale waarde bevat.
Als we naar de originele array kijken, kunnen we zien dat de waarde op indexpositie 2 9 is, wat inderdaad de maximale waarde in de array is.
Voorbeeld 2: Haal de index op van de maximale waarde in elke rij van een multidimensionale array
De volgende code laat zien hoe u de index van de maximale waarde in elke rij van een multidimensionale NumPy-array kunt verkrijgen:
import numpy as np
#create multi-dimentional NumPy array
x = np. array ([[4, 2, 1, 5], [7, 9, 2, 0]])
#view NumPy array
print (x)
[[4 2 1 5]
[7 9 2 0]]
#find index that contains max value in each row
x. argmax (axis= 1 )
array([3, 1], dtype=int32)
Uit de resultaten kunnen we zien:
- De maximale waarde van de eerste regel bevindt zich op indexpositie 3 .
- De maximale waarde van de tweede regel bevindt zich op indexpositie 1 .
Voorbeeld 3: Haal de index op van de maximale waarde in elke kolom van een multidimensionale array
De volgende code laat zien hoe u de index van de maximale waarde in elke kolom van een multidimensionale NumPy-array kunt verkrijgen:
import numpy as np
#create multi-dimentional NumPy array
x = np. array ([[4, 2, 1, 5], [7, 9, 2, 0]])
#view NumPy array
print (x)
[[4 2 1 5]
[7 9 2 0]]
#find index that contains max value in each column
x. argmax (axis= 0 )
array([1, 1, 1, 0], dtype=int32)
Uit de resultaten kunnen we zien:
- De maximale waarde in de eerste kolom bevindt zich op indexpositie 1 .
- De maximale waarde in de tweede kolom bevindt zich op indexpositie 1 .
- De maximale waarde in de derde kolom bevindt zich op indexpositie 1 .
- De maximale waarde in de vierde kolom bevindt zich op indexpositie 0 .
Gerelateerd: een eenvoudige uitleg van NumPy-assen
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in Python uitvoert:
Hoe een NumPy-array met waarden te vullen
Hoe elementen in een NumPy-array te vervangen
Hoe u een specifieke rij uit een NumPy-array kunt halen