Hva er Python Matrix?
En Python-matrise er et spesialisert todimensjonalt rektangulært utvalg av data lagret i rader og kolonner. Dataene i en matrise kan være tall, strenger, uttrykk, symboler osv. Matrise er en av de viktige datastrukturene som kan brukes i matematiske og vitenskapelige beregninger.
I denne Python-opplæringen lærer du:
- Hva er Python Matrix?
- Hvordan fungerer Python Matrices?
- Opprett Python Matrix ved hjelp av en nestet listedatatype
- Å lese data i Python Matrix ved hjelp av en liste.
- Eksempel 2: Å lese det siste elementet fra hver rad.
- Eksempel 3: Å skrive ut radene i matrisen
- Legge til matriser ved hjelp av nestet liste
- Multiplikasjon av matriser ved hjelp av nestet liste
- Lag Python Matrix ved hjelp av Arrays fra Python Numpy-pakken
- Matrisedrift med Numpy.Array ()
- Få tilgang til NumPy Matrix
Hvordan fungerer Python Matrices?
Dataene i den todimensjonale matrisen i matriseformat ser ut som følger:Trinn 1)
Den viser en 2x2 matrise. Den har to rader og to kolonner. Dataene i matrisen er tall. Rad1 har verdier 2,3, og rad2 har verdier 4,5. Kolonnene, dvs. col1, har verdiene 2,4, og col2 har verdiene 3,5.
Steg 2)
Den viser en 2x3 matrise. Den har to rader og tre kolonner. Dataene i første rad, dvs. rad1, har verdier 2,3,4, og rad2 har verdier 5,6,7. Kolonnene col1 har verdier 2,5, col2 har verdier 3,6 og col3 har verdier 4,7.
På samme måte kan du lagre dataene dine i nxn-matrisen i Python. Mange operasjoner kan gjøres på et matrikslignende tillegg, subtraksjon, multiplikasjon, etc.
Python har ikke en enkel måte å implementere en matrisedatatype på.
Python-matrisen bruker matriser, og det samme kan implementeres.
- Lag en Python Matrix ved hjelp av datatypen nestede liste
- Lag Python Matrix ved hjelp av Arrays fra Python Numpy-pakken
Opprett Python Matrix ved hjelp av en nestet listedatatype
I Python er matriser representert ved hjelp av listedatatypen. Så nå vil vi bruke listen til å lage en pythonmatrise.
Vi lager en 3x3 matrise, som vist nedenfor:
- Matrisen har 3 rader og 3 kolonner.
- Den første raden i et listeformat vil være som følger: [8,14, -6]
- Den andre raden i en liste vil være: [12,7,4]
- Den tredje raden i en liste vil være: [-11,3,21]
Matrisen i en liste med alle radene og kolonnene er som vist nedenfor:
List = [[Row1],[Row2],[Row3]… [RowN]]
Så ifølge matrisen som er oppført ovenfor, er listetypen med matriksdata som følger:
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
Å lese data i Python Matrix ved hjelp av en liste.
Vi vil bruke matrisen som er definert ovenfor. Eksemplet vil lese dataene, skrive ut matrisen, vise det siste elementet fra hver rad.
Eksempel: For å skrive ut matrisen
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]#To print the matrixprint(M1)
Produksjon:
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
Eksempel 2: Å lese det siste elementet fra hver rad.
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])
Produksjon:
-6421
Eksempel 3: Å skrive ut radene i matrisen
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]matrix_length = len(M1)#To print the rows in the Matrixfor i in range(matrix_length):print(M1[i])
Produksjon:
[8, 14, -6][12, 7, 4][-11, 3, 21]
Legge til matriser ved hjelp av nestet liste
Vi kan enkelt legge til to gitte matriser. Matrisene her vil være i listeskjemaet. La oss jobbe med et eksempel som passer på å legge til de gitte matriser.
Matrise 1:
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]
Matrise 2:
M2 = [[3, 16, -6],[9,7,-4],[-1,3,13]]
Last vil initialisere en matrise som vil lagre resultatet av M1 + M2.
Matrise 3:
M3 = [[0,0,0],[0,0,0],[0,0,0]]
Eksempel: Legge til matriser
For å legge til, vil matrisene bruke en for-loop som vil løpe gjennom begge matrisene som er gitt.
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 matricesfor i in range(len(M1)):for k in range(len(M2)):M3[i][k] = M1[i][k] + M2[i][k]#To Print the matrixprint("The sum of Matrix M1 and M2 = ", M3)
Produksjon:
The sum of Matrix M1 and M2 = [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]
Multiplikasjon av matriser ved hjelp av nestet liste
For å multiplisere matrisene kan vi bruke for-loop på begge matrisene 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 matricesfor i in range(len(M1)):for k in range(len(M2)):M3[i][k] = M1[i][k] * M2[i][k]#To Print the matrixprint("The multiplication of Matrix M1 and M2 = ", M3)
Produksjon:
The multiplication of Matrix M1 and M2 = [[24, 224, 36], [108, 49, -16], [11, 9, 273]]
Lag Python Matrix ved hjelp av Arrays fra Python Numpy-pakken
Python-biblioteket Numpy hjelper til med å håndtere matriser. Numpy behandler en matrise litt raskere i forhold til listen.
For å jobbe med Numpy, må du installere det først. Følg trinnene nedenfor for å installere Numpy.
Trinn 1)
Kommandoen for å installere Numpy er:
pip install NumPy
Steg 2)
For å gjøre bruk av Numpy i koden din, må du importere den.
import NumPy
Trinn 3)
Du kan også importere Numpy ved hjelp av et alias, som vist nedenfor:
import NumPy as np
Vi skal bruke array () -metoden fra Numpy for å lage en pythonmatrise.
Eksempel: Array in Numpy for å lage Python Matrix
import numpy as npM1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]])print(M1)
Produksjon:
[[ 5 -10 15][ 3 -6 9][ -4 8 12]]
Matrisedrift med Numpy.Array ()
Matriseoperasjonen som kan gjøres er addisjon, subtraksjon, multiplikasjon, transponering, lesing av radene, kolonnene til en matrise, kutting av matrisen, etc. I alle eksemplene skal vi bruke en array () -metode.
Matrisetilsetning
For å utføre tillegg på matrisen, oppretter vi to matriser ved hjelp av numpy.array () og legger dem til ved hjelp av (+) operatoren.
Eksempel:
import numpy as npM1 = 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 + M2print(M3)
Produksjon:
[[ 12 -12 36][ 16 12 48][ 6 -12 60]]
Matrise subtraksjon
For å utføre subtraksjon på matrisen, oppretter vi to matriser ved hjelp av numpy.array () og trekker dem fra ved hjelp av operatoren (-).
Eksempel:
import numpy as npM1 = 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 - M2print(M3)
Produksjon:
[[ -6 24 -18][ -6 -32 -18][-20 40 -18]]
Matriksmultiplikasjon
Først vil det opprette to matriser ved hjelp av numpy.arary (). For å multiplisere dem vil du gjøre bruk av numpy dot () -metoden. Numpy.dot () er prikkproduktet til matrise M1 og M2. Numpy.dot () håndterer 2D-matriser og utfører matrisemultiplikasjoner.
Eksempel:
import numpy as npM1 = np.array([[3, 6], [5, -10]])M2 = np.array([[9, -18], [11, 22]])M3 = M1.dot(M2)print(M3)
Produksjon:
[[ 93 78][ -65 -310]]
Matrise Transponere
Transponeringen av en matrise beregnes ved å endre radene som kolonner og kolonnene som radene. Transponeringsfunksjonen () fra Numpy kan brukes til å beregne transponeringen av en matrise.
Eksempel:
import numpy as npM1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]])M2 = M1.transpose()print(M2)
Produksjon:
[[ 3 5 4][ 6 -10 8][ 9 15 12]]
Slicing of a Matrix
Slicing gir deg elementene fra matrisen basert på start / slutt-indeksen gitt.
- Syntaksen for kutting er - [start: slutt]
- Hvis startindeksen ikke er gitt, betraktes den som 0. For eksempel [: 5] betyr det som [0: 5].
- Hvis slutten ikke blir bestått, vil det ta lengden på matrisen.
- Hvis begynnelsen / slutten har negative verdier, vil det bli kuttet fra slutten av matrisen.
Før vi jobber med å kutte på en matrise, la oss først forstå hvordan vi bruker skive på en enkel matrise.
import numpy as nparr = np.array([2,4,6,8,10,12,14,16])print(arr[3:6]) # will print the elements from 3 to 5print(arr[:5]) # will print the elements from 0 to 4print(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 -2print(arr[:-1]) # will print from end i.e. 0 to -2
Produksjon:
[ 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]
La oss nå implementere kutting på matrise. Å utføre kutting på en matrise
syntaksen blir M1 [row_start: row_end, col_start: col_end]
- Den første starten / slutten vil være for raden, dvs. for å velge radene i matrisen.
- Den andre starten / slutten vil være for kolonnen, dvs. å velge kolonnene i matrisen.
Matrisen M1 som vi skal bruke 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]])
Det er totalt 4 rader. Indeksen starter fra 0 til 3. 0 th rad er den [2,4,6,8,10], 1 st er p [3,6,9, -12, -15] etterfulgt av 2 nd og 3 rd .
Matrisen M1 har 5 kolonner. Indeksen starter fra 0 til 4. Den 0 th kolonne har verdier [2,3,4,5], 1 st kolonner har verdier [4,6,8, -10] etterfulgt av 2 nd , 3 rd , 4 th , og 5 th .
Her er et eksempel som viser hvordan du får data fra rader og kolonner fra matrisen ved hjelp av kutting. I eksempelet vi skriver ut en st og 2 nd rad, og for kolonner, vi vil at den første, andre og tredje kolonne. For å få den utgangen har vi brukt: M1 [1: 3, 1: 4]
Eksempel:
import numpy as npM1 = 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.
Produksjon:
[[ 6 9 -12][ 8 12 16]]
Eksempel: Å skrive ut alle rader og tredje kolonner
import numpy as npM1 = 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.
Produksjon:
[ 8 -12 16 -20]
Eksempel: Å skrive ut første rad og alle kolonnene
import numpy as npM1 = 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
Produksjon:
[[ 2 4 6 8 10]]
Eksempel: Å skrive ut de første tre radene og de første 2 kolonnene
import numpy as npM1 = 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])
Produksjon:
[[2 4][3 6][4 8]]
Få tilgang til NumPy Matrix
Vi har sett hvordan kutting fungerer. Når vi tar det i betraktning, vil vi hvordan du får radene og kolonnene fra matrisen.
Å skrive ut radene til matrisen
I eksemplet vil du skrive ut radene til matrisen.
Eksempel:
import numpy as npM1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]])print(M1[0]) #first rowprint(M1[1]) # the second rowprint(M1[-1]) # -1 will print the last row
Produksjon:
[3 6 9][ 5 -10 15][ 4 8 12]
For å få den siste raden kan du bruke indeksen eller -1. Matrisen har for eksempel 3 rader,
så M1 [0] gir deg den første raden,
M1 [1] vil gi deg andre rad
M1 [2] eller M1 [-1] gir deg tredje rad eller siste rad.
For å skrive ut kolonnene i matrisen
import numpy as npM1 = 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 Columnprint(M1[:,3]) # Will print the third Columnprint(M1[:,-1]) # -1 will give you the last column
Produksjon:
[2 3 4 5][ 8 -12 16 -20][ 10 -15 -20 25]
Sammendrag:
- En Python-matrise er et spesialisert todimensjonalt rektangulært utvalg av data lagret i rader og kolonner. Dataene i en matrise kan være tall, strenger, uttrykk, symboler osv. Matrise er en av de viktige datastrukturene som kan brukes i matematiske og vitenskapelige beregninger.
- Python har ikke en enkel måte å implementere en matrisedatatype på. Python-matrise kan opprettes ved hjelp av en nestet listedatatype og ved hjelp av numpy-biblioteket.
- Python-biblioteket Numpy hjelper til med å håndtere matriser. Numpy behandler en matrise litt raskere i forhold til listen.
- Matriseoperasjonen som kan gjøres er addisjon, subtraksjon, multiplikasjon, transponering, lesing av radene, kolonnene i en matrise, kutting av matrisen, etc.
- For å legge til to matriser kan du bruke numpy.array () og legge dem til ved hjelp av (+) operatoren.
- For å multiplisere viljen kan du gjøre bruk av numpy dot () -metoden. Numpy.dot () er prikkproduktet til matrise M1 og M2. Numpy.dot () håndterer 2D-matriser og utfører matrisemultiplikasjoner.
- Transponeringen av en matrise beregnes ved å endre radene som kolonner og kolonnene som rader. Transponeringsfunksjonen () fra Numpy kan brukes til å beregne transponeringen av en matrise.
- Kutting av en matrise gir deg elementene basert på start / slutt-indeksen gitt.