Die Rolle von -1 in 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]])
Array[-1] bezeichnet normalerweise 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 das folgende Array:
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 Verständnis der Bedeutung von -1 in reshape() können Entwickler Array-Formen effektiv transformieren, um ihre spezifischen Datenverarbeitungsanforderungen in Numpy zu erfüllen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3