numpy — tableaux
numpy fournit des tableaux numériques rapides où chaque opération s'applique à tous les éléments à la fois. C'est le moteur de pandas et de scikit-learn, utile pour calculer sur des séries de nombres.
- numpy
- array
- vectorisation
- broadcasting
- axis
- masque
Syntaxe
import numpy as npa = np.array([...]) np.arange(debut, fin, pas) np.zeros((lignes, colonnes))a * 2 a[a > seuil] a.mean(axis=0) a.reshape(lignes, colonnes)Exemple
import numpy as np# Notes de 3 élèves (lignes) sur 4 devoirs (colonnes)notes = np.array([[12, 15, 9, 14], [8, 10, 11, 7], [17, 16, 18, 19]])print(notes.shape) # → (3, 4)print(notes.mean(axis=1)) # → [12.5 9. 17.5]print(notes.mean(axis=0).round(1)) # → [12.3 13.7 12.7 13.3]coefs = np.array([1, 1, 2, 2]) # forme (4,) diffusée sur chaque ligneprint(((notes * coefs).sum(axis=1) / coefs.sum()).round(2)) # → [12.17 9. 17.83]print((notes >= 10).sum()) # → 9print(notes[notes < 10]) # → [9 8 7]À retenir
- axis=0 agrège en descendant les lignes et donne un résultat par colonne ; axis=1 donne un résultat par ligne. Repère : l'axe indiqué est celui qui disparaît du résultat.
- Broadcasting : un tableau de forme (4,) s'aligne sur chaque ligne d'un tableau (3, 4), et un scalaire sur tous les éléments. Les dimensions sont comparées en partant de la droite et doivent être égales ou valoir 1.
- Piège : un tableau numpy n'a qu'un seul type. np.array([1, "2"]) devient un tableau de chaînes et les calculs échouent ; et un entier int64 peut déborder sans erreur, contrairement aux int Python.
- Les masques booléens filtrent sans boucle : a[(a > 10) & (a < 15)]. Utilisez & et | avec des parenthèses, jamais and et or.
- Piège : une tranche a[1:3] est une vue sur les mêmes données, pas une copie ; la modifier modifie le tableau d'origine. Utilisez a[1:3].copy() pour travailler à part.
Voir aussi
- pandas — DataFramepandas manipule des tableaux (DataFrame) dont chaque colonne est une Series, comme une table SQL en mémoire. Commencez toujours par charger les données, puis inspecter leur forme et leurs types.
- ListesUne liste est une suite ordonnée et modifiable de valeurs, indexée à partir de 0. C'est la structure de base pour stocker une série de notes, de ventes ou de lignes à traiter dans l'ordre.
- matplotlib — graphiquesmatplotlib trace des graphiques à partir de listes ou de colonnes pandas : une courbe pour une évolution, des barres pour comparer des catégories. Un titre et des axes nommés le rendent lisible.