Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Zuweisung von Werten zu Indizierten Teilarrays | Indexierung und Slicing
Ultimatives Numpy
course content

Kursinhalt

Ultimatives Numpy

Ultimatives Numpy

1. NumPy-Grundlagen
2. Indexierung und Slicing
3. Häufig Verwendete NumPy-Funktionen
4. Mathematik mit NumPy

book
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.
123456789101112131415161718
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)
copy

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.

Aufgabe

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:

  1. Weisen Sie den Wert 20 jedem Element in prices zu, das größer als 10 ist (boolesche Indizierung) unter Verwendung eines Skalars.
  2. Weisen Sie ein NumPy-Array mit den Elementen 9, 8 den letzten beiden Elementen der zweiten Zeile (zweites 1D-Array) von ratings zu. Verwenden Sie einen positiven Zeilenindex und einen Slice, der nur start (positiver Index) angibt.

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 10
toggle bottom row

book
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.
123456789101112131415161718
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)
copy

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.

Aufgabe

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:

  1. Weisen Sie den Wert 20 jedem Element in prices zu, das größer als 10 ist (boolesche Indizierung) unter Verwendung eines Skalars.
  2. Weisen Sie ein NumPy-Array mit den Elementen 9, 8 den letzten beiden Elementen der zweiten Zeile (zweites 1D-Array) von ratings zu. Verwenden Sie einen positiven Zeilenindex und einen Slice, der nur start (positiver Index) angibt.

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 10
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
We're sorry to hear that something went wrong. What happened?
some-alt