Exercice 52 / 100

NumPy — Opérations

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

📖 Cours

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
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émenta * 2 → double chaque élémenta > 15 → [False True True True] (comparaison element-wise)

Fonctions universelles (ufuncs)

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

np.sqrt(a) racine carréenp.exp(a) exponentiellenp.log(a) log naturelnp.sin(a) / np.cos(a)np.abs(a) valeur absoluenp.round(a, 2) arrondi à 2 décimales

Agrégations

np.sum(a) sommenp.mean(a) moyennenp.max(a) maxnp.min(a) minnp.median(a)np.std(a) écart-typenp.var(a) variancenp.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".

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