Kursinhalt
Ultimatives Numpy
Ultimatives Numpy
Umformen von Arrays
Array-Umformung in NumPy ermöglicht es Ihnen, die Form eines Arrays zu ändern, während alle Elemente erhalten bleiben. Es ist eine häufig verwendete Operation im maschinellen Lernen, da viele Funktionen und Methoden von Bibliotheken für maschinelles Lernen erfordern, dass Arrays eine bestimmte Form haben.
Array-Formen
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)
hat:
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)
ndarray.reshape()
NumPy-Arrays haben eine .reshape()
-Methode zum Umformen. Sie müssen nur die Form des resultierenden Arrays entweder als Ganzzahl, als Tupel von Ganzzahlen oder als separate Argumente übergeben.
Diese Methode ändert das Array nicht in place, sondern gibt ein neues Array zurück.
Hinweis
Tatsächlich gibt
.reshape()
eine Ansicht des ursprünglichen Arrays zurück, sodass alle Änderungen am umgeformten Array auch das ursprüngliche Array beeinflussen.
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)
Hinweis
Die Anzahl der Elemente im umgeformten Array muss dieselbe sein wie im ursprünglichen Array, daher kann man keine beliebige Form übergeben.
In unserem Beispiel führt das Umformen des Arrays in eine Form von 3 Zeilen und 4 Spalten (3 x 4) oder in eine Form von 2 Blöcken, jeweils mit 2 Zeilen und 3 Spalten (2 x 2 x 3) immer noch zu insgesamt 12 Elementen.
Umformen mit -1
In NumPy, wenn Sie -1
in der .reshape()
-Methode verwenden, berechnet es automatisch die Größe dieser Dimension basierend auf der Größe des ursprünglichen Arrays, während die Gesamtanzahl der Elemente gleich bleibt.
Die Verwendung von .reshape(-1, 1)
ist besonders nützlich im maschinellen Lernen, wenn wir ein 1D-Array in ein 2D-Array mit einer Spalte umformen müssen. Die Anzahl der Zeilen entspricht in diesem Fall der Anzahl der Elemente (automatisch berechnet).
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)
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 reshape()
-Funktion in NumPy ist identisch mit der .reshape()
-Methode, aber Sie sollten ein Array als erstes Argument übergeben. Für den shape
-Parameter können Sie entweder ein Tupel von ganzen Zahlen oder eine einzelne ganze Zahl übergeben, z.B. np.reshape(array, (3, 4))
:
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)
Swipe to start coding
Sie haben ein sales_data_2021
Array mit simulierten vierteljährlichen Verkaufsdaten für zwei Produkte im Jahr 2021. Die ersten 4 Elemente repräsentieren die vierteljährlichen Verkäufe für das erste Produkt, und die letzten 4 Elemente repräsentieren die vierteljährlichen Verkäufe für das zweite Produkt.
-
Verwenden Sie die geeignete Methode von
sales_data_2021
, um es in ein 2D-Array umzuwandeln. -
Die erste Zeile sollte die vierteljährlichen Verkäufe für das erste Produkt enthalten.
-
Die zweite Zeile sollte die vierteljährlichen Verkäufe für das zweite Produkt enthalten.
Lösung
Danke für Ihr Feedback!
Umformen von Arrays
Array-Umformung in NumPy ermöglicht es Ihnen, die Form eines Arrays zu ändern, während alle Elemente erhalten bleiben. Es ist eine häufig verwendete Operation im maschinellen Lernen, da viele Funktionen und Methoden von Bibliotheken für maschinelles Lernen erfordern, dass Arrays eine bestimmte Form haben.
Array-Formen
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)
hat:
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)
ndarray.reshape()
NumPy-Arrays haben eine .reshape()
-Methode zum Umformen. Sie müssen nur die Form des resultierenden Arrays entweder als Ganzzahl, als Tupel von Ganzzahlen oder als separate Argumente übergeben.
Diese Methode ändert das Array nicht in place, sondern gibt ein neues Array zurück.
Hinweis
Tatsächlich gibt
.reshape()
eine Ansicht des ursprünglichen Arrays zurück, sodass alle Änderungen am umgeformten Array auch das ursprüngliche Array beeinflussen.
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)
Hinweis
Die Anzahl der Elemente im umgeformten Array muss dieselbe sein wie im ursprünglichen Array, daher kann man keine beliebige Form übergeben.
In unserem Beispiel führt das Umformen des Arrays in eine Form von 3 Zeilen und 4 Spalten (3 x 4) oder in eine Form von 2 Blöcken, jeweils mit 2 Zeilen und 3 Spalten (2 x 2 x 3) immer noch zu insgesamt 12 Elementen.
Umformen mit -1
In NumPy, wenn Sie -1
in der .reshape()
-Methode verwenden, berechnet es automatisch die Größe dieser Dimension basierend auf der Größe des ursprünglichen Arrays, während die Gesamtanzahl der Elemente gleich bleibt.
Die Verwendung von .reshape(-1, 1)
ist besonders nützlich im maschinellen Lernen, wenn wir ein 1D-Array in ein 2D-Array mit einer Spalte umformen müssen. Die Anzahl der Zeilen entspricht in diesem Fall der Anzahl der Elemente (automatisch berechnet).
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)
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 reshape()
-Funktion in NumPy ist identisch mit der .reshape()
-Methode, aber Sie sollten ein Array als erstes Argument übergeben. Für den shape
-Parameter können Sie entweder ein Tupel von ganzen Zahlen oder eine einzelne ganze Zahl übergeben, z.B. np.reshape(array, (3, 4))
:
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)
Swipe to start coding
Sie haben ein sales_data_2021
Array mit simulierten vierteljährlichen Verkaufsdaten für zwei Produkte im Jahr 2021. Die ersten 4 Elemente repräsentieren die vierteljährlichen Verkäufe für das erste Produkt, und die letzten 4 Elemente repräsentieren die vierteljährlichen Verkäufe für das zweite Produkt.
-
Verwenden Sie die geeignete Methode von
sales_data_2021
, um es in ein 2D-Array umzuwandeln. -
Die erste Zeile sollte die vierteljährlichen Verkäufe für das erste Produkt enthalten.
-
Die zweite Zeile sollte die vierteljährlichen Verkäufe für das zweite Produkt enthalten.
Lösung
Danke für Ihr Feedback!