Den Wert „-1“ in der Reshape-Funktion von NumPy verstehen
Mit der Reshape-Funktion von NumPy können Sie die Form eines mehrdimensionalen Arrays transformieren. Der Wert „-1“ wird üblicherweise als Platzhalter bei der Angabe der neuen Form verwendet, seine Interpretation unterscheidet sich jedoch von der typischen Bedeutung von array[-1] als letztem Element.
Im Zusammenhang mit reshape gilt „ -1" weist auf eine unbekannte Dimension hin. Die Funktion ermittelt diese Dimension automatisch basierend auf der vorhandenen Form des Arrays und den anderen angegebenen Dimensionen. Der wichtigste Grundsatz hierbei ist, dass die neue Form mit der ursprünglichen Form kompatibel sein muss.
Um besser zu verstehen, wie „-1“ funktioniert, betrachten Sie das folgende Beispiel:
<code class="python">import numpy as np a = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) print(a.reshape(-1))</code>
In diesem Fall , a hat die Form (2, 4). Durch die Verwendung von reshape(-1) reduzieren wir das Array zu einem eindimensionalen Array. Die neue Form wird zu (8,), was mit der ursprünglichen Form (2x4 = 8) kompatibel ist.
Lassen Sie uns nun verschiedene Möglichkeiten erkunden, „-1“ zum Umformen von Arrays zu verwenden:
Umformen in ein einzelnes Feature:
Um ein Array in eine Form umzuformen, die ein einzelnes Feature (d. h. eine einzelne Spalte) hat, können wir reshape(-1, 1):
<code class="python">print(a.reshape(-1, 1))</code>
Umformung in ein einzelnes Sample:
Ähnlich können wir reshape(1, -1) verwenden, um ein Array in eine Form umzuformen, die ein einzelnes Sample (d. h. eine einzelne Zeile) hat:<code class="python">print(a.reshape(1, -1))</code>
Umformen mit unbekannten Dimensionen:
Wenn wir nur eine Dimension angeben Als „-1“ berechnet die Funktion die unbekannte Abmessung basierend auf der Originalform und der bereitgestellten Abmessung:<code class="python">print(a.reshape(2, -1))</code>
Fehler bei unbekannten mehreren Dimensionen:
Es ist wichtig zu beachten, dass mehrere Dimensionen angegeben werden als „-1“ führt zu einem Fehler, da die Funktion nur eine unbekannte Dimension verarbeiten kann:<code class="python">try: a.reshape(-1, -1) except ValueError as e: print(e)</code>
Das obige ist der detaillierte Inhalt vonWelche Bedeutung und Verwendung hat der Wert „-1' in der Reshape-Funktion von NumPy?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!