Opérations sur les tableaux NumPy

NumPyBeginner
Pratiquer maintenant

Introduction

NumPy est une bibliothèque Python utilisée pour le calcul numérique. Elle est conçue pour travailler avec des tableaux et des matrices, ce qui en fait un outil puissant pour le calcul scientifique. Dans ce laboratoire, vous allez apprendre les trois sujets suivants liés aux opérations sur les tableaux NumPy :

  1. Opérations mathématiques
  2. Diffusion (Broadcasting)
  3. Fonctions universelles
Ceci est un Guided Lab, qui fournit des instructions étape par étape pour vous aider à apprendre et à pratiquer. Suivez attentivement les instructions pour compléter chaque étape et acquérir une expérience pratique. Les données historiques montrent que c'est un laboratoire de niveau débutant avec un taux de réussite de 98%. Il a reçu un taux d'avis positifs de 97% de la part des apprenants.

Opérations mathématiques

NumPy fournit une variété d'opérations mathématiques pour les tableaux. Ces opérations peuvent être effectuées sur un ou plusieurs tableaux.

Ouvrir l'interpréteur Python

Ouvrez l'interpréteur Python en tapant la commande suivante dans le terminal.

python3

Importer NumPy

NumPy est déjà installé, vous pouvez l'importer dans votre code Python :

import numpy as np

Opérations élément par élément

Les opérations élément par élément sont des opérations effectuées sur chaque élément du tableau.

Créeons deux tableaux et effectuons quelques opérations élément par élément :

## Création de deux tableaux
arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([5, 6, 7, 8])

## Addition de deux tableaux
print("Addition de deux tableaux: ", arr1 + arr2)

## Soustraction de deux tableaux
print("Soustraction de deux tableaux: ", arr1 - arr2)

## Multiplication de deux tableaux
print("Multiplication de deux tableaux: ", arr1 * arr2)

## Division de deux tableaux
print("Division de deux tableaux: ", arr1 / arr2)

## Recherche du reste après la division de deux tableaux
print("Modulo de deux tableaux: ", arr1 % arr2)

## Élévation des éléments d'un tableau à une puissance
print("Élévation d'un tableau à une puissance: ", arr1 ** 2)

Sortie :

Addition de deux tableaux:  [ 6  8 10 12]
Soustraction de deux tableaux:  [-4 -4 -4 -4]
Multiplication de deux tableaux:  [ 5 12 21 32]
Division de deux tableaux:  [0.2        0.33333333 0.42857143 0.5       ]
Modulo de deux tableaux:  [1 2 3 4]
Élévation d'un tableau à une puissance:  [ 1  4  9 16]

Opérations sur le tableau entier

Les opérations sur le tableau entier sont des opérations effectuées sur l'ensemble du tableau.

Créeons un tableau et effectuons quelques opérations sur le tableau entier :

## Création d'un tableau
arr = np.array([1, 2, 3, 4])

## Recherche de la somme de tous les éléments du tableau
print("Somme du tableau: ", np.sum(arr))

## Recherche du produit de tous les éléments du tableau
print("Produit du tableau: ", np.prod(arr))

## Recherche de l'élément minimum du tableau
print("Élément minimum du tableau: ", np.min(arr))

## Recherche de l'élément maximum du tableau
print("Élément maximum du tableau: ", np.max(arr))

## Recherche de la moyenne de tous les éléments du tableau
print("Moyenne du tableau: ", np.mean(arr))

## Recherche de l'écart-type de tous les éléments du tableau
print("Écart-type du tableau: ", np.std(arr))

Sortie :

Somme du tableau:  10
Produit du tableau:  24
Élément minimum du tableau:  1
Élément maximum du tableau:  4
Moyenne du tableau:  2.5
Écart-type du tableau:  1.118033988749895

Diffusion (Broadcasting)

La diffusion (Broadcasting) est une fonctionnalité de NumPy qui permet d'effectuer des opérations élément par élément entre des tableaux de formes différentes. La diffusion est particulièrement utile lorsqu'on travaille avec des tableaux de dimensions différentes.

Créeons un tableau et effectuons quelques opérations de diffusion :

## Création de deux tableaux de formes différentes
array1 = np.array([1, 2, 3])
array2 = np.array([[4, 5, 6], [7, 8, 9]])

## Diffusion du tableau plus petit vers le tableau plus grand
print("Addition de deux tableaux en utilisant la diffusion : ", array1 + array2)

print("Soustraction de deux tableaux en utilisant la diffusion : ", array1 - array2)

print("Multiplication de deux tableaux en utilisant la diffusion : ", array1 * array2)

print("Division de deux tableaux en utilisant la diffusion : ", array1 / array2)

Sortie :

Addition de deux tableaux en utilisant la diffusion :  [[ 5  7  9]
                                                   [ 8 10 12]]

Soustraction de deux tableaux en utilisant la diffusion :  [[-3 -3 -3]
                                                        [-6 -6 -6]]

Multiplication de deux tableaux en utilisant la diffusion :  [[ 4 10 18]
                                                        [7 16 27]]

Division de deux tableaux en utilisant la diffusion :  [[0.25       0.4        0.5       ]
                                                     [0.14285714 0.25       0.33333333]]

Dans le code ci-dessus, nous créons deux tableaux, array1 avec la forme (3,) et array2 avec la forme (2,3). Nous effectuons des opérations élément par élément entre array1 et array2, grâce à la fonctionnalité de diffusion de NumPy. Le tableau plus petit, array1, est diffusé vers le tableau plus grand, array2, pour effectuer des opérations élément par élément. La diffusion permet de réaliser des opérations sur des tableaux de formes différentes.

Fonctions universelles

Les fonctions universelles, ou ufuncs, sont des fonctions qui opèrent sur les tableaux de manière élément par élément. Elles offrent des opérations rapides et efficaces sur les tableaux.

Créeons un tableau et effectuons quelques ufuncs :

## Création d'un tableau
arr = np.array([1, 2, 3, 4])

## Recherche de la racine carrée de chaque élément du tableau
print("Racine carrée du tableau : ", np.sqrt(arr))

## Recherche de l'exponentielle de chaque élément du tableau
print("Exponentielle du tableau : ", np.exp(arr))

## Recherche du sinus de chaque élément du tableau
print("Sinus du tableau : ", np.sin(arr))

## Recherche du cosinus de chaque élément du tableau
print("Cosinus du tableau : ", np.cos(arr))

## Recherche du logarithme népérien de chaque élément du tableau
print("Logarithme népérien du tableau : ", np.log(arr))

Sortie :

Racine carrée du tableau :  [1.         1.41421356 1.73205081 2.        ]
Exponentielle du tableau :  [ 2.71828183  7.3890561  20.08553692 54.59815003]
Sinus du tableau :  [ 0.84147098  0.90929743  0.14112001 -0.7568025 ]
Cosinus du tableau :  [ 0.54030231 -0.41614684 -0.9899925  -0.65364362]
Logarithme népérien du tableau :  [0.         0.69314718 1.09861229 1.38629436]

Résumé

Félicitations ! Vous avez désormais appris les opérations sur les tableaux NumPy, y compris les opérations mathématiques, la diffusion (Broadcasting) et les fonctions universelles. Grâce à ces connaissances, vous pouvez désormais effectuer une large gamme de tâches de calcul numérique avec Python.