Python-matriisi: Transponointi-, kertolasku-, NumPy-taulukkoesimerkit

Sisällysluettelo:

Anonim

Mikä on Python Matrix?

Python-matriisi on erikoistunut kaksiulotteinen suorakulmainen joukko tietoja, jotka on tallennettu riveihin ja sarakkeisiin. Matriisin tiedot voivat olla numeroita, merkkijonoja, lausekkeita, symboleja jne. Matriisi on yksi tärkeistä tietorakenteista, joita voidaan käyttää matemaattisissa ja tieteellisissä laskelmissa.

Tässä Python-opetusohjelmassa opit:

  • Mikä on Python Matrix?
  • Kuinka Python-matriisit toimivat?
  • Luo Python Matrix käyttämällä sisäkkäisiä luettelotietotyyppejä
  • Tietojen lukeminen Python-matriisin sisällä luettelon avulla.
  • Esimerkki 2: Viimeisen elementin lukeminen jokaisesta rivistä.
  • Esimerkki 3: Matriisin rivien tulostaminen
  • Matriisien lisääminen sisäkkäisten luetteloiden avulla
  • Matriisien kertominen sisäkkäisten luetteloiden avulla
  • Luo Python-matriisi käyttämällä Python Numpy -paketin taulukoita
  • Matriisioperaatio käyttäen Numpy.Array ()
  • NumPy Matrix -sovelluksen käyttö

Kuinka Python-matriisit toimivat?

Kaksiulotteisen taulukon matriisimuodossa olevat tiedot näyttävät seuraavilta:

Vaihe 1)

Se näyttää 2x2-matriisin. Siinä on kaksi riviä ja 2 saraketta. Matriisin sisällä olevat tiedot ovat lukuja. Rivillä 1 on arvot 2,3 ja rivillä 2 arvot 4,5. Sarakkeilla eli col1 on arvot 2,4 ja col2: lla arvot 3,5.

Vaihe 2)

Se näyttää 2x3-matriisin. Siinä on kaksi riviä ja kolme saraketta. Ensimmäisen rivin eli rivin 1 sisällä olevilla tiedoilla on arvot 2,3,4 ja rivillä 2 arvot 5,6,7. Sarakkeilla col1 on arvot 2,5, col2: lla arvot 3,6 ja col3: lla arvot 4,7.

Joten samalla tavalla voit tallentaa tietosi Pythonin nxn-matriisiin. Paljon operaatioita voidaan tehdä matriisimaisella summauksella, vähennyslaskulla, kertolaskulla jne.

Pythonilla ei ole yksinkertaista tapaa toteuttaa matriisitietotyyppiä.

Python-matriisi käyttää matriiseja, ja sama voidaan toteuttaa.

  • Luo Python-matriisi sisäkkäisten luettelotietotyyppien avulla
  • Luo Python-matriisi käyttämällä Python Numpy -paketin taulukoita

Luo Python Matrix käyttämällä sisäkkäisiä luettelotietotyyppejä

Pythonissa taulukot on esitetty luettelotietotyypillä. Joten nyt käyttää luetteloa python-matriisin luomiseen.

Luomme 3x3-matriisin, kuten alla on esitetty:

  • Matriisissa on 3 riviä ja 3 saraketta.
  • Luettelomuodon ensimmäinen rivi 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 seuraava:

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

Joten edellä luetellun matriisin mukaan luettelotyyppi ja matriisitiedot ovat seuraavat:

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

Tietojen lukeminen Python-matriisin sisällä luettelon avulla.

Hyödynnämme edellä määriteltyä matriisia. Esimerkki lukee tiedot, tulostaa matriisin, näyttää kunkin rivin viimeisen elementin.

Esimerkki: Matriisin tulostaminen

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

Tuotos:

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

Esimerkki 2: Viimeisen elementin lukeminen jokaisesta rivistä.

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

Tuotos:

-6421

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 Matrixfor i in range(matrix_length):print(M1[i])

Tuotos:

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

Matriisien lisääminen sisäkkäisten luetteloiden avulla

Voimme helposti lisätä kaksi annettua matriisia. Tässä olevat matriisit ovat luettelomuodossa. Tehkäämme 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 M1 + M2: n tuloksen.

Matriisi 3:

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

Esimerkki: Matriisien lisääminen

Lisätäkseen matriisit käyttävät for-silmukkaa, joka silmukkaa molemmat annetut matriisit.

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)

Tuotos:

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

Matriisien kertominen sisäkkäisten luetteloiden avulla

Matriisien monistamiseksi 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 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)

Tuotos:

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

Luo Python-matriisi käyttämällä Python Numpy -paketin taulukoita

Python-kirjasto Numpy auttaa käsittelemään matriiseja. Numpy käsittelee matriisia hieman nopeammin kuin luettelo.

Jos haluat työskennellä Numpyn kanssa, sinun on ensin asennettava se. Noudata alla olevia ohjeita asentaaksesi Numpy.

Vaihe 1)

Komento Numpyn asentamiseksi on:

pip install NumPy

Vaihe 2)

Jos haluat käyttää Numpyä koodissasi, sinun on tuotava se.

import NumPy

Vaihe 3)

Voit tuoda Numpyn myös aliaksen avulla, kuten alla on esitetty:

import NumPy as np

Aiomme käyttää Numpyn array () -menetelmää python-matriisin luomiseen.

Esimerkki: Python-matriisin luominen on taulukossa Numpy

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

Tuotos:

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

Matriisioperaatio käyttäen Numpy.Array ()

Matriisitoiminto, joka voidaan suorittaa, on summaaminen, vähennyslasku, kertolasku, transponointi, matriisin rivien, sarakkeiden lukeminen, matriisin viipalointi jne. Kaikissa esimerkeissä aiomme käyttää matriisi () -menetelmää.

Matriisin lisäys

Lisäyksen suorittamiseksi matriisiin luomme kaksi matriisia numerolla.array () ja lisätään ne (+) -operaattorilla.

Esimerkki:

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)

Tuotos:

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

Matriisin vähennys

Vähennysten suorittamiseksi matriisille luomme kaksi matriisia käyttämällä numpy.array () ja vähennämme ne (-) -operaattorilla.

Esimerkki:

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)

Tuotos:

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

Matriisikertaus

Ensin luodaan kaksi matriisia käyttämällä numpy.arary (). Voit moninkertaistaa ne käyttämällä numpy dot () -menetelmää. Numpy.dot () on matriisin M1 ja M2 pistetulo. Numpy.dot () käsittelee 2D-taulukoita ja suorittaa matriisikertoja.

Esimerkki:

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

Tuotos:

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

Matriisi Transponoi

Matriisin siirto lasketaan muuttamalla rivejä sarakkeiksi ja sarakkeita riveiksi. Numpyn transpose () -funktiota voidaan käyttää matriisin transponoinnin laskemiseen.

Esimerkki:

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

Tuotos:

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

Matriisin viipalointi

Viipalointi palauttaa sinulle matriisin elementit annettujen alku- / loppuindeksien perusteella.

  • Viipaloinnin syntaksi on - [alku: loppu]
  • Jos aloitusindeksiä ei anneta, sitä pidetään 0. Esimerkiksi [: 5], se tarkoittaa [0: 5].
  • Jos loppua ei ylitetä, se otetaan matriisin pituudeksi.
  • Jos alku / loppu-arvo on negatiivinen, viipalointi tapahtuu matriisin lopusta alkaen.

Ennen kuin työskentelemme matriisin viipaloinnissa, ymmärretään ensin, kuinka siivu levitetään yksinkertaiselle taulukolle.

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

Tuotos:

[ 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 matriisiin. Viipalointi matriisiin

syntaksin tulee olla M1 [row_start: row_end, col_start: col_end]

  • Ensimmäinen alku / loppu on riville, ts. Matriisin rivien valitseminen.
  • Toinen alku / loppu on sarakkeelle, ts. Matriisin sarakkeiden valitseminen.

Matriisi M1 t, 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. 0 : nnen rivi on [2,4,6,8,10], 1 s rivi on [3,6,9, -12, -15] ja tämän jälkeen 2 nd ja 3 rd .

Matriisissa M1 on 5 saraketta. Indeksi alkaa 0 4.Edellä 0 : nnen sarakkeen on arvot [2,3,4,5], 1 st sarakkeet ovat arvoja [4,6,8, -10] ja tämän jälkeen 2 nd , 3 rd , 4 th , ja 5 th .

Tässä on esimerkki siitä, miten rivien ja sarakkeiden tiedot saadaan matriisista viipaloinnin avulla. Tässä esimerkissä olemme tulostus 1 s ja 2 toinen rivi, ja sarakkeet, haluamme ensimmäinen, toinen, ja kolmas sarake. Saadun tuotoksen saamiseksi olemme käyttäneet: M1 [1: 3, 1: 4]

Esimerkki:

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.

Tuotos:

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

Esimerkki: Kaikkien rivien ja kolmannen sarakkeen tulostaminen

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.

Tuotos:

[ 8 -12 16 -20]

Esimerkki: Ensimmäisen rivin ja kaikkien sarakkeiden tulostaminen

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

Tuotos:

[[ 2 4 6 8 10]]

Esimerkki: Tulostaa kolme ensimmäistä riviä ja kaksi ensimmäistä saraketta

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

Tuotos:

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

NumPy Matrix -sovelluksen käyttö

Olemme nähneet kuinka viipalointi toimii. Kun tämä otetaan huomioon, aiomme saada rivit ja sarakkeet matriisista.

Matriisin rivien tulostaminen

Esimerkissä tulostetaan matriisin rivit.

Esimerkki:

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

Tuotos:

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

Saadaksesi viimeisen rivin, voit käyttää indeksiä tai -1. 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 kolmannen tai viimeisen rivin.

Matriisin sarakkeiden tulostaminen

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

Tuotos:

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

Yhteenveto:

  • Python-matriisi on erikoistunut kaksiulotteinen suorakulmainen joukko tietoja, jotka on tallennettu riveihin ja sarakkeisiin. Matriisin tiedot voivat olla numeroita, merkkijonoja, lausekkeita, symboleja jne. Matriisi on yksi tärkeistä tietorakenteista, joita voidaan käyttää matemaattisissa ja tieteellisissä laskelmissa.
  • Pythonilla ei ole yksinkertaista tapaa toteuttaa matriisitietotyyppiä. Python-matriisi voidaan luoda käyttämällä sisäkkäisiä luettelotietotyyppejä ja käyttämällä numpy-kirjastoa.
  • Python-kirjasto Numpy auttaa käsittelemään matriiseja. Numpy käsittelee matriisia hieman nopeammin kuin luettelo.
  • Matriisitoiminto, joka voidaan suorittaa, on summaaminen, vähennyslasku, kertolasku, transponointi, matriisin rivien, sarakkeiden lukeminen, matriisin viipalointi jne.
  • Voit lisätä kaksi matriisia käyttämällä numeroa numpy.array () ja lisäämällä ne (+) -operaattorilla.
  • Jos haluat kertoa ne, voit käyttää numpy dot () -menetelmää. Numpy.dot () on matriisin M1 ja M2 pistetulo. Numpy.dot () käsittelee 2D-taulukoita ja suorittaa matriisikertoja.
  • Matriisin siirto lasketaan muuttamalla rivejä sarakkeiksi ja sarakkeita riveiksi. Numpyn transpose () -funktiota voidaan käyttää matriisin transponoinnin laskemiseen.
  • Matriisin viipalointi palauttaa sinulle annetut alku- / loppuindeksin mukaiset elementit.