Die Rolle von -1 bei Numpy Reshape verstehen
In Numpy ermöglicht die reshape()-Methode die Transformation von Array-Formen. Wenn Sie mit 2D-Arrays arbeiten, ist es möglich, diese mit reshape(-1) in 1D-Arrays umzuformen. Zum Beispiel:
import numpy as np a = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) a.reshape(-1) # Output: array([[1, 2, 3, 4, 5, 6, 7, 8]])
Typischerweise bezeichnet Array[-1] das letzte Element in einem Array. Im Kontext von reshape(-1) hat dies jedoch eine andere Bedeutung.
Der Parameter -1 in Reshape
Der Parameter -1 in reshape(- 1) dient als Platzhalterdimension. Es zeigt an, dass die entsprechende Abmessung der neuen Form automatisch ermittelt werden soll. Dies geschieht durch Erfüllung des Kriteriums, dass die neue Form an der ursprünglichen Array-Form ausgerichtet sein muss und ihre lineare Dimension beibehalten muss.
Numpy erlaubt die Verwendung von -1 in einem der Formparameter und ermöglicht so die Angabe unbekannter Dimensionen . Beispielsweise sind (-1, 3) oder (2, -1) gültige Formen, während (-1, -1) dies nicht ist.
Beispiele für die Umformung von (-1)
Betrachten Sie die folgende Anordnung:
z = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]) z.shape # (3, 4)
Umformen mit (-1):
z.reshape(-1) # Output: array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) # New shape: (12,)
Umformen mit (-1, 1) (Einzelelement):
z.reshape(-1, 1) # Output: array([[ 1], [ 2], [ 3], [ 4], [ 5], [ 6], [ 7], [ 8], [ 9], [10], # [11], [12]]) # New shape: (12, 1)
Umformen mit (-1, 2) (einzelne Zeile):
z.reshape(1, -1) # Output: array([[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]) # New shape: (1, 12)
Umformen mit (2, -1):
z.reshape(2, -1) # Output: array([[ 1, 2, 3, 4, 5, 6], [ 7, 8, 9, 10, 11, 12]]) # New shape: (2, 6)
Umformen mit (3, -1) (Originalform):
z.reshape(3, -1) # Output: array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]) # New shape: (3, 4)
Beachten Sie, dass die Angabe beider Dimensionen als -1, d. h. (-1, -1), zu einem Fehler führt.
Durch das Verständnis der Bedeutung von -1 in reshape() können Entwickler Array-Formen effektiv umwandeln, um ihre spezifischen Datenverarbeitungsanforderungen in Numpy zu erfüllen.
Das obige ist der detaillierte Inhalt vonIst der Parameter -1 in Numpys Reshape() ein Platzhalter oder ein fester Wert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!