Kursinhalt
Ultimatives Numpy
Ultimatives Numpy
Slicing in 2D-Arrays
Das Slicing in 2D- und höherdimensionalen Arrays funktioniert ähnlich wie das Slicing in 1D-Arrays. In 2D-Arrays gibt es jedoch zwei Achsen.
Wenn wir das Slicing nur auf Achse 0 durchführen möchten, um 1D-Arrays abzurufen, bleibt die Syntax gleich: array[start:end:step]
. Wenn wir das Slicing auf den Elementen dieser 1D-Arrays (Achse 1) durchführen möchten, lautet die Syntax wie folgt: array[start:end:step, start:end:step]
. Im Wesentlichen entspricht die Anzahl der Slices der Anzahl der Dimensionen eines Arrays.
Darüber hinaus können wir das Slicing für eine Achse und basisches Indexing für die andere Achse verwenden. Schauen wir uns ein Beispiel für 2D-Slicing an (lila Quadrate repräsentieren die Elemente, die durch Slicing abgerufen werden, und der schwarze Pfeil zeigt an, dass die Elemente in umgekehrter Reihenfolge genommen werden):
import numpy as np array_2d = np.array([ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12] ]) print(array_2d[1:]) print(array_2d[:, 0]) print(array_2d[1:, 1:-1]) print(array_2d[:-1, ::2]) print(array_2d[2, ::-1])
Das Bild unten zeigt die Struktur des student_scores
Arrays, das in der Aufgabe verwendet wird:
Swipe to start coding
Sie arbeiten mit einem 2D NumPy Array, das die Noten von drei Studenten in drei verschiedenen Fächern darstellt. Die Noten für jeden Studenten sind in einer separaten Zeile gespeichert, wobei jedes Element die Note in einem bestimmten Fach darstellt.
-
Erstellen Sie einen Slice von
student_scores
, der die letzten beiden Noten des ersten Studenten (erste Zeile) enthält. -
Verwenden Sie grundlegendes Indexieren (positives Indexieren) und Slicing, wobei Sie nur einen positiven
start
angeben.
Lösung
Danke für Ihr Feedback!
Slicing in 2D-Arrays
Das Slicing in 2D- und höherdimensionalen Arrays funktioniert ähnlich wie das Slicing in 1D-Arrays. In 2D-Arrays gibt es jedoch zwei Achsen.
Wenn wir das Slicing nur auf Achse 0 durchführen möchten, um 1D-Arrays abzurufen, bleibt die Syntax gleich: array[start:end:step]
. Wenn wir das Slicing auf den Elementen dieser 1D-Arrays (Achse 1) durchführen möchten, lautet die Syntax wie folgt: array[start:end:step, start:end:step]
. Im Wesentlichen entspricht die Anzahl der Slices der Anzahl der Dimensionen eines Arrays.
Darüber hinaus können wir das Slicing für eine Achse und basisches Indexing für die andere Achse verwenden. Schauen wir uns ein Beispiel für 2D-Slicing an (lila Quadrate repräsentieren die Elemente, die durch Slicing abgerufen werden, und der schwarze Pfeil zeigt an, dass die Elemente in umgekehrter Reihenfolge genommen werden):
import numpy as np array_2d = np.array([ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12] ]) print(array_2d[1:]) print(array_2d[:, 0]) print(array_2d[1:, 1:-1]) print(array_2d[:-1, ::2]) print(array_2d[2, ::-1])
Das Bild unten zeigt die Struktur des student_scores
Arrays, das in der Aufgabe verwendet wird:
Swipe to start coding
Sie arbeiten mit einem 2D NumPy Array, das die Noten von drei Studenten in drei verschiedenen Fächern darstellt. Die Noten für jeden Studenten sind in einer separaten Zeile gespeichert, wobei jedes Element die Note in einem bestimmten Fach darstellt.
-
Erstellen Sie einen Slice von
student_scores
, der die letzten beiden Noten des ersten Studenten (erste Zeile) enthält. -
Verwenden Sie grundlegendes Indexieren (positives Indexieren) und Slicing, wobei Sie nur einen positiven
start
angeben.
Lösung
Danke für Ihr Feedback!