Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Umformen von Arrays | Häufig Verwendete NumPy-Funktionen
Ultimatives NumPy

bookUmformen von Arrays

Array-Umformung in NumPy ermöglicht es, die Form eines Arrays zu ändern, während alle Elemente erhalten bleiben. Dies ist eine häufig verwendete Operation im maschinellen Lernen, da viele Funktionen und Methoden von Bibliotheken für maschinelles Lernen Arrays mit einer bestimmten Form erfordern.

Array-Formen

Note
Definition

Die Form eines NumPy-Arrays ist ein Tupel, das die Anzahl der Elemente entlang jeder Dimension (Achse) angibt.

Zum Beispiel hat ein 1D-Array der Länge 5 die Form (5,), während ein 2D-Array mit 3 Zeilen und 4 Spalten die Form (3, 4) besitzt:

1234
import numpy as np array_1d = np.array([5, 7, 1, 10, 9]) array_2d = np.zeros((3, 4)) print(array_1d.shape, array_2d.shape)
copy

ndarray.reshape()

NumPy-Arrays verfügen über eine .reshape()-Methode zum Umformen. Es muss lediglich die Form des resultierenden Arrays entweder als Ganzzahl, als Tupel von Ganzzahlen oder als einzelne Ganzzahlen übergeben werden.

Diese Methode verändert das Array nicht direkt, sondern gibt ein neues Array zurück.

Note
Hinweis

Tatsächlich gibt .reshape() eine Ansicht des ursprünglichen Arrays zurück, sodass alle Änderungen am umgeformten Array auch das Originalarray beeinflussen.

123456789
import numpy as np # Creating a 1D array from 0 to 11 inclusive array = np.arange(12) # Reshaping the array to a 3x4 2D array (matrix) reshaped_array_2d = array.reshape(3, 4) print(reshaped_array_2d) # Reshaping the array to a 2x2x3 3D array reshaped_array_3d = array.reshape(2, 2, 3) print(reshaped_array_3d)
copy
Note
Hinweis

Die Anzahl der Elemente im umgeformten Array muss mit der des ursprünglichen Arrays übereinstimmen, daher kann keine beliebige Form übergeben werden.

Im Beispiel führt das Umformen des Arrays in eine Form mit 3 Zeilen und 4 Spalten (3x4) oder in eine Form mit 2 Blöcken, jeweils mit 2 Zeilen und 3 Spalten (2x2x3) weiterhin zu insgesamt 12 Elementen.

Umformen mit -1

In NumPy berechnet die Verwendung von -1 in der .reshape()-Methode die Größe dieser Dimension automatisch basierend auf der Größe des ursprünglichen Arrays, wobei die Gesamtanzahl der Elemente erhalten bleibt.

Die Verwendung von .reshape(-1, 1) ist besonders nützlich im maschinellen Lernen, wenn ein 1D-Array in ein 2D-Array mit einer Spalte umgeformt werden soll. Die Anzahl der Zeilen entspricht in diesem Fall der Anzahl der Elemente (automatisch berechnet).

123456
import numpy as np # Creating a 1D array from 0 to 4 inclusive array = np.arange(5) # Reshaping the array to a 2D array with one column reshaped_array = array.reshape(-1, 1) print(reshaped_array)
copy

Das umgeformte Array wird als 2D-Array mit 5 Zeilen und 1 Spalte gespeichert und hat die Form (5, 1). Im Gegensatz dazu hat das ursprüngliche 1D-Array die Form (5,), was ein Tupel mit einem einzigen Element ist. Für jedes 1D-Array ist die Form immer (n,), wobei n die Anzahl der Elemente darstellt.

numpy.reshape()

Die Funktion reshape() in NumPy ist identisch mit der Methode .reshape(), jedoch muss ein Array als erstes Argument übergeben werden. Für den Parameter shape kann entweder ein Tupel von Ganzzahlen oder eine einzelne Ganzzahl übergeben werden, z. B. np.reshape(array, (3, 4)):

123456
import numpy as np # Creating a 1D array from 0 to 11 inclusive array = np.arange(12) # Reshaping the array to a 3x4 2D array (matrix) reshaped_array_2d = np.reshape(array, (3, 4)) print(reshaped_array_2d)
copy
Aufgabe

Swipe to start coding

Sie verfügen über ein Array sales_data_2021 mit simulierten Quartalsumsätzen für zwei Produkte im Jahr 2021. Die ersten 4 Elemente stehen für die Quartalsumsätze des ersten Produkts, die letzten 4 Elemente für die Quartalsumsätze des zweiten Produkts.

  1. Die geeignete Methode von sales_data_2021 verwenden, um das Array in ein 2D-Array umzuwandeln.
  2. Die erste Zeile soll die Quartalsumsätze für das erste Produkt enthalten.
  3. Die zweite Zeile soll die Quartalsumsätze für das zweite Produkt enthalten.

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 4
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

Suggested prompts:

Can you explain the difference between using .reshape() and np.reshape()?

What happens if I try to reshape an array to a shape that doesn't match the total number of elements?

Can you give more examples of reshaping arrays with different dimensions?

close

Awesome!

Completion rate improved to 3.7

bookUmformen von Arrays

Swipe um das Menü anzuzeigen

Array-Umformung in NumPy ermöglicht es, die Form eines Arrays zu ändern, während alle Elemente erhalten bleiben. Dies ist eine häufig verwendete Operation im maschinellen Lernen, da viele Funktionen und Methoden von Bibliotheken für maschinelles Lernen Arrays mit einer bestimmten Form erfordern.

Array-Formen

Note
Definition

Die Form eines NumPy-Arrays ist ein Tupel, das die Anzahl der Elemente entlang jeder Dimension (Achse) angibt.

Zum Beispiel hat ein 1D-Array der Länge 5 die Form (5,), während ein 2D-Array mit 3 Zeilen und 4 Spalten die Form (3, 4) besitzt:

1234
import numpy as np array_1d = np.array([5, 7, 1, 10, 9]) array_2d = np.zeros((3, 4)) print(array_1d.shape, array_2d.shape)
copy

ndarray.reshape()

NumPy-Arrays verfügen über eine .reshape()-Methode zum Umformen. Es muss lediglich die Form des resultierenden Arrays entweder als Ganzzahl, als Tupel von Ganzzahlen oder als einzelne Ganzzahlen übergeben werden.

Diese Methode verändert das Array nicht direkt, sondern gibt ein neues Array zurück.

Note
Hinweis

Tatsächlich gibt .reshape() eine Ansicht des ursprünglichen Arrays zurück, sodass alle Änderungen am umgeformten Array auch das Originalarray beeinflussen.

123456789
import numpy as np # Creating a 1D array from 0 to 11 inclusive array = np.arange(12) # Reshaping the array to a 3x4 2D array (matrix) reshaped_array_2d = array.reshape(3, 4) print(reshaped_array_2d) # Reshaping the array to a 2x2x3 3D array reshaped_array_3d = array.reshape(2, 2, 3) print(reshaped_array_3d)
copy
Note
Hinweis

Die Anzahl der Elemente im umgeformten Array muss mit der des ursprünglichen Arrays übereinstimmen, daher kann keine beliebige Form übergeben werden.

Im Beispiel führt das Umformen des Arrays in eine Form mit 3 Zeilen und 4 Spalten (3x4) oder in eine Form mit 2 Blöcken, jeweils mit 2 Zeilen und 3 Spalten (2x2x3) weiterhin zu insgesamt 12 Elementen.

Umformen mit -1

In NumPy berechnet die Verwendung von -1 in der .reshape()-Methode die Größe dieser Dimension automatisch basierend auf der Größe des ursprünglichen Arrays, wobei die Gesamtanzahl der Elemente erhalten bleibt.

Die Verwendung von .reshape(-1, 1) ist besonders nützlich im maschinellen Lernen, wenn ein 1D-Array in ein 2D-Array mit einer Spalte umgeformt werden soll. Die Anzahl der Zeilen entspricht in diesem Fall der Anzahl der Elemente (automatisch berechnet).

123456
import numpy as np # Creating a 1D array from 0 to 4 inclusive array = np.arange(5) # Reshaping the array to a 2D array with one column reshaped_array = array.reshape(-1, 1) print(reshaped_array)
copy

Das umgeformte Array wird als 2D-Array mit 5 Zeilen und 1 Spalte gespeichert und hat die Form (5, 1). Im Gegensatz dazu hat das ursprüngliche 1D-Array die Form (5,), was ein Tupel mit einem einzigen Element ist. Für jedes 1D-Array ist die Form immer (n,), wobei n die Anzahl der Elemente darstellt.

numpy.reshape()

Die Funktion reshape() in NumPy ist identisch mit der Methode .reshape(), jedoch muss ein Array als erstes Argument übergeben werden. Für den Parameter shape kann entweder ein Tupel von Ganzzahlen oder eine einzelne Ganzzahl übergeben werden, z. B. np.reshape(array, (3, 4)):

123456
import numpy as np # Creating a 1D array from 0 to 11 inclusive array = np.arange(12) # Reshaping the array to a 3x4 2D array (matrix) reshaped_array_2d = np.reshape(array, (3, 4)) print(reshaped_array_2d)
copy
Aufgabe

Swipe to start coding

Sie verfügen über ein Array sales_data_2021 mit simulierten Quartalsumsätzen für zwei Produkte im Jahr 2021. Die ersten 4 Elemente stehen für die Quartalsumsätze des ersten Produkts, die letzten 4 Elemente für die Quartalsumsätze des zweiten Produkts.

  1. Die geeignete Methode von sales_data_2021 verwenden, um das Array in ein 2D-Array umzuwandeln.
  2. Die erste Zeile soll die Quartalsumsätze für das erste Produkt enthalten.
  3. Die zweite Zeile soll die Quartalsumsätze für das zweite Produkt enthalten.

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 3. Kapitel 4
single

single

some-alt