Heim  >  Artikel  >  Backend-Entwicklung  >  Warum transponiert „a.T“ ein 1D-NumPy-Array nicht?

Warum transponiert „a.T“ ein 1D-NumPy-Array nicht?

Susan Sarandon
Susan SarandonOriginal
2024-11-10 21:46:021003Durchsuche

Why Doesn't `a.T` Transpose a 1D NumPy Array?

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!

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