Python Matrix: Exempel på transponering, multiplikation, NumPy Arrays

Innehållsförteckning:

Anonim

Vad är Python Matrix?

En Python-matris är en specialiserad tvådimensionell rektangulär uppsättning data som lagras i rader och kolumner. Data i en matris kan vara siffror, strängar, uttryck, symboler etc. Matris är en av de viktiga datastrukturerna som kan användas i matematiska och vetenskapliga beräkningar.

I denna Python-handledning lär du dig:

  • Vad är Python Matrix?
  • Hur fungerar Python Matrices?
  • Skapa Python Matrix med hjälp av en kapslad listdatatyp
  • Att läsa data i Python Matrix med hjälp av en lista.
  • Exempel 2: Att läsa det sista elementet från varje rad.
  • Exempel 3: Att skriva ut raderna i matrisen
  • Lägga till matriser med hjälp av kapslad lista
  • Multiplikation av matriser med kapslad lista
  • Skapa Python Matrix med hjälp av Arrays från Python Numpy-paketet
  • Matrishantering med Numpy.Array ()
  • Åtkomst till NumPy Matrix

Hur fungerar Python Matrices?

Data i den tvådimensionella matrisen i matrisformat ser ut som följer:

Steg 1)

Den visar en 2x2-matris. Den har två rader och två kolumner. Data i matrisen är siffror. Rad1 har värden 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 2x3-matris. Den har två rader och tre kolumner. Data i den första raden, dvs. rad 1, har värden 2,3,4 och rad2 har värden 5,6,7. Kolumnerna col1 har värden 2,5, col2 har värden 3,6 och col3 har värden 4,7.

Så på samma sätt kan du lagra dina data i nxn-matrisen i Python. Många operationer kan göras med en matrisliknande addition, subtraktion, multiplikation etc.

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

Pythonmatrisen använder matriser, och detsamma kan implementeras.

  • Skapa en Python-matris med hjälp av den kapslade listdatatypen
  • Skapa Python Matrix med hjälp av Arrays från Python Numpy-paketet

Skapa Python Matrix med hjälp av en kapslad listdatatyp

I Python representeras matriserna med hjälp av listdatatypen. Så nu kommer vi att använda listan för att skapa en pythonmatris.

Vi skapar en 3x3 matris, som visas nedan:

  • Matrisen har 3 rader och 3 kolumner.
  • Den första raden i ett listformat kommer att vara 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 som listas ovan är listtypen med matrisdata följande:

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

Att läsa data i Python Matrix med hjälp av en lista.

Vi kommer att använda den matris som definierats ovan. Exemplet läser data, skriver ut matrisen, visar det sista elementet från varje rad.

Exempel: Att skriva ut matrisen

M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]#To print the matrixprint(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:

-6421

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

Produktion:

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

Lägga till matriser med hjälp av 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 tar hand om att lägga till givna matriser.

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 initialiserar 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 en for-loop som kommer att slinga igenom båda 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 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)

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

Produktion:

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

Skapa Python Matrix med hjälp av Arrays från Python Numpy-paketet

Python-biblioteket Numpy hjälper till att hantera matriser. 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 ska använda array () -metoden från Numpy för att skapa en pythonmatris.

Exempel: Array i Numpy för att skapa Python Matrix

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

Produktion:

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

Matrishantering med Numpy.Array ()

Matrisoperationen som kan göras är addition, subtraktion, multiplikation, transponering, läsning av raderna, kolumnerna i en matris, skivning av matrisen, etc. I alla exemplen ska vi använda en array () -metod.

Matrix-tillägg

För att utföra tillägg på matrisen skapar vi två matriser med numpy.array () och lägger till dem med hjälp av (+) -operatören.

Exempel:

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)

Produktion:

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

Matris subtrahering

För att utföra subtraktion på matrisen skapar vi två matriser med hjälp av numpy.array () och subtraherar dem med operatorn (-).

Exempel:

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)

Produktion:

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

Matrixmultiplikation

Först skapas två matriser med numpy.arary (). För att multiplicera dem kommer du att använda metoden numpy dot (). Numpy.dot () är punktprodukten för matrisen M1 och M2. Numpy.dot () hanterar 2D-matriserna och utför matrixmultiplikationer.

Exempel:

import numpy as npM1 = 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 Transpose

Transponeringen av en matris beräknas genom att ändra raderna som kolumner och kolumner som rader. Transponeringsfunktionen () från Numpy kan användas för att beräkna transponeringen av en matris.

Exempel:

import numpy as npM1 = 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

Skivning returnerar elementen från matrisen baserat på det angivna start- / slutindexet.

  • Syntaxen för skivning är - [start: slut]
  • Om startindex inte ges betraktas det som 0. Till exempel [: 5] betyder det som [0: 5].
  • Om slutet inte passeras tar det som längden på matrisen.
  • Om start / slut har negativa värden kommer skivningen att göras från slutet av matrisen.

Innan vi jobbar med att skära på en matris, låt oss först förstå hur man applicerar skiva på en enkel matris.

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

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]

  • Första början / slutet är för raden, dvs för att välja raderna i matrisen.
  • Den andra start / slut kommer att vara för kolumnen, dvs att välja kolumnerna i matrisen.

Matrisen M1 t som vi ska använda är som följer:

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. Index startar från 0 till 3. 0 : te raden är [2,4,6,8,10], 1 st är rad [3,6,9, -12, -15] följt av 2 : a och 3 : e .

Matrisen M1 har 5 kolumner. Index startar från 0 till 4. Den 0 : te kolumn har värden [2,3,4,5], 1 st kolumner har värden [4,6,8, -10] följt av 2 : a , 3 : e , 4 : e , och 5: e .

Här är ett exempel som visar hur du får data från rader och kolumner från matrisen med hjälp av skivning. I exemplet är vi skriva ut en st och 2 nd rad, och för kolonner, vi vill 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 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.

Produktion:

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

Exempel: Att skriva ut alla rader och tredje kolumner

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.

Produktion:

[ 8 -12 16 -20]

Exempel: Att skriva ut den första raden och alla kolumner

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

Produktion:

[[ 2 4 6 8 10]]

Exempel: Att skriva ut de tre första raderna och de första två kolumnerna

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

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 få tag på raderna och kolumnerna från matrisen.

Att skriva ut raderna i matrisen

I exemplet kommer raderna i matrisen att skrivas ut.

Exempel:

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

Produktion:

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

För att få den sista raden kan du använda indexet eller -1. Matrisen har till exempel tre rader,

så M1 [0] ger dig den första raden,

M1 [1] ger dig andra raden

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

Att skriva ut kolumnerna i matrisen

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

Produktion:

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

Sammanfattning:

  • En Python-matris är en specialiserad tvådimensionell rektangulär uppsättning data som lagras i rader och kolumner. Data i en matris kan vara siffror, strängar, uttryck, symboler etc. Matris är en av de viktiga datastrukturerna 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 hjälp av en kapslad listdatatyp och med hjälp av numpy-biblioteket.
  • Python-biblioteket Numpy hjälper till att hantera matriser. Numpy bearbetar en array lite snabbare jämfört med listan.
  • Matrisoperationen som kan göras är addition, subtraktion, multiplikation, transponering, läsning av rader, kolumner i en matris, skivning 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 kommer du att använda metoden numpy dot (). Numpy.dot () är punktprodukten för matrisen M1 och M2. Numpy.dot () hanterar 2D-matriserna och utför matrixmultiplikationer.
  • Transponeringen av en matris beräknas genom att ändra raderna som kolumner och kolumner som rader. Transponeringsfunktionen () från Numpy kan användas för att beräkna transponeringen av en matris.
  • Skivning av en matris ger dig elementen baserat på det angivna start- / slutindexet.