Python Matrix: Transpose, Multiplication, NumPy Arrays Voorbeelden

Inhoudsopgave:

Anonim

Wat is Python Matrix?

Een Python-matrix is ​​een gespecialiseerde tweedimensionale rechthoekige reeks gegevens die is opgeslagen in rijen en kolommen. De gegevens in een matrix kunnen getallen, tekenreeksen, uitdrukkingen, symbolen, enz. Zijn. Matrix is ​​een van de belangrijke gegevensstructuren die kunnen worden gebruikt in wiskundige en wetenschappelijke berekeningen.

In deze Python-tutorial leer je:

  • Wat is Python Matrix?
  • Hoe werken Python-matrices?
  • Maak een Python-matrix met behulp van een genest lijstgegevenstype
  • Om gegevens in Python Matrix te lezen met behulp van een lijst.
  • Voorbeeld 2: om het laatste element van elke rij te lezen.
  • Voorbeeld 3: om de rijen in de matrix af te drukken
  • Matrices toevoegen met geneste lijst
  • Vermenigvuldiging van matrices met behulp van geneste lijst
  • Maak een Python-matrix met behulp van arrays uit het Python Numpy-pakket
  • Matrixbewerking met Numpy.Array ()
  • Toegang tot NumPy Matrix

Hoe werken Python-matrices?

De gegevens in de tweedimensionale array in matrixformaat zien er als volgt uit:

Stap 1)

Het toont een 2x2-matrix. Het heeft twee rijen en 2 kolommen. De gegevens in de matrix zijn getallen. De rij1 heeft waarden 2,3 en rij2 heeft waarden 4,5. De kolommen, dwz col1, hebben de waarden 2,4 en col2 heeft de waarden 3,5.

Stap 2)

Het toont een 2x3-matrix. Het heeft twee rijen en drie kolommen. De gegevens in de eerste rij, dwz rij1, hebben waarden 2,3,4 en rij2 heeft waarden 5,6,7. De kolommen col1 heeft waarden 2,5, col2 heeft waarden 3,6 en col3 heeft waarden 4,7.

Op dezelfde manier kunt u uw gegevens opslaan in de nxn-matrix in Python. Er kunnen veel bewerkingen worden uitgevoerd op een matrixachtige optellen, aftrekken, vermenigvuldigen, enz.

Python heeft geen eenvoudige manier om een ​​matrixgegevenstype te implementeren.

De python-matrix maakt gebruik van arrays en hetzelfde kan worden geïmplementeerd.

  • Maak een Python-matrix met het gegevenstype van de geneste lijst
  • Maak een Python-matrix met behulp van arrays uit het Python Numpy-pakket

Maak een Python-matrix met behulp van een genest lijstgegevenstype

In Python worden de arrays weergegeven met behulp van het lijstgegevenstype. Dus zal nu gebruik maken van de lijst om een ​​python-matrix te maken.

We zullen een 3x3-matrix maken, zoals hieronder weergegeven:

  • De matrix heeft 3 rijen en 3 kolommen.
  • De eerste rij in een lijstindeling is als volgt: [8,14, -6]
  • De tweede rij in een lijst is: [12,7,4]
  • De derde rij in een lijst is: [-11,3,21]

De matrix in een lijst met alle rijen en kolommen is zoals hieronder weergegeven:

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

Dus volgens de bovenstaande matrix is ​​het lijsttype met matrixgegevens als volgt:

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

Om gegevens in Python Matrix te lezen met behulp van een lijst.

We zullen gebruik maken van de hierboven gedefinieerde matrix. Het voorbeeld leest de gegevens, drukt de matrix af en geeft het laatste element van elke rij weer.

Voorbeeld: om de matrix af te drukken

M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]#To print the matrixprint(M1)

Uitgang:

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

Voorbeeld 2: om het laatste element van elke rij te lezen.

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

Uitgang:

-6421

Voorbeeld 3: om de rijen in de matrix af te drukken

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

Uitgang:

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

Matrices toevoegen met geneste lijst

We kunnen gemakkelijk twee gegeven matrices toevoegen. De matrices staan ​​hier in de lijstvorm. Laten we aan een voorbeeld werken dat ervoor zorgt dat de gegeven matrices worden toegevoegd.

Matrix 1:

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

Matrix 2:

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

Last zal een matrix initialiseren waarin het resultaat van M1 + M2 wordt opgeslagen.

Matrix 3:

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

Voorbeeld: matrices toevoegen

Om toe te voegen, zullen de matrices gebruik maken van een for-lus die door beide gegeven matrices heen loopt.

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)

Uitgang:

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

Vermenigvuldiging van matrices met behulp van geneste lijst

Om de matrices te vermenigvuldigen, kunnen we de for-lus op beide matrices gebruiken, zoals weergegeven in de onderstaande code:

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)

Uitgang:

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

Maak een Python-matrix met behulp van arrays uit het Python Numpy-pakket

De python-bibliotheek Numpy helpt bij het omgaan met arrays. Numpy verwerkt een array iets sneller in vergelijking met de lijst.

Om met Numpy te werken, moet u het eerst installeren. Volg de onderstaande stappen om Numpy te installeren.

Stap 1)

Het commando om Numpy te installeren is:

pip install NumPy

Stap 2)

Om Numpy in uw code te gebruiken, moet u deze importeren.

import NumPy

Stap 3)

U kunt Numpy ook importeren met een alias, zoals hieronder wordt weergegeven:

import NumPy as np

We gaan gebruik maken van de methode array () van Numpy om een ​​python-matrix te maken.

Voorbeeld: Array in Numpy om Python Matrix te maken

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

Uitgang:

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

Matrixbewerking met Numpy.Array ()

De matrixbewerking die kan worden uitgevoerd is optellen, aftrekken, vermenigvuldigen, transponeren, de rijen, kolommen van een matrix lezen, de matrix opdelen, enz. In alle voorbeelden gaan we gebruik maken van een array () - methode.

Matrix-toevoeging

Om optellen op de matrix uit te voeren, maken we twee matrices met numpy.array () en voegen we ze toe met de operator (+).

Voorbeeld:

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)

Uitgang:

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

Matrix aftrekken

Om aftrekken op de matrix uit te voeren, maken we twee matrices met numpy.array () en trekken we ze af met de operator (-).

Voorbeeld:

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)

Uitgang:

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

Matrix vermenigvuldiging

Eerst worden twee matrices gemaakt met numpy.arary (). Om ze te vermenigvuldigen, kunt u de methode numpy dot () gebruiken. Numpy.dot () is het puntproduct van matrix M1 en M2. Numpy.dot () verwerkt de 2D-arrays en voert matrixvermenigvuldigingen uit.

Voorbeeld:

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

Uitgang:

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

Matrix transponeren

De transponering van een matrix wordt berekend door de rijen als kolommen en kolommen als rijen te veranderen. De functie transpose () van Numpy kan worden gebruikt om de transponering van een matrix te berekenen.

Voorbeeld:

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

Uitgang:

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

Doorsnijden van een matrix

Bij het snijden krijgt u de elementen uit de matrix terug op basis van de opgegeven begin- / eindindex.

  • De syntaxis voor slicing is - [start: end]
  • Als de startindex niet wordt gegeven, wordt deze beschouwd als 0. Bijvoorbeeld [: 5], betekent dit als [0: 5].
  • Als het einde niet wordt gepasseerd, neemt dit de lengte van de array in beslag.
  • Als het begin / einde negatieve waarden heeft, wordt het segmenteren vanaf het einde van de array uitgevoerd.

Voordat we aan het segmenteren op een matrix gaan werken, moeten we eerst begrijpen hoe we slice op een eenvoudige array kunnen toepassen.

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

Uitgang:

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

Laten we nu slicing op matrix implementeren. Om segmenten op een matrix uit te voeren

de syntaxis is M1 [row_start: row_end, col_start: col_end]

  • Het eerste begin / einde is voor de rij, dwz om de rijen van de matrix te selecteren.
  • Het tweede begin / einde is voor de kolom, dwz om de kolommen van de matrix te selecteren.

De matrix M1 t die we gaan gebruiken is als volgt:

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

Er zijn in totaal 4 rijen. De index begint van 0 tot 3. De 0 e rij is de [2,4,6,8,10], 1 e rij is [3,6,9, -12, -15] gevolgd door 2 e en 3 e .

De matrix M1 heeft 5 kolommen. De index begint van 0 tot 4. De 0 e kolom heeft waarden [2,3,4,5], 1 e kolom heeft waarden [4,6,8, -10] gevolgd door 2 e , 3 e , 4 e , en 5 e .

Hier is een voorbeeld dat laat zien hoe u de gegevens van rijen en kolommen uit de matrix kunt halen met behulp van segmentering. In het voorbeeld zijn we afdrukken van de 1 e en 2 e rij en kolommen, willen we de eerste, tweede en derde kolom. Om die uitvoer te krijgen hebben we gebruikt: M1 [1: 3, 1: 4]

Voorbeeld:

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.

Uitgang:

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

Voorbeeld: om alle rijen en derde kolommen af ​​te drukken

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.

Uitgang:

[ 8 -12 16 -20]

Voorbeeld: om de eerste rij en alle kolommen af ​​te drukken

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

Uitgang:

[[ 2 4 6 8 10]]

Voorbeeld: om de eerste drie rijen en de eerste twee kolommen af ​​te drukken

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

Uitgang:

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

Toegang tot NumPy Matrix

We hebben gezien hoe het snijden werkt. Daarmee rekening houdend, zullen we zien hoe we de rijen en kolommen uit de matrix kunnen halen.

Om de rijen van de matrix af te drukken

In het voorbeeld worden de rijen van de matrix afgedrukt.

Voorbeeld:

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

Uitgang:

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

Om de laatste rij te krijgen, kunt u gebruik maken van de index of -1. De matrix heeft bijvoorbeeld 3 rijen,

dus M1 [0] geeft je de eerste rij,

M1 [1] geeft je de tweede rij

M1 [2] of M1 [-1] geeft je de derde rij of de laatste rij.

Om de kolommen van de matrix af te drukken

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

Uitgang:

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

Overzicht:

  • Een Python-matrix is ​​een gespecialiseerde tweedimensionale rechthoekige reeks gegevens die is opgeslagen in rijen en kolommen. De gegevens in een matrix kunnen getallen, tekenreeksen, uitdrukkingen, symbolen, enz. Zijn. Matrix is ​​een van de belangrijke gegevensstructuren die kunnen worden gebruikt in wiskundige en wetenschappelijke berekeningen.
  • Python heeft geen eenvoudige manier om een ​​matrixgegevenstype te implementeren. Python-matrix kan worden gemaakt met behulp van een geneste lijstgegevenstype en met behulp van de numpy-bibliotheek.
  • De python-bibliotheek Numpy helpt bij het omgaan met arrays. Numpy verwerkt een array iets sneller in vergelijking met de lijst.
  • De matrixbewerking die kan worden uitgevoerd, is optellen, aftrekken, vermenigvuldigen, transponeren, de rijen, kolommen van een matrix lezen, de matrix opdelen, enz.
  • Om twee matrices toe te voegen, kunt u gebruik maken van numpy.array () en ze toevoegen met de (+) operator.
  • Om ze te vermenigvuldigen, kunt u gebruik maken van de methode numpy dot (). Numpy.dot () is het puntproduct van matrix M1 en M2. Numpy.dot () verwerkt de 2D-arrays en voert matrixvermenigvuldigingen uit.
  • De transponering van een matrix wordt berekend door de rijen als kolommen en kolommen als rijen te veranderen. De functie transpose () van Numpy kan worden gebruikt om de transponering van een matrix te berekenen.
  • Als u een matrix splitst, krijgt u de elementen terug op basis van de opgegeven begin- / eindindex.