Transponieren eine 1D-Array in NumPy
Arrays und Matrizen bilden den Kern dieser Python-Bibliothek. Transponierungen dieser Arrays und Matrizen spielen in einigen Fächern eine entscheidende Rolle, beispielsweise beim maschinellen Lernen. In NumPy ist es einfach, die Transponierung eines Arrays oder einer Matrix zu berechnen.
Transponieren ein 1D-Array in NumPy
Um ein Array oder eine Matrix in NumPy zu transponieren, müssen wir das Attribut T
verwenden, in dem das transponierte Array oder die transponierte Matrix gespeichert ist.
Das Attribut T
ist exklusiv für NumPy-Arrays, dh nur für ndarray
. Dieses Attribut ist für Python-Listen ungültig.
Theoretisch ist es möglich, ein 1D-Array zu transponieren, aber technisch oder genauer gesagt in Bezug auf Programmiersprachen ist es nicht möglich, ein 1D-Array zu transponieren.
Versteh mich nicht falsch mit dieser Aussage. Es ist nur so, dass das Transponieren eines 1D-Arrays in Python oder einer anderen Programmiersprache etwas anders ist. Alles läuft darauf hinaus, wie Arrays in Programmiersprachen dargestellt werden.
Ein 1D-Array ist einfach eine Zeile einer Matrix. Wenn wir dieses Array, eine technische Matrix, transponieren müssen, müssen wir diese 1D-Matrix in eine 2D-Matrix konvertieren. Und dann transponieren Sie die 2-D-Matrix mit festgelegten Funktionen.
Weitere Informationen finden Sie im folgenden Code.
import numpy as np
a = [1, 2, 3, 4, 5]
b = np.array(a)
c = np.array([a])
print(b)
print(c)
print(b.shape)
print(c.shape)
print(b.T)
print(c.T)
Ausgabe:
[1 2 3 4 5]
[[1 2 3 4 5]]
(5,)
(1, 5)
[1 2 3 4 5]
[[1]
[2]
[3]
[4]
[5]]
Zuerst bilden wir zwei NumPy-Arrays, b
ist 1D und c
ist 2D, wobei wir die Methode np.array()
und eine Python-Liste verwenden. Um die Liste in eine 2D-Matrix zu konvertieren, setzen wir sie in Klammern []
um. Dann drucken wir die NumPy-Arrays und ihre jeweiligen Formen.
Das Wichtigste ist jedoch, dass die Transponierung des 1D-Arrays mit der des Arrays selbst identisch ist, die Transponierung des 2D-Arrays jedoch vollständig geändert wird. Und die Ergebnisse sind ziemlich offensichtlich.
Das nicht transponierte 2D-Array enthält ein Array mit fünf Elementen, die eine Zeile der Matrix darstellen. Bei der Transponierung befanden sich fünf Arrays innerhalb des 2D-Arrays, die fünf Zeilen der transponierten Matrix mit einem Element in jeder Zeile repräsentierten. Und so funktioniert das Transponieren!
Während im Fall des 1D-Arrays dasselbe Array zurückgegeben wurde, weil das transponierte Array von [1 2 3 4 5]
in Python so aussieht [1 2 3 4 5]
. Für dieses Ergebnis muss unser ursprüngliches Array 2D anstelle von 1D sein.