Heim > Backend-Entwicklung > Python-Tutorial > Welche Bedeutung und Verwendung hat der Wert „-1' in der Reshape-Funktion von NumPy?

Welche Bedeutung und Verwendung hat der Wert „-1' in der Reshape-Funktion von NumPy?

Barbara Streisand
Freigeben: 2024-10-20 22:13:30
Original
576 Leute haben es durchsucht

What is the Meaning and Usage of the '-1' Value in NumPy's Reshape Function?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren
Dies führt zu einer Form von (8, 1), wobei jedes Element eine Zeile aus dem ursprünglichen Array ist.

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>
Nach dem Login kopieren
Dies wird Erzeugen Sie eine Form von (1, 8), wobei jedes Element eine Spalte aus dem ursprünglichen Array ist.

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>
Nach dem Login kopieren
In diesem Beispiel geben wir die Anzahl der Zeilen als 2 an. Die Funktion berechnet die Die Anzahl der Spalten soll 6 betragen, was zu einer Form von (2, 6) führt.

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>
Nach dem Login kopieren
Dadurch wird die Fehlermeldung „Es kann nur eine unbekannte Dimension angegeben werden“ generiert.

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!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage