Python Matrix: Transponieren, Multiplikation, NumPy-Arrays-Beispiele
Was ist Python Matrix?
A Python Eine Matrix ist ein spezielles zweidimensionales rechteckiges Array von Daten, das in Zeilen und Spalten gespeichert ist. Die Daten in einer Matrix können Zahlen, Zeichenfolgen, Ausdrücke, Symbole usw. sein. Eine Matrix ist eine der wichtigsten Datenstrukturen, die in mathematischen und wissenschaftlichen Berechnungen verwendet werden können.
Wie Python Matrizen funktionieren?
Die Daten innerhalb des zweidimensionalen Arrays im Matrixformat sehen wie folgt aus:
Schritt 1) Es zeigt eine 2×2-Matrix. Sie hat zwei Zeilen und zwei Spalten. Die Daten in der Matrix sind Zahlen. Zeile 2 hat die Werte 1 und Zeile 2,3 hat die Werte 2. Die Spalten, also Spalte 4,5, haben die Werte 1 und Spalte 2,4 hat die Werte 2.
Schritt 2) Es zeigt eine 2×3-Matrix. Es besteht aus zwei Zeilen und drei Spalten. Die Daten in der ersten Zeile, also Zeile1, haben die Werte 2,3,4 und Zeile2 hat die Werte 5,6,7. Die Spalten col1 haben die Werte 2,5, col2 hat die Werte 3,6 und col3 hat die Werte 4,7.
Auf ähnliche Weise können Sie Ihre Daten in der nxn-Matrix speichern in Python. Auf einer matrixähnlichen Basis können zahlreiche Operationen durchgeführt werden: Addition, Subtraktion, Multiplikation usw.
Python verfügt nicht über eine direkte Möglichkeit, einen Matrixdatentyp zu implementieren.
Die Python-Matrix verwendet Arrays, und das Gleiche kann implementiert werden.
- Erstellen Sie Python Matrix mit dem Datentyp „verschachtelte Liste“
- Kreation Python Matrix mit Arrays von Python Numpy-Paket
Kreation Python Matrix mit einem verschachtelten Listendatentyp
In Python, die Arrays werden mit dem Datentyp „Liste“ dargestellt. Wir werden jetzt also die Liste verwenden, um eine Python-Matrix zu erstellen.
Wir erstellen eine 3×3-Matrix, wie unten gezeigt:
- Die Matrix besteht aus 3 Zeilen und 3 Spalten.
- Die erste Zeile in einem Listenformat sieht wie folgt aus: [8,14,-6]
- Die zweite Zeile in einer Liste lautet: [12,7,4]
- Die dritte Zeile in einer Liste lautet: [-11,3,21]
Die Matrix innerhalb einer Liste mit allen Zeilen und Spalten sieht wie folgt aus:
List = [[Row1],
[Row2],
[Row3]
...
[RowN]]
Gemäß der oben aufgeführten Matrix lautet der Listentyp mit Matrixdaten wie folgt:
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
Zum Lesen der darin enthaltenen Daten Python Matrix mithilfe einer Liste.
Wir werden die oben definierte Matrix verwenden. Das Beispiel liest die Daten, druckt die Matrix und zeigt das letzte Element aus jeder Zeile an.
Beispiel: Um die Matrix zu drucken
M1 = [[8, 14, -6],
[12,7,4],
[-11,3,21]]
#To print the matrix
print(M1)
Ausgang:
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
Beispiel 2: Das letzte Element aus jeder Zeile lesen
M1 = [[8, 14, -6],
[12,7,4],
[-11,3,21]]
matrix_length = len(M1)
#To read the last element from each row.
for i in range(matrix_length):
print(M1[i][-1])
Ausgang:
-6 4 21
Beispiel 3: Um die Zeilen in der Matrix zu drucken
M1 = [[8, 14, -6],
[12,7,4],
[-11,3,21]]
matrix_length = len(M1)
#To print the rows in the Matrix
for i in range(matrix_length):
print(M1[i])
Ausgang:
[8, 14, -6] [12, 7, 4] [-11, 3, 21]
Hinzufügen von Matrizen mithilfe einer verschachtelten Liste
Wir können zwei gegebene Matrizen leicht addieren. Die Matrizen liegen hier in Listenform vor. Lassen Sie uns an einem Beispiel arbeiten, das darauf achtet, die angegebenen Matrizen hinzuzufügen.
Matrix 1:
M1 = [[8, 14, -6],
[12,7,4],
[-11,3,21]]
Matrix 2:
M2 = [[3, 16, -6],
[9,7,-4],
[-1,3,13]]
Last initialisiert eine Matrix, die das Ergebnis von M1 + M2 speichert.
Matrix 3:
M3 = [[0,0,0],
[0,0,0],
[0,0,0]]
Beispiel: Matrizen hinzufügen
Zum Hinzufügen nutzen die Matrizen eine for-Schleife, die beide angegebenen Matrizen durchläuft.
M1 = [[8, 14, -6],
[12,7,4],
[-11,3,21]]
M2 = [[3, 16, -6],
[9,7,-4],
[-1,3,13]]
M3 = [[0,0,0],
[0,0,0],
[0,0,0]]
matrix_length = len(M1)
#To Add M1 and M2 matrices
for i in range(len(M1)):
for k in range(len(M2)):
M3[i][k] = M1[i][k] + M2[i][k]
#To Print the matrix
print("The sum of Matrix M1 and M2 = ", M3)
Ausgang:
The sum of Matrix M1 and M2 = [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]
Multiplikation von Matrizen mithilfe einer verschachtelten Liste
Um die Matrizen zu multiplizieren, können wir die for-Schleife für beide Matrizen verwenden, wie im folgenden Code gezeigt:
M1 = [[8, 14, -6],
[12,7,4],
[-11,3,21]]
M2 = [[3, 16, -6],
[9,7,-4],
[-1,3,13]]
M3 = [[0,0,0],
[0,0,0],
[0,0,0]]
matrix_length = len(M1)
#To Multiply M1 and M2 matrices
for i in range(len(M1)):
for k in range(len(M2)):
M3[i][k] = M1[i][k] * M2[i][k]
#To Print the matrix
print("The multiplication of Matrix M1 and M2 = ", M3)
Ausgang:
The multiplication of Matrix M1 and M2 = [[24, 224, 36], [108, 49, -16], [11, 9, 273]]
Kreation Python Matrix mit Arrays von Python Numpy-Paket
Die Python-Bibliothek Numpy hilft beim Umgang mit Arrays. Numpy verarbeitet ein Array im Vergleich zur Liste etwas schneller.
Um mit Numpy arbeiten zu können, müssen Sie es zuerst installieren. Befolgen Sie die unten aufgeführten Schritte, um Numpy zu installieren.
Schritt 1) Der Befehl zum Installieren von Numpy lautet:
pip install NumPy
Schritt 2) Um Numpy in Ihrem Code nutzen zu können, müssen Sie es importieren.
import NumPy
Schritt 3) Sie können Numpy auch mit einem Alias importieren, wie unten gezeigt:
import NumPy as np
Wir werden die Methode array() von Numpy verwenden, um eine Python-Matrix zu erstellen.
Beispiel: Zu erstellendes Array in Numpy Python Matrix
import numpy as np M1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]]) print(M1)
Ausgang:
[[ 5 -10 15] [ 3 -6 9] [ -4 8 12]]
Matrix Operation mit Numpy.Array()
Die möglichen Matrixoperationen sind Addition, Subtraktion, Multiplikation, Transponierung, Lesen der Zeilen und Spalten einer Matrix, Aufteilen der Matrix usw. In allen Beispielen verwenden wir eine array()-Methode.
Matrixaddition
Um die Addition der Matrix durchzuführen, erstellen wir mit numpy.array() zwei Matrizen und addieren sie mit dem Operator (+).
Ejemplo:
import numpy as np M1 = np.array([[3, 6, 9], [5, -10, 15], [-7, 14, 21]]) M2 = np.array([[9, -18, 27], [11, 22, 33], [13, -26, 39]]) M3 = M1 + M2 print(M3)
Ausgang:
[[ 12 -12 36] [ 16 12 48] [ 6 -12 60]]
Matrixsubtraktion
Um eine Subtraktion auf der Matrix durchzuführen, erstellen wir mit numpy.array() zwei Matrizen und subtrahieren sie mit dem Operator (-).
Ejemplo:
import numpy as np M1 = np.array([[3, 6, 9], [5, -10, 15], [-7, 14, 21]]) M2 = np.array([[9, -18, 27], [11, 22, 33], [13, -26, 39]]) M3 = M1 - M2 print(M3)
Ausgang:
[[ -6 24 -18] [ -6 -32 -18] [-20 40 -18]]
Matrix-Multiplikation
Zuerst werden mit numpy.arary() zwei Matrizen erstellt. Um sie zu multiplizieren, können Sie die Methode numpy dot() verwenden. Numpy.dot() ist das Skalarprodukt der Matrix M1 und M2. Numpy.dot() verarbeitet die 2D-Arrays und führt Matrixmultiplikationen durch.
Ejemplo:
import numpy as np M1 = np.array([[3, 6], [5, -10]]) M2 = np.array([[9, -18], [11, 22]]) M3 = M1.dot(M2) print(M3)
Ausgang:
[[ 93 78] [ -65 -310]]
Matrixtransponierung
Die Transponierte einer Matrix wird berechnet, indem die Zeilen in Spalten und die Spalten in Zeilen geändert werden. Mit der Funktion transpose() von Numpy kann die Transponierte einer Matrix berechnet werden.
Ejemplo:
import numpy as np M1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]]) M2 = M1.transpose() print(M2)
Ausgang:
[[ 3 5 4] [ 6 -10 8] [ 9 15 12]]
Zerschneiden einer Matrix
Beim Slicing erhalten Sie die Elemente aus der Matrix basierend auf dem angegebenen Start-/Endindex.
- Die Syntax für das Slicing ist – [Start:Ende]
- Wenn der Startindex nicht angegeben ist, wird er als 0 betrachtet. Beispielsweise bedeutet [:5] [0:5].
- Wenn das Ende nicht übergeben wird, wird es als Länge des Arrays verwendet.
- Wenn Anfang/Ende negative Werte haben, erfolgt das Slicing vom Ende des Arrays aus.
Bevor wir uns mit dem Slicing einer Matrix befassen, wollen wir zunächst verstehen, wie man Slice auf ein einfaches Array anwendet.
import numpy as np arr = np.array([2,4,6,8,10,12,14,16]) print(arr[3:6]) # will print the elements from 3 to 5 print(arr[:5]) # will print the elements from 0 to 4 print(arr[2:]) # will print the elements from 2 to length of the array. print(arr[-5:-1]) # will print from the end i.e. -5 to -2 print(arr[:-1]) # will print from end i.e. 0 to -2
Ausgang:
[ 8 10 12] [ 2 4 6 8 10] [ 6 8 10 12 14 16] [ 8 10 12 14] [ 2 4 6 8 10 12 14]
Lassen Sie uns nun das Slicing auf der Matrix implementieren. So führen Sie das Slicing einer Matrix durch
Die Syntax lautet M1[row_start:row_end, col_start:col_end]
- Der erste Anfang/Ende dient der Zeile, dh der Auswahl der Zeilen der Matrix.
- Der zweite Anfang/Ende dient der Spalte, dh der Auswahl der Spalten der Matrix.
Die Matrix M1 t, die wir verwenden werden, ist wie folgt:
M1 = np.array([[2, 4, 6, 8, 10],
[3, 6, 9, -12, -15],
[4, 8, 12, 16, -20],
[5, -10, 15, -20, 25]])
Es gibt insgesamt 4 Reihen. Der Index beginnt bei 0 bis 3. Die 0th Zeile ist [2,4,6,8,10], 1st Zeile ist [3,6,9,-12,-15] gefolgt von 2nd und 3rd.
Die Matrix M1 hat 5 Spalten. Der Index beginnt bei 0 bis 4. Die 0th Spalte hat die Werte [2,3,4,5], 1st Spalten haben die Werte [4,6,8,-10] gefolgt von 2nd, 3rd, 4th, und 5th.
Hier ist ein Beispiel, das zeigt, wie man die Zeilen- und Spaltendaten aus der Matrix durch Aufteilen erhält. Im Beispiel drucken wir die 1st und 2nd Zeile, und für Spalten möchten wir die erste, zweite und dritte Spalte. Um diese Ausgabe zu erhalten, haben wir Folgendes verwendet: M1[1:3, 1:4]
Ejemplo:
import numpy as np
M1 = np.array([[2, 4, 6, 8, 10],
[3, 6, 9, -12, -15],
[4, 8, 12, 16, -20],
[5, -10, 15, -20, 25]])
print(M1[1:3, 1:4]) # For 1:3, it will give first and second row.
#The columns will be taken from first to third.
Ausgang:
[[ 6 9 -12] [ 8 12 16]]
Beispiel: Alle Zeilen und dritten Spalten drucken
import numpy as np
M1 = np.array([[2, 4, 6, 8, 10],
[3, 6, 9, -12, -15],
[4, 8, 12, 16, -20],
[5, -10, 15, -20, 25]])
print(M1[:,3]) # This will print all rows and the third column data.
Ausgang:
[ 8 -12 16 -20]
Beispiel: Die erste Zeile und alle Spalten drucken
import numpy as np
M1 = np.array([[2, 4, 6, 8, 10],
[3, 6, 9, -12, -15],
[4, 8, 12, 16, -20],
[5, -10, 15, -20, 25]])
print(M1[:1,]) # This will print first row and all columns
Ausgang:
[[ 2 4 6 8 10]]
Beispiel: Die ersten drei Zeilen und die ersten beiden Spalten drucken
import numpy as np
M1 = np.array([[2, 4, 6, 8, 10],
[3, 6, 9, -12, -15],
[4, 8, 12, 16, -20],
[5, -10, 15, -20, 25]])
print(M1[:3,:2])
Ausgang:
[[2 4] [3 6] [4 8]]
Zugriff auf die NumPy-Matrix
Wir haben gesehen, wie das Schneiden funktioniert. Unter Berücksichtigung dessen erfahren wir, wie wir die Zeilen und Spalten aus der Matrix erhalten.
Zum Drucken der Zeilen der Matrix
Im Beispiel werden die Zeilen der Matrix gedruckt.
Ejemplo:
import numpy as np M1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]]) print(M1[0]) #first row print(M1[1]) # the second row print(M1[-1]) # -1 will print the last row
Ausgang:
[3 6 9] [ 5 -10 15] [ 4 8 12]
Um die letzte Zeile zu erhalten, können Sie den Index oder -1 verwenden. Die Matrix hat zum Beispiel 3 Zeilen,
also gibt Ihnen M1[0] die erste Zeile,
M1[1] gibt Ihnen die zweite Reihe
Mit M1[2] oder M1[-1] erhalten Sie die dritte oder letzte Reihe.
Zum Drucken der Spalten der Matrix
import numpy as np
M1 = np.array([[2, 4, 6, 8, 10],
[3, 6, 9, -12, -15],
[4, 8, 12, 16, -20],
[5, -10, 15, -20, 25]])
print(M1[:,0]) # Will print the first Column
print(M1[:,3]) # Will print the third Column
print(M1[:,-1]) # -1 will give you the last column
Ausgang:
[2 3 4 5] [ 8 -12 16 -20] [ 10 -15 -20 25]
Zusammenfassung
- A Python Eine Matrix ist ein spezielles zweidimensionales rechteckiges Array von Daten, das in Zeilen und Spalten gespeichert ist. Die Daten in einer Matrix können Zahlen, Zeichenfolgen, Ausdrücke, Symbole usw. sein. Eine Matrix ist eine der wichtigsten Datenstrukturen, die in mathematischen und wissenschaftlichen Berechnungen verwendet werden können.
- Python verfügt nicht über eine direkte Möglichkeit, einen Matrixdatentyp zu implementieren. Python Matrizen können mithilfe eines verschachtelten Listendatentyps und der Numpy-Bibliothek erstellt werden.
- Die Python-Bibliothek Numpy hilft beim Umgang mit Arrays. Numpy verarbeitet ein Array im Vergleich zur Liste etwas schneller.
- Die möglichen Matrixoperationen sind Addition, Subtraktion, Multiplikation, Transponierung, Lesen der Zeilen und Spalten einer Matrix, Aufteilen der Matrix usw.
- Um zwei Matrizen hinzuzufügen, können Sie numpy.array() verwenden und sie mit dem Operator (+) hinzufügen.
- Um sie zu multiplizieren, können Sie die Methode numpy dot() verwenden. Numpy.dot() ist das Skalarprodukt der Matrix M1 und M2. Numpy.dot() verarbeitet die 2D-Arrays und führt Matrixmultiplikationen durch.
- Die Transponierte einer Matrix wird berechnet, indem die Zeilen in Spalten und die Spalten in Zeilen geändert werden. Mit der Funktion transpose() von Numpy kann die Transponierte einer Matrix berechnet werden.
- Durch das Schneiden einer Matrix erhalten Sie die Elemente basierend auf dem angegebenen Start-/Endindex.


