Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Ganzzahl-Array-Indexierung | Indizierung und Slicing
Ultimatives NumPy

bookGanzzahl-Array-Indexierung

Neben der grundlegenden Indizierung, bei der ein einzelner ganzzahliger Index verwendet wird, ermöglicht NumPy auch die Verwendung eines gesamten 1D-Arrays von Ganzzahlen (auch eine Liste von Ganzzahlen ist möglich) zur Indizierung.

Ganzzahl-Array-Indizierung 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. Für die Indizierung können auch NumPy-Arrays verwendet werden, was den Code jedoch umständlicher macht.

12345678
import 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]])
copy

Ganzzahl-Array-Indexierung in 1D-Arrays

Bei 2D- und höherdimensionalen Arrays funktioniert die Ganzzahl-Array-Indexierung entlang jeder Achse genauso wie bei 1D-Arrays. Wenn nur ein Ganzzahl-Array zur Indexierung verwendet wird, 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 gibt ein 2D-Array zurück. 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 gibt ein 1D-Array zurück.

Note
Hinweis

Alle Ganzzahl-Arrays, die für jede der Achsen verwendet werden, müssen die gleiche Form haben.

123456789101112131415
import 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]])
copy

Wie Sie sehen, können wir auch die grundlegende Ganzzahlindizierung mit der Ganzzahl-Array-Indizierung kombinieren.

Note
Hinweis

Erneut gilt: Wenn mindestens einer der Indizes außerhalb des gültigen Bereichs liegt, wird ein IndexError ausgelöst.

Bezüglich der Anwendungen ist eine solche Indizierung 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 bestimmter Elemente. Dies ist hilfreich, wenn verstreute Daten extrahiert oder Werte in einem Array umgeordnet werden sollen.

1. Sie analysieren die monatlichen Verkaufsdaten (in Tausend) für fünf Produkte. Was ist die Ausgabe des Codes?

2. Das Array temperatures stellt die Wochentemperaturen (in °C) von drei Städten über Montag, Dienstag und Mittwoch dar. Wählen Sie die korrekte Option, um die Temperaturen von Berlin am Montag und Dienstag sowie von Madrid am Dienstag abzurufen.

question mark

Sie analysieren die monatlichen Verkaufsdaten (in Tausend) für fünf Produkte. Was ist die Ausgabe des Codes?

Select the correct answer

question mark

Das Array temperatures stellt die Wochentemperaturen (in °C) von drei Städten über Montag, Dienstag und Mittwoch dar. Wählen Sie die korrekte Option, um die Temperaturen von Berlin am Montag und Dienstag sowie von Madrid am Dienstag abzurufen.

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 5

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Suggested prompts:

Can you explain how negative indices work with integer array indexing?

What happens if the arrays used for indexing have different lengths?

Can you give more examples of combining basic and integer array indexing?

Awesome!

Completion rate improved to 3.7

bookGanzzahl-Array-Indexierung

Swipe um das Menü anzuzeigen

Neben der grundlegenden Indizierung, bei der ein einzelner ganzzahliger Index verwendet wird, ermöglicht NumPy auch die Verwendung eines gesamten 1D-Arrays von Ganzzahlen (auch eine Liste von Ganzzahlen ist möglich) zur Indizierung.

Ganzzahl-Array-Indizierung 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. Für die Indizierung können auch NumPy-Arrays verwendet werden, was den Code jedoch umständlicher macht.

12345678
import 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]])
copy

Ganzzahl-Array-Indexierung in 1D-Arrays

Bei 2D- und höherdimensionalen Arrays funktioniert die Ganzzahl-Array-Indexierung entlang jeder Achse genauso wie bei 1D-Arrays. Wenn nur ein Ganzzahl-Array zur Indexierung verwendet wird, 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 gibt ein 2D-Array zurück. 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 gibt ein 1D-Array zurück.

Note
Hinweis

Alle Ganzzahl-Arrays, die für jede der Achsen verwendet werden, müssen die gleiche Form haben.

123456789101112131415
import 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]])
copy

Wie Sie sehen, können wir auch die grundlegende Ganzzahlindizierung mit der Ganzzahl-Array-Indizierung kombinieren.

Note
Hinweis

Erneut gilt: Wenn mindestens einer der Indizes außerhalb des gültigen Bereichs liegt, wird ein IndexError ausgelöst.

Bezüglich der Anwendungen ist eine solche Indizierung 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 bestimmter Elemente. Dies ist hilfreich, wenn verstreute Daten extrahiert oder Werte in einem Array umgeordnet werden sollen.

1. Sie analysieren die monatlichen Verkaufsdaten (in Tausend) für fünf Produkte. Was ist die Ausgabe des Codes?

2. Das Array temperatures stellt die Wochentemperaturen (in °C) von drei Städten über Montag, Dienstag und Mittwoch dar. Wählen Sie die korrekte Option, um die Temperaturen von Berlin am Montag und Dienstag sowie von Madrid am Dienstag abzurufen.

question mark

Sie analysieren die monatlichen Verkaufsdaten (in Tausend) für fünf Produkte. Was ist die Ausgabe des Codes?

Select the correct answer

question mark

Das Array temperatures stellt die Wochentemperaturen (in °C) von drei Städten über Montag, Dienstag und Mittwoch dar. Wählen Sie die korrekte Option, um die Temperaturen von Berlin am Montag und Dienstag sowie von Madrid am Dienstag abzurufen.

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 5
some-alt