Python-matrix: Eksempler på transponering, multiplikation, NumPy-arrays

Indholdsfortegnelse:

Anonim

Hvad er Python Matrix?

En Python-matrix er et specialiseret todimensionalt rektangulært array af data, der er gemt i rækker og kolonner. Dataene i en matrix kan være tal, strenge, udtryk, symboler osv. Matrix er en af ​​de vigtige datastrukturer, der kan bruges i matematiske og videnskabelige beregninger.

I denne Python-tutorial lærer du:

  • Hvad er Python Matrix?
  • Hvordan fungerer Python-matricer?
  • Opret Python Matrix ved hjælp af en indlejret datadatatype
  • For at læse data inde i Python Matrix ved hjælp af en liste.
  • Eksempel 2: At læse det sidste element fra hver række.
  • Eksempel 3: At udskrive rækkerne i matrixen
  • Tilføjelse af matricer ved hjælp af indlejret liste
  • Multiplikation af matricer ved hjælp af indlejret liste
  • Opret Python Matrix ved hjælp af Arrays fra Python Numpy-pakke
  • Matrixdrift ved hjælp af Numpy.Array ()
  • Adgang til NumPy Matrix

Hvordan fungerer Python-matricer?

Dataene i det todimensionale array i matrixformat ser ud som følger:

Trin 1)

Det viser en 2x2 matrix. Den har to rækker og 2 kolonner. Dataene inde i matrixen er tal. Række1 har værdier 2,3, og række2 har værdier 4,5. Kolonnerne, dvs. col1, har værdier 2,4, og col2 har værdier 3,5.

Trin 2)

Det viser en 2x3 matrix. Den har to rækker og tre kolonner. Dataene i den første række, dvs. række1, har værdier 2,3,4, og række2 har værdier 5,6,7. Kolonnerne col1 har værdier 2,5, col2 har værdier 3,6 og col3 har værdier 4,7.

På samme måde kan du have dine data gemt inde i nxn-matrixen i Python. En masse operationer kan udføres på en matrix-lignende addition, subtraktion, multiplikation osv.

Python har ikke en ligetil måde at implementere en matrixdatatype på.

Python-matrixen bruger arrays, og det samme kan implementeres.

  • Opret en Python Matrix ved hjælp af den indlejrede listedatatype
  • Opret Python Matrix ved hjælp af Arrays fra Python Numpy-pakke

Opret Python Matrix ved hjælp af en indlejret datadatatype

I Python er arrays repræsenteret ved hjælp af listen datatype. Så nu vil gøre brug af listen til at oprette en pythonmatrix.

Vi opretter en 3x3 matrix, som vist nedenfor:

  • Matrixen har 3 rækker og 3 kolonner.
  • Den første række i et listeformat vil være som følger: [8,14, -6]
  • Den anden række på en liste vil være: [12,7,4]
  • Den tredje række på en liste vil være: [-11,3,21]

Matrixen inde i en liste med alle rækkerne og kolonnerne er som vist nedenfor:

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

Så som pr. Matrixen ovenfor er listetypen med matrixdata som følger:

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

For at læse data inde i Python Matrix ved hjælp af en liste.

Vi bruger den ovenfor definerede matrix. Eksemplet læser dataene, udskriver matrixen, viser det sidste element fra hver række.

Eksempel: At udskrive matrixen

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

Produktion:

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

Eksempel 2: At læse det sidste element fra hver række.

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

Produktion:

-6421

Eksempel 3: At udskrive rækkerne i matrixen

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

Produktion:

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

Tilføjelse af matricer ved hjælp af indlejret liste

Vi kan let tilføje to givne matricer. Matricerne her vil være i listeformularen. Lad os arbejde på et eksempel, der passer på at tilføje de givne matricer.

Matrix 1:

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

Matrix 2:

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

Last initialiserer en matrix, der gemmer resultatet af M1 + M2.

Matrix 3:

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

Eksempel: Tilføjelse af matricer

For at tilføje bruger matricerne en for-loop, der løber gennem begge de angivne matricer.

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)

Produktion:

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

Multiplikation af matricer ved hjælp af indlejret liste

For at multiplicere matricerne kan vi bruge for-loop på begge matricerne 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)

Produktion:

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

Opret Python Matrix ved hjælp af Arrays fra Python Numpy-pakke

Python-biblioteket Numpy hjælper med at håndtere arrays. Numpy behandler en matrix lidt hurtigere sammenlignet med listen.

For at arbejde med Numpy skal du først installere det. Følg trinene nedenfor for at installere Numpy.

Trin 1)

Kommandoen til at installere Numpy er:

pip install NumPy

Trin 2)

For at gøre brug af Numpy i din kode skal du importere den.

import NumPy

Trin 3)

Du kan også importere Numpy ved hjælp af et alias, som vist nedenfor:

import NumPy as np

Vi skal bruge array () -metoden fra Numpy til at oprette en pythonmatrix.

Eksempel: Array i Numpy for at oprette Python Matrix

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

Produktion:

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

Matrixdrift ved hjælp af Numpy.Array ()

Den matrixoperation, der kan udføres, er addition, subtraktion, multiplikation, transponering, læsning af rækkerne, kolonner i en matrix, udskæring af matrixen osv. I alle eksemplerne skal vi bruge en array () -metode.

Matrix-tilføjelse

For at udføre tilføjelse på matrixen opretter vi to matricer ved hjælp af numpy.array () og tilføjer dem ved hjælp af 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)

Produktion:

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

Matrix subtraktion

For at udføre subtraktion på matricen opretter vi to matricer ved hjælp af numpy.array () og trækker dem ved hjælp af 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)

Produktion:

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

Matrixmultiplikation

Først oprettes to matricer ved hjælp af numpy.arary (). For at formere dem vil, kan du gøre brug af numpy dot () -metoden. Numpy.dot () er prikproduktet i matrix M1 og M2. Numpy.dot () håndterer 2D-arrays og udfører matrixmultiplikationer.

Eksempel:

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

Produktion:

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

Matrix Transponere

Transponeringen af ​​en matrix beregnes ved at ændre rækkerne som kolonner og kolonner som rækker. Transponeringsfunktionen () fra Numpy kan bruges til at beregne transponeringen af ​​en matrix.

Eksempel:

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

Produktion:

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

Udskæring af en matrix

Udskæring returnerer elementerne fra matrixen baseret på det angivne start / slut-indeks.

  • Syntaksen for udskæring er - [start: slut]
  • Hvis startindekset ikke er angivet, betragtes det som 0. For eksempel [: 5] betyder det som [0: 5].
  • Hvis slutningen ikke passeres, tager den længden af ​​arrayet.
  • Hvis start / slutningen har negative værdier, vil det blive skåret ud fra slutningen af ​​arrayet.

Før vi arbejder på at skære på en matrix, skal vi først forstå, hvordan vi anvender skive på et simpelt array.

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

Produktion:

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

Lad os nu implementere udskæring på matrix. At udføre skæring på en matrix

syntaksen vil være M1 [row_start: row_end, col_start: col_end]

  • Den første start / slutning er for rækken, dvs. for at vælge matrixens rækker.
  • Den anden start / slutning gælder for kolonnen, dvs. at vælge matrixens kolonner.

Matrixen M1 t, som vi skal bruge, 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]])

Der er i alt 4 rækker. Indeksværdierne starter fra 0 til 3. 0 th række er den [2,4,6,8,10], 1 st række er [3,6,9, -12, -15] efterfulgt af 2 nd og 3 rd .

Matrixen M1 har 5 kolonner. Indeksværdierne starter fra 0 til 4. Den 0 th kolonne har værdier [2,3,4,5], 1 st kolonner har værdier [4,6,8, -10] efterfulgt af 2 nd , 3 rd , 4 th , og 5 th .

Her er et eksempel, der viser, hvordan du får data om rækker og søjler fra matrixen ved hjælp af udskæring. I eksemplet er vi udskriver en st og 2 nd række, og for kolonner, ønsker vi den første, anden og tredje søjle. For at få det output har vi brugt: 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.

Produktion:

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

Eksempel: At udskrive alle rækker 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.

Produktion:

[ 8 -12 16 -20]

Eksempel: At udskrive den første række og alle 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[:1,]) # This will print first row and all columns

Produktion:

[[ 2 4 6 8 10]]

Eksempel: Udskriver de første tre rækker og første 2 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,:2])

Produktion:

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

Adgang til NumPy Matrix

Vi har set, hvordan udskæring fungerer. Når vi tager det i betragtning, vil vi hvordan man får rækkerne og kolonnerne fra matrixen.

For at udskrive matrixens rækker

I eksemplet udskrives matrixens rækker.

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

Produktion:

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

For at få den sidste række kan du gøre brug af indekset eller -1. For eksempel har matrixen 3 rækker,

så M1 [0] giver dig den første række,

M1 [1] giver dig anden række

M1 [2] eller M1 [-1] giver dig den tredje række eller sidste række.

For at udskrive kolonnerne i matrixen

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

Produktion:

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

Resumé:

  • En Python-matrix er et specialiseret todimensionalt rektangulært array af data, der er gemt i rækker og kolonner. Dataene i en matrix kan være tal, strenge, udtryk, symboler osv. Matrix er en af ​​de vigtige datastrukturer, der kan bruges i matematiske og videnskabelige beregninger.
  • Python har ikke en ligetil måde at implementere en matrixdatatype på. Python-matrix kan oprettes ved hjælp af en indlejret listedatatype og ved hjælp af numpy-biblioteket.
  • Python-biblioteket Numpy hjælper med at håndtere arrays. Numpy behandler en matrix lidt hurtigere sammenlignet med listen.
  • Den matrixoperation, der kan udføres, er addition, subtraktion, multiplikation, transponering, læsning af rækkerne, kolonner i en matrix, udskæring af matrixen osv.
  • For at tilføje to matricer kan du bruge numpy.array () og tilføje dem ved hjælp af operatoren (+).
  • Hvis du vil multiplicere dem, kan du bruge metoden med numpy dot (). Numpy.dot () er prikproduktet i matrix M1 og M2. Numpy.dot () håndterer 2D-arrays og udfører matrixmultiplikationer.
  • Transponeringen af ​​en matrix beregnes ved at ændre rækkerne som kolonner og kolonner som rækker. Transponeringsfunktionen () fra Numpy kan bruges til at beregne transponeringen af ​​en matrix.
  • Udskæring af en matrix giver dig elementerne baseret på det angivne start / slut-indeks.