= [1, 2, 3, 4, 5, 6]
liste
= [[1, 2, 3], [4, 5, 6]]
matrix
print(liste)
print(matrix)
[1, 2, 3, 4, 5, 6]
[[1, 2, 3], [4, 5, 6]]
Typischerweise werden in Python Vektoren durch Listen und Matrizen durch geschachtelte Listen ausgedrückt. Beispielsweise würde man den Vektor
\[ (1, 2, 3, 4, 5, 6) \]
und die Matrix
\[ \begin{pmatrix} 1 & 2 & 3\\ 4 & 5 & 6 \end{pmatrix} \]
nativ in Python so erstellen:
= [1, 2, 3, 4, 5, 6]
liste
= [[1, 2, 3], [4, 5, 6]]
matrix
print(liste)
print(matrix)
[1, 2, 3, 4, 5, 6]
[[1, 2, 3], [4, 5, 6]]
Möchte man jetzt NumPy Arrays verwenden benutzt man den Befehl np.array()
.
= np.array([1, 2, 3, 4, 5, 6])
liste
= np.array([[1, 2, 3], [4, 5, 6]])
matrix
print(liste)
print(matrix)
[1 2 3 4 5 6]
[[1 2 3]
[4 5 6]]
Betrachtet man die Ausgaben der print()
Befehle fallen zwei Sachen auf. Zum einen fallen die Kommata weg und zum anderen wird die Matrix passend ausgegeben.
Es gibt auch die Möglichkeit, höherdimensionale Arrays zu erstellen. Dabei wird eine neue Ebene der Verschachtelung benutzt. Im folgenden Beispiel wird eine drei-dimensionale Matrix erstellt.
= np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) matrix_3d
Es gilt als “good practice” Arrays immer zu initialisieren. Dafür bietet NumPy drei Funktionen um vorinitialisierte Arrays zu erzeugen. Alternativ können Arrays auch mit festgesetzten Werten initialisiert werden. Dafür kann entweder die Funktion np.zeros()
verwendet werden die alle Werte auf 0 setzt, oder aber np.ones()
welche alle Werte mit 1 initialisiert. Der Funktion wird die Form im Format [Reihen,Spalten]
übergeben. Möchte man alle Einträge auf einen spezifischen Wert setzen, kann man den Befehl np.full()
benutzen.
2,3]) np.zeros([
array([[0., 0., 0.],
[0., 0., 0.]])
2,3]) np.ones([
array([[1., 1., 1.],
[1., 1., 1.]])
2,3],7) np.full([
array([[7, 7, 7],
[7, 7, 7]])
Der Trick beseht hierbei ein Array mit np.ones()
zu initialisiere und dieses Array dann mit der Zahl x zu multiplizieren. Im folgenden Beispiel ist x = 5
2,3]) * 5 np.ones([
array([[5., 5., 5.],
[5., 5., 5.]])
Möchte man zum Beispiel für eine Achse in einem Plot einen Vektor mit gleichmäßig verteilten Werten erstellen, bieten sich in NumPy zwei Möglichkeiten. Mit den Befehlen np.linspace(Start,Stop,#Anzahl Werte)
und np.arrange(Start,Stop,Abstand zwischen Werten)
können solche Arrays erstellt werden.
0,1,11) np.linspace(
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])
0,10,2) np.arange(
array([0, 2, 4, 6, 8])
Erstellen Sie jeweils ein NumPy-Array, mit dem folgenden Inhalt: