Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Slicing | Indizierung und Slicing
Numpy-Grundlagen
Abschnitt 2. Kapitel 3
single

single

bookSlicing

Swipe um das Menü anzuzeigen

Slicing in Python bezeichnet das Abrufen von Elementen von einem Index bis zu einem 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 Slicing in 1D-Arrays lautet: array[start:end:step].

  • start ist der Index, bei dem das Slicing beginnt;
  • end ist der Index, bei dem das Slicing endet (der Index selbst ist nicht enthalten);
  • step gibt die Schritte zwischen den Indizes an (Standardwert ist 1).

Hier ein Beispiel zur Veranschaulichung (lilafarbene Felder stellen die durch das Slicing abgerufenen Elemente dar):

Note
Hinweis

Da wir step nicht explizit angegeben haben, ist der Standardwert 1.

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

Start-, End- und Schrittwert weglassen

Wie Sie sehen, können wir häufig die start, end und step weglassen, oder sogar alle gleichzeitig.

Zum Beispiel kann der step-Wert weggelassen werden, wenn er 1 sein soll.

start und end können in folgenden Szenarien weggelassen werden:

  1. Weglassen von start:
    • Slicing vom ersten Element aus (step ist positiv);
    • Slicing vom letzten Element aus (step ist negativ).
  2. Weglassen von end:
    • Slicing bis zum letzten Element inklusive (step ist positiv);
    • Slicing bis zum ersten Element inklusive (step ist negativ).

Schauen wir uns noch ein paar weitere Beispiele an (der schwarze Pfeil zeigt an, dass die Elemente in umgekehrter Reihenfolge genommen werden):

1234567891011
import 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[:])
copy

Die folgende Abbildung zeigt die Struktur des in der Aufgabe verwendeten Arrays weekly_sales:

Aufgabe

Wischen, um mit dem Codieren zu beginnen

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.

  1. Erstellen Sie einen Slice von weekly_sales, der die Verkaufsdaten für jeden zweiten Tag enthält, beginnend mit dem zweiten Tag (Dienstag).
  2. Verwenden Sie einen positiven Index für den start-Wert und lassen Sie das end-Argument unausgefüllt.
  3. Speichern Sie das Ergebnis in alternate_day_sales.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

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

some-alt