Numérique et Sciences Informatiques > Langages de Programmation > Bibliothèques et Modules > Importation et utilisation de modules externes
Utiliser NumPy pour le Calcul Scientifique en Python
Découvrez NumPy, la bibliothèque Python incontournable pour le calcul scientifique. Ce guide, adapté aux lycéens, vous apprendra à manipuler des tableaux multidimensionnels, à effectuer des opérations mathématiques complexes et à optimiser vos programmes.
Qu'est-ce que NumPy ?
NumPy (Numerical Python) est une bibliothèque Python essentielle pour le calcul scientifique. Elle fournit un objet tableau multidimensionnel performant, ainsi qu'un ensemble de fonctions pour manipuler ces tableaux. NumPy est particulièrement utile pour les opérations mathématiques sur de grandes quantités de données, comme l'algèbre linéaire, les transformées de Fourier et la génération de nombres aléatoires. Elle est à la base de nombreuses autres bibliothèques scientifiques Python, comme SciPy et scikit-learn.
Pourquoi Utiliser NumPy ?
NumPy offre plusieurs avantages par rapport aux listes Python classiques pour les opérations numériques:
Comment Installer NumPy ?
Comme pour les autres modules externes, NumPy s'installe avec pip
:
pip install numpy
Après l'installation, vous pouvez l'importer dans votre code:
import numpy as np
L'alias np
est une convention courante qui rend le code plus concis.
Création de Tableaux NumPy
Il existe plusieurs façons de créer des tableaux NumPy:
import numpy as np
liste = [1, 2, 3, 4, 5]
tableau = np.array(liste)
print(tableau) # Affiche [1 2 3 4 5]
np.zeros(5) # Crée un tableau de 5 zéros
np.ones((2, 3)) # Crée un tableau 2x3 rempli de uns
np.arange(10) # Crée un tableau de 0 à 9
np.linspace(0, 1, 5) # Crée un tableau de 5 nombres équidistants entre 0 et 1
Opérations sur les Tableaux NumPy
NumPy permet d'effectuer des opérations mathématiques directement sur les tableaux, sans avoir besoin de boucles:
NumPy gère automatiquement la compatibilité des dimensions. Si les tableaux ont des dimensions différentes mais compatibles, NumPy effectuera un broadcasting pour étendre les dimensions du tableau le plus petit.tableau1 + tableau2
tableau1 - tableau2
tableau1 * tableau2
(élément par élément)tableau1 / tableau2
tableau ** 2
np.sin(tableau), np.cos(tableau), np.exp(tableau), np.log(tableau)
Indexation et Tranchage des Tableaux NumPy
L'indexation et le tranchage des tableaux NumPy sont similaires à ceux des listes Python, mais avec plus de flexibilité pour les tableaux multidimensionnels:
Contrairement aux listes Python, les tranches de tableaux NumPy renvoient des vues, c'est-à-dire qu'elles ne créent pas de copie des données. Modifier une tranche modifie également le tableau original.tableau[0] # Accède au premier élément
tableau[1, 2] # Accède à l'élément à la ligne 1 et la colonne 2 (dans un tableau 2D)
tableau[1:5] # Sélectionne les éléments de l'indice 1 à 4
tableau[:, 0] # Sélectionne toute la première colonne (dans un tableau 2D)
Exemples d'Applications de NumPy
Voici quelques exemples d'utilisation de NumPy:
import numpy as np
donnees = np.array([10, 20, 30, 40, 50])
moyenne = np.mean(donnees)
ecart_type = np.std(donnees)
print(f'Moyenne: {moyenne}, Écart type: {ecart_type}')
import numpy as np
a = np.array([[2, 1], [1, 3]])
b = np.array([5, 8])
x = np.linalg.solve(a, b)
print(x) # Affiche la solution du système
from PIL import Image
import numpy as np
image = Image.open('image.jpg')
tableau_pixels = np.array(image)
print(tableau_pixels.shape) # Affiche les dimensions de l'image (hauteur, largeur, canaux de couleur)
Ce qu'il faut retenir
pip install numpy
.
FAQ
-
Quelle est la différence entre
numpy.array
et une liste Python ?
La principale différence est l'efficacité. Les tableaux NumPy sont stockés de manière contiguë en mémoire et permettent des opérations vectorisées rapides. Les listes Python sont plus flexibles, mais moins efficaces pour les opérations numériques. De plus, les tableaux NumPy ne peuvent contenir qu'un seul type de données, tandis que les listes Python peuvent contenir des éléments de différents types. -
Comment puis-je changer la forme d'un tableau NumPy ?
Vous pouvez utiliser la méthodereshape()
. Par exemple,tableau.reshape((3, 4))
transformera un tableau de 12 éléments en un tableau 3x4. Assurez-vous que le nombre total d'éléments reste le même.