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:

Python Matrix

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 PythonViele Operationen kรถnnen mit einer matrixartigen Addition durchgefรผhrt werden, z. B. Subtraktion.traction, 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โ€œ
  • Erschaffung Python Matrix mit Arrays von Python Numpy-Paket

Erschaffung 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:

Erschaffung Python Matrix mit einer verschachtelten Liste

  • 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]]

Erschaffung 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 durchfรผhrbare Matrixoperation ist die Addition, SubtraktiontracArray-Operationen wie Multiplikation, Transponieren, Lesen der Zeilen und Spalten einer Matrix, Schneiden der Matrix usw. In allen Beispielen verwenden wir die Methode array().

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]]

Matrix SubtracProduktion

Um Unterabschnitte durchzufรผhrentracUm auf der Matrix zu arbeiten, erstellen wir zwei Matrizen mit numpy.array() und subtract 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, 3.rd, 4.th, 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 durchfรผhrbare Matrixoperation ist die Addition, SubtraktiontracInvertierung, Multiplikation, Transponieren, Lesen der Zeilen und Spalten einer Matrix, Zerlegen 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.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: