Python Maatriks: transponeerimine, korrutamine, NumPy massiivid

⚡ Nutikas kokkuvõte

A Python Maatriks on kahemõõtmeline andmete massiiv ridades ja veergudes, mida kasutatakse matemaatikas ja loodusteadustes. Siin õpid looma maatrikseid pesastatud loendite ja NumPy abil ning tegema liitmist, korrutamist, transponeerimist ja viilutamist.

  • 🔢 Mis see on: Maatriks on kahemõõtmeline andmete tabel ridades ja veergudes.
  • ???? Pesastatud loendid: Python Maatriksit saab luua loendite loendina.
  • 🧮 NumPy massiivid: numpy.array() loob kiiremaid ja funktsiooniderikkamaid maatrikseid.
  • ➕ Operatused: Lisa, alamtract ja korrutage maatriksid operaatorite või numpy.dot() abil.
  • 🔄 Transponeerimine ja viilutamine: transpose() vahetab ridu ja veerge; viilutamine valib alammaatriksid.
  • 🤖 Tehisintellekti abi: Tehisintellekti tööriistad, näiteks Copilot, genereerivad maatriksi- ja NumPy-koodi koheselt.

Python maatriks

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 PythonMaatriksilaadse liitmise, alamjaotuse abil saab teha palju tehteid.tractsioon, korrutamine jne.

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

Maatriksitest saab teha liitmise, osamakse jatracmaatriksi arvutamine, korrutamine, transponeerimine, ridade ja veergude lugemine, maatriksi viilutamine jne. Kõigis näidetes kasutame array() 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]]

Maatriksi alamtracmine

Alamrubriigi täitmisekstracmaatriksi põhjal loome kaks maatriksit, kasutades numpy.array() ja subtracneid 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]

KKK

Maatriks on kahemõõtmeline ristkülikukujuline andmete tabel, mis on paigutatud ridadesse ja veergudesse. Python puudub sisseehitatud maatriksitüüp, seega kasutate pesastatud loendeid või NumPy teeki.

Loo maatriks pesastatud loendina, näiteks [[8, 14, -6], [12, 7, 4]] või numpy.array() abil kiirema ja võimsama maatriksi loomiseks, mis toetab sisseehitatud tehteid.

NumPy töötleb massiive kiiremini kui tavalisi loendeid ja pakub sisseehitatud maatriksioperatsioone nagu liitmine, skalaarkorrutis, transponeerimine ja viilutamine, muutes maatriksikoodi lühemaks ja tõhusamaks.

Maatriksite tõeliseks korrutamiseks kasutage numpy.dot(M1, M2) või M1.dot(M2). NumPy massiivide pluss- ja tärnoperaatorid teostavad hoopis elementide kaupa liitmist ja korrutamist.

Kutsu NumPy massiivil välja transpose() meetodi, näiteks M1.transpose(). See vahetab read ja veerud, nii et rea i, veeru j element liigub rea j, veeru i peale.

Tehisintellekti assistendid, näiteks GitHub Copilot, täidavad NumPy massiivi koodi automaatselt, genereerivad maatriksioperatsioone, näiteks skalaarkorrutisi ja transponeerimisi, ning selgitavad viilutamise süntaksit kirjutamise ajal. Python.

Jah. Tehisintellektil põhinevad tööriistad suudavad automatiseerida NumPy torujuhtmete kirjutamist, valida tsüklite asemel tõhusaid vektoriseeritud operatsioone ja genereerida koodi lineaaralgebra ülesannete jaoks, näiteks võrrandisüsteemide lahendamiseks.

Alammaatriksi valimiseks kasutage funktsiooni M1[row_start:row_end, col_start:col_end]. Alguse või lõpu väljajätmine kasutab massiivi piire ja negatiivsed indeksid loetakse lõpust.

Võta see postitus kokku järgmiselt: