Heim  >  Artikel  >  Backend-Entwicklung  >  Welche Rolle spielt -1 in der .reshape()-Methode von NumPy für die Array-Umformung?

Welche Rolle spielt -1 in der .reshape()-Methode von NumPy für die Array-Umformung?

Susan Sarandon
Susan SarandonOriginal
2024-10-20 22:16:02379Durchsuche

What Role Does -1 Play in NumPy's .reshape() Method for Array Reshaping?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn