Python Maatriks: transponeerimise, korrutamise, NumPy massiivide näited
Mis on Python Maatriks?
A Python maatriks on spetsiaalne kahemõõtmeline ristkülikukujuline ridadesse ja veergudesse salvestatud andmete massiiv. Maatriksi andmeteks võivad olla numbrid, stringid, avaldised, sümbolid jne. Maatriks on üks olulisi andmestruktuure, mida saab kasutada matemaatilistes ja teaduslikes arvutustes.
Kuidas Python Kas maatriksid töötavad?
Kahemõõtmelises massiivis olevad andmed maatriksvormingus näevad välja järgmised:
Step 1) See näitab 2 × 2 maatriksit. Sellel on kaks rida ja 2 veergu. Maatriksi sees olevad andmed on numbrid. Rea 1 väärtused on 2,3 ja real 2 väärtused 4,5. Veergude, st col1 väärtused on 2,4 ja veergudel 2 on väärtused 3,5.
Step 2) See näitab 2 × 3 maatriksit. Sellel on kaks rida ja kolm veergu. Esimeses reas, st reas1, on väärtused 2,3,4 ja reas 2 on väärtused 5,6,7. Veergudel col1 on väärtused 2,5, veergudel 2 on väärtused 3,6 ja veergudel 3 on väärtused 4,7.
Nii saate oma andmed salvestada nxn-maatriksisse Python. Maatriksilaadse liitmise, lahutamise, korrutamise jne abil saab teha palju tehteid.
Python pole maatriksi andmetüübi rakendamiseks otsest viisi.
Pythoni maatriks kasutab massiive ja sama saab rakendada.
- Loo Python Maatriks, mis kasutab pesastatud loendi andmetüüpi
- Looma Python Maatriks kasutades massiive alates Python Tubli pakett
Looma Python Maatriks, mis kasutab pesastatud loendi andmetüüpi
In Python, on massiivid esitatud loendi andmetüübi abil. Nii et nüüd kasutab loendit Pythoni maatriksi loomiseks.
Loome 3 × 3 maatriksi, nagu allpool näidatud:
- Maatriksis on 3 rida ja 3 veergu.
- Esimene rida loendivormingus on järgmine: [8,14,-6]
- Loendi teine rida on: [12,7,4]
- Loendi kolmas rida on: [-11,3,21]
Kõikide ridade ja veergudega loendis olev maatriks on järgmine:
List = [[Row1],
[Row2],
[Row3]
...
[RowN]]
Eespool loetletud maatriksi kohaselt on maatriksiandmetega loendi tüüp järgmine:
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
Sees olevate andmete lugemiseks Python Maatriks, kasutades loendit.
Kasutame ülaltoodud maatriksit. Näide loeb andmeid, prindib maatriksi, kuvab iga rea viimase elemendi.
Näide: maatriksi printimiseks
M1 = [[8, 14, -6],
[12,7,4],
[-11,3,21]]
#To print the matrix
print(M1)
Väljund:
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
Näide 2: iga rea viimase elemendi lugemine
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:
-6 4 21
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 Matrix
for 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 lihtsalt lisada kaks etteantud maatriksit. Siin olevad maatriksid on loendi kujul. Töötame näite kallal, mis lisab etteantud maatriksid.
Maatriks 1:
M1 = [[8, 14, -6],
[12,7,4],
[-11,3,21]]
Maatriks 2:
M2 = [[3, 16, -6],
[9,7,-4],
[-1,3,13]]
Last initsialiseerib maatriksi, mis salvestab M1 + M2 tulemuse.
Maatriks 3:
M3 = [[0,0,0],
[0,0,0],
[0,0,0]]
Näide: maatriksite lisamine
Lisamiseks kasutavad maatriksid for-tsüklit, mis läbib mõlema antud maatriksi.
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)
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õlemas maatriksis kasutada for-tsüklit, nagu on näidatud allolevas 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 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)
Väljund:
The multiplication of Matrix M1 and M2 = [[24, 224, 36], [108, 49, -16], [11, 9, 273]]
Looma Python Maatriks kasutades massiive alates Python Tubli pakett
Pythoni raamatukogu Numpy aitab massiividega toime tulla. Numpy töötleb massiivi loendiga võrreldes pisut kiiremini.
Numpyga töötamiseks peate selle esmalt installima. Numpy installimiseks järgige alltoodud samme.
Step 1) Numpy installimise käsk on järgmine:
pip install NumPy
Step 2) Numpy kasutamiseks oma koodis peate selle importima.
import NumPy
Step 3) Numpy saate importida ka varjunime abil, nagu allpool näidatud:
import NumPy as np
Kasutame Pythoni maatriksi loomiseks Numpy meetodit array().
Näide: luuakse massiiv Numpys Python maatriks
import numpy as np M1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]]) print(M1)
Väljund:
[[ 5 -10 15] [ 3 -6 9] [ -4 8 12]]
maatriks OperaNumpy.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 lisamine
Maatriksi liitmise tegemiseks loome numpy.array() abil kaks maatriksit ja lisame need operaatori (+) abil.
Näide:
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)
Väljund:
[[ 12 -12 36] [ 16 12 48] [ 6 -12 60]]
Maatrikslahutamine
Maatriksil lahutamise tegemiseks loome numpy.array() abil kaks maatriksit ja lahutame need operaatori (-) abil.
Näide:
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)
Väljund:
[[ -6 24 -18] [ -6 -32 -18] [-20 40 -18]]
Maatrikskorrutamine
Esmalt loob numpy.arary() abil kaks maatriksit. Nende tahte korrutamiseks võite kasutada numpy dot() meetodit. Numpy.dot() on maatriksi M1 ja M2 punktkorrutis. Numpy.dot() tegeleb 2D-massiividega ja teostab maatrikskorrutusi.
Näide:
import numpy as np M1 = 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]]
Maatriksi transponeerimine
Maatriksi transponeerimine arvutatakse, muutes ridu veergudena ja veerge ridadena. Numpy funktsiooni transpose() saab kasutada maatriksi transponeerimise arvutamiseks.
Näide:
import numpy as np M1 = 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 antud algus-/lõpuindeksi alusel.
- Tükeldamise süntaks on – [start:end]
- Kui algusindeksit pole antud, loetakse see 0-ks. Näiteks [:5] tähendab see kui [0:5].
- Kui lõppu ei läbita, võetakse see massiivi pikkuseks.
- Kui algus/lõpp on negatiivsete väärtustega, tehakse viilutamine massiivi lõpust.
Enne maatriksil viilutamise kallal töötamist mõistkem kõigepealt, kuidas lihtsale massiivile viilu rakendada.
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
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]
Nüüd rakendame maatriksil viilutamist. Maatriksil viilutamiseks
süntaks on M1[rea_algus:rea_lõpp, veergu_algus:veeru_lõpp]
- Esimene algus/lõpp on rea jaoks ehk maatriksi ridade valimiseks.
- Teine algus/lõpp on veeru jaoks ehk maatriksi veergude valimiseks.
Maatriks M1, mida kavatseme kasutada, 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]])
Kokku on 4 rida. Indeks algab 0-st 3-ni. 0th rida on [2,4,6,8,10], 1st rida on [3,6,9,-12,-15], millele järgneb 2nd ja 3rd.
Maatriksil M1 on 5 veergu. Indeks algab 0-st 4-ni. 0th veerus on väärtused [2,3,4,5], 1st veergudel on väärtused [4,6,8,-10], millele järgneb 2nd, 3rd, 4thja 5th.
Siin on näide, mis näitab, kuidas maatriksist ridade ja veergude andmeid viilutamise abil hankida. Näites prindime 1st ja 2nd rida ning veergude jaoks tahame esimest, teist ja kolmandat veergu. Selle väljundi saamiseks oleme kasutanud: M1[1:3, 1:4]
Näide:
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.
Väljund:
[[ 6 9 -12] [ 8 12 16]]
Näide: kõigi ridade ja kolmandate veergude printimiseks
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.
Väljund:
[ 8 -12 16 -20]
Näide: esimese rea ja kõigi veergude printimiseks
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
Väljund:
[[ 2 4 6 8 10]]
Näide: esimese kolme rea ja 2 esimese veeru printimiseks
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])
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 ridu ja veerge hankida.
Maatriksi ridade printimiseks
Näites trükitakse maatriksi read.
Näide:
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
Väljund:
[3 6 9] [ 5 -10 15] [ 4 8 12]
Viimase rea saamiseks võite kasutada indeksit või -1. Näiteks maatriksis on 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 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
Väljund:
[2 3 4 5] [ 8 -12 16 -20] [ 10 -15 -20 25]
kokkuvõte
- A Python maatriks on spetsiaalne kahemõõtmeline ristkülikukujuline ridadesse ja veergudesse salvestatud andmete massiiv. Maatriksi andmeteks võivad olla numbrid, stringid, avaldised, sümbolid jne. Maatriks on üks olulisi andmestruktuure, mida saab kasutada matemaatilistes ja teaduslikes arvutustes.
- Python pole maatriksi andmetüübi rakendamiseks otsest viisi. Python maatriksi saab luua pesastatud loendi andmetüübi ja numpy teegi abil.
- Pythoni raamatukogu Numpy aitab massiividega toime tulla. Numpy töötleb massiivi loendiga võrreldes pisut 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 tahte korrutamiseks võite kasutada numpy dot() meetodit. Numpy.dot() on maatriksi M1 ja M2 punktkorrutis. Numpy.dot() tegeleb 2D-massiividega ja teostab maatrikskorrutusi.
- Maatriksi transponeerimine arvutatakse, muutes ridu veergudena ja veerge ridadena. Numpy funktsiooni transpose() saab kasutada maatriksi transponeerimise arvutamiseks.
- Maatriksi viilutamine tagastab teile elemendid, mis põhinevad antud algus-/lõpuindeksil.


