Umgestaltungsfunktion in der Programmiersprache ist Python eine der mächtigsten Funktionen, um die Form eines Datenarrays zu transformieren. Mit dieser Funktion können Sie die Dimension eines Arrays ändern, ohne dessen Inhalt zu ändern, was bei der Arbeit mit großen Datenmengen sehr nützlich ist.
Datenbestand in Python sind sie eine der am häufigsten verwendeten Datenstrukturen. Sie ermöglichen es Ihnen, große Mengen an Informationen zu speichern und zu organisieren und verschiedene Operationen an diesen Daten durchzuführen. Manchmal ist es jedoch erforderlich, die Form eines Arrays zu ändern, um seine Struktur zu ändern oder die Daten für die weitere Analyse oder Verarbeitung vorzubereiten.
Funktion reshape ermöglicht das einfache Ändern der Form eines Arrays, indem mithilfe eines Parameters eine neue Dimension angegeben wird newshape. Der Vorteil dieser Funktion besteht darin, dass Sie die Größe des Arrays ändern kann, ohne die Daten zu kopieren, wodurch der Speicher und die Laufzeit des Programms erheblich eingespart werden können.
Ändern der Form eines Arrays mit Umformung in Python
Mit der Umformungsfunktion können Sie die Form eines Arrays ändern, dh seine Elemente neu formatieren, ohne ihre Werte zu ändern. Es nimmt zwei Argumente an: die neue Form des Arrays und das zu ändernde Array selbst.
Beispiel für die Verwendung der Reshape-Funktion :
import numpy as nparr = np.array([1, 2, 3, 4, 5, 6])new_arr = arr.reshape((2, 3))print(new_arr)
In diesem Beispiel erstellen wir ein eindimensionales arr-Array mit Elementen [1, 2, 3, 4, 5, 6]. Dann verwenden wir die Umformungsfunktion, um ihre Form in ein zweidimensionales Array mit Dimensionen (2, 3) zu ändern. Das Ergebnis ist das folgende Array:
[[1 2 3][4 5 6]]
Die Umformungsfunktion kann auch verwendet werden, um die Form von mehrdimensionalen Arrays zu ändern. Zum Beispiel, um ein dreidimensionales Muster in ein zweidimensionales zu ändern:
import numpy as nparr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])new_arr = arr.reshape((4, 2))print(new_arr)
In diesem Beispiel erstellen wir ein dreidimensionales arr-Array mit einer Dimension (2, 2, 2). Dann verwenden wir die Umformfunktion, um ihre Form in ein zweidimensionales Array mit einer Dimension (4, 2) zu ändern. Das Ergebnis ist das folgende Array:
[[1 2][3 4][5 6][7 8]]
Mit der Umformungsfunktion können Sie Arrays mit verschiedenen Formen erstellen, was sie für viele Programmieraufgaben in Python sehr nützlich macht.
Konvertieren eines eindimensionalen Arrays in ein zweidimensionales Array mithilfe von reshape
Mit der Umformfunktion in der Programmiersprache Python können Sie die Form eines eindimensionalen Arrays in ein anderes ändern, einschließlich der Konvertierung in ein zweidimensionales Array. Dies kann bei der Arbeit mit Daten nützlich sein oder bei Bedarf die Struktur eines Arrays ändern, um es weiter zu verarbeiten.
Um ein eindimensionales Array mithilfe der Umformfunktion in ein zweidimensionales Array umzuwandeln, müssen Sie im Funktionsparameter eine neue Form des Arrays angeben. Die neue Form muss mit der ursprünglichen Form des Arrays kompatibel sein (dh die Dimensionen müssen übereinstimmen). Wenn die Dimensionen des Arrays nicht übereinstimmen, gibt die Funktion "Umformen" einen Fehler aus.
Zum Beispiel gibt es ein eindimensionales Array [1, 2, 3, 4, 5, 6] und es muss in ein zweidimensionales Array der Größe 2x3 konvertiert werden. Um dies zu tun, müssen Sie die Funktion umformen verwenden und eine neue Array-Form an sie übergeben ([2, 3]). Das Ergebnis ist ein zweidimensionales Array:
[[1, 2, 3],[4, 5, 6]]
Auf diese Weise können Sie eindimensionale Arrays in zweidimensionale oder andere Formen konvertieren, je nach Ihren Anforderungen, und auf eine bequemere Art und Weise mit den Daten arbeiten.
Konvertieren eines zweidimensionalen Arrays in ein dreidimensionales Array mithilfe von reshape
Funktion reshape in der Programmiersprache Python können Sie die Form eines Arrays ändern, ohne seine Daten zu ändern. Es ist besonders nützlich, wenn Sie ein zweidimensionales Array in ein dreidimensionales umwandeln möchten.
Um ein zweidimensionales Array mithilfe von reshape in ein dreidimensionales Array umzuwandeln, führen Sie die folgenden Schritte aus:
-
Numpy-Bibliothek importieren:
import numpy as np
arr_2d = np.array([[1, 2, 3], [4, 5, 6]])
arr_3d = arr_2d.reshape((2, 1, 3))
Als Ergebnis dieser Schritte wird das zweidimensionale Array arr_2d in ein dreidimensionales Array arr_3d mit der Form (2, 1, 3) umgewandelt.
Die Umwandlung eines zweidimensionalen Arrays in ein dreidimensionales Array mit der Reshape-Funktion ist ein wichtiger Vorgang bei der Arbeit mit mehrdimensionalen Daten, z. B. bei Computer Vision- oder Signalverarbeitungsaufgaben. Es ermöglicht Ihnen, die Form eines Arrays effizient zu ändern, ohne Daten zu kopieren oder zu verschieben, was die Berechnungen erheblich beschleunigen kann.
Beachten Sie, dass Sie sicherstellen müssen, dass die Anzahl der Elemente im ursprünglichen Array und der neuen Form des Arrays übereinstimmen, bevor Sie die Funktion umformen verwenden. Andernfalls tritt ein Fehler auf.
Beispiele für die Konvertierung eines Arrays mit unterschiedlicher Form mit reshape
Mit der Umgestaltungsfunktion in Python können Sie die Form eines Arrays ändern, ohne seine Daten zu ändern. Dieser Ansatz ist besonders nützlich, wenn Sie ein Array mit einer Dimension in ein Array mit einer anderen Dimension konvertieren möchten. Betrachten Sie einige Beispiele für die Verwendung der Umformfunktion, um ein Array mit unterschiedlicher Form zu konvertieren.
Beispiel 1: Konvertieren eines eindimensionalen Arrays in ein zweidimensionales Array
| Das ursprüngliche Array: | [1, 2, 3, 4, 5, 6] |
| Array-Form: | (6,) |
| Konvertiertes Array: | [[1, 2, 3], [4, 5, 6]] |
| Array-Form nach der Konvertierung: | (2, 3) |
Beispiel 2: Konvertieren eines zweidimensionalen Arrays in ein dreidimensionales Array
| Das ursprüngliche Array: | [[1, 2], [3, 4], [5, 6]] |
| Array-Form: | (3, 2) |
| Konvertiertes Array: | [[[1, 2]], [[3, 4]], [[5, 6]]] |
| Array-Form nach der Konvertierung: | (3, 1, 2) |
Beispiel 3: Konvertieren eines dreidimensionalen Arrays in ein eindimensionales Array
| Das ursprüngliche Array: | [[[1, 2]], [[3, 4]], [[5, 6]]] |
| Array-Form: | (3, 1, 2) |
| Konvertiertes Array: | [1, 2, 3, 4, 5, 6] |
| Array-Form nach der Konvertierung: | (6,) |
Die Konvertierung von Arrays mit unterschiedlicher Form kann nützlich sein, wenn Sie mit unterschiedlichen Datentypen arbeiten, visualisieren oder verschiedene mathematische Operationen ausführen. Verwenden Sie die Umformungsfunktion in Python, um Arrays flexibel zu transformieren und die gewünschte Form für die Analyse und Verarbeitung von Daten zu erreichen.
Ändern der Form eines Arrays mithilfe des Parameters order in reshape
Parameter order kann Werte annehmen:
- 'C' - die Anordnung der Elemente des Arrays erfolgt zeilenweise (Standard);
- 'F' - die Elemente des Arrays werden nach Spalten neu angeordnet.
Verwenden eines Parameters order wenn eine Funktion aufgerufen wird reshape kann nützlich sein, wenn Sie mit mehrdimensionalen Arrays arbeiten. Wenn Sie beispielsweise mit RGB-Bildern arbeiten, bei denen ein 3D-Array Matrizen mit Farbkanälen (Rot, Grün, Blau) darstellt, können Sie die Reihenfolge der Elemente im Array für eine einfachere Bedienung ändern.
Hier ist ein Beispiel für die Verwendung des Parameters order wenn Sie die Form eines Arrays ändern:
Beispiel 1:
import numpy as np# Создание массива 3x3arr = np.array([[1, 2, 3],[4, 5, 6],[7, 8, 9]])# Изменение формы массива с параметром order='C'reshaped_arr_c = arr.reshape(9, order='C')print("Перестановка элементов массива построчно (order='C'):")print(reshaped_arr_c)# Изменение формы массива с параметром order='F'reshaped_arr_f = arr.reshape(9, order='F')print("Перестановка элементов массива по столбцам (order='F'):")print(reshaped_arr_f)
Перестановка элементов массива построчно (order='C'):[1 2 3 4 5 6 7 8 9]Перестановка элементов массива по столбцам (order='F'):[1 4 7 2 5 8 3 6 9]
In diesem Beispiel wurde das ursprüngliche 3x3-Array mithilfe einer Funktion in ein eindimensionales Array geändert reshape und parameter order='C'. Die Reihenfolge, in der die Elemente neu angeordnet wurden, war zeilenweise. Dann verwenden Sie das gleiche Quellarray und die gleiche Funktion reshape mit Parameter order='F'. Elemente wurden in Spalten neu angeordnet.
Verwenden eines Parameters order in der Funktion reshape ermöglicht es Ihnen, die Form eines Arrays flexibel zu ändern und die Reihenfolge zu steuern, in der Elemente darin neu angeordnet werden, was bei der Arbeit mit verschiedenen Datentypen nützlich ist.
Konvertieren eines Arrays in eine Spalten- oder Zeichenfolgenform mithilfe von reshape
Mit der Umformungsfunktion in Python können Sie ein Array in eine Spalten- oder Zeichenfolgenform konvertieren, indem Sie seine Dimension ändern. Dies ist sehr nützlich, wenn Sie die Form eines Arrays so ändern müssen, dass es den Anforderungen entspricht oder für die weitere Verarbeitung bequemer verwendet wird.
Um ein Array in eine Spaltenform zu konvertieren, müssen Sie die gewünschte Anzahl von Spalten angeben, und die Anzahl der Zeilen wird automatisch berechnet. Zum Beispiel:
import numpy as nparr = np.array([1, 2, 3, 4, 5, 6])reshaped_arr = np.reshape(arr, (6, 1))print(reshaped_arr)
[[1][2][3][4][5][6]]
Um ein Array in eine Zeichenfolgenform zu konvertieren, müssen Sie ebenfalls die gewünschte Anzahl von Zeilen angeben, und die Anzahl der Spalten wird automatisch berechnet. Zum Beispiel:
import numpy as nparr = np.array([1, 2, 3, 4, 5, 6])reshaped_arr = np.reshape(arr, (1, 6))print(reshaped_arr)
[[1 2 3 4 5 6]]
Die Reshape-Funktion ermöglicht daher, die Form des Arrays flexibel an die gewünschten Datenformate oder Verarbeitungsaufgaben anzupassen.
Verwenden von reshape, um die Größe eines Arrays an eine unbekannte Größe anzupassen
Mit der Umformungsfunktion in Python können Sie die Größe eines Arrays ändern und auch eine unbekannte Größe berücksichtigen. Dies ist besonders nützlich, wenn die Eingabe eine unbestimmte Anzahl von Elementen aufweist oder das Array an die gewünschte Datenstruktur angepasst werden muss.
Um ein Umriss mit einer unbekannten Größe zu verwenden, können Sie -1 als Wert für eine der Dimensionen des Arrays angeben. Dies ermöglicht es der Funktion, die Dimension anhand der übrigen bekannten Parameter selbst zu bestimmen.
# Исходный одномерный массивarr = np.array([1, 2, 3, 4, 5, 6])# Используем reshape для преобразования массива в двумерныйreshaped_arr = arr.reshape(2, -1)print(reshaped_arr)
Ergebnis der Codeausführung:
In diesem Beispiel wurde das arr-Array mit der Funktion "reshape" in ein zweidimensionales Array mit der Dimension 2x3 konvertiert. Dabei wurde -1 für eine unbekannte Dimension verwendet, und die Funktion hat automatisch festgestellt, dass die zweite Dimension 3 sein muss.
Die Verwendung von reshape mit einer unbekannten Größe kann die Arbeit mit Daten erheblich vereinfachen und den Programmcode vereinfachen, insbesondere wenn Sie mit großen Datenmengen oder heterogenen Datenstrukturen arbeiten.