Slicing
Slicing in Python bezeichnet das Abrufen von Elementen von einem Index zum anderen innerhalb einer Sequenz. In diesem Kapitel konzentrieren wir uns jedoch auf das Slicing in NumPy-Arrays.
Slicing in 1D-Arrays
Die allgemeine Syntax für das Slicing in 1D-Arrays lautet: array[start:end:step].
startist der Index, an dem das Slicing beginnt;endist der Index, an dem das Slicing endet (der Index selbst ist nicht enthalten);stepgibt die Schritte zwischen den Indizes an (Standardwert ist1).
Hier ist ein Beispiel zur Verdeutlichung (lila Quadrate stellen die durch das Slicing abgerufenen Elemente dar):
Da wir step nicht explizit angegeben haben, ist der Standardwert 1.
123456789import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the element at index 2 to the element at index 4 exclusive print(array[2:4]) # Slicing from the first element to the element at index 5 exclusive print(array[:5]) # Slicing from the element at index 5 to the last element inclusive print(array[5:])
Auslassen von Start, Ende und Schritt
Wie ersichtlich, können wir häufig Start (start), Ende (end), Schritt (step) oder sogar alle gleichzeitig auslassen. Beispielsweise kann step ausgelassen werden, wenn dieser gleich 1 sein soll. start und end können in folgenden Szenarien ausgelassen werden:
- Auslassen von
start:- Slicing ab dem ersten Element (
stepist positiv); - Slicing ab dem letzten Element (
stepist negativ).
- Slicing ab dem ersten Element (
- Auslassen von
end:- Slicing bis zum letzten Element inklusive (
stepist positiv); - Slicing bis zum ersten Element inklusive (
stepist negativ).
- Slicing bis zum letzten Element inklusive (
Im Folgenden werden weitere Beispiele betrachtet (der schwarze Pfeil zeigt an, dass die Elemente in umgekehrter Reihenfolge entnommen werden):
1234567891011import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the first element to the last element inclusive with step=2 print(array[::2]) # Slicing from the element at index 4 to the element at index 2 exclusive (step=-1) print(array[4:2:-1]) # Slicing from the last element to the first element inclusive (reversed array) print(array[::-1]) # Slicing from the first element to the last inclusive (the same as our array) print(array[:])
Das folgende Bild zeigt die Struktur des in der Aufgabe verwendeten Arrays weekly_sales:
Swipe to start coding
Sie analysieren die täglichen Verkaufsdaten eines kleinen Einzelhandelsgeschäfts. Die Verkäufe der vergangenen Woche sind im Array weekly_sales gespeichert, wobei jedes Element die Verkäufe eines bestimmten Tages repräsentiert.
- Erstellen Sie einen Slice von
weekly_sales, der die Verkaufsdaten für jeden zweiten Tag enthält, beginnend mit dem zweiten Tag (Dienstag). - Verwenden Sie einen positiven Index für
startund lassen Sie dasend-Argument unbestimmt. - Speichern Sie das Ergebnis in
alternate_day_sales.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 3.7
Slicing
Swipe um das Menü anzuzeigen
Slicing in Python bezeichnet das Abrufen von Elementen von einem Index zum anderen innerhalb einer Sequenz. In diesem Kapitel konzentrieren wir uns jedoch auf das Slicing in NumPy-Arrays.
Slicing in 1D-Arrays
Die allgemeine Syntax für das Slicing in 1D-Arrays lautet: array[start:end:step].
startist der Index, an dem das Slicing beginnt;endist der Index, an dem das Slicing endet (der Index selbst ist nicht enthalten);stepgibt die Schritte zwischen den Indizes an (Standardwert ist1).
Hier ist ein Beispiel zur Verdeutlichung (lila Quadrate stellen die durch das Slicing abgerufenen Elemente dar):
Da wir step nicht explizit angegeben haben, ist der Standardwert 1.
123456789import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the element at index 2 to the element at index 4 exclusive print(array[2:4]) # Slicing from the first element to the element at index 5 exclusive print(array[:5]) # Slicing from the element at index 5 to the last element inclusive print(array[5:])
Auslassen von Start, Ende und Schritt
Wie ersichtlich, können wir häufig Start (start), Ende (end), Schritt (step) oder sogar alle gleichzeitig auslassen. Beispielsweise kann step ausgelassen werden, wenn dieser gleich 1 sein soll. start und end können in folgenden Szenarien ausgelassen werden:
- Auslassen von
start:- Slicing ab dem ersten Element (
stepist positiv); - Slicing ab dem letzten Element (
stepist negativ).
- Slicing ab dem ersten Element (
- Auslassen von
end:- Slicing bis zum letzten Element inklusive (
stepist positiv); - Slicing bis zum ersten Element inklusive (
stepist negativ).
- Slicing bis zum letzten Element inklusive (
Im Folgenden werden weitere Beispiele betrachtet (der schwarze Pfeil zeigt an, dass die Elemente in umgekehrter Reihenfolge entnommen werden):
1234567891011import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the first element to the last element inclusive with step=2 print(array[::2]) # Slicing from the element at index 4 to the element at index 2 exclusive (step=-1) print(array[4:2:-1]) # Slicing from the last element to the first element inclusive (reversed array) print(array[::-1]) # Slicing from the first element to the last inclusive (the same as our array) print(array[:])
Das folgende Bild zeigt die Struktur des in der Aufgabe verwendeten Arrays weekly_sales:
Swipe to start coding
Sie analysieren die täglichen Verkaufsdaten eines kleinen Einzelhandelsgeschäfts. Die Verkäufe der vergangenen Woche sind im Array weekly_sales gespeichert, wobei jedes Element die Verkäufe eines bestimmten Tages repräsentiert.
- Erstellen Sie einen Slice von
weekly_sales, der die Verkaufsdaten für jeden zweiten Tag enthält, beginnend mit dem zweiten Tag (Dienstag). - Verwenden Sie einen positiven Index für
startund lassen Sie dasend-Argument unbestimmt. - Speichern Sie das Ergebnis in
alternate_day_sales.
Lösung
Danke für Ihr Feedback!
single