 Zuweisung von Werten zu Indizierten Teilarrays
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 dem Zuweisen von Werten zu Slices. Die allgemeine Syntax lautet: slice = values, wobei slice ein Ausschnitt eines bestimmten Arrays ist und values die zuzuweisenden Werte sind.
Mögliche Formate von values:
- ein einzelner Skalar (Zahl);
- ein 1D-Array mit derselben Größe wie der Slice (wenn es 1D ist); oder die Größe der zweiten Dimension (wenn der Slice 2D ist);
- ein 2D-Array mit derselben Form wie ein 2D-Slice.
123456789101112131415161718import 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.
Das Zuweisen von Werten zu ganzzahligen array-indizierten Teilarrays funktioniert genauso wie bei Slices. Das Zuweisen von Werten zu boolesch indizierten Teilarrays funktioniert genauso wie bei 1D-Slices.
Swipe to start coding
Sie verwalten einen Datensatz mit Produktpreisen und Bewertungen. Die Preise sind im Array prices gespeichert, die Bewertungen (auf einer Skala von 10) im Array ratings, wobei jede Zeile eine andere Produktkategorie darstellt. Ihre Aufgabe ist es, die Preise und Bewertungen anhand spezifischer Kriterien zu aktualisieren:
- Weisen Sie jedem Element in 20, das größer als 10 ist, den Wertpriceszu (boolesches Indexieren) unter Verwendung eines Skalars.
- Weisen Sie ein NumPy-Array mit den Elementen 9,8den letzten beiden Elementen der zweiten Zeile (zweites 1D-Array) vonratingszu. Verwenden Sie einen positiven Zeilenindex und einen Slice, der nurstart(positiver Index) angibt.
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
Can you explain what happens if the shapes of the assigned values and the slice don't match?
Can you show more examples of assigning values to slices using boolean indexing?
What is the difference between assigning a 1D array and a 2D array to a 2D slice?
Awesome!
Completion rate improved to 3.7 Zuweisung von Werten zu Indizierten Teilarrays
Zuweisung von Werten zu Indizierten Teilarrays
Swipe um das Menü anzuzeigen
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 dem Zuweisen von Werten zu Slices. Die allgemeine Syntax lautet: slice = values, wobei slice ein Ausschnitt eines bestimmten Arrays ist und values die zuzuweisenden Werte sind.
Mögliche Formate von values:
- ein einzelner Skalar (Zahl);
- ein 1D-Array mit derselben Größe wie der Slice (wenn es 1D ist); oder die Größe der zweiten Dimension (wenn der Slice 2D ist);
- ein 2D-Array mit derselben Form wie ein 2D-Slice.
123456789101112131415161718import 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.
Das Zuweisen von Werten zu ganzzahligen array-indizierten Teilarrays funktioniert genauso wie bei Slices. Das Zuweisen von Werten zu boolesch indizierten Teilarrays funktioniert genauso wie bei 1D-Slices.
Swipe to start coding
Sie verwalten einen Datensatz mit Produktpreisen und Bewertungen. Die Preise sind im Array prices gespeichert, die Bewertungen (auf einer Skala von 10) im Array ratings, wobei jede Zeile eine andere Produktkategorie darstellt. Ihre Aufgabe ist es, die Preise und Bewertungen anhand spezifischer Kriterien zu aktualisieren:
- Weisen Sie jedem Element in 20, das größer als 10 ist, den Wertpriceszu (boolesches Indexieren) unter Verwendung eines Skalars.
- Weisen Sie ein NumPy-Array mit den Elementen 9,8den letzten beiden Elementen der zweiten Zeile (zweites 1D-Array) vonratingszu. Verwenden Sie einen positiven Zeilenindex und einen Slice, der nurstart(positiver Index) angibt.
Lösung
Danke für Ihr Feedback!
single