Python Matrix: Eksempler på Transponering, Multiplikation, NumPy Arrays
Hvad er Python Matrix?
A Python matrix er en specialiseret todimensional rektangulær matrix af data, der er gemt i rækker og kolonner. Dataene i en matrix kan være tal, strenge, udtryk, symboler osv. Matrix er en af de vigtige datastrukturer, som kan bruges i matematiske og videnskabelige beregninger.
Hvordan Python Virker matricer?
Dataene inde i det todimensionelle array i matrixformat ser ud som følger:
Trin 1) Det viser en 2×2 matrix. Den har to rækker og 2 kolonner. Dataene inde i matrixen er tal. Række1 har værdierne 2,3, og række2 har værdierne 4,5. Kolonnerne, dvs. col1, har værdierne 2,4, og col2 har værdierne 3,5.
Trin 2) Det viser en 2×3 matrix. Den har to rækker og tre kolonner. Dataene i den første række, dvs. række1, har værdierne 2,3,4, og række2 har værdierne 5,6,7. Kolonnerne col1 har værdierne 2,5, col2 har værdierne 3,6, og col3 har værdierne 4,7.
Så på samme måde kan du have dine data gemt inde i nxn-matrixen Python. En masse operationer kan udføres på en matrixlignende addition, subtraktion, multiplikation osv.
Python har ikke en ligetil måde at implementere en matrixdatatype på.
Python-matricen gør brug af arrays, og det samme kan implementeres.
- Opret en Python Matrix ved hjælp af den indlejrede listedatatype
- Opret Python Matrix ved hjælp af Arrays fra Python Numpy pakke
Opret Python Matrix ved hjælp af en indlejret listedatatype
In Python, er arrays repræsenteret ved hjælp af listedatatypen. Så nu vil gøre brug af listen til at oprette en python matrix.
Vi laver en 3×3 matrix, som vist nedenfor:
- Matrixen har 3 rækker og 3 kolonner.
- Den første række i et listeformat vil være som følger: [8,14,-6]
- Den anden række på en liste vil være: [12,7,4]
- Den tredje række på en liste vil være: [-11,3,21]
Matrixen inde i en liste med alle rækker og kolonner er som vist nedenfor:
List = [[Row1], [Row2], [Row3] ... [RowN]]
Så i henhold til matrixen ovenfor er listetypen med matrixdata som følger:
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
At læse data inde Python Matrix ved hjælp af en liste.
Vi vil gøre brug af den ovenfor definerede matrix. Eksemplet vil læse dataene, udskrive matrixen, vise det sidste element fra hver række.
Eksempel: At udskrive matrixen
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]] #To print the matrix print(M1)
Output:
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
Eksempel 2: At læse det sidste element fra hver række
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])
Output:
-6 4 21
Eksempel 3: At udskrive rækkerne i matrixen
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])
Output:
[8, 14, -6] [12, 7, 4] [-11, 3, 21]
Tilføjelse af matricer ved hjælp af indlejret liste
Vi kan nemt tilføje to givne matricer. Matricerne her vil være i listeformen. Lad os arbejde på et eksempel, der sørger for at tilføje de givne matricer.
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 initialiserer en matrix, der gemmer resultatet af M1 + M2.
Matrix 3:
M3 = [[0,0,0], [0,0,0], [0,0,0]]
Eksempel: Tilføjelse af matricer
For at tilføje, vil matricerne gøre brug af en for-løkke, der går gennem begge de angivne matricer.
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)
Output:
The sum of Matrix M1 and M2 = [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]
Multiplikation af matricer ved hjælp af Nested List
For at gange matricerne kan vi bruge for-løkken på begge matricer som vist i koden nedenfor:
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)
Output:
The multiplication of Matrix M1 and M2 = [[24, 224, 36], [108, 49, -16], [11, 9, 273]]
Opret Python Matrix ved hjælp af Arrays fra Python Numpy pakke
Pythonbiblioteket Numpy hjælper med at håndtere arrays. Numpy behandler et array lidt hurtigere i forhold til listen.
For at arbejde med Numpy skal du først installere det. Følg trinene nedenfor for at installere Numpy.
Trin 1) Kommandoen til at installere Numpy er:
pip install NumPy
Trin 2) For at gøre brug af Numpy i din kode, skal du importere den.
import NumPy
Trin 3) Du kan også importere Numpy ved hjælp af et alias, som vist nedenfor:
import NumPy as np
Vi skal bruge array()-metoden fra Numpy til at skabe en pythonmatrix.
Eksempel: Array i Numpy for at oprette Python Matrix
import numpy as np M1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]]) print(M1)
Output:
[[ 5 -10 15] [ 3 -6 9] [ -4 8 12]]
Matrix Operation ved hjælp af Numpy.Array()
Den matrixoperation, der kan udføres, er addition, subtraktion, multiplikation, transponering, aflæsning af rækkerne, kolonnerne i en matrix, udskæring af matrixen osv. I alle eksemplerne skal vi bruge en array()-metode.
Matrix tilføjelse
For at udføre addition på matricen, vil vi oprette to matricer ved hjælp af numpy.array() og tilføje dem ved hjælp af (+) operatoren.
Eksempel:
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)
Output:
[[ 12 -12 36] [ 16 12 48] [ 6 -12 60]]
Matrix subtraktion
For at udføre subtraktion på matrixen, vil vi oprette to matricer ved hjælp af numpy.array() og trække dem fra ved hjælp af (-) operatoren.
Eksempel:
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)
Output:
[[ -6 24 -18] [ -6 -32 -18] [-20 40 -18]]
Matrix multiplikation
Først vil der oprettes to matricer ved hjælp af numpy.arary(). For at multiplicere dem kan du bruge numpy dot() metoden. Numpy.dot() er prikproduktet af matrix M1 og M2. Numpy.dot() håndterer 2D-arrays og udfører matrixmultiplikationer.
Eksempel:
import numpy as np M1 = np.array([[3, 6], [5, -10]]) M2 = np.array([[9, -18], [11, 22]]) M3 = M1.dot(M2) print(M3)
Output:
[[ 93 78] [ -65 -310]]
Matrix Transponering
Transponeringen af en matrix beregnes ved at ændre rækkerne som kolonner og kolonner som rækker. Transpose()-funktionen fra Numpy kan bruges til at beregne transponeringen af en matrix.
Eksempel:
import numpy as np M1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]]) M2 = M1.transpose() print(M2)
Output:
[[ 3 5 4] [ 6 -10 8] [ 9 15 12]]
Udskæring af en matrix
Slicing vil returnere elementerne fra matrixen baseret på det angivne start/slut-indeks.
- Syntaksen for udskæring er – [start:slut]
- Hvis startindekset ikke er angivet, betragtes det som 0. For eksempel [:5], betyder det som [0:5].
- Hvis slutningen ikke passeres, vil den tage som længden af arrayet.
- Hvis starten/slutningen har negative værdier, vil udskæringen blive udført fra slutningen af arrayet.
Før vi arbejder med at skære på en matrix, lad os først forstå, hvordan man anvender skive på et simpelt array.
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
Output:
[ 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]
Lad os nu implementere udskæring på matrix. At udføre udskæring på en matrix
syntaksen vil være M1[row_start:row_end, col_start:col_end]
- Den første start/afslutning vil være for rækken, dvs. at vælge rækkerne i matrixen.
- Den anden start/afslutning vil være for kolonnen, dvs. at vælge kolonnerne i matrixen.
Matrixen M1 t, som vi skal bruge, er som følger:
M1 = np.array([[2, 4, 6, 8, 10], [3, 6, 9, -12, -15], [4, 8, 12, 16, -20], [5, -10, 15, -20, 25]])
Der er i alt 4 rækker. Indekset starter fra 0 til 3. 0th række er [2,4,6,8,10], 1st række er [3,6,9,-12,-15] efterfulgt af 2nd og 3rd.
Matrixen M1 har 5 søjler. Indekset starter fra 0 til 4. 0th kolonne har værdierne [2,3,4,5], 1st kolonner har værdier [4,6,8,-10] efterfulgt af 2nd, 3rd, 4th, og 5th.
Her er et eksempel, der viser, hvordan man henter række- og kolonnedata fra matrixen ved hjælp af udskæring. I eksemplet udskriver vi 1st og 2nd række, og for kolonner vil vi have den første, anden og tredje kolonne. For at få det output har vi brugt: M1[1:3, 1:4]
Eksempel:
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.
Output:
[[ 6 9 -12] [ 8 12 16]]
Eksempel: At udskrive alle rækker og tredje kolonner
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.
Output:
[ 8 -12 16 -20]
Eksempel: For at udskrive den første række og alle kolonner
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
Output:
[[ 2 4 6 8 10]]
Eksempel: For at udskrive de første tre rækker og de første 2 kolonner
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])
Output:
[[2 4] [3 6] [4 8]]
Adgang til NumPy Matrix
Vi har set, hvordan udskæring fungerer. Med det i betragtning, vil vi se, hvordan man får rækkerne og kolonnerne fra matrixen.
For at udskrive rækkerne i matrixen
I eksemplet vil udskrive rækkerne af matrixen.
Eksempel:
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
Output:
[3 6 9] [ 5 -10 15] [ 4 8 12]
For at få den sidste række kan du gøre brug af indekset eller -1. For eksempel har matrixen 3 rækker,
så M1[0] vil give dig den første række,
M1[1] giver dig anden række
M1[2] eller M1[-1] giver dig den tredje række eller sidste række.
For at udskrive matrixens kolonner
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
Output:
[2 3 4 5] [ 8 -12 16 -20] [ 10 -15 -20 25]
Resumé
- A Python matrix er en specialiseret todimensional rektangulær matrix af data, der er gemt i rækker og kolonner. Dataene i en matrix kan være tal, strenge, udtryk, symboler osv. Matrix er en af de vigtige datastrukturer, som kan bruges i matematiske og videnskabelige beregninger.
- Python har ikke en ligetil måde at implementere en matrixdatatype på. Python matrix kan oprettes ved hjælp af en indlejret listedatatype og ved at bruge numpy-biblioteket.
- Pythonbiblioteket Numpy hjælper med at håndtere arrays. Numpy behandler et array lidt hurtigere i forhold til listen.
- Den matrixoperation, der kan udføres, er addition, subtraktion, multiplikation, transponering, læsning af rækkerne, kolonnerne i en matrix, opskæring af matrixen osv.
- For at tilføje to matricer kan du bruge numpy.array() og tilføje dem ved hjælp af (+) operatoren.
- For at multiplicere dem kan du gøre brug af numpy dot() metoden. Numpy.dot() er prikproduktet af matrix M1 og M2. Numpy.dot() håndterer 2D-arrays og udfører matrixmultiplikationer.
- Transponeringen af en matrix beregnes ved at ændre rækkerne som kolonner og kolonner som rækker. Transpose()-funktionen fra Numpy kan bruges til at beregne transponeringen af en matrix.
- Udskæring af en matrix vil returnere dig elementerne baseret på det angivne start/slut-indeks.