Exercice 32 / 100

Numpy - opérations

Multipliez chaque élément par 2, filtrez ceux > 10

Avec un array NumPy, on peut faire des opérations element-wise (chaque élément traité indépendamment) et du filtrage booléen ultra-rapide.

Opérations sur tout l'array

arr = np.array([3, 7, 2, 9, 5, 11, 4, 8])
arr * 2 → [ 6 14 4 18 10 22 8 16] arr + 10 → [13 17 12 19 15 21 14 18] arr ** 2 → [ 9 49 4 ...] np.sqrt(arr) → racine carrée de chaque élément arr1 + arr2 → addition element-wise (mêmes tailles requises)

Masques booléens : filtrer

Une comparaison sur un array renvoie un array de booléens (un par élément) :

arr = np.array([3, 7, 2, 9, 5]) arr > 5 → [False True False True False]

On peut utiliser ce masque pour sélectionner :

arr[arr > 5] → [7 9] (uniquement les éléments > 5)

Combiner plusieurs conditions avec & (et) | (ou) ~ (non) — pas and/or/not !

arr[(arr > 2) & (arr < 9)] → éléments entre 2 et 9 exclus arr[~(arr > 5)] → négation : ceux qui ne sont PAS > 5
Une comparaison sur un array rend un masque de booléens, et ce masque sert de tamis pour ne garder que les éléments qui passent

Les parenthèses sont obligatoires autour de chaque condition à cause de la priorité de & et |.

Exemple complet

arr = np.array([3, 7, 2, 9, 5, 11, 4, 8]) doubled = arr * 2 # [6, 14, 4, 18, 10, 22, 8, 16] grands = doubled[doubled > 10] # [14, 18, 22, 16] print(grands)

Le filtrage booléen est l'opération la plus puissante de NumPy : pas de boucle, pas d'index, juste une expression mathématique. On retrouve la même logique dans pandas (df[df['col'] > 5]).

exercise.py

Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →