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ä:

Python Matriisi

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:

luoda Python Matriisi sisäkkäisen listan avulla

  • 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.