Python Matrice: Exemple de transpunere, multiplicare, matrice NumPy
Ce Este Python Matrice?
A Python matricea este o matrice dreptunghiularฤ bidimensionalฤ specializatฤ de date stocate รฎn rรขnduri ศi coloane. Datele dintr-o matrice pot fi numere, ศiruri de caractere, expresii, simboluri etc. Matricea este una dintre structurile de date importante care pot fi utilizate รฎn calcule matematice ศi ศtiinศifice.
Cum Python Matricele funcศioneazฤ?
Datele din interiorul matricei bidimensionale รฎn format matrice aratฤ dupฤ cum urmeazฤ:
Pas 1) Aratฤ o matrice 2ร2. Are douฤ rรขnduri ศi 2 coloane. Datele din interiorul matricei sunt numere. Rรขndul1 are valorile 2,3, iar rรขndul2 are valorile 4,5. Coloanele, adicฤ col1, au valorile 2,4, iar col2 are valorile 3,5.
Pas 2) Aratฤ o matrice 2ร3. Are douฤ rรขnduri ศi trei coloane. Datele din primul rรขnd, adicฤ rรขndul1, au valorile 2,3,4, iar rรขndul2 are valorile 5,6,7. Coloanele col1 are valorile 2,5, col2 are valorile 3,6 ศi col3 are valorile 4,7.
Deci, รฎn mod similar, puteศi avea datele stocate รฎn matricea nxn PythonO mulศime de operaศii pot fi efectuate pe o adunare de tip matrice, subtracศiune, รฎnmulศire etc.
Python nu are o modalitate simplฤ de a implementa un tip de date matrice.
Matricea Python foloseศte matrice ศi acelaศi lucru poate fi implementat.
- Crearea unei Python Matrice folosind tipul de date din listฤ imbricatฤ
- Creazฤ Python Matrice folosind Arrays from Python Pachet Numpy
Creazฤ Python Matrice folosind un tip de date cu listฤ imbricatฤ
In Python, tablourile sunt reprezentate folosind tipul de date listฤ. Deci acum vom folosi lista pentru a crea o matrice python.
Vom crea o matrice 3ร3, dupฤ 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 din interiorul unei liste 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 de listฤ cu datele matricei este dupฤ cum urmeazฤ:
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
Pentru a citi datele din interior Python Matrice 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 matrix
print(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:
-6 4 21
Exemplul 3: Pentru a imprima rรขndurile din Matrice
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])
ieศire:
[8, 14, -6] [12, 7, 4] [-11, 3, 21]
Adฤugarea de matrici utilizรขnd lista imbricatฤ
Putem adฤuga cu uศurinศฤ douฤ matrici date. Matricele de aici vor fi sub formฤ de listฤ. Sฤ lucrฤm la un exemplu care va avea grijฤ sฤ adฤugฤm matricele 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 matrici
Pentru a adฤuga, matricele vor folosi o buclฤ for care va trece prin 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 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)
ieศire:
The sum of Matrix M1 and M2 = [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]
รnmulศirea matricelor folosind Lista imbricatฤ
Pentru a multiplica matricele, putem folosi bucla for pe ambele matrice, 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 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)
ieศire:
The multiplication of Matrix M1 and M2 = [[24, 224, 36], [108, 49, -16], [11, 9, 273]]
Creazฤ Python Matrice folosind Arrays from Python Pachet Numpy
Biblioteca python Numpy ajutฤ la tratarea matricelor. Numpy proceseazฤ o matrice puศin mai rapid รฎn comparaศie cu lista.
Pentru a lucra cu Numpy, trebuie sฤ รฎl instalaศi mai รฎntรขi. Urmaศi paศii de mai jos pentru a instala Numpy.
Pas 1) Comanda pentru a instala Numpy este:
pip install NumPy
Pas 2) Pentru a utiliza Numpy รฎn codul dvs., trebuie sฤ รฎl importaศi.
import NumPy
Pas 3) De asemenea, puteศi importa Numpy folosind un alias, aศa cum se aratฤ mai jos:
import NumPy as np
Vom folosi metoda array() de la Numpy pentru a crea o matrice python.
Exemplu: Matrice รฎn Numpy de creat Python Matrice
import numpy as np M1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]]) print(M1)
ieศire:
[[ 5 -10 15] [ 3 -6 9] [ -4 8 12]]
Matrice Operaศine folosind Numpy.Array()
Operaศia cu matricea care poate fi efectuatฤ este adunarea, subducศiuneatracศiune, รฎnmulศire, transpunere, 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 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)
ieศire:
[[ 12 -12 36] [ 16 12 48] [ 6 -12 60]]
Matrix SubtracTION
Pentru a efectua subtracศiune pe matrice, vom crea douฤ matrici folosind numpy.array() ศi subtracfolosind operatorul (-).
Exemplu:
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)
ieศire:
[[ -6 24 -18] [ -6 -32 -18] [-20 40 -18]]
รnmulศirea matricealฤ
Mai รฎntรขi se vor crea douฤ matrici folosind numpy.arary(). Pentru a le multiplica voinศa, puteศi folosi metoda numpy dot(). Numpy.dot() este produsul scalar al matricei M1 ศi M2. Numpy.dot() gestioneazฤ tablourile 2D ศi efectueazฤ รฎnmulศiri de matrice.
Exemplu:
import numpy as np M1 = 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
Se calculeazฤ transpunerea unei matrice, prin schimbarea rรขndurilor ca coloane ศi coloanelor ca rรขnduri. Funcศia transpose() din Numpy poate fi utilizatฤ pentru a calcula transpunerea unei matrice.
Exemplu:
import numpy as np M1 = 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]]
Tฤierea unei matrice
Tฤierea vฤ va returna elementele din matrice pe baza indexului de รฎnceput / sfรขrศit dat.
- Sintaxa pentru feliere este โ [start:end]
- Dacฤ indicele de รฎnceput nu este dat, acesta este considerat 0. De exemplu [:5], รฎnseamnฤ ca [0:5].
- Dacฤ sfรขrศitul nu este trecut, acesta va lua ca lungime a matricei.
- Dacฤ รฎnceputul/sfรขrศitul are valori negative, tฤierea se va face de la sfรขrศitul matricei.
รnainte de a lucra la slice pe o matrice, sฤ รฎnศelegem mai รฎntรขi cum sฤ aplicฤm slice pe o matrice simplฤ.
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
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 tฤierea pe o matrice
sintaxa va fi M1[row_start:row_end, col_start:col_end]
- Primul รฎnceput/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 urmฤtoarea:
M1 = np.array([[2, 4, 6, 8, 10],
[3, 6, 9, -12, -15],
[4, 8, 12, 16, -20],
[5, -10, 15, -20, 25]])
Sunt รฎn total 4 rรขnduri. Indicele รฎncepe de la 0 la 3. 0th rรขndul este [2,4,6,8,10], 1st rรขndul este [3,6,9,-12,-15] urmat de 2nd ศi 3rd.
Matricea M1 are 5 coloane. Indicele รฎncepe de la 0 la 4. 0th coloana are valorile [2,3,4,5], 1st coloanele au valorile [4,6,8,-10] urmate de 2nd, 3rd, 4th, ศi 5th.
Iatฤ un exemplu care aratฤ cum sฤ obศineศi datele de rรขnduri ศi coloane din matrice folosind tฤierea. รn exemplu, tipฤrim 1st ศi 2nd rรขnd, iar pentru coloane, dorim prima, a doua ศi a treia coloanฤ. Pentru a obศine acea ieศire am folosit: M1[1:3, 1:4]
Exemplu:
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.
ieศire:
[[ 6 9 -12] [ 8 12 16]]
Exemplu: pentru a tipฤri toate rรขndurile ศi a treia coloanฤ
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.
ieศire:
[ 8 -12 16 -20]
Exemplu: pentru a imprima primul rรขnd ศi toate coloanele
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
ieศire:
[[ 2 4 6 8 10]]
Exemplu: pentru a tipฤri primele trei rรขnduri ศi primele 2 coloane
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])
ieศire:
[[2 4] [3 6] [4 8]]
Accesarea NumPy Matrix
Am vฤzut cum funcศioneazฤ tฤierea. Luรขnd รฎn considerare acest lucru, vom vedea 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 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
ieศire:
[3 6 9] [ 5 -10 15] [ 4 8 12]
Pentru a obศine ultimul rรขnd, puteศi folosi indexul sau -1. De exemplu, matricea are 3 rรขnduri,
deci M1[0] vฤ va oferi primul rรขnd,
M1[1] vฤ va oferi al doilea rรขnd
M1[2] sau M1[-1] vฤ va oferi al treilea rรขnd sau ultimul rรขnd.
Pentru a imprima coloanele matricei
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
ieศire:
[2 3 4 5] [ 8 -12 16 -20] [ 10 -15 -20 25]
Rezumat
- A Python matricea este o matrice dreptunghiularฤ bidimensionalฤ specializatฤ de date stocate รฎn rรขnduri ศi coloane. Datele dintr-o matrice pot fi numere, ศiruri de caractere, expresii, simboluri etc. Matricea este una dintre structurile de date importante care pot fi utilizate รฎn calcule matematice ศi ศtiinศifice.
- Python nu are o modalitate simplฤ de a implementa un tip de date matrice. Python matricea poate fi creatฤ folosind un tip de date cu listฤ imbricatฤ ศi folosind biblioteca numpy.
- Biblioteca python Numpy ajutฤ la tratarea matricelor. Numpy proceseazฤ o matrice puศin mai rapid รฎn comparaศie cu lista.
- Operaศia cu matricea care poate fi efectuatฤ este adunarea, subducศiuneatracศiune, รฎnmulศire, transpunere, citirea rรขndurilor, coloanelor unei matrice, felierea matricei etc.
- Pentru a adฤuga douฤ matrice, puteศi folosi numpy.array() ศi le puteศi adฤuga folosind operatorul (+).
- Pentru a le multiplica will, puteศi folosi metoda numpy dot(). Numpy.dot() este produsul scalar al matricei M1 ศi M2. Numpy.dot() gestioneazฤ tablourile 2D ศi efectueazฤ รฎnmulศiri de matrice.
- Transpunerea unei matrice se calculeazฤ prin schimbarea rรขndurilor ca coloane ศi coloanelor ca rรขnduri. Funcศia transpose() din Numpy poate fi utilizatฤ pentru a calcula transpunerea unei matrice.
- Tฤierea unei matrice vฤ va returna elementele pe baza indexului de รฎnceput / sfรขrศit dat.


