Heim > Artikel > Backend-Entwicklung > Warum transponiert „a.T“ ein 1D-NumPy-Array nicht?
So transponieren Sie ein 1D-NumPy-Array
Bei der Arbeit mit der NumPy-Bibliothek von Python ist das Verständnis des Konzepts der Transposition für die Manipulation von Arrays von entscheidender Bedeutung. Beim Versuch, ein 1D-Array zu transponieren, kann es jedoch zu Verwirrung kommen.
Betrachten Sie zur Veranschaulichung den folgenden Code:
import numpy as np a = np.array([5,4]) print(a) print(a.T)
Die Ausgabe dieses Codes zeigt, dass a.T das Array nicht als transponiert erwartet. Dies liegt daran, dass die Transponierte eines 1D-Arrays auch ein 1D-Array ist. Wenn das Array dagegen 2D ist, wie zum Beispiel „[[],[]], tauscht die Transponierung Zeilen und Spalten korrekt aus.
Um die gewünschte Transponierung eines 1D-Arrays zu erhalten, können Sie es in ein konvertieren 2D-Array und transponiere es dann. Dies wird mit np.newaxis (oder None) erreicht, das dem Array eine zusätzliche Dimension hinzufügt:
a = np.array([5,4])[np.newaxis] print(a) print(a.T)
Dieser Prozess wandelt den Vektor effektiv in einen Spaltenvektor um und transponiert ihn dann korrekt.
Es ist wichtig zu beachten, dass das Hinzufügen der zusätzlichen Dimension in den meisten Fällen nicht erforderlich ist, da NumPy automatisch 1D-Arrays in Berechnungen überträgt, wodurch die Unterscheidung zwischen Zeile und Spalte effektiv entfällt Vektoren.
Das obige ist der detaillierte Inhalt vonWarum transponiert „a.T“ ein 1D-NumPy-Array nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!