Kursinhalt
Ultimatives Numpy
Ultimatives Numpy
Zuweisung von Werten zu Indizierten Teilarrays
Mit indizierten Arrays wird es interessanter. Hier konzentrieren wir uns auf 1D- und 2D-Teilarrays, da 3D-Teilarrays in der Praxis selten verwendet werden.
Beginnen wir zunächst mit der Zuweisung von Werten zu Slices. Die allgemeine Syntax sieht so aus: slice = values
, wobei slice
ein Slice eines bestimmten Arrays ist und values
die zuzuweisenden Werte sind.
Mögliche Formate von values
:
- ein einzelner Skalar (Zahl);
- ein 1D-Array der gleichen Größe wie das Slice (wenn es 1D ist); oder die Größe der zweiten Dimension (wenn das Slice 2D ist);
- ein 2D-Array der gleichen Form wie ein 2D-Slice.
import numpy as np array_1d = np.array([1, 4, 6, 2, 9]) # Assigning an array to the slice of array_1d array_1d[1:-1] = np.array([3, 5, 7]) print(array_1d) # Assigning a scalar to the slice of array_1d array_1d[1:-1] = 5 print(array_1d) array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) # Assigning a 2D array to the slice of array_2d array_2d[1:3, 1:] = np.array([[20, 21], [40, 41]]) print(array_2d) # Assigning a 1D array to the slice of array_2d array_2d[1:3, 1:] = [50, 51] print(array_2d) # Assigning a scalar to the slice of array_2d array_2d[1:3, 1:] = 30 print(array_2d)
Wenn wir einem Skalar einem 1D-Slice zuweisen, wird dieser Skalar jedem Element des Slices zugewiesen. Wenn ein 1D-Array einem 2D-Slice zugewiesen wird, wird dieses 1D-Array jedem 1D-Array im Slice zugewiesen. Die Zuweisung eines Skalars zu einem 2D-Slice funktioniert genauso wie bei einem 1D-Slice.
Die Zuweisung von Werten zu ganzzahligen array-indizierten Teilarrays funktioniert genauso wie bei Slices. Die Zuweisung von Werten zu booleschen indizierten Teilarrays funktioniert genauso wie bei 1D-Slices.
Swipe to start coding
Sie verwalten einen Datensatz von Produktpreisen und Bewertungen. Die Preise sind im prices
-Array gespeichert, und die Bewertungen (von 10) sind im ratings
-Array gespeichert, wobei jede Zeile eine andere Produktkategorie darstellt. Ihre Aufgabe ist es, die Preise und Bewertungen basierend auf bestimmten Kriterien zu aktualisieren:
- Weisen Sie den Wert
20
jedem Element inprices
zu, das größer als 10 ist (boolesche Indizierung) unter Verwendung eines Skalars. - Weisen Sie ein NumPy-Array mit den Elementen
9
,8
den letzten beiden Elementen der zweiten Zeile (zweites 1D-Array) vonratings
zu. Verwenden Sie einen positiven Zeilenindex und einen Slice, der nurstart
(positiver Index) angibt.
Lösung
Danke für Ihr Feedback!
Zuweisung von Werten zu Indizierten Teilarrays
Mit indizierten Arrays wird es interessanter. Hier konzentrieren wir uns auf 1D- und 2D-Teilarrays, da 3D-Teilarrays in der Praxis selten verwendet werden.
Beginnen wir zunächst mit der Zuweisung von Werten zu Slices. Die allgemeine Syntax sieht so aus: slice = values
, wobei slice
ein Slice eines bestimmten Arrays ist und values
die zuzuweisenden Werte sind.
Mögliche Formate von values
:
- ein einzelner Skalar (Zahl);
- ein 1D-Array der gleichen Größe wie das Slice (wenn es 1D ist); oder die Größe der zweiten Dimension (wenn das Slice 2D ist);
- ein 2D-Array der gleichen Form wie ein 2D-Slice.
import numpy as np array_1d = np.array([1, 4, 6, 2, 9]) # Assigning an array to the slice of array_1d array_1d[1:-1] = np.array([3, 5, 7]) print(array_1d) # Assigning a scalar to the slice of array_1d array_1d[1:-1] = 5 print(array_1d) array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) # Assigning a 2D array to the slice of array_2d array_2d[1:3, 1:] = np.array([[20, 21], [40, 41]]) print(array_2d) # Assigning a 1D array to the slice of array_2d array_2d[1:3, 1:] = [50, 51] print(array_2d) # Assigning a scalar to the slice of array_2d array_2d[1:3, 1:] = 30 print(array_2d)
Wenn wir einem Skalar einem 1D-Slice zuweisen, wird dieser Skalar jedem Element des Slices zugewiesen. Wenn ein 1D-Array einem 2D-Slice zugewiesen wird, wird dieses 1D-Array jedem 1D-Array im Slice zugewiesen. Die Zuweisung eines Skalars zu einem 2D-Slice funktioniert genauso wie bei einem 1D-Slice.
Die Zuweisung von Werten zu ganzzahligen array-indizierten Teilarrays funktioniert genauso wie bei Slices. Die Zuweisung von Werten zu booleschen indizierten Teilarrays funktioniert genauso wie bei 1D-Slices.
Swipe to start coding
Sie verwalten einen Datensatz von Produktpreisen und Bewertungen. Die Preise sind im prices
-Array gespeichert, und die Bewertungen (von 10) sind im ratings
-Array gespeichert, wobei jede Zeile eine andere Produktkategorie darstellt. Ihre Aufgabe ist es, die Preise und Bewertungen basierend auf bestimmten Kriterien zu aktualisieren:
- Weisen Sie den Wert
20
jedem Element inprices
zu, das größer als 10 ist (boolesche Indizierung) unter Verwendung eines Skalars. - Weisen Sie ein NumPy-Array mit den Elementen
9
,8
den letzten beiden Elementen der zweiten Zeile (zweites 1D-Array) vonratings
zu. Verwenden Sie einen positiven Zeilenindex und einen Slice, der nurstart
(positiver Index) angibt.
Lösung
Danke für Ihr Feedback!