html
Introduction à NumPy : Fondement du calcul scientifique en Python
NumPy est une bibliothèque Python fondamentale pour le calcul scientifique. Elle offre un support puissant pour les tableaux multidimensionnels et les matrices, ainsi qu'un large éventail de fonctions pour les manipuler. NumPy est un outil indispensable pour les analystes de données, les spécialistes de l'apprentissage automatique et les chercheurs scientifiques.
NumPy permet de traiter efficacement de grands volumes de données et d'effectuer des opérations mathématiques, en remplaçant les boucles par un code compact et vectorisé. La bibliothèque inclut des fonctions intégrées pour l'algèbre linéaire et les statistiques.
Installation et importation de la bibliothèque NumPy
Pour commencer à travailler avec NumPy, vous devez l'installer et l'importer dans votre projet.
Installation de NumPy
L'installation de la bibliothèque s'effectue à l'aide de
Traitement des valeurs manquantes (NaN)
Pour travailler avec des valeurs manquantes, NumPy utilise np.nan.
arr = np.array([1, 2, np.nan, 4, 5])
print(np.isnan(arr)) # [False False True False False]
Pour le traitement des NaN, on utilise des fonctions spéciales telles que nanmean(), nanstd(), nansum(), qui ignorent les valeurs manquantes.
Performance de NumPy contre Python pur
NumPy est écrit en C et fonctionne considérablement plus rapidement que Python pur, en particulier lors de l'exécution d'opérations sur de grands tableaux. Cela est dû à une vectorisation et une optimisation efficaces.
import time
import numpy as np
size = 100000
# Python list
lista = list(range(size))
listb = list(range(size))
starttime = time.time()
resultpython = [a + b for a, b in zip(lista, listb)]
pythontime = time.time() - starttime
# NumPy array
anp = np.arange(size)
bnp = np.arange(size)
starttime = time.time()
resultnumpy = anp + bnp
numpytime = time.time() - starttime
print(f"Python time: {pythontime:.4f} seconds")
print(f"NumPy time: {numpytime:.4f} seconds")
La différence de performance peut atteindre des dizaines et des centaines de fois sur de grands volumes de données.
Cas d'usage réels de NumPy
NumPy est utilisé dans divers domaines :
- Sciences : traitement de données expérimentales
- Finance : analyse de séries temporelles
- Apprentissage automatique : préparation et normalisation des données, modélisation
- Infographie : travail avec des images
- Éducation : visualisation de fonctions mathématiques et d'algorithmes
Foire aux questions (FAQ)
En quoi un tableau NumPy diffère-t-il d'une liste Python ?
Un tableau NumPy est une structure de données qui stocke des nombres sous forme de tableaux (tenseurs), a un type de données fixe et prend en charge les opérations vectorisées. Une liste Python est plus flexible, mais moins efficace pour les calculs numériques.
Comment créer une matrice nulle de taille 3x3 ?
matrix = np.zeros((3, 3))
Comment transposer une matrice ?
transposedmatrix = matrix.T
Comment multiplier des matrices ?
result = matrix1 @ matrix2
Comment trouver la matrice inverse ?
inversedmatrix = np.linalg.inv(matrix)
Catégories principales de fonctions NumPy
NumPy fournit un large ensemble de fonctions pour diverses tâches :
- Création de tableaux : NumPy propose de nombreuses fonctions pour créer et initialiser des tableaux avec différentes valeurs initiales (zéros, uns, nombres aléatoires, etc.).
- Opérations mathématiques : La bibliothèque prend en charge de nombreuses opérations mathématiques sur les tableaux, y compris les opérations arithmétiques, les fonctions statistiques et les fonctions d'algèbre linéaire.
- Fonctions d'algèbre linéaire : NumPy fournit des fonctions pour effectuer des opérations d'algèbre linéaire, telles que la multiplication de matrices, le calcul de valeurs propres, etc.
- Fonctions trigonométriques et logarithmiques : La bibliothèque propose des fonc
Aussi dans la bibliothèque
Validation des données en Swift (iOS/macOS) : meilleures pratiques et outils
Générateur de QR codes en Java : bibliothèque ZXing (Zebra Crossing)
Traitement et analyse Markdown en PHP : bibliothèques et outils
Client HTTP pour Go (Golang) : top bibliothèques pour travailler avec HTTP
nock pour TypeScript : guide complet avec exemples