Exercice 52 / 100

NumPy — Opérations

Effectue des opérations arithmétiques element-wise sur des arrays

Les opérations arithmétiques sur les arrays sont element-wise : appliquées élément par élément, sans boucle.

Opérations entre arrays

Deux arrays DE même taille :

a = np.array([10, 20, 30, 40]) b = np.array([1, 2, 3, 4])
a + b → [11 22 33 44] a - b → [ 9 18 27 36] a * b → [10 40 90 160] a / b → [10. 10. 10. 10.] a ** 2 → [100 400 900 1600]

Tailles différentes → erreur (sauf cas du broadcasting, leçon 53).

La même addition, deux mécaniques : la boucle Python parcourt les éléments un par un, l'opération NumPy s'applique à tous les éléments d'un seul coup, sans boucle écrite

Opérations entre array et scalaire

a + 5 → ajoute 5 à chaque élément a * 2 → double chaque élément a > 15 → [False True True True] (comparaison element-wise)

Fonctions universelles (ufuncs)

Appliquent une fonction mathématique à chaque élément :

np.sqrt(a) racine carrée np.exp(a) exponentielle np.log(a) log naturel np.sin(a) / np.cos(a) np.abs(a) valeur absolue np.round(a, 2) arrondi à 2 décimales

Agrégations

np.sum(a) somme np.mean(a) moyenne np.max(a) max np.min(a) min np.median(a) np.std(a) écart-type np.var(a) variance np.cumsum(a) somme cumulée [10, 30, 60, 100]

Sur array 2D, on peut préciser l'axe :

axis=0 → agrège VERTICALEMENT (par colonne) axis=1 → agrège HORIZONTALEMENT (par ligne)
M = np.array([[1,2,3],[4,5,6]]) M.sum(axis=0) → [5 7 9] (somme de chaque colonne) M.sum(axis=1) → [6 15] (somme de chaque ligne)

Mémo axis : axis=0 = on aplatit l'axe 0 → on se retrouve avec un résultat sur axe 1. Pense "axe qui disparaît".

exercise.py

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