Was bedeutet -1 in der .reshape()-Methode von NumPy?
In NumPy wird die .reshape()-Methode zum Ändern verwendet die Form eines mehrdimensionalen Arrays. Interessanterweise kann der Wert -1 verwendet werden, um ein Array auf eine bestimmte Weise umzuformen.
Das Konzept von -1 verstehen
In NumPy gibt -1 eine Unbekannte an Dimension zum Umformen eines Arrays. Wenn Sie -1 als einen der Formparameter angeben, geben Sie an, dass die Form automatisch berechnet werden soll, um bestimmte Bedingungen zu erfüllen.
Kompatibilität mit Originalform
Ein entscheidender Faktor Voraussetzung für die Umformung eines Arrays ist, dass die neue Form mit der ursprünglichen Form kompatibel sein muss. Das bedeutet, dass die Anzahl der Elemente im umgeformten Array mit der Anzahl der Elemente im ursprünglichen Array übereinstimmen muss.
Ableitung der unbekannten Dimension
NumPy berechnet die unbekannte Dimension nach unter Berücksichtigung der Länge des Arrays und der anderen angegebenen Abmessungen. Dadurch wird sichergestellt, dass die neue Form die oben genannte Kompatibilitätsbedingung erfüllt.
Beispiele
Betrachten Sie das folgende NumPy-Array:
<code class="python">z = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])</code>
Seine ursprüngliche Form ist (3, 4).
Umformen mit (-1)
Umformen von z mit (-1) als einzigem Parameter ergibt ein 1D-Array mit allen Elemente:
<code class="python">z.reshape(-1) array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])</code>
Umformen mit (-1, 1)
Umformen mit (-1, 1) erstellt ein Array mit unbekannten Zeilen und einer Spalte:
<code class="python">z.reshape(-1, 1) array([[ 1], [ 2], [ 3], [ 4], [ 5], [ 6], [ 7], [ 8], [ 9], [10], [11], [12]])</code>
Umformen mit (-1, 2)
Die Verwendung von (-1, 2) führt zu einem Array mit unbekannten Zeilen und zwei Spalten:
<code class="python">z.reshape(-1, 2) array([[ 1, 2], [ 3, 4], [ 5, 6], [ 7, 8], [ 9, 10], [11, 12]])</code>
Umformen mit (1, -1)
Umformen mit (1, -1) erstellt ein Array mit einer Zeile und unbekannten Spalten:
<code class="python">z.reshape(1,-1) array([[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]])</code>
Umformen mit (-1, -1)
Wenn Sie jedoch beide Dimensionen als -1 angeben, löst NumPy einen ValueError aus, da die neue Form nicht eindeutig bestimmt werden kann.
Das obige ist der detaillierte Inhalt vonWelche Rolle spielt -1 in der .reshape()-Methode von NumPy für die Array-Umformung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!