Kas yra „Python Matrix“?
„Python“ matrica yra specializuota dviejų matmenų stačiakampė duomenų masyvas, saugomas eilutėse ir stulpeliuose. Matricos duomenys gali būti skaičiai, eilutės, išraiškos, simboliai ir tt Matrica yra viena iš svarbių duomenų struktūrų, kurią galima naudoti matematiniams ir moksliniams skaičiavimams.
Šioje „Python“ pamokoje sužinosite:
- Kas yra „Python Matrix“?
- Kaip veikia „Python“ matricos?
- Sukurkite „Python Matrix“ naudodami įdėtojo sąrašo duomenų tipą
- Norėdami skaityti duomenis „Python“ matricoje naudodamiesi sąrašu.
- 2 pavyzdys: perskaityti paskutinį kiekvienos eilutės elementą.
- 3 pavyzdys: eilučių spausdinimas matricoje
- Matricų pridėjimas naudojant įdėtąjį sąrašą
- Matricų padauginimas naudojant įdėtąjį sąrašą
- Sukurkite „Python Matrix“ naudodami masyvus iš „Python Numpy“ paketo
- Matricos operacija naudojant „Numpy.Array“ ()
- Prieiga prie „NumPy Matrix“
Kaip veikia „Python“ matricos?
Dvimatės masyvo duomenys matricos formatu atrodo taip:1 žingsnis)
Tai rodo 2x2 matricą. Jame yra dvi eilutės ir 2 stulpeliai. Matricos viduje esantys duomenys yra skaičiai. 1 eilutės vertės yra 2,3, o 2 eilutėje - 4,5. Stulpelių, ty col1, vertės yra 2,4, o col2 - 3,5.
2 žingsnis)
Tai rodo 2x3 matricą. Jame yra dvi eilės ir trys stulpeliai. Pirmoje eilutėje esančių duomenų, ty 1 eilutės, vertės yra 2,3,4, o 2 eilutėje - 5,6,7. Stulpelių col1 reikšmės yra 2,5, col2 - 3,6, o col3 - 4,7.
Taigi panašiai galite turėti savo duomenis „Pyx“ nxn matricoje. Daug operacijų galima atlikti su matrica panašiu sudėjimu, atimimu, dauginimu ir kt.
„Python“ neturi paprasto būdo įdiegti matricos duomenų tipą.
Python matricoje naudojami masyvai, ir tą patį galima įgyvendinti.
- Sukurkite „Python“ matricą naudodami įdėtojo sąrašo duomenų tipą
- Sukurkite „Python Matrix“ naudodami masyvus iš „Python Numpy“ paketo
Sukurkite „Python Matrix“ naudodami įdėtojo sąrašo duomenų tipą
„Python“ masyvai vaizduojami naudojant sąrašo duomenų tipą. Taigi dabar naudosite sąrašą, norėdami sukurti pitono matricą.
Sukursime 3x3 matricą, kaip parodyta žemiau:
- Matricoje yra 3 eilutės ir 3 stulpeliai.
- Pirmoji sąrašo formato eilutė bus tokia: [8,14, -6]
- Antroji sąrašo eilutė bus: [12,7,4]
- Trečioji sąrašo eilutė bus: [-11,3,21]
Matrica sąraše su visomis eilutėmis ir stulpeliais yra tokia, kaip parodyta žemiau:
List = [[Row1],[Row2],[Row3]… [RowN]]
Taigi pagal aukščiau pateiktą matricą sąrašo tipas su matricos duomenimis yra toks:
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
Norėdami skaityti duomenis „Python“ matricoje naudodamiesi sąrašu.
Mes pasinaudosime aukščiau apibrėžta matrica. Pavyzdys nuskaitys duomenis, atspausdins matricą, parodys paskutinį kiekvienos eilutės elementą.
Pavyzdys: Norėdami atspausdinti matricą
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]#To print the matrixprint(M1)
Išvestis:
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
2 pavyzdys: perskaityti paskutinį kiekvienos eilutės elementą.
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])
Išvestis:
-6421
3 pavyzdys: eilučių spausdinimas matricoje
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])
Išvestis:
[8, 14, -6][12, 7, 4][-11, 3, 21]
Matricų pridėjimas naudojant įdėtąjį sąrašą
Mes galime lengvai pridėti dvi pateiktas matricas. Matricos bus pateikiamos sąrašo formoje. Panagrinėkime pavyzdį, kuris pasirūpins pridėtomis matricomis.
1 matrica:
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]
2 matrica:
M2 = [[3, 16, -6],[9,7,-4],[-1,3,13]]
Paskutinis inicijuos matricą, kurioje bus išsaugoti M1 + M2 rezultatai.
3 matrica:
M3 = [[0,0,0],[0,0,0],[0,0,0]]
Pavyzdys: Matricų pridėjimas
Norėdami pridėti, matricose bus naudojama „for-loop“, kuri sukurs abi pateiktas matricas.
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)
Išvestis:
The sum of Matrix M1 and M2 = [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]
Matricų padauginimas naudojant įdėtąjį sąrašą
Norėdami padauginti matricas, mes galime naudoti for-loop abiejose matricose, kaip parodyta žemiau esančiame kode:
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)
Išvestis:
The multiplication of Matrix M1 and M2 = [[24, 224, 36], [108, 49, -16], [11, 9, 273]]
Sukurkite „Python Matrix“ naudodami masyvus iš „Python Numpy“ paketo
Python biblioteka „Numpy“ padeda susitvarkyti su masyvais. „Numpy“ masyvą apdoroja šiek tiek greičiau, palyginti su sąrašu.
Norėdami dirbti su „Numpy“, pirmiausia turite jį įdiegti. Norėdami įdiegti „Numpy“, atlikite toliau nurodytus veiksmus.
1 žingsnis)
Komanda įdiegti „Numpy“ yra:
pip install NumPy
2 žingsnis)
Norėdami kode naudoti „Numpy“, turite jį importuoti.
import NumPy
3 žingsnis)
Taip pat galite importuoti „Numpy“ naudodami alternatyvųjį vardą, kaip parodyta žemiau:
import NumPy as np
Norėdami sukurti pitono matricą, naudosime „Numpy“ metodą „array ()“.
Pavyzdys: masyvas „Numpy“, kad sukurtumėte „Python Matrix“
import numpy as npM1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]])print(M1)
Išvestis:
[[ 5 -10 15][ 3 -6 9][ -4 8 12]]
Matricos operacija naudojant „Numpy.Array“ ()
Matricos operacija, kurią galima atlikti, yra sudėjimas, atimimas, dauginimas, perkėlimas, eilučių, matricos stulpelių skaitymas, matricos pjaustymas ir tt Visuose pavyzdžiuose mes naudosime masyvo () metodą.
Matricos papildymas
Norėdami atlikti matricos pridėjimą, sukursime dvi matricas naudodami numpy.array () ir pridėsime jas naudodami operatorių (+).
Pavyzdys:
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)
Išvestis:
[[ 12 -12 36][ 16 12 48][ 6 -12 60]]
Matricos atimtis
Norėdami atlikti matricos atimimą, sukursime dvi matricas naudodami numpy.array () ir atimsime jas naudodami operatorių (-).
Pavyzdys:
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)
Išvestis:
[[ -6 24 -18][ -6 -32 -18][-20 40 -18]]
Matricos daugyba
Pirmiausia sukursite dvi matricas naudodamiesi numpy.arary (). Norėdami jų padauginti, galite naudoti numpy dot () metodą. Numpy.dot () yra matricos M1 ir M2 taškinis sandauga. „Numpy.dot ()“ tvarko 2D masyvus ir atlieka matricų dauginimus.
Pavyzdys:
import numpy as npM1 = np.array([[3, 6], [5, -10]])M2 = np.array([[9, -18], [11, 22]])M3 = M1.dot(M2)print(M3)
Išvestis:
[[ 93 78][ -65 -310]]
Matricos perkėlimas
Matricos perkėlimas apskaičiuojamas keičiant eilutes kaip stulpelius ir stulpelius kaip eilutes. „Numpy“ transponavimo () funkcija gali būti naudojama matricos perkėlimui apskaičiuoti.
Pavyzdys:
import numpy as npM1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]])M2 = M1.transpose()print(M2)
Išvestis:
[[ 3 5 4][ 6 -10 8][ 9 15 12]]
Matricos pjaustymas
Pjaustymas grąžins jums matricos elementus pagal pateiktą pradžios / pabaigos indeksą.
- Pjaustymo sintaksė yra - [pradžia: pabaiga]
- Jei pradžios indeksas nepateiktas, jis laikomas 0. Pavyzdžiui, [: 5], tai reiškia kaip [0: 5].
- Jei pabaiga nepraeina, tai bus masyvo ilgis.
- Jei pradžios / pabaigos reikšmės yra neigiamos, jos bus pjaustomos nuo masyvo pabaigos.
Prieš pradėdami pjaustyti matricą, pirmiausia supraskime, kaip pritaikyti pjūvį paprastam masyvui.
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
Išvestis:
[ 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]
Dabar įgyvendinkime pjaustymą matricoje. Norėdami atlikti pjaustymą matricoje
sintaksė bus M1 [row_start: row_end, col_start: col_end]
- Pirmasis pradžia / pabaiga bus skirta eilutei, ty matricos eilutėms pasirinkti.
- Antrasis pradžia / pabaiga bus skirta stulpeliui, ty matricos stulpeliams pasirinkti.
Matrica M1, kurią ketiname naudoti, yra tokia:
M1 = np.array([[2, 4, 6, 8, 10],[3, 6, 9, -12, -15],[4, 8, 12, 16, -20],[5, -10, 15, -20, 25]])
Iš viso yra 4 eilutės. Indeksas prasideda nuo 0 iki 3. 0 -oji eilutė yra [2,4,6,8,10], 1 -oji eilutė yra [3,6,9, -12, -15], po kurios eina antroji ir trečioji eilutės .
Matricoje M1 yra 5 stulpeliai. Indekso prasideda nuo 0 iki 4.Jei 0 -oji stulpelio turi reikšmes [2,3,4,5], 1 st stulpeliai vertės [4,6,8, -10], paskui po 2 -osios , 3 -oje , 4 -osios , ir 5 d .
Štai pavyzdys, parodantis, kaip gauti eilučių ir stulpelių duomenis iš matricos naudojant pjaustymą. Šiame pavyzdyje, mes spausdinti 1 g ir 2 -oji eilutė, o kolonos, mes norime, kad pirmoji, antroji, ir trečią stulpelį. Norėdami gauti tą išvestį, kurią naudojome: M1 [1: 3, 1: 4]
Pavyzdys:
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.
Išvestis:
[[ 6 9 -12][ 8 12 16]]
Pavyzdys: atsispausdinti visas eilutes ir trečius stulpelius
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.
Išvestis:
[ 8 -12 16 -20]
Pavyzdys: Norėdami atsispausdinti pirmąją eilutę ir visus stulpelius
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
Išvestis:
[[ 2 4 6 8 10]]
Pavyzdys: atsispausdinti pirmąsias tris eilutes ir pirmuosius 2 stulpelius
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])
Išvestis:
[[2 4][3 6][4 8]]
Prieiga prie „NumPy Matrix“
Matėme, kaip veikia pjaustymas. Atsižvelgdami į tai, mes išsiaiškinsime, kaip gauti eilučių ir stulpelių iš matricos.
Norėdami atspausdinti matricos eilutes
Pavyzdyje bus atspausdintos matricos eilutės.
Pavyzdys:
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
Išvestis:
[3 6 9][ 5 -10 15][ 4 8 12]
Norėdami gauti paskutinę eilutę, galite naudoti indeksą arba -1. Pavyzdžiui, matricoje yra 3 eilutės,
taigi M1 [0] suteiks jums pirmąją eilutę,
M1 [1] suteiks jums antrą eilę
M1 [2] arba M1 [-1] suteiks jums trečią arba paskutinę eilutę.
Norėdami atspausdinti matricos stulpelius
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
Išvestis:
[2 3 4 5][ 8 -12 16 -20][ 10 -15 -20 25]
Santrauka:
- „Python“ matrica yra specializuota dviejų matmenų stačiakampė duomenų masyvas, saugomas eilutėse ir stulpeliuose. Matricos duomenys gali būti skaičiai, eilutės, išraiškos, simboliai ir tt Matrica yra viena iš svarbių duomenų struktūrų, kurią galima naudoti matematiniams ir moksliniams skaičiavimams.
- „Python“ neturi paprasto būdo įdiegti matricos duomenų tipą. „Python“ matricą galima sukurti naudojant įdėtą sąrašo duomenų tipą ir naudojant „Numpy“ biblioteką.
- Python biblioteka „Numpy“ padeda susitvarkyti su masyvais. „Numpy“ masyvą apdoroja šiek tiek greičiau, palyginti su sąrašu.
- Matricos operacija, kurią galima atlikti, yra sudėjimas, atimimas, dauginimas, perkėlimas, matricos eilučių, stulpelių skaitymas, matricos pjaustymas ir kt.
- Norėdami pridėti dvi matricas, galite naudoti numerį numpy.array () ir pridėti juos naudodami operatorių (+).
- Norėdami jų padauginti, galite naudoti numerio taško () metodą. Numpy.dot () yra matricos M1 ir M2 taškinis sandauga. „Numpy.dot ()“ tvarko 2D masyvus ir atlieka matricų dauginimus.
- Matricos perkėlimas apskaičiuojamas keičiant eilutes kaip stulpelius ir stulpelius kaip eilutes. „Numpy“ transponavimo () funkcija gali būti naudojama matricos perkėlimui apskaičiuoti.
- Matricos pjaustymas grąžins jums elementus pagal pateiktą pradžios / pabaigos indeksą.