Ist der Parameter -1 in Numpys Reshape() ein Platzhalter oder ein fester Wert?

Barbara Streisand
Freigeben: 2024-10-20 22:15:02
Original
981 Leute haben es durchsucht

Is the -1 Parameter in Numpy's Reshape() a Wildcard or a Fixed Value?

Die Rolle von -1 bei 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]])
Nach dem Login kopieren

Typischerweise bezeichnet Array[-1] 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 die folgende Anordnung:

z = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
z.shape  # (3, 4)
Nach dem Login kopieren

Umformen mit (-1):

z.reshape(-1)
# Output: array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])
# New shape: (12,)
Nach dem Login kopieren

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

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

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

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

Beachten Sie, dass die Angabe beider Dimensionen als -1, d. h. (-1, -1), zu einem Fehler führt.

Durch das Verständnis der Bedeutung von -1 in reshape() können Entwickler Array-Formen effektiv umwandeln, um ihre spezifischen Datenverarbeitungsanforderungen in Numpy zu erfüllen.

Das obige ist der detaillierte Inhalt vonIst der Parameter -1 in Numpys Reshape() ein Platzhalter oder ein fester Wert?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!