Matricea Python: exemple de transpunere, multiplicare, matrice NumPy

Cuprins:

Anonim

Ce este Python Matrix?

O matrice Python este o matrice dreptunghiulară bidimensională specializată de date stocate în rânduri și coloane. Datele dintr-o matrice pot fi numere, șiruri, expresii, simboluri etc. Matricea este una dintre structurile de date importante care pot fi utilizate în calculele matematice și științifice.

În acest tutorial Python, veți învăța:

  • Ce este Python Matrix?
  • Cum funcționează matricile Python?
  • Creați Python Matrix utilizând un tip de date listă imbricată
  • Pentru a citi datele din Python Matrix folosind o listă.
  • Exemplul 2: Pentru a citi ultimul element din fiecare rând.
  • Exemplul 3: Pentru a imprima rândurile din Matrix
  • Adăugarea de matrice utilizând lista imbricată
  • Înmulțirea matricilor folosind Lista imbricată
  • Creați Python Matrix folosind Arrays din pachetul Python Numpy
  • Operațiune Matrix folosind Numpy.Array ()
  • Accesarea NumPy Matrix

Cum funcționează matricile Python?

Datele din matricea bidimensională în format matricial arată după cum urmează:

Pasul 1)

Arată o matrice 2x2. Are două rânduri și 2 coloane. Datele din interiorul matricei sunt numere. Rândul 1 are valori 2,3, iar rândul 2 are valori 4,5. Coloanele, adică col1, au valori 2,4, iar col2 are valori 3,5.

Pasul 2)

Arată o matrice 2x3. Are două rânduri și trei coloane. Datele din primul rând, adică rândul 1, au valori 2,3,4, iar rândul 2 are valori 5,6,7. Coloanele col1 au valori 2,5, col2 are valori 3,6, iar col3 are valori 4,7.

Deci, în mod similar, puteți avea datele stocate în matricea nxn din Python. O mulțime de operații pot fi făcute pe o adunare, scădere, înmulțire de tip matrice etc.

Python nu are o modalitate simplă de a implementa un tip de date matrice.

Matricea python folosește matrici și poate fi implementată aceeași.

  • Creați o matrice Python utilizând tipul de date din lista imbricată
  • Creați Python Matrix folosind Arrays din pachetul Python Numpy

Creați Python Matrix utilizând un tip de date listă imbricată

În Python, matricile sunt reprezentate utilizând tipul de date listă. Deci, acum se va folosi lista pentru a crea o matrice python.

Vom crea o matrice 3x3, așa cum se arată mai jos:

  • Matricea are 3 rânduri și 3 coloane.
  • Primul rând într-un format de listă va fi după cum urmează: [8,14, -6]
  • Al doilea rând dintr-o listă va fi: [12,7,4]
  • Al treilea rând dintr-o listă va fi: [-11,3,21]

Matricea dintr-o listă cu toate rândurile și coloanele este așa cum se arată mai jos:

List = [[Row1],[Row2],[Row3]… [RowN]]

Deci, conform matricei enumerate mai sus, tipul listei cu date matriciale este după cum urmează:

M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]

Pentru a citi datele din Python Matrix folosind o listă.

Vom folosi matricea definită mai sus. Exemplul va citi datele, va imprima matricea, va afișa ultimul element din fiecare rând.

Exemplu: Pentru a imprima matricea

M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]#To print the matrixprint(M1)

Ieșire:

The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]

Exemplul 2: Pentru a citi ultimul element din fiecare rând.

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

Ieșire:

-6421

Exemplul 3: Pentru a imprima rândurile din Matrix

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

Ieșire:

[8, 14, -6][12, 7, 4][-11, 3, 21]

Adăugarea de matrice utilizând lista imbricată

Putem adăuga cu ușurință două matrice date. Matricile de aici vor fi în formă de listă. Să lucrăm la un exemplu care va avea grijă să adăugăm matricile date.

Matricea 1:

M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]

Matricea 2:

M2 = [[3, 16, -6],[9,7,-4],[-1,3,13]]

Last va inițializa o matrice care va stoca rezultatul M1 + M2.

Matricea 3:

M3 = [[0,0,0],[0,0,0],[0,0,0]]

Exemplu: Adăugarea de matrice

Pentru a adăuga, matricile vor folosi o buclă for care va parcurge ambele matrice date.

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)

Ieșire:

The sum of Matrix M1 and M2 = [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]

Înmulțirea matricilor folosind Lista imbricată

Pentru a multiplica matricile, putem folosi bucla for pentru ambele matrici așa cum se arată în codul de mai jos:

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)

Ieșire:

The multiplication of Matrix M1 and M2 = [[24, 224, 36], [108, 49, -16], [11, 9, 273]]

Creați Python Matrix folosind Arrays din pachetul Python Numpy

Biblioteca Python Numpy ajută la gestionarea matricilor. Numpy procesează o matrice puțin mai rapid în comparație cu lista.

Pentru a lucra cu Numpy, trebuie mai întâi să îl instalați. Urmați pașii de mai jos pentru a instala Numpy.

Pasul 1)

Comanda pentru a instala Numpy este:

pip install NumPy

Pasul 2)

Pentru a utiliza Numpy în codul dvs., trebuie să îl importați.

import NumPy

Pasul 3)

De asemenea, puteți importa Numpy folosind un alias, după cum se arată mai jos:

import NumPy as np

Vom folosi metoda array () de la Numpy pentru a crea o matrice python.

Exemplu: Array în Numpy pentru a crea Python Matrix

import numpy as npM1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]])print(M1)

Ieșire:

[[ 5 -10 15][ 3 -6 9][ -4 8 12]]

Operațiune Matrix folosind Numpy.Array ()

Operația matricială care se poate face este adunarea, scăderea, înmulțirea, transpunerea, citirea rândurilor, coloanelor unei matrice, felierea matricei etc. În toate exemplele, vom folosi o metodă array ().

Adăugarea matricei

Pentru a efectua adăugarea pe matrice, vom crea două matrice folosind numpy.array () și le vom adăuga folosind operatorul (+).

Exemplu:

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)

Ieșire:

[[ 12 -12 36][ 16 12 48][ 6 -12 60]]

Scăderea matricei

Pentru a efectua scăderea matricei, vom crea două matrice folosind numpy.array () și le vom scădea folosind operatorul (-).

Exemplu:

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)

Ieșire:

[[ -6 24 -18][ -6 -32 -18][-20 40 -18]]

Multiplicarea matricei

Mai întâi se vor crea două matrice folosind numpy.arary (). Pentru a le multiplica, puteți utiliza metoda numpy dot (). Numpy.dot () este produsul punct al matricei M1 și M2. Numpy.dot () gestionează matricile 2D și efectuează multiplicări de matrice.

Exemplu:

import numpy as npM1 = np.array([[3, 6], [5, -10]])M2 = np.array([[9, -18], [11, 22]])M3 = M1.dot(M2)print(M3)

Ieșire:

[[ 93 78][ -65 -310]]

Transpunerea matricei

Transpunerea unei matrice este calculată, schimbând rândurile sub formă de coloane și coloanele ca rânduri. Funcția transpose () de la Numpy poate fi utilizată pentru a calcula transpunerea unei matrice.

Exemplu:

import numpy as npM1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]])M2 = M1.transpose()print(M2)

Ieșire:

[[ 3 5 4][ 6 -10 8][ 9 15 12]]

Felierea unei Matrice

Felierea vă va întoarce elementele din matrice pe baza indexului de început / sfârșit dat.

  • Sintaxa pentru tranșare este - [start: end]
  • Dacă indicele de început nu este dat, este considerat ca 0. De exemplu [: 5], înseamnă ca [0: 5].
  • Dacă sfârșitul nu este trecut, va lua ca lungime matrice.
  • Dacă începutul / sfârșitul are valori negative, felierea se va face de la sfârșitul matricei.

Înainte de a lucra la felierea pe o matrice, să înțelegem mai întâi cum să aplicăm felia pe o matrice simplă.

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

Ieșire:

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

Acum, să implementăm felierea pe matrice. Pentru a efectua felierea pe o matrice

sintaxa va fi M1 [row_start: row_end, col_start: col_end]

  • Primul start / sfârșit va fi pentru rând, adică pentru a selecta rândurile matricei.
  • Al doilea început / sfârșit va fi pentru coloană, adică pentru a selecta coloanele matricei.

Matricea M1 pe care o vom folosi este după cum urmează:

M1 = np.array([[2, 4, 6, 8, 10],[3, 6, 9, -12, -15],[4, 8, 12, 16, -20],[5, -10, 15, -20, 25]])

Există în total 4 rânduri. Indicele pornește de la 0 la 3. 0 - lea rând este [2,4,6,8,10], 1 st rând este [3,6,9, -12, -15] urmat de 2 - lea și 3 rd .

Matricea M1 are 5 coloane. Indicele pornește de la 0 la 4.The 0 th coloană are valori [2,3,4,5], 1 st coloane au valori [4,6,8, -10] , urmată de 2 - lea , 3 - lea , 4 - lea , și a 5- a .

Iată un exemplu care arată cum să obțineți datele rândurilor și coloanelor din matrice folosind felierea. În exemplu, imprimăm primul și al doilea rând, iar pentru coloane dorim prima, a doua și a treia coloană. Pentru a obține această ieșire am folosit: M1 [1: 3, 1: 4]

Exemplu:

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.

Ieșire:

[[ 6 9 -12][ 8 12 16]]

Exemplu: Pentru a imprima toate rândurile și a treia coloană

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.

Ieșire:

[ 8 -12 16 -20]

Exemplu: Pentru a imprima primul rând și toate coloanele

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

Ieșire:

[[ 2 4 6 8 10]]

Exemplu: Pentru a imprima primele trei rânduri și primele 2 coloane

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

Ieșire:

[[2 4][3 6][4 8]]

Accesarea NumPy Matrix

Am văzut cum funcționează felierea. Luând în considerare acest lucru, vom afla cum să obținem rândurile și coloanele din matrice.

Pentru a imprima rândurile matricei

În exemplu, se vor imprima rândurile matricei.

Exemplu:

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

Ieșire:

[3 6 9][ 5 -10 15][ 4 8 12]

Pentru a obține ultimul rând, puteți utiliza indexul sau -1. De exemplu, matricea are 3 rânduri,

deci M1 [0] vă va da primul rând,

M1 [1] vă va da al doilea rând

M1 [2] sau M1 [-1] vă vor da al treilea rând sau ultimul rând.

Pentru a imprima coloanele matricei

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

Ieșire:

[2 3 4 5][ 8 -12 16 -20][ 10 -15 -20 25]

Rezumat:

  • O matrice Python este o matrice dreptunghiulară bidimensională specializată de date stocate în rânduri și coloane. Datele dintr-o matrice pot fi numere, șiruri, expresii, simboluri etc. Matricea este una dintre structurile de date importante care pot fi utilizate în calculele matematice și științifice.
  • Python nu are o modalitate simplă de a implementa un tip de date matrice. Matricea Python poate fi creată utilizând un tip de date de listă imbricată și utilizând biblioteca numpy.
  • Biblioteca Python Numpy ajută la gestionarea matricilor. Numpy procesează o matrice puțin mai rapid în comparație cu lista.
  • Operația matricială care se poate face este adunarea, scăderea, înmulțirea, transpunerea, citirea rândurilor, coloanelor unei matrice, felierea matricei etc.
  • Pentru a adăuga două matrice, puteți utiliza numpy.array () și adăugați-le folosind operatorul (+).
  • Pentru a le multiplica, puteți folosi metoda numpy dot (). Numpy.dot () este produsul punct al matricei M1 și M2. Numpy.dot () gestionează matricile 2D și efectuează multiplicări de matrice.
  • Transpunerea unei matrice este calculată prin schimbarea rândurilor sub formă de coloane și coloane ca rânduri. Funcția transpose () de la Numpy poate fi utilizată pentru a calcula transpunerea unei matrice.
  • Felierea unei matrice vă va întoarce elementele pe baza indexului de început / sfârșit dat.