Ganzzahl-Array-Indexierung
Swipe um das Menü anzuzeigen
Neben der grundlegenden Indizierung, bei der ein einzelner Index als Ganzzahl verwendet wird, ermöglicht NumPy auch die Verwendung eines gesamten 1D-Arrays von Ganzzahlen (auch eine Liste von Ganzzahlen ist möglich) zur Indizierung.
Indizierung mit Ganzzahl-Arrays in 1D-Arrays
Jedes Element des zur Indizierung verwendeten Ganzzahl-Arrays wird als Index behandelt. Beispielsweise ruft array[[0, 1, 3]] die Elemente an den Indizes 0, 1 und 3 in Form eines 1D-Arrays ab, vorausgesetzt, dass array selbst ein 1D-Array ist. Auch NumPy-Arrays können zur Indizierung verwendet werden, was den Code jedoch umständlicher macht.
12345678import numpy as np array = np.array([23, 41, 7, 80, 3]) # Retrieving elements at indices 0, 1 and 3 print(array[[0, 1, 3]]) # Retrieving elements at indices 1, -1 and 2 in this order print(array[[1, -1, 2]]) # IndexError is thrown since index 5 is out of bounds print(array[[2, 5]])
Integer-Array-Indexierung in 2D-Arrays
Bei 2D- und höherdimensionalen Arrays funktioniert die Integer-Array-Indexierung entlang jeder Achse genauso wie bei 1D-Arrays. Wird nur ein Integer-Array zur Indexierung verwendet, erfolgt die Indexierung nur entlang einer Achse (Achse 0). Werden zwei Arrays, getrennt durch ein Komma, verwendet, erfolgt die Indexierung entlang beider Achsen (Achse 0 und Achse 1).
Die Indexierung nur entlang Achse 0 mit einem Array von Ganzzahlen ergibt ein 2D-Array. Beim Zugriff auf Elemente über eine solche Indexierung werden diese zu einem neuen Array gruppiert. Dieses neue Array besteht aus 1D-Arrays, und das Gruppieren erhöht die Dimensionalität um eins, was zu einem 2D-Array führt. Die Indexierung entlang Achse 0 und Achse 1 mit zwei Arrays von Ganzzahlen ergibt ein 1D-Array.
Alle für die jeweiligen Achsen verwendeten Integer-Arrays müssen die gleiche Form haben.
123456789101112131415import numpy as np array_2d = np.array([ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]) # Retrieving first and the third row print(array_2d[[0, 2]]) # Retrieving the main diagonal elements print(array_2d[[0, 1, 2], [0, 1, 2]]) # Retrieving the first and third element of the second row print(array_2d[1, [0, 2]]) # IndexError is thrown, since index 3 along axis 0 is out of bounds print(array_2d[[0, 3], [0, 1]])
Wie zu sehen ist, können Sie auch die grundlegende Ganzzahl-Indexierung und die Ganzzahl-Array-Indexierung kombinieren.
Erneut wird ein IndexError ausgelöst, wenn mindestens einer der Indizes außerhalb des gültigen Bereichs liegt.
Solche Indexierung ist nützlich, wenn bestimmte Elemente ausgewählt werden sollen, die nicht nebeneinander liegen oder keiner regelmäßigen Reihenfolge folgen. Im Gegensatz zum Slicing, das mit zusammenhängenden Bereichen arbeitet, ermöglicht diese Methode die gezielte Auswahl einzelner Elemente. Dies ist hilfreich, um verstreute Daten zu extrahieren oder Werte in einem Array umzuordnen.
1. Sie analysieren die monatlichen Verkaufszahlen (in Tausend) für fünf Produkte. Was ist die Ausgabe des Codes?
2. Das Array temperatures stellt die wöchentlichen Temperaturen (in °C) von drei Städten für Montag, Dienstag und Mittwoch dar. Wähle die richtige Option, um die Temperaturen von Berlin am Montag und Dienstag sowie von Madrid am Dienstag abzurufen.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen