Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Python

Opérations matricielles Python avec NumPy : transposition, addition, multiplication et slicing – Guide pratique

Opérations matricielles Python avec NumPy : transposition, addition, multiplication et slicing

La modélisation mathématique, le calcul scientifique et l'analyse de données reposent souvent sur la manipulation efficace de données bidimensionnelles. En Python, les matrices peuvent être créées avec des listes simples ou, plus puissamment, avec la bibliothèque NumPy. Ce guide vous guide à travers les opérations matricielles les plus courantes, avec des exemples de code clairs et des conseils de bonnes pratiques.

Qu'est-ce qu'une matrice ?

Une matrice est un tableau rectangulaire de nombres (ou autres types de données) organisés en lignes et colonnes. Bien que Python n'ait pas de type matrice dédié dans son langage de base, vous pouvez en représenter une avec des listes imbriquées ou avec le ndarray de NumPy, qui offre des opérations vectorisées rapides.

Créer une matrice avec des listes imbriquées

Les listes imbriquées sont la façon la plus simple de construire une matrice. Chaque liste interne représente une ligne :

# Matrice 3x3
M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
print(M1)

Sortie :

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

Lire des données

Accéder aux éléments via indices de ligne et colonne. Pour afficher le dernier élément de chaque ligne :

for row in M1:
    print(row[-1])

Sortie :

-6
4
21

Additionner des matrices

Quand les deux matrices partagent la même forme, l'addition élément par élément est simple :

M2 = [[3, 16, -6], [9, 7, -4], [-1, 3, 13]]
# Matrice résultat
M3 = [[M1[i][j] + M2[i][j] for j in range(len(M1[0]))] for i in range(len(M1))]
print(M3)

Sortie :

[[11, 30, -12], [21, 14, 0], [-12, 6, 34]]

Multiplication élément par élément

De même, vous pouvez multiplier les éléments correspondants :

M3 = [[M1[i][j] * M2[i][j] for j in range(len(M1[0]))] for i in range(len(M1))]
print(M3)

Sortie :

[[24, 224, 36], [108, 49, -16], [11, 9, 273]]

Utiliser NumPy pour des opérations matricielles efficaces

NumPy fournit un type array dédié et une multitude d'opérations vectorisées. Installez-le avec pip install numpy et importez-le comme np :

import numpy as np

Créer une matrice

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érations de base

Exemple : Produit scalaire de matrices

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

Sortie :

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

Slicing (tranchage)

Trancher lignes et colonnes avec array[row_start:row_end, col_start:col_end] :

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

print(M[1:3, 1:4])   # lignes 1-2, colonnes 1-3
print(M[:, 3])       # toutes lignes, 4ème colonne
print(M[:1, :])      # première ligne, toutes colonnes
print(M[:3, :2])     # premières 3 lignes, premières 2 colonnes

Sortie :

[[ 6  9 -12]
 [ 8 12  16]]
[ 8 -12 16 -20]
[[ 2  4  6  8 10]]
[[ 2  4]
 [ 3  6]
 [ 4  8]]

Accéder aux lignes et colonnes

# Lignes
print(M[0])    # première ligne
print(M[-1])   # dernière ligne

# Colonnes
print(M[:, 0])   # première colonne
print(M[:, -1])  # dernière colonne

Points clés à retenir

Python

  1. Maîtriser les dictionnaires Python : création, manipulation et techniques avancées
  2. Les tableaux en C++ : Déclaration, initialisation et techniques avec pointeurs
  3. Fonction Python print() : Guide pratique avec exemples
  4. Maîtriser str.count() de Python : Compter caractères et sous-chaînes avec exemples
  5. Maîtriser les chaînes format() en Python avec exemples clairs
  6. Maîtriser la méthode String.find() de Python : Syntaxe, Exemples et Alternatives
  7. Maîtriser les fonctions lambda Python : exemples pratiques et bonnes pratiques
  8. Fonction Python abs() : calculer les valeurs absolues pour nombres et nombres complexes
  9. Fonction Python round() expliquée avec exemples pratiques