Matrice Python: trasposizione, moltiplicazione, esempi di array NumPy

Sommario:

Anonim

Cos'è Python Matrix?

Una matrice Python è una matrice rettangolare bidimensionale specializzata di dati archiviati in righe e colonne. I dati in una matrice possono essere numeri, stringhe, espressioni, simboli, ecc. La matrice è una delle strutture di dati importanti che possono essere utilizzate nei calcoli matematici e scientifici.

In questo tutorial di Python imparerai:

  • Cos'è Python Matrix?
  • Come funzionano le matrici Python?
  • Crea matrice Python utilizzando un tipo di dati elenco nidificato
  • Per leggere i dati all'interno di Python Matrix utilizzando un elenco.
  • Esempio 2: leggere l'ultimo elemento di ogni riga.
  • Esempio 3: stampare le righe nella matrice
  • Aggiunta di matrici utilizzando l'elenco annidato
  • Moltiplicazione di matrici utilizzando l'elenco annidato
  • Crea Python Matrix usando Arrays dal pacchetto Python Numpy
  • Operazione con matrice utilizzando Numpy.Array ()
  • Accesso a NumPy Matrix

Come funzionano le matrici Python?

I dati all'interno dell'array bidimensionale in formato matrice sono i seguenti:

Passo 1)

Mostra una matrice 2x2. Ha due righe e 2 colonne. I dati all'interno della matrice sono numeri. La riga1 ha valori 2,3 e la riga2 ha valori 4,5. Le colonne, cioè col1, hanno valori 2,4 e col2 ha valori 3,5.

Passo 2)

Mostra una matrice 2x3. Ha due righe e tre colonne. I dati all'interno della prima riga, ovvero riga1, hanno valori 2,3,4 e riga2 hanno valori 5,6,7. Le colonne col1 hanno valori 2,5, col2 ha valori 3,6 e col3 ha valori 4,7.

Allo stesso modo, puoi avere i tuoi dati memorizzati nella matrice nxn in Python. Molte operazioni possono essere eseguite su addizioni, sottrazioni, moltiplicazioni, ecc. Simili a matrici.

Python non ha un modo semplice per implementare un tipo di dati a matrice.

La matrice Python fa uso di array e lo stesso può essere implementato.

  • Crea una matrice Python utilizzando il tipo di dati elenco nidificato
  • Crea Python Matrix usando Arrays dal pacchetto Python Numpy

Crea matrice Python utilizzando un tipo di dati elenco nidificato

In Python, gli array sono rappresentati utilizzando il tipo di dati list. Quindi ora utilizzeremo l'elenco per creare una matrice Python.

Creeremo una matrice 3x3, come mostrato di seguito:

  • La matrice ha 3 righe e 3 colonne.
  • La prima riga in un formato elenco sarà la seguente: [8,14, -6]
  • La seconda riga di un elenco sarà: [12,7,4]
  • La terza riga di un elenco sarà: [-11,3,21]

La matrice all'interno di un elenco con tutte le righe e le colonne è come mostrato di seguito:

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

Quindi, secondo la matrice sopra elencata, il tipo di elenco con i dati della matrice è il seguente:

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

Per leggere i dati all'interno di Python Matrix utilizzando un elenco.

Faremo uso della matrice definita sopra. L'esempio leggerà i dati, stamperà la matrice, visualizzerà l'ultimo elemento di ogni riga.

Esempio: per stampare la matrice

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

Produzione:

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

Esempio 2: leggere l'ultimo elemento di ogni riga.

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

Produzione:

-6421

Esempio 3: stampare le righe nella matrice

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

Produzione:

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

Aggiunta di matrici utilizzando l'elenco annidato

Possiamo facilmente aggiungere due matrici date. Le matrici qui saranno nel modulo elenco. Lavoriamo su un esempio che avrà cura di aggiungere le matrici date.

Matrice 1:

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

Matrice 2:

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

Last inizializzerà una matrice che memorizzerà il risultato di M1 + M2.

Matrice 3:

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

Esempio: aggiunta di matrici

Per aggiungere, le matrici faranno uso di un ciclo for che eseguirà un ciclo attraverso entrambe le matrici fornite.

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)

Produzione:

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

Moltiplicazione di matrici utilizzando l'elenco annidato

Per moltiplicare le matrici, possiamo usare il ciclo for su entrambe le matrici come mostrato nel codice seguente:

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)

Produzione:

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

Crea Python Matrix usando Arrays dal pacchetto Python Numpy

La libreria python Numpy aiuta a gestire gli array. Numpy elabora un array un po 'più velocemente rispetto all'elenco.

Per lavorare con Numpy, devi prima installarlo. Segui i passaggi indicati di seguito per installare Numpy.

Passo 1)

Il comando per installare Numpy è:

pip install NumPy

Passo 2)

Per utilizzare Numpy nel tuo codice, devi importarlo.

import NumPy

Passaggio 3)

Puoi anche importare Numpy usando un alias, come mostrato di seguito:

import NumPy as np

Utilizzeremo il metodo array () di Numpy per creare una matrice Python.

Esempio: Array in Numpy per creare Python Matrix

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

Produzione:

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

Operazione con matrice utilizzando Numpy.Array ()

L'operazione di matrice che può essere eseguita è addizione, sottrazione, moltiplicazione, trasposizione, lettura di righe, colonne di una matrice, taglio della matrice, ecc. In tutti gli esempi, utilizzeremo un metodo array ().

Matrix Addition

Per eseguire l'addizione sulla matrice, creeremo due matrici usando numpy.array () e le aggiungeremo usando l'operatore (+).

Esempio:

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)

Produzione:

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

Sottrazione di matrice

Per eseguire la sottrazione sulla matrice, creeremo due matrici usando numpy.array () e le sottrarremo usando l'operatore (-).

Esempio:

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)

Produzione:

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

Moltiplicazione di matrici

Per prima cosa creerà due matrici usando numpy.arary (). Per moltiplicarli, puoi usare il metodo numpy punto (). Numpy.dot () è il prodotto scalare della matrice M1 e M2. Numpy.dot () gestisce gli array 2D ed esegue moltiplicazioni di matrici.

Esempio:

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

Produzione:

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

Matrix Transpose

La trasposizione di una matrice viene calcolata modificando le righe come colonne e le colonne come righe. La funzione transpose () di Numpy può essere utilizzata per calcolare la trasposizione di una matrice.

Esempio:

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

Produzione:

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

Affettare una matrice

Il sezionamento restituirà gli elementi dalla matrice in base all'indice iniziale / finale fornito.

  • La sintassi per l'affettatura è - [inizio: fine]
  • Se l'indice iniziale non viene fornito, viene considerato 0. Ad esempio [: 5], significa [0: 5].
  • Se la fine non viene passata, verrà considerata la lunghezza dell'array.
  • Se l'inizio / fine ha valori negativi, l'affettatura verrà eseguita dalla fine dell'array.

Prima di lavorare sull'affettatura su una matrice, dobbiamo prima capire come applicare la sezione su un semplice array.

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

Produzione:

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

Ora implementiamo l'affettamento su matrice. Per eseguire l'affettatura su una matrice

la sintassi sarà M1 [row_start: row_end, col_start: col_end]

  • Il primo inizio / fine sarà per la riga, cioè per selezionare le righe della matrice.
  • Il secondo inizio / fine sarà per la colonna, cioè per selezionare le colonne della matrice.

La matrice M1 che useremo è la seguente:

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

Ci sono un totale di 4 righe. L'indice parte da 0 a 3. Il 0 esima riga è la [2,4,6,8,10], 1 ° fila è [3,6,9, -12, -15] seguito da 2 ° e 3 ° .

La matrice M1 ha 5 colonne. L'indice inizia da 0 a 4. 0 esima colonna ha valori [2,3,4,5], 1 st colonne hanno valori [4,6,8, -10] seguito da 2 ° , 3 ° , 4 ° , e 5 ° .

Di seguito è riportato un esempio che mostra come ottenere i dati di righe e colonne dalla matrice utilizzando l'affettatura. Nell'esempio, stiamo stampando il 1 ° e 2 ° fila, e per colonne, vogliamo la prima, seconda, e terza colonna. Per ottenere quell'output abbiamo usato: M1 [1: 3, 1: 4]

Esempio:

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.

Produzione:

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

Esempio: per stampare tutte le righe e le terze colonne

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.

Produzione:

[ 8 -12 16 -20]

Esempio: per stampare la prima riga e tutte le colonne

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

Produzione:

[[ 2 4 6 8 10]]

Esempio: per stampare le prime tre righe e le prime 2 colonne

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

Produzione:

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

Accesso a NumPy Matrix

Abbiamo visto come funziona l'affettatura. Tenendo conto di ciò, vedremo come ottenere le righe e le colonne dalla matrice.

Per stampare le righe della matrice

Nell'esempio verranno stampate le righe della matrice.

Esempio:

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

Produzione:

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

Per ottenere l'ultima riga, puoi utilizzare l'indice o -1. Ad esempio, la matrice ha 3 righe,

quindi M1 [0] ti darà la prima riga,

M1 [1] ti darà la seconda riga

M1 [2] o M1 [-1] ti daranno la terza o l'ultima riga.

Per stampare le colonne della matrice

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

Produzione:

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

Sommario:

  • Una matrice Python è una matrice rettangolare bidimensionale specializzata di dati archiviati in righe e colonne. I dati in una matrice possono essere numeri, stringhe, espressioni, simboli, ecc. La matrice è una delle strutture di dati importanti che possono essere utilizzate nei calcoli matematici e scientifici.
  • Python non ha un modo semplice per implementare un tipo di dati a matrice. La matrice Python può essere creata utilizzando un tipo di dati elenco nidificato e utilizzando la libreria numpy.
  • La libreria python Numpy aiuta a gestire gli array. Numpy elabora un array un po 'più velocemente rispetto all'elenco.
  • L'operazione di matrice che può essere eseguita è addizione, sottrazione, moltiplicazione, trasposizione, lettura di righe, colonne di una matrice, taglio della matrice, ecc.
  • Per aggiungere due matrici, puoi usare numpy.array () e aggiungerle usando l'operatore (+).
  • Per moltiplicarli, puoi usare il metodo numpy punto (). Numpy.dot () è il prodotto scalare della matrice M1 e M2. Numpy.dot () gestisce gli array 2D ed esegue moltiplicazioni di matrici.
  • La trasposizione di una matrice viene calcolata modificando le righe come colonne e le colonne come righe. La funzione transpose () di Numpy può essere utilizzata per calcolare la trasposizione di una matrice.
  • Il taglio di una matrice restituirà gli elementi in base all'indice iniziale / finale fornito.