Python Matris: Transponering, Multiplikation, NumPy Arrays Exempel

Vad รคr Python Matris?

A Python matris รคr en specialiserad tvรฅdimensionell rektangulรคr matris av data lagrad i rader och kolumner. Data i en matris kan vara siffror, strรคngar, uttryck, symboler etc. Matris รคr en av de viktiga datastrukturer som kan anvรคndas i matematiska och vetenskapliga berรคkningar.

Hur gรถr Python Fungerar matriser?

Data inuti den tvรฅdimensionella matrisen i matrisformat ser ut som fรถljer:

Python Matris

Steg 1) Den visar en 2ร—2-matris. Den har tvรฅ rader och 2 kolumner. Data inuti matrisen รคr siffror. Rad1 har vรคrdena 2,3 och rad2 har vรคrden 4,5. Kolumnerna, dvs col1, har vรคrdena 2,4 och col2 har vรคrdena 3,5.

Steg 2) Den visar en 2ร—3-matris. Den har tvรฅ rader och tre kolumner. Data inuti den fรถrsta raden, dvs rad1, har vรคrdena 2,3,4, och rad2 har vรคrdena 5,6,7. Kolumnerna kol1 har vรคrdena 2,5, kol2 har vรคrdena 3,6 och kol3 har vรคrdena 4,7.

Sรฅ pรฅ samma sรคtt kan du ha dina data lagrade inuti nxn-matrisen PythonMรฅnga operationer kan utfรถras pรฅ en matrisliknande addition, subtraction, multiplikation, etc.

Python har inte ett enkelt sรคtt att implementera en matrisdatatyp.

Pythonmatrisen anvรคnder sig av arrayer, och detsamma kan implementeras.

  • Skapa en Python Matris som anvรคnder den kapslade listdatatypen
  • Skapa Python Matris med Arrays frรฅn Python Numpy paket

Skapa Python Matris med en kapslad listdatatyp

In Python, representeras arrayerna med hjรคlp av listdatatypen. Sรฅ nu kommer att anvรคnda listan fรถr att skapa en pythonmatris.

Vi kommer att skapa en 3ร—3-matris, som visas nedan:

Skapa Python Matris med hjรคlp av en kapslad lista

  • Matrisen har 3 rader och 3 kolumner.
  • Den fรถrsta raden i ett listformat blir som fรถljer: [8,14,-6]
  • Den andra raden i en lista kommer att vara: [12,7,4]
  • Den tredje raden i en lista kommer att vara: [-11,3,21]

Matrisen i en lista med alla rader och kolumner รคr som visas nedan:

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

Sรฅ enligt matrisen ovan รคr listtypen med matrisdata som fรถljer:

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

Fรถr att lรคsa data inuti Python Matris med hjรคlp av en lista.

Vi kommer att anvรคnda oss av matrisen som definieras ovan. Exemplet kommer att lรคsa data, skriva ut matrisen, visa det sista elementet frรฅn varje rad.

Exempel: Fรถr att skriva ut matrisen

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

#To print the matrix
print(M1)

Produktion:

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

Exempel 2: Att lรคsa det sista elementet frรฅn varje rad

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

Produktion:

-6
4
21

Exempel 3: Att skriva ut raderna i matrisen

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

Produktion:

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

Lรคgga till matriser med kapslad lista

Vi kan enkelt lรคgga till tvรฅ givna matriser. Matriserna hรคr kommer att finnas i listformen. Lรฅt oss arbeta med ett exempel som kommer att lรคgga till de givna matriserna.

Matris 1:

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

Matris 2:

M2 = [[3, 16, -6],
           [9,7,-4], 
           [-1,3,13]]

Last kommer att initiera en matris som lagrar resultatet av M1 + M2.

Matris 3:

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

Exempel: Lรคgga till matriser

Fรถr att lรคgga till kommer matriserna att anvรคnda sig av en for-loop som gรฅr igenom bรฅda de angivna matriserna.

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)

Produktion:

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

Multiplikation av matriser med kapslad lista

Fรถr att multiplicera matriserna kan vi anvรคnda for-loopen pรฅ bรฅda matriserna som visas i koden nedan:

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)

Produktion:

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

Skapa Python Matris med Arrays frรฅn Python Numpy paket

Pythonbiblioteket Numpy hjรคlper till att hantera arrayer. Numpy bearbetar en array lite snabbare jรคmfรถrt med listan.

Fรถr att arbeta med Numpy mรฅste du installera det fรถrst. Fรถlj stegen nedan fรถr att installera Numpy.

Steg 1) Kommandot fรถr att installera Numpy รคr:

pip install NumPy

Steg 2) Fรถr att anvรคnda Numpy i din kod mรฅste du importera den.

import NumPy

Steg 3) Du kan ocksรฅ importera Numpy med ett alias, som visas nedan:

import NumPy as np

Vi kommer att anvรคnda array()-metoden frรฅn Numpy fรถr att skapa en pythonmatris.

Exempel: Array i Numpy fรถr att skapa Python Matris

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

Produktion:

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

Matris Operation med hjรคlp av Numpy.Array()

Matrisoperationen som kan utfรถras รคr addition, subtraction, multiplikation, transponering, lรคsning av rader och kolumner i en matris, slicing av matrisen etc. I alla exempel kommer vi att anvรคnda en array()-metod.

Matristillรคgg

Fรถr att utfรถra addition pรฅ matrisen skapar vi tvรฅ matriser med numpy.array() och lรคgger till dem med operatorn (+).

Exempel:

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)

Produktion:

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

Matrisundergrupptraction

Att utfรถra subtraction pรฅ matrisen, kommer vi att skapa tvรฅ matriser med hjรคlp av numpy.array() och subtract dem med hjรคlp av operatorn (-).

Exempel:

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)

Produktion:

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

Matrismultiplikation

First kommer att skapa tvรฅ matriser med numpy.arary(). Fรถr att multiplicera dem kan du anvรคnda numpy dot()-metoden. Numpy.dot() รคr punktprodukten av matrisen M1 och M2. Numpy.dot() hanterar 2D-matriserna och utfรถr matrismultiplikationer.

Exempel:

import numpy as np

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

Produktion:

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

Matrix Transponera

Transponeringen av en matris berรคknas genom att raderna รคndras som kolumner och kolumner som rader. Transpose()-funktionen frรฅn Numpy kan anvรคndas fรถr att berรคkna transponeringen av en matris.

Exempel:

import numpy as np

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

print(M2)

Produktion:

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

Skivning av en matris

Slicing kommer att returnera elementen frรฅn matrisen baserat pรฅ det angivna start-/slutindexet.

  • Syntaxen fรถr skivning รคr โ€“ [start:slut]
  • Om startindexet inte anges anses det vara 0. Till exempel [:5], betyder det som [0:5].
  • Om slutet inte passeras tar det som lรคngden pรฅ arrayen.
  • Om starten/slutet har negativa vรคrden kommer det att skรคras upp frรฅn slutet av arrayen.

Innan vi arbetar med att skiva pรฅ en matris, lรฅt oss fรถrst fรถrstรฅ hur man applicerar skiva pรฅ en enkel array.

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

Produktion:

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

Lรฅt oss nu implementera skivning pรฅ matris. Att utfรถra skivning pรฅ en matris

syntaxen kommer att vara M1[row_start:row_end, col_start:col_end]

  • Den fรถrsta starten/slutet kommer att vara fรถr raden, dvs fรถr att vรคlja raderna i matrisen.
  • Den andra starten/slutet kommer att vara fรถr kolumnen, dvs fรถr att vรคlja kolumnerna i matrisen.

Matrisen M1 t som vi ska anvรคnda รคr fรถljande:

M1 = np.array([[2, 4, 6, 8, 10], 
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])

Det finns totalt 4 rader. Indexet bรถrjar frรฅn 0 till 3. 0:anth raden รคr [2,4,6,8,10], 1st rad รคr [3,6,9,-12,-15] fรถljt av 2nd och 3rd.

Matrisen M1 har 5 kolumner. Indexet bรถrjar frรฅn 0 till 4. 0th kolumnen har vรคrdena [2,3,4,5], 1st kolumner har vรคrden [4,6,8,-10] fรถljt av 2nd, 3rd, 4th, och 5th.

Hรคr รคr ett exempel som visar hur man hรคmtar rad- och kolumndata frรฅn matrisen med hjรคlp av skivning. I exemplet skriver vi ut 1:anst och 2nd rad, och fรถr kolumner vill vi ha den fรถrsta, andra och tredje kolumnen. Fรถr att fรฅ den utgรฅngen har vi anvรคnt: M1[1:3, 1:4]

Exempel:

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.

Produktion:

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

Exempel: Fรถr att skriva ut alla rader och tredje kolumner

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.

Produktion:

[  8 -12  16 -20]

Exempel: Fรถr att skriva ut den fรถrsta raden och alla kolumner

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

Produktion:

[[ 2  4  6  8 10]]

Exempel: Fรถr att skriva ut de tre fรถrsta raderna och de tvรฅ fรถrsta kolumnerna

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

Produktion:

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

ร…tkomst till NumPy Matrix

Vi har sett hur skivning fungerar. Med hรคnsyn till det kommer vi att ta reda pรฅ hur man hรคmtar rader och kolumner frรฅn matrisen.

Fรถr att skriva ut raderna i matrisen

I exemplet kommer att skriva ut raderna i matrisen.

Exempel:

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

Produktion:

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

Fรถr att fรฅ den sista raden kan du anvรคnda indexet eller -1. Till exempel har matrisen 3 rader,

sรฅ M1[0] ger dig den fรถrsta raden,

M1[1] ger dig andra raden

M1[2] eller M1[-1] ger dig den tredje raden eller sista raden.

Fรถr att skriva ut matrisens kolumner

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

Produktion:

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

Sammanfattning

  • A Python matris รคr en specialiserad tvรฅdimensionell rektangulรคr matris av data lagrad i rader och kolumner. Data i en matris kan vara siffror, strรคngar, uttryck, symboler etc. Matris รคr en av de viktiga datastrukturer som kan anvรคndas i matematiska och vetenskapliga berรคkningar.
  • Python har inte ett enkelt sรคtt att implementera en matrisdatatyp. Python matris kan skapas med en kapslad listdatatyp och genom att anvรคnda numpy-biblioteket.
  • Pythonbiblioteket Numpy hjรคlper till att hantera arrayer. Numpy bearbetar en array lite snabbare jรคmfรถrt med listan.
  • Matrisoperationen som kan utfรถras รคr addition, subtraction, multiplikation, transponering, lรคsning av rader och kolumner i en matris, delning av matrisen etc.
  • Fรถr att lรคgga till tvรฅ matriser kan du anvรคnda numpy.array() och lรคgga till dem med operatorn (+).
  • Fรถr att multiplicera dem kan du anvรคnda numpy dot()-metoden. Numpy.dot() รคr punktprodukten av matrisen M1 och M2. Numpy.dot() hanterar 2D-matriserna och utfรถr matrismultiplikationer.
  • Transponeringen av en matris berรคknas genom att raderna รคndras som kolumner och kolumner som rader. Transpose()-funktionen frรฅn Numpy kan anvรคndas fรถr att berรคkna transponeringen av en matris.
  • Skivning av en matris kommer att returnera elementen baserat pรฅ det angivna start-/slutindexet.

Sammanfatta detta inlรคgg med: