Pythoni maatriks: transponeerimise, korrutamise, NumPy massiivi näited

Lang L: none (table-of-contents):

Anonim

Mis on Pythoni maatriks?

Pythoni maatriks on spetsiaalne kahemõõtmeline ristkülikukujuline andmemassiiv, mis on salvestatud ridadesse ja veergudesse. Maatriksi andmed võivad olla arvud, stringid, avaldised, sümbolid jne. Maatriks on üks olulisi andmestruktuure, mida saab kasutada matemaatilistes ja teaduslikes arvutustes.

Selles Pythoni õpetuses saate teada:

  • Mis on Pythoni maatriks?
  • Kuidas Pythoni maatriksid töötavad?
  • Looge Pythoni maatriks pesastatud loendi andmetüübi abil
  • Andmete lugemiseks Pythoni maatriksis loendi abil.
  • Näide 2: igast reast viimase elemendi lugemiseks.
  • Näide 3: Maatriksi ridade printimiseks
  • Maatriksite lisamine pesastatud loendi abil
  • Maatriksite korrutamine pesastatud loendi abil
  • Looge Pythoni maatriks, kasutades massiive paketist Python Numpy
  • Maatriksioperatsioon Numpy.Array () abil
  • Juurdepääs NumPy Matrixile

Kuidas Pythoni maatriksid töötavad?

Maatriksvormingus kahemõõtmelise massiivi andmed näevad välja järgmised:

Samm 1)

See näitab 2x2 maatriksit. Sellel on kaks rida ja 2 veergu. Maatriksi sees olevad andmed on arvud. Rea 1 väärtus on 2,3 ja teise rea väärtus 4,5. Veergudel st col1 on väärtused 2,4 ja col2-l väärtus 3,5.

2. samm)

See näitab 2x3 maatriksit. Sellel on kaks rida ja kolm veergu. Esimese rea, st rea 1 sees olevate andmete väärtus on 2,3,4 ja rea ​​2 väärtus 5,6,7. Veergude col1 väärtused on 2,5, col2 väärtused 3,6 ja col3 väärtused 4,7.

Nii saate lasta oma andmed Pythonis salvestada nxn-maatriksisse. Maatriksilaadse liitmise, lahutamise, korrutamise jne abil saab teha palju toiminguid.

Pythonil pole maatriksitüübi juurutamiseks otsest viisi.

Pythoni maatriks kasutab massiive ja sama saab rakendada.

  • Looge pesastatud loendi andmetüübi abil Pythoni maatriks
  • Looge Pythoni maatriks, kasutades massiive paketist Python Numpy

Looge Pythoni maatriks pesastatud loendi andmetüübi abil

Pythonis on massiivid kujutatud loendi andmetüübi abil. Nüüd kasutab see loendit Pythoni maatriksi loomiseks.

Loome 3x3 maatriksi, nagu allpool näidatud:

  • Maatriksil on 3 rida ja 3 veergu.
  • Esimene loendivormi rida on järgmine: [8,14, -6]
  • Loendi teine ​​rida on: [12,7,4]
  • Loendi kolmas rida on: [-11,3,21]

Kõigi ridade ja veergudega loendis olev maatriks on järgmine:

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

Nii et vastavalt ülaltoodud maatriksile on maatriksiandmetega loenditüüp järgmine:

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

Andmete lugemiseks Pythoni maatriksis loendi abil.

Kasutame ülalkirjeldatud maatriksit. Näide loeb andmeid, printib maatriksi, kuvab iga rea ​​viimase elemendi.

Näide: maatriksi printimiseks

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

Väljund:

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

Näide 2: igast reast viimase elemendi lugemiseks.

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

Väljund:

-6421

Näide 3: Maatriksi ridade printimiseks

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

Väljund:

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

Maatriksite lisamine pesastatud loendi abil

Saame hõlpsalt lisada kaks antud maatriksit. Siinsed maatriksid on loendi kujul. Töötagem näite kallal, mis hoolitseb etteantud maatriksite lisamise eest.

Maatriks 1:

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

Maatriks 2:

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

Viimane lähtestab maatriksi, mis salvestab tulemuse M1 + M2.

Maatriks 3:

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

Näide: maatriksite lisamine

Lisamiseks kasutatakse maatriksites for-loopi, mis viib läbi mõlemad antud maatriksid.

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)

Väljund:

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

Maatriksite korrutamine pesastatud loendi abil

Maatriksite korrutamiseks saame mõlemal maatriksil kasutada for-loopi, nagu on näidatud allpool toodud koodis:

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)

Väljund:

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

Looge Pythoni maatriks, kasutades massiive paketist Python Numpy

Massiividega aitab toime tulla pythoni teek Numpy. Numpy töötleb massiivi loendiga võrreldes veidi kiiremini.

Numpy'ga töötamiseks peate selle kõigepealt installima. Numpy installimiseks järgige allpool toodud samme.

Samm 1)

Numpy installimise käsk on:

pip install NumPy

2. samm)

Numpy kasutamiseks oma koodis peate selle importima.

import NumPy

3. samm)

Numpy saate importida ka varjunime abil, nagu allpool näidatud:

import NumPy as np

Püütoni maatriksi loomiseks kasutame Numpy array () meetodit.

Näide: massiiv Numpys Pythoni maatriksi loomiseks

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

Väljund:

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

Maatriksioperatsioon Numpy.Array () abil

Maatriksioperatsioon, mida saab teha, on liitmine, lahutamine, korrutamine, transponeerimine, maatriksi ridade, veergude lugemine, maatriksi viilutamine jne. Kõigis näidetes kasutame massiivi () meetodit.

Maatriksi liitmine

Maatriksil liitmise loomiseks loome kaks maatriksit numpy.array () abil ja lisame need operaatori (+) abil.

Näide:

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)

Väljund:

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

Maatriksi lahutamine

Maatriksil lahutamise tegemiseks loome kaks maatriksit numpy.array () abil ja lahutame need operaatori (-) abil.

Näide:

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)

Väljund:

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

Maatriksi korrutamine

Kõigepealt loob kaks maatriksit, kasutades numpy.arary (). Nende korrutamiseks võite kasutada meetodit numpy dot (). Numpy.dot () on maatriksi M1 ja M2 punkt-korrutis. Numpy.dot () tegeleb 2D massiividega ja teostab maatrikskorrutusi.

Näide:

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

Väljund:

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

Matrix Transpose

Maatriksi ülekandmine arvutatakse, muutes ridu veergudena ja veerge ridadena. Numpy funktsiooni transpose () saab kasutada maatriksi üleviimise arvutamiseks.

Näide:

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

Väljund:

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

Maatriksi viilutamine

Viilutamine tagastab teile maatriksi elemendid vastavalt antud alguse / lõpu indeksile.

  • Viilutamise süntaks on - [algus: lõpp]
  • Kui algusindeksit ei anta, loetakse see väärtuseks 0. Näiteks [: 5], see tähendab kui [0: 5].
  • Kui lõppu ei läbita, võtab see massiivi pikkuse.
  • Kui alguse / lõpu väärtused on negatiivsed, tehakse viilutamine massiivi lõpust.

Enne kui töötame maatriksil viilutamise kallal, mõelgem kõigepealt, kuidas viilu lihtsale massiivile rakendada.

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

Väljund:

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

Rakendame nüüd maatriksil viilutamist. Maatriksil viilutamiseks

süntaks on M1 [row_start: row_end, col_start: col_end]

  • Esimene algus / lõpp on rea jaoks, st maatriksi ridade valimiseks.
  • Teine algus / lõpp on veeru jaoks, st maatriksi veergude valimiseks.

Maatriks M1, mida me kasutama hakkame, on järgmine:

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

Seal on kokku 4 rida. Indeks algab vahemikus 0 kuni 3. 0 th reas on [2,4,6,8,10] 1 silmus rea on [3,6,9, -12, -15] järgnes 2 nd ja 3 rd .

Maatriksil M1 on 5 veergu. Indeks algab 0 kuni 4.Kui 0 th kolonnis väärtusi [2,3,4,5] 1 silmus kolonnid on väärtused [4,6,8, -10] järgnes 2 nd , 3 rd , 4 th , ja 5 th .

Siin on näide, kuidas viilutamise abil saada maatriksist ridade ja veergude andmeid. Näites me printida 1 silmus ja 2 nd rea ja veeru tahame esimese, teise ja kolmanda veeru. Selle väljundi saamiseks oleme kasutanud: M1 [1: 3, 1: 4]

Näide:

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.

Väljund:

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

Näide: kõigi ridade ja kolmandate veergude printimiseks

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.

Väljund:

[ 8 -12 16 -20]

Näide: esimese rea ja kõigi veergude printimiseks

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

Väljund:

[[ 2 4 6 8 10]]

Näide: esimese kolme rea ja kahe esimese veeru printimiseks

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

Väljund:

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

Juurdepääs NumPy Matrixile

Oleme näinud, kuidas viilutamine töötab. Seda arvesse võttes uurime, kuidas maatriksist read ja veerud kätte saada.

Maatriksi ridade printimiseks

Näites trükitakse maatriksi read.

Näide:

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

Väljund:

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

Viimase rea saamiseks võite kasutada indeksit või -1. Näiteks on maatriksil 3 rida,

nii et M1 [0] annab teile esimese rea,

M1 [1] annab teile teise rea

M1 [2] või M1 [-1] annab teile kolmanda või viimase rea.

Maatriksi veergude printimiseks

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

Väljund:

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

Kokkuvõte:

  • Pythoni maatriks on spetsiaalne kahemõõtmeline ristkülikukujuline andmemassiiv, mis on salvestatud ridadesse ja veergudesse. Maatriksi andmed võivad olla arvud, stringid, avaldised, sümbolid jne. Maatriks on üks olulisi andmestruktuure, mida saab kasutada matemaatilistes ja teaduslikes arvutustes.
  • Pythonil pole maatriksitüübi juurutamiseks otsest viisi. Pythoni maatriksi saab luua sisestatud loendi andmetüübi ja numpy teegi abil.
  • Massiividega aitab toime tulla pythoni teek Numpy. Numpy töötleb massiivi loendiga võrreldes veidi kiiremini.
  • Maatriksioperatsioon, mida saab teha, on liitmine, lahutamine, korrutamine, transponeerimine, maatriksi ridade, veergude lugemine, maatriksi viilutamine jne.
  • Kahe maatriksi lisamiseks võite kasutada numpy.array () ja lisada need operaatori (+) abil.
  • Nende korrutamiseks võite kasutada meetodit numpy dot (). Numpy.dot () on maatriksi M1 ja M2 punkt-korrutis. Numpy.dot () tegeleb 2D massiividega ja teostab maatrikskorrutusi.
  • Maatriksi ülekandmine arvutatakse, muutes ridu veergudena ja veerge ridadena. Numpy funktsiooni transpose () saab kasutada maatriksi üleviimise arvutamiseks.
  • Maatriksi viilutamine tagastab teile antud alguse / lõpu indeksil põhinevad elemendid.