🔢 NumPy
NumPy est une bibliothèque Python conçue pour effectuer des calculs sur des tableaux entiers en une seule instruction, sans boucle, avec une vitesse bien supérieure!. Elle est la base de bibliothèques comme Pandas et Scikit-learn.
- Tableaux
- Calcul vectorisé
- Bornes et correction
- Filtres et masques
- Restructurer sauvegarder
- NumPy et Matplotlib
| Opération | Syntaxe | Description |
|---|---|---|
| Importer NumPy | import numpy as np | Convention universelle |
| Depuis une liste | tab_numpy = np.array([1, 2, 3]) | Convertit une liste en tableau |
| Tableau de zéros | tab_numpy = np.zeros(5) | Tableau de 5 zéros (float64) |
| Tableau de uns | tab_numpy = np.ones(5) | Tableau de 5 uns (float64) |
| Tableau avec valeur fixe | tab_numpy = np.full(5, 9) | Tableau de 5 neufs |
| Séquence entière | tab_numpy = np.arange(0, 10, 2) | [0 2 4 6 8] comme range() |
| Séquence espacée | tab_numpy = np.linspace(0, 1, 5) | 5 valeurs entre 0 et 1 (inclus) |
| Forme du tableau | forme = tab_numpy.shape | Retourne (lignes, colonnes) |
| Type des données | type_donnees = tab_numpy.dtype | Ex : float64, int64, bool |
| Nombre d'éléments | nb_elements = tab_numpy.size | Nombre total d'éléments |
| Accès par indice | element = tab_numpy[2] | 3e élément (indice commence à 0) |
| Sous-tableau | sous_tab = tab_numpy[1:4] | Éléments d'indices 1, 2, 3 |
| Opération | Syntaxe | Description |
|---|---|---|
| Importer NumPy | import numpy as np | Convention universelle |
| Addition | tab_resultat = tab_numpy + 5 | Ajoute 5 à chaque élément |
| Multiplication | tab_resultat = tab_numpy * 2 | Multiplie chaque élément par 2 |
| Puissance | tab_resultat = tab_numpy ** 2 | Met chaque élément au carré |
| Addition élément par élément | tab_resultat = tab_a + tab_b | Additionne deux tableaux de même taille |
| Sinus | tab_resultat = np.sin(tab_numpy) | Calcule sin() sur chaque élément |
| Cosinus | tab_resultat = np.cos(tab_numpy) | Calcule cos() sur chaque élément |
| Racine carrée | tab_resultat = np.sqrt(tab_numpy) | Racine carrée de chaque élément |
| Valeur absolue | tab_resultat = np.abs(tab_numpy) | Valeur absolue de chaque élément |
| Exponentielle | tab_resultat = np.exp(tab_numpy) | e^x pour chaque élément |
| Arrondi inférieur | tab_resultat = np.floor(tab_numpy) | Arrondi vers le bas (ex. -3.7 devient -4) |
| Arrondi supérieur | tab_resultat = np.ceil(tab_numpy) | Arrondi vers le haut (ex. -3.7 devient -3) |
| Somme | total = np.sum(tab_numpy) | Somme de tous les éléments |
| Moyenne | moyenne = np.mean(tab_numpy) | Moyenne de tous les éléments |
| Minimum | minimum = np.min(tab_numpy) | Valeur minimale |
| Maximum | maximum = np.max(tab_numpy) | Valeur maximale |
| Écart-type | ecart = np.std(tab_numpy) | Mesure la dispersion (écart-type) |
| Indice du maximum | indice = np.argmax(tab_numpy) | Indice de la valeur la plus grande |
| Indice du minimum | indice = np.argmin(tab_numpy) | Indice de la valeur la plus petite |
| Opération | Syntaxe | Description |
|---|---|---|
| Importer NumPy | import numpy as np | Convention universelle |
| Limiter entre un min et un max | tab_resultat = np.clip(tab_numpy, 0, 1) | Chaque valeur est ramenée entre 0 et 1 |
| Appliquer un minimum | tab_resultat = np.maximum(tab_numpy, 0) | Remplace les valeurs plus petites que 0 par 0 |
| Appliquer un maximum | tab_resultat = np.minimum(tab_numpy, 100) | Remplace les valeurs plus grandes que 100 par 100 |
| Maximum entre deux tableaux | tab_resultat = np.maximum(tab_a, tab_b) | Élément par élément, prend le plus grand |
| Minimum entre deux tableaux | tab_resultat = np.minimum(tab_a, tab_b) | Élément par élément, prend le plus petit |
| Opération | Syntaxe | Description |
|---|---|---|
| Importer NumPy | import numpy as np | Convention universelle |
| Créer un masque | masque = tab_numpy > 0 | Tableau de booléens selon la condition |
| Filtrer avec un masque | tab_resultat = tab_numpy[masque] | Garde seulement les éléments qui satisfont |
| Filtrer directement | tab_resultat = tab_numpy[tab_numpy > 0] | Raccourci : filtre en une seule ligne |
| Filtre ET | tab_resultat = tab_numpy[(tab_numpy > 0) & (tab_numpy < 10)] | Les deux conditions doivent être vraies |
| Filtre OU | tab_resultat = tab_numpy[(tab_numpy < 0) | (tab_numpy > 10)] | Au moins une condition vraie |
| Remplacer selon condition | tab_resultat = np.where(tab_numpy < 0, 0, tab_numpy) | Si condition : met 0, sinon garde la valeur |
| Au moins un True | resultat = np.any(tab_numpy < 0) | True si au moins un élément satisfait |
| Tous True | resultat = np.all(tab_numpy > 0) | True si tous les éléments satisfont |
| Opération | Syntaxe | Description |
|---|---|---|
| Importer NumPy | import numpy as np | Convention universelle |
| Changer la forme | tab_resultat = tab_numpy.reshape(3, 4) | Réorganise en 3 lignes x 4 colonnes |
| Combiner des tableaux | tab_resultat = np.concatenate([tab_a, tab_b]) | Met tab_a et tab_b bout à bout |
| Entiers aléatoires | tab_resultat = np.random.randint(0, 10, 5) | 5 entiers aléatoires entre 0 et 9 |
| Décimaux aléatoires | tab_resultat = np.random.uniform(0, 1, 5) | 5 décimaux aléatoires entre 0 et 1 (1 exclus) |
| Sauvegarder | np.save('données.npy', tab_numpy) | Sauvegarde le tableau dans un fichier .npy |
| Charger | tab_numpy = np.load('données.npy') | Recharge le tableau depuis un fichier .npy |
| Opération | Syntaxe | Description |
|---|---|---|
| Importer NumPy | import numpy as np | Convention universelle |
| Importer Matplotlib | import matplotlib.pyplot as plt | Convention universelle |
| Générer des x | x = np.linspace(0, 10, 100) | 100 points entre 0 et 10 |
| Fonction mathématique | y = np.sin(x) | Calcule y pour chaque x |
| Fonction algébrique | y = 2 * x + 3 | Opérateurs vectorisés pour y = 2x + 3 |
| Axes à la même échelle | plt.axis("equal") | Même échelle sur x et y (cercle bien rond, pas une ellipse) |
Documentation complète : https://numpy.org/doc/stable/