Python Matriisi: Transponointi, kertolasku, NumPy-taulukot Esimerkkejä
Mikä on Python Matriisi?
A Python matriisi on erikoistunut kaksiulotteinen suorakaiteen muotoinen joukko tietoja, jotka on tallennettu riveihin ja sarakkeisiin. Matriisin data voi olla numeroita, merkkijonoja, lausekkeita, symboleja jne. Matriisi on yksi tärkeimmistä tietorakenteista, jota voidaan käyttää matemaattisissa ja tieteellisissä laskelmissa.
Miten Python Matriisit toimivat?
Kaksiulotteisen taulukon sisällä olevat tiedot matriisimuodossa näyttävät tältä:
Vaihe 1) Se näyttää 2 × 2 -matriisin. Siinä on kaksi riviä ja 2 saraketta. Matriisin sisällä olevat tiedot ovat numeroita. Rivillä 1 on arvot 2,3 ja rivillä 2 on arvot 4,5. Sarakkeiden eli sarakkeen 1 arvot ovat 2,4 ja col2:n arvot 3,5.
Vaihe 2) Se näyttää 2 × 3 -matriisin. Siinä on kaksi riviä ja kolme saraketta. Ensimmäisen rivin tiedoilla eli rivillä 1 on arvot 2,3,4 ja rivillä 2 on arvot 5,6,7. Sarakkeiden col1 arvot ovat 2,5, col2:n arvot 3,6 ja col3:n arvot 4,7.
Joten samalla tavalla voit tallentaa tietosi nxn-matriisiin Python. Matriisimaisella yhteen-, vähennys-, kertolaskulla jne. voidaan tehdä paljon operaatioita.
Python ei ole suoraviivaista tapaa toteuttaa matriisitietotyyppiä.
Python-matriisi käyttää taulukoita, ja sama voidaan toteuttaa.
- Luo Python Matriisi käyttäen sisäkkäistä luettelotietotyyppiä
- luoda Python Matriisi käyttäen taulukoita kohteesta Python Nuhjuinen paketti
luoda Python Matriisi käyttämällä sisäkkäistä luettelotietotyyppiä
In Python, taulukot esitetään käyttäen listatietotyyppiä. Joten nyt käytetään luetteloa python-matriisin luomiseen.
Luomme 3×3-matriisin alla olevan kuvan mukaisesti:
- Matriisissa on 3 riviä ja 3 saraketta.
- Ensimmäinen rivi luettelomuodossa on seuraava: [8,14,-6]
- Luettelon toinen rivi on: [12,7,4]
- Luettelon kolmas rivi on: [-11,3,21]
Kaikki rivit ja sarakkeet sisältävän luettelon matriisi on seuraavanlainen:
List = [[Row1], [Row2], [Row3] ... [RowN]]
Yllä olevan matriisin mukaan matriisitietojen luettelotyyppi on seuraava:
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
Sisällä olevien tietojen lukemiseen Python Matriisi luettelon avulla.
Käytämme yllä määriteltyä matriisia. Esimerkki lukee tiedot, tulostaa matriisin ja näyttää jokaisen rivin viimeisen elementin.
Esimerkki: Matriisin tulostaminen
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]] #To print the matrix print(M1)
lähtö:
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
Esimerkki 2: Viimeisen elementin lukeminen jokaiselta riviltä
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])
lähtö:
-6 4 21
Esimerkki 3: Matriisin rivien tulostaminen
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])
lähtö:
[8, 14, -6] [12, 7, 4] [-11, 3, 21]
Matriisien lisääminen sisäkkäisen listan avulla
Voimme helposti lisätä kaksi annettua matriisia. Tässä olevat matriisit ovat luettelomuodossa. Työstetään esimerkkiä, joka huolehtii annettujen matriisien lisäämisestä.
Matriisi 1:
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
Matriisi 2:
M2 = [[3, 16, -6], [9,7,-4], [-1,3,13]]
Last alustaa matriisin, joka tallentaa tuloksen M1 + M2.
Matriisi 3:
M3 = [[0,0,0], [0,0,0], [0,0,0]]
Esimerkki: Matriisien lisääminen
Lisätään, matriisit käyttävät for-silmukkaa, joka kiertää molempien annettujen matriisien läpi.
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)
lähtö:
The sum of Matrix M1 and M2 = [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]
Matriisien kertominen sisäkkäisluettelolla
Matriisien kertomiseksi voimme käyttää for-silmukkaa molemmissa matriiseissa alla olevan koodin mukaisesti:
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)
lähtö:
The multiplication of Matrix M1 and M2 = [[24, 224, 36], [108, 49, -16], [11, 9, 273]]
luoda Python Matriisi käyttäen taulukoita kohteesta Python Nuhjuinen paketti
Python-kirjasto Numpy auttaa käsittelemään taulukoita. Numpy käsittelee taulukon hieman nopeammin kuin luettelo.
Jotta voit työskennellä Numpyn kanssa, sinun on ensin asennettava se. Asenna Numpy noudattamalla alla olevia ohjeita.
Vaihe 1) Numpyn asennuskomento on:
pip install NumPy
Vaihe 2) Jotta voit käyttää Numpya koodissasi, sinun on tuotava se.
import NumPy
Vaihe 3) Voit myös tuoda Numpyn käyttämällä aliasta alla olevan kuvan mukaisesti:
import NumPy as np
Aiomme käyttää Numpyn array()-menetelmää python-matriisin luomiseen.
Esimerkki: Luotava taulukko Numpyssa Python Matriisi
import numpy as np M1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]]) print(M1)
lähtö:
[[ 5 -10 15] [ 3 -6 9] [ -4 8 12]]
Matriisi OperaNumpy.Array()
Matriisioperaatio, joka voidaan tehdä, on yhteen-, vähennys-, kerto- ja transponointi, matriisin rivien, sarakkeiden lukeminen, matriisin viipalointi jne. Kaikissa esimerkeissä aiomme käyttää array()-menetelmää.
Matriisilisäys
Suorittaaksemme matriisin summauksen luomme kaksi matriisia käyttämällä numpy.array()-komentoa ja lisäämme ne käyttämällä (+)-operaattoria.
Esimerkiksi:
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)
lähtö:
[[ 12 -12 36] [ 16 12 48] [ 6 -12 60]]
Matriisivähennys
Suorittaaksemme matriisin vähentämisen luomme kaksi matriisia käyttämällä numpy.array()-komentoa ja vähennämme ne käyttämällä (-)-operaattoria.
Esimerkiksi:
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)
lähtö:
[[ -6 24 -18] [ -6 -32 -18] [-20 40 -18]]
Matriisin kertolasku
Ensin luodaan kaksi matriisia käyttämällä numpy.arary(). Voit kertoa niiden tahdon käyttämällä numpy dot() -menetelmää. Numpy.dot() on matriisin M1 ja M2 pistetulo. Numpy.dot() käsittelee 2D-taulukoita ja suorittaa matriisikertoja.
Esimerkiksi:
import numpy as np M1 = np.array([[3, 6], [5, -10]]) M2 = np.array([[9, -18], [11, 22]]) M3 = M1.dot(M2) print(M3)
lähtö:
[[ 93 78] [ -65 -310]]
Matriisi Transponoi
Matriisin transponointi lasketaan muuttamalla rivit sarakkeiksi ja sarakkeet riveiksi. Numpyn transpose()-funktiota voidaan käyttää matriisin transponoinnin laskemiseen.
Esimerkiksi:
import numpy as np M1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]]) M2 = M1.transpose() print(M2)
lähtö:
[[ 3 5 4] [ 6 -10 8] [ 9 15 12]]
Matrixin viipalointi
Viipalointi palauttaa sinulle elementit matriisista annetun aloitus-/loppuindeksin perusteella.
- Viipaloinnin syntaksi on – [aloitus:loppu]
- Jos aloitusindeksiä ei ole annettu, sen katsotaan olevan 0. Esimerkiksi [:5], se tarkoittaa [0:5].
- Jos loppua ei ohiteta, se otetaan taulukon pituudeksi.
- Jos alussa/lopussa on negatiiviset arvot, leikkaus tehdään taulukon lopusta.
Ennen kuin käsittelemme matriisin viipalointia, meidän on ensin ymmärrettävä, kuinka siivua käytetään yksinkertaisessa taulukossa.
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
lähtö:
[ 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]
Toteutetaan nyt viipalointi matriisissa. Viipaloinnin suorittaminen matriisilla
syntaksi on M1[rivin_aloitus:rivin_loppu, sarakkeen_aloitus:sarakkeen_loppu]
- Ensimmäinen aloitus/loppu on riville eli matriisin rivien valitsemiseen.
- Toinen alku/loppu on sarakkeelle, eli matriisin sarakkeiden valitsemiseen.
Matriisi M1, jota aiomme käyttää, on seuraava:
M1 = np.array([[2, 4, 6, 8, 10], [3, 6, 9, -12, -15], [4, 8, 12, 16, -20], [5, -10, 15, -20, 25]])
Rivejä on yhteensä 4. Indeksi alkaa 0 - 3. 0th rivi on [2,4,6,8,10], 1st rivi on [3,6,9,-12,-15], jota seuraa 2nd ja 3rd.
Matriisissa M1 on 5 saraketta. Indeksi alkaa 0:sta 4:ään. 0th sarakkeessa on arvot [2,3,4,5], 1st sarakkeissa on arvot [4,6,8,-10], joita seuraa 2nd, 3rd, 4th, ja 5th.
Tässä on esimerkki, joka näyttää kuinka saada rivi- ja saraketiedot matriisista viipaloimalla. Esimerkissä tulostamme 1st ja 2nd riville, ja sarakkeille haluamme ensimmäisen, toisen ja kolmannen sarakkeen. Tämän lähdön saamiseksi olemme käyttäneet: M1[1:3, 1:4]
Esimerkiksi:
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.
lähtö:
[[ 6 9 -12] [ 8 12 16]]
Esimerkki: Tulostaa kaikki rivit ja kolmannet sarakkeet
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.
lähtö:
[ 8 -12 16 -20]
Esimerkki: Ensimmäisen rivin ja kaikkien sarakkeiden tulostaminen
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
lähtö:
[[ 2 4 6 8 10]]
Esimerkki: Tulostaa kolme ensimmäistä riviä ja kaksi ensimmäistä saraketta
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])
lähtö:
[[2 4] [3 6] [4 8]]
NumPy Matrixin käyttö
Olemme nähneet kuinka viipalointi toimii. Ottaen tämän huomioon, teemme kuinka saada rivit ja sarakkeet matriisista.
Tulostaa matriisin rivit
Esimerkissä tulostetaan matriisin rivit.
Esimerkiksi:
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
lähtö:
[3 6 9] [ 5 -10 15] [ 4 8 12]
Viimeisen rivin saamiseksi voit käyttää indeksiä tai -1:tä. Esimerkiksi matriisissa on 3 riviä,
joten M1[0] antaa sinulle ensimmäisen rivin,
M1[1] antaa sinulle toisen rivin
M1[2] tai M1[-1] antaa sinulle kolmannen tai viimeisen rivin.
Tulostaa matriisin sarakkeet
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
lähtö:
[2 3 4 5] [ 8 -12 16 -20] [ 10 -15 -20 25]
Yhteenveto
- A Python matriisi on erikoistunut kaksiulotteinen suorakaiteen muotoinen joukko tietoja, jotka on tallennettu riveihin ja sarakkeisiin. Matriisin data voi olla numeroita, merkkijonoja, lausekkeita, symboleja jne. Matriisi on yksi tärkeimmistä tietorakenteista, jota voidaan käyttää matemaattisissa ja tieteellisissä laskelmissa.
- Python ei ole suoraviivaista tapaa toteuttaa matriisitietotyyppiä. Python matriisi voidaan luoda käyttämällä sisäkkäistä listatietotyyppiä ja käyttämällä numpy-kirjastoa.
- Python-kirjasto Numpy auttaa käsittelemään taulukoita. Numpy käsittelee taulukon hieman nopeammin kuin luettelo.
- Matriisioperaatio, joka voidaan tehdä, on yhteenlasku, vähennys, kertolasku, transponointi, matriisin rivien, sarakkeiden lukeminen, matriisin viipalointi jne.
- Kahden matriisin lisäämiseksi voit käyttää numpy.array()-funktiota ja lisätä ne käyttämällä (+)-operaattoria.
- Voit kertoa niiden tahdon käyttämällä numpy dot() -menetelmää. Numpy.dot() on matriisin M1 ja M2 pistetulo. Numpy.dot() käsittelee 2D-taulukoita ja suorittaa matriisikertoja.
- Matriisin transponointi lasketaan muuttamalla rivit sarakkeiksi ja sarakkeet riveiksi. Numpyn transpose()-funktiota voidaan käyttää matriisin transponoinnin laskemiseen.
- Matriisin viipalointi palauttaa elementit annetun aloitus-/loppuindeksin perusteella.