Kaj je Python Matrix?
Pythonova matrika je specializirano dvodimenzionalno pravokotno polje podatkov, shranjenih v vrsticah in stolpcih. Podatki v matriki so lahko števila, nizi, izrazi, simboli itd. Matrica je ena pomembnih podatkovnih struktur, ki se lahko uporablja pri matematičnih in znanstvenih izračunih.
V tej vadnici za Python boste izvedeli:
- Kaj je Python Matrix?
- Kako delujejo matrice Python?
- Ustvarite Python Matrix z uporabo vgnezdenega podatkovnega tipa
- Za branje podatkov znotraj Python Matrix s pomočjo seznama.
- Primer 2: za branje zadnjega elementa iz vsake vrstice.
- 3. primer: tiskanje vrstic v matriki
- Dodajanje matric z uporabo ugnezdenega seznama
- Množenje matrik z uporabo ugnezdenega seznama
- Ustvarite Python Matrix z uporabo nizov iz paketa Python Numpy
- Delovanje matrice z uporabo Numpy.Array ()
- Dostop do matrike NumPy
Kako delujejo matrice Python?
Podatki znotraj dvodimenzionalnega polja v matrični obliki so videti tako:Korak 1)
Prikazuje matriko 2x2. Ima dve vrstici in 2 stolpca. Podatki znotraj matrike so številke. Vrstica1 ima vrednosti 2,3, vrstica2 pa vrednosti 4,5. Stolpci, tj. Col1, imajo vrednosti 2,4, col2 pa vrednosti 3,5.
2. korak)
Prikazuje matriko 2x3. Ima dve vrstici in tri stolpce. Podatki v prvi vrstici, tj. Vrstica1, imajo vrednosti 2,3,4, vrstica 2 pa vrednosti 5,6,7. Stolpci col1 imajo vrednosti 2,5, col2 ima vrednosti 3,6 in col3 ima vrednosti 4,7.
Podobno lahko podatke shranite znotraj matrike nxn v Pythonu. Veliko operacij je mogoče izvesti z matričnim seštevanjem, odštevanjem, množenjem itd.
Python nima enostavnega načina za izvajanje matričnega podatkovnega tipa.
Pythonova matrika uporablja matrike in isto je mogoče implementirati.
- Ustvarite matriko Python z uporabo podatkovnega tipa ugnezdenega seznama
- Ustvarite Python Matrix z uporabo nizov iz paketa Python Numpy
Ustvarite Python Matrix z uporabo vgnezdenega podatkovnega tipa
V Pythonu so nizi predstavljeni z uporabo podatkovnega tipa seznama. Zdaj bo seznam uporabil za ustvarjanje matrice python.
Ustvarili bomo matriko 3x3, kot je prikazano spodaj:
- Matrica ima 3 vrstice in 3 stolpce.
- Prva vrstica v obliki seznama bo naslednja: [8,14, -6]
- Druga vrstica na seznamu bo: [12,7,4]
- Tretja vrstica na seznamu bo: [-11,3,21]
Matrika znotraj seznama z vsemi vrsticami in stolpci je prikazana spodaj:
List = [[Row1],[Row2],[Row3]… [RowN]]
Glede na zgoraj navedeno matrico je vrsta seznama z matričnimi podatki naslednja:
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
Za branje podatkov znotraj Python Matrix s pomočjo seznama.
Uporabili bomo zgoraj definirano matriko. Primer bo prebral podatke, natisnil matrico, prikazal zadnji element iz vsake vrstice.
Primer: tiskanje matrike
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]#To print the matrixprint(M1)
Izhod:
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
Primer 2: za branje zadnjega elementa iz vsake vrstice.
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])
Izhod:
-6421
3. primer: tiskanje vrstic v matriki
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])
Izhod:
[8, 14, -6][12, 7, 4][-11, 3, 21]
Dodajanje matric z uporabo ugnezdenega seznama
Z lahkoto lahko dodamo dve dani matriki. Matrice bodo v obliki seznama. Delajmo na primeru, ki bo poskrbel za dodajanje danih matric.
Matrica 1:
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]
Matrica 2:
M2 = [[3, 16, -6],[9,7,-4],[-1,3,13]]
Last bo inicializiral matriko, ki bo shranila rezultat M1 + M2.
Matrica 3:
M3 = [[0,0,0],[0,0,0],[0,0,0]]
Primer: dodajanje matric
Za dodajanje bodo matrike uporabile for-zanko, ki bo zavila skozi obe podani matriki.
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)
Izhod:
The sum of Matrix M1 and M2 = [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]
Množenje matrik z uporabo ugnezdenega seznama
Če želite pomnožiti matrike, lahko uporabimo zanko for na obeh matricah, kot je prikazano v spodnji kodi:
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)
Izhod:
The multiplication of Matrix M1 and M2 = [[24, 224, 36], [108, 49, -16], [11, 9, 273]]
Ustvarite Python Matrix z uporabo nizov iz paketa Python Numpy
Pythonova knjižnica Numpy pomaga pri obravnavi nizov. Numpy obdela matriko nekoliko hitreje v primerjavi s seznamom.
Če želite delati z Numpyjem, ga morate najprej namestiti. Za namestitev Numpyja sledite spodnjim korakom.
Korak 1)
Ukaz za namestitev Numpyja je:
pip install NumPy
2. korak)
Če želite v svoji kodi uporabiti Numpy, jo morate uvoziti.
import NumPy
3. korak)
Numpy lahko uvozite tudi z vzdevkom, kot je prikazano spodaj:
import NumPy as np
Za izdelavo matrice pythona bomo uporabili metodo array () iz Numpyja.
Primer: Matrika v Numpyju za ustvarjanje Python Matrix
import numpy as npM1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]])print(M1)
Izhod:
[[ 5 -10 15][ 3 -6 9][ -4 8 12]]
Delovanje matrice z uporabo Numpy.Array ()
Operacija matrike, ki jo je mogoče izvesti, je seštevanje, odštevanje, množenje, prenašanje, branje vrstic, stolpcev matrice, rezanje matrice itd. V vseh primerih bomo uporabili metodo array ().
Dodatek matrike
Za izvedbo seštevanja na matriki bomo z uporabo numpy.array () ustvarili dve matriki in jih dodali z uporabo operatorja (+).
Primer:
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)
Izhod:
[[ 12 -12 36][ 16 12 48][ 6 -12 60]]
Odštevanje matrike
Za izvedbo odštevanja na matriki bomo z uporabo numpy.array () ustvarili dve matriki in jih odšteli z operatorjem (-).
Primer:
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)
Izhod:
[[ -6 24 -18][ -6 -32 -18][-20 40 -18]]
Množenje matrike
Najprej bo z uporabo numpy.arary () ustvaril dve matriki. Če jih želite pomnožiti, lahko uporabite metodo numpy dot (). Numpy.dot () je pikčasti zmnožek matrike M1 in M2. Numpy.dot () obravnava 2D matrike in izvaja množenje matric.
Primer:
import numpy as npM1 = np.array([[3, 6], [5, -10]])M2 = np.array([[9, -18], [11, 22]])M3 = M1.dot(M2)print(M3)
Izhod:
[[ 93 78][ -65 -310]]
Prenos matrike
Prenos matrike se izračuna s spreminjanjem vrstic kot stolpcev in stolpcev kot vrstic. Funkcijo transpose () iz Numpyja lahko uporabimo za izračun prenosa matrike.
Primer:
import numpy as npM1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]])M2 = M1.transpose()print(M2)
Izhod:
[[ 3 5 4][ 6 -10 8][ 9 15 12]]
Rezanje matrice
Rezanje vam bo vrnilo elemente iz matrike na podlagi podanega začetnega / končnega indeksa.
- Sintaksa za rezanje je - [začetek: konec]
- Če začetni indeks ni podan, se šteje kot 0. Na primer [: 5], pomeni kot [0: 5].
- Če konec ni prenesen, bo trajal kot dolžina polja.
- Če ima začetek / konec negativne vrednosti, bo rezanje narejeno od konca polja.
Preden se lotimo rezanja na matriki, najprej razumemo, kako uporabiti rezino na preprostem polju.
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
Izhod:
[ 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]
Zdaj pa izvedimo rezanje na matriki. Za izvedbo rezanja na matriki
sintaksa bo M1 [row_start: row_end, col_start: col_end]
- Prvi začetek / konec bo za vrstico, tj. Za izbiro vrstic matrike.
- Drugi začetek / konec bo namenjen stolpcu, torej izbiri stolpcev matrike.
Matrica M1, ki jo bomo uporabili, je naslednja:
M1 = np.array([[2, 4, 6, 8, 10],[3, 6, 9, -12, -15],[4, 8, 12, 16, -20],[5, -10, 15, -20, 25]])
Obstajajo skupno 4 vrstice. Indeks se začne od 0 do 3. 0 th vrstici je [2,4,6,8,10], 1 st vrstica [3,6,9, -12, -15] in nato z 2 nd in 3 rd .
Matrica M1 ima 5 stolpcev. Indeks se začne od 0 do 4.če 0 th kolonsko ima vrednosti [2,3,4,5], 1 st stebri so vrednosti [4,6,8, -10] in nato s 2 nd , 3 rd , 4 th , in 5 th .
Tu je primer, ki prikazuje, kako pridobiti podatke o vrsticah in stolpcih iz matrike z uporabo rezanja. Na primer, smo tiskanje 1 st in 2 nd vrstica, in za stolpce, želimo prvi, drugi in tretji stolpec. Za pridobitev tega izhoda smo uporabili: M1 [1: 3, 1: 4]
Primer:
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.
Izhod:
[[ 6 9 -12][ 8 12 16]]
Primer: za tiskanje vseh vrstic in tretjih stolpcev
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.
Izhod:
[ 8 -12 16 -20]
Primer: tiskanje prve vrstice in vseh stolpcev
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
Izhod:
[[ 2 4 6 8 10]]
Primer: Za tiskanje prvih treh vrstic in prvih 2 stolpcev
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])
Izhod:
[[2 4][3 6][4 8]]
Dostop do matrike NumPy
Videli smo, kako rezanje deluje. Ob upoštevanju tega bomo ugotovili, kako dobimo vrstice in stolpce iz matrice.
Za tiskanje vrstic matrike
V primeru bodo natisnjene vrstice matrike.
Primer:
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
Izhod:
[3 6 9][ 5 -10 15][ 4 8 12]
Če želite dobiti zadnjo vrstico, lahko uporabite indeks ali -1. Na primer, matrika ima 3 vrstice,
tako da vam bo M1 [0] dal prvo vrstico,
M1 [1] vam bo dal drugo vrstico
M1 [2] ali M1 [-1] vam bo dala tretjo ali zadnjo vrstico.
Za tiskanje stolpcev matrike
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
Izhod:
[2 3 4 5][ 8 -12 16 -20][ 10 -15 -20 25]
Povzetek:
- Pythonova matrika je specializirano dvodimenzionalno pravokotno polje podatkov, shranjenih v vrsticah in stolpcih. Podatki v matriki so lahko števila, nizi, izrazi, simboli itd. Matrica je ena pomembnih podatkovnih struktur, ki se lahko uporablja pri matematičnih in znanstvenih izračunih.
- Python nima enostavnega načina za izvajanje matričnega podatkovnega tipa. Matrico Python je mogoče ustvariti z uporabo vgnezdenega podatkovnega tipa seznama in z uporabo numpy knjižnice.
- Pythonova knjižnica Numpy pomaga pri obravnavi nizov. Numpy obdela matriko nekoliko hitreje v primerjavi s seznamom.
- Operacija matrike, ki jo je mogoče izvesti, je seštevanje, odštevanje, množenje, prenašanje, branje vrstic, stolpcev matrike, rezanje matrice itd.
- Če želite dodati dve matriki, lahko uporabite numpy.array () in jih dodate z operatorjem (+).
- Če jih želite pomnožiti, lahko uporabite metodo numpy pika (). Numpy.dot () je pikčasti zmnožek matrike M1 in M2. Numpy.dot () obravnava 2D matrike in izvaja množenje matric.
- Prenos matrike se izračuna tako, da se vrstice spremenijo kot stolpci in stolpci kot vrstice. Funkcijo transpose () iz Numpyja lahko uporabimo za izračun prenosa matrike.
- Rezanje matrike vam bo vrnilo elemente na podlagi podanega začetnega / končnega indeksa.