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:

Python maatriks

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:

Looma Python Maatriks kasutades pesastatud loendit

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

Võta see postitus kokku järgmiselt: