Matrice Python : exemples de transposition, de multiplication et de tableaux NumPy

Qu'est-ce que la matrice Python ?

Une matrice Python est un tableau rectangulaire bidimensionnel spécialisé de données stockées en lignes et en colonnes. Les données d'une matrice peuvent être des nombres, des chaînes, des expressions, des symboles, etc. La matrice est l'une des structures de données importantes qui peuvent être utilisées dans les calculs mathématiques et scientifiques.

Comment fonctionnent les matrices Python ?

Les données à l'intérieur du tableau bidimensionnel au format matriciel se présentent comme suit :

Matrice Python

Étape 1) Il montre une matrice 2×2. Il comporte deux lignes et 2 colonnes. Les données à l'intérieur de la matrice sont des nombres. La ligne 1 a les valeurs 2,3 et la ligne 2 a les valeurs 4,5. Les colonnes, c'est-à-dire col1, ont les valeurs 2,4 et col2 a les valeurs 3,5.

Étape 2) Il montre une matrice 2×3. Il comporte deux lignes et trois colonnes. Les données à l'intérieur de la première ligne, c'est-à-dire la ligne 1, ont les valeurs 2,3,4, 2, 5,6,7 et la ligne 1 a les valeurs 2,5, 2, 3,6. Les colonnes col3 ont les valeurs 4,7, col ont les valeurs et col ont les valeurs .

De la même manière, vous pouvez stocker vos données dans la matrice nxn en Python. De nombreuses opérations peuvent être effectuées sur une addition, une soustraction, une multiplication de type matricielle, etc.

Python ne dispose pas de moyen simple pour implémenter un type de données matriciel.

La matrice Python utilise des tableaux, et la même chose peut être implémentée.

  • Créer une matrice Python en utilisant le type de données de liste imbriquée
  • Créer une matrice Python à l'aide de tableaux de Paquet Python Numpy

Créer une matrice Python à l'aide d'un type de données de liste imbriquée

En Python, les tableaux sont représentés à l'aide du type de données list. Nous allons maintenant utiliser la liste pour créer une matrice python.

Nous allons créer une matrice 3×3, comme indiqué ci-dessous :

Créer une matrice Python à l'aide d'une liste imbriquée

  • La matrice comporte 3 lignes et 3 colonnes.
  • La première ligne d'un format de liste sera la suivante : [8,14,-6]
  • La deuxième ligne d'une liste sera : [12,7,4]
  • La troisième ligne d'une liste sera : [-11,3,21]

La matrice à l'intérieur d'une liste avec toutes les lignes et colonnes est la suivante :

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

Ainsi, selon la matrice répertoriée ci-dessus, le type de liste avec les données matricielles est le suivant :

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

Pour lire des données dans Python Matrix à l’aide d’une liste.

Nous utiliserons la matrice définie ci-dessus. L'exemple lira les données, imprimera la matrice, affichera le dernier élément de chaque ligne.

Exemple : Pour imprimer la matrice

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

#To print the matrix
print(M1)

Sortie :

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

Exemple 2 : Pour lire le dernier élément de chaque ligne

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

Sortie :

-6
4
21

Exemple 3 : Pour imprimer les lignes de la matrice

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

Sortie :

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

Ajout de matrices à l'aide d'une liste imbriquée

On peut facilement additionner deux matrices données. Les matrices ici seront sous forme de liste. Travaillons sur un exemple qui prendra soin d'ajouter les matrices données.

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 initialisera une matrice qui stockera le résultat de M1 + M2.

Matrice 3 :

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

Exemple : ajout de matrices

Pour ajouter, les matrices utiliseront une boucle for qui parcourra les deux matrices données.

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)

Sortie :

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

Multiplication de matrices à l'aide d'une liste imbriquée

Pour multiplier les matrices, nous pouvons utiliser la boucle for sur les deux matrices comme indiqué dans le code ci-dessous :

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)

Sortie :

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

Créer une matrice Python à l'aide de tableaux du package Python Numpy

La bibliothèque python Numpy aide à gérer les tableaux. Numpy traite un tableau un peu plus rapidement que la liste.

Pour travailler avec Numpy, vous devez d'abord l'installer. Suivez les étapes ci-dessous pour installer Numpy.

Étape 1) La commande pour installer Numpy est :

pip install NumPy

Étape 2) Pour utiliser Numpy dans votre code, vous devez l'importer.

import NumPy

Étape 3) Vous pouvez également importer Numpy en utilisant un alias, comme indiqué ci-dessous :

import NumPy as np

Nous allons utiliser la méthode array() de Numpy pour créer une matrice python.

Exemple : Array dans Numpy pour créer une matrice Python

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

Sortie :

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

Opération matricielle utilisant Numpy.Array()

L'opération matricielle qui peut être effectuée est l'addition, la soustraction, la multiplication, la transposition, la lecture des lignes, des colonnes d'une matrice, le découpage de la matrice, etc. Dans tous les exemples, nous allons utiliser une méthode array().

Ajout de matrice

Pour effectuer une addition sur la matrice, nous allons créer deux matrices à l'aide de numpy.array() et les ajouter à l'aide de l'opérateur (+).

Mise en situation :

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)

Sortie :

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

Soustraction matricielle

Pour effectuer une soustraction sur la matrice, nous allons créer deux matrices en utilisant numpy.array() et les soustraire en utilisant l'opérateur (-).

Mise en situation :

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)

Sortie :

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

Multiplication matricielle

Nous allons d’abord créer deux matrices en utilisant numpy.arary(). Pour les multiplier, vous pouvez utiliser la méthode numpy dot(). Numpy.dot() est le produit scalaire des matrices M1 et M2. Numpy.dot() gère les tableaux 2D et effectue des multiplications matricielles.

Mise en situation :

import numpy as np

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

Sortie :

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

Transposition matricielle

La transposition d'une matrice est calculée en changeant les lignes en colonnes et les colonnes en lignes. La fonction transpose() de Numpy peut être utilisée pour calculer la transposition d'une matrice.

Mise en situation :

import numpy as np

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

print(M2)

Sortie :

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

Découpage d'une matrice

Le découpage vous renverra les éléments de la matrice en fonction de l'index de début/fin donné.

  • La syntaxe du découpage est – [début: fin]
  • Si l'index de départ n'est pas donné, il est considéré comme 0. Par exemple [:5], cela signifie [0:5].
  • Si la fin n'est pas passée, elle prendra la même longueur que le tableau.
  • Si le début/la fin a des valeurs négatives, le découpage sera effectué à partir de la fin du tableau.

Avant de travailler sur le découpage sur une matrice, comprenons d'abord comment appliquer le découpage sur un tableau simple.

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

Sortie :

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

Implémentons maintenant le découpage sur la matrice . Pour effectuer un découpage sur une matrice

la syntaxe sera M1[row_start:row_end, col_start:col_end]

  • Le premier début/fin sera pour la ligne, c'est à dire pour sélectionner les lignes de la matrice.
  • Le deuxième début/fin sera pour la colonne, c'est à dire pour sélectionner les colonnes de la matrice.

La matrice M1 que nous allons utiliser est la suivante :

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

Il y a au total 4 lignes. L'index commence de 0 à 3. Le 0th la ligne est le [2,4,6,8,10], 1st la ligne est [3,6,9,-12,-15] suivi de 2nd 3rd.

La matrice M1 comporte 5 colonnes. L'index commence de 0 à 4. Le 0th la colonne a les valeurs [2,3,4,5], 1st les colonnes ont des valeurs [4,6,8,-10] suivies de 2nd3rd4thet 5th.

Voici un exemple de photowing comment obtenir les données des lignes et des colonnes de la matrice en utilisant le découpage. Dans l'exemple, nous imprimons le 1st 2nd ligne, et pour les colonnes, nous voulons la première, la deuxième et la troisième colonne. Pour obtenir cette sortie, nous avons utilisé : M1[1:3, 1:4]

Mise en situation :

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.

Sortie :

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

Exemple : Pour imprimer toutes les lignes et troisièmes colonnes

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.

Sortie :

[  8 -12  16 -20]

Exemple : Pour imprimer la première ligne et toutes les colonnes

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

Sortie :

[[ 2  4  6  8 10]]

Exemple : Pour imprimer les trois premières lignes et les 2 premières colonnes

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

Sortie :

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

Accéder à la matrice NumPy

Nous avons vu comment fonctionne le découpage. En tenant compte de cela, nous verrons comment obtenir les lignes et les colonnes de la matrice.

Pour imprimer les lignes de la matrice

Dans l'exemple, les lignes de la matrice seront imprimées.

Mise en situation :

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

Sortie :

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

Pour obtenir la dernière ligne, vous pouvez utiliser l'index ou -1. Par exemple, la matrice comporte 3 lignes,

donc M1[0] vous donnera la première ligne,

M1[1] vous donnera la deuxième rangée

M1[2] ou M1[-1] vous donnera la troisième ligne ou la dernière ligne.

Pour imprimer les colonnes de la matrice

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

Sortie :

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

Résumé

  • Une matrice Python est un tableau rectangulaire bidimensionnel spécialisé de données stockées en lignes et en colonnes. Les données d'une matrice peuvent être des nombres, des chaînes, des expressions, des symboles, etc. La matrice est l'une des structures de données importantes qui peuvent être utilisées dans les calculs mathématiques et scientifiques.
  • Python ne dispose pas de moyen simple pour implémenter un type de données matriciel. La matrice Python peut être créée à l'aide d'un type de données de liste imbriquée et en utilisant la bibliothèque numpy.
  • La bibliothèque python Numpy aide à gérer les tableaux. Numpy traite un tableau un peu plus rapidement que la liste.
  • L'opération matricielle qui peut être effectuée est l'addition, la soustraction, la multiplication, la transposition, la lecture des lignes, des colonnes d'une matrice, le découpage de la matrice, etc.
  • Pour ajouter deux matrices, vous pouvez utiliser numpy.array() et les ajouter à l'aide de l'opérateur (+).
  • Pour les multiplier, vous pouvez utiliser la méthode numpy dot(). Numpy.dot() est le produit scalaire des matrices M1 et M2. Numpy.dot() gère les tableaux 2D et effectue des multiplications matricielles.
  • La transposition d'une matrice est calculée en changeant les lignes en colonnes et les colonnes en lignes. La fonction transpose() de Numpy peut être utilisée pour calculer la transposition d'une matrice.
  • Le découpage d'une matrice vous renverra les éléments en fonction de l'index de début/fin donné.