Exercice 39 / 100

Statistiques descriptives

ConsigneCalculez mean, median, std, min, max d'une série de données

📖 Cours

Les statistiques descriptives résument les caractéristiques principales d'un ensemble de données. NumPy fournit les fonctions de base.

Indicateurs de tendance centrale

np.mean(data) → moyenne arithmétique (sensible aux outliers)np.median(data) → médiane (valeur du milieu une fois trié)

Si tes données contiennent des valeurs extrêmes (un milliardaire dans des salaires), préfère la médiane.

Sur cinq salaires de 25, 28, 30, 32 et 95 milliers d'euros, la médiane vaut 30 et la moyenne 42 : le salaire extrême tire la moyenne vers le haut, la médiane ne bouge pas
Sur cinq salaires de 25, 28, 30, 32 et 95 milliers d'euros, la médiane vaut 30 et la moyenne 42 : le salaire extrême tire la moyenne vers le haut, la médiane ne bouge pas

Indicateurs de dispersion

np.std(data) → écart-type (racine de la variance)np.var(data) → variancenp.min(data) / np.max(data)np.ptp(data) → étendue (max - min)np.percentile(data, 25) → premier quartilenp.percentile(data, 75) → troisième quartilenp.percentile(data, [25, 50, 75]) → les trois d'un coup

iqr (interquartile range) = Q3 - Q1, utilisé pour détecter les outliers.

Formatage avec f-strings

f'{valeur:.2f}' → 2 décimales (3.14159 → '3.14')f'{valeur:.0%}' → pourcentage entier (0.87 → '87%')f'{valeur:,.0f}' → séparateur de milliers (1234567 → '1,234,567')f'{valeur:>10}' → aligné à droite sur 10 caractères

Exemple complet

import numpy as npdata = [23, 45, 12, 67, 34, 89, 11, 56, 43, 78]
print(f'Moyenne: {np.mean(data):.2f}')print(f'Médiane: {np.median(data):.2f}')print(f'Écart-type: {np.std(data):.2f}')print(f'Min: {min(data)}, Max: {max(data)}')

NumPy a deux conventions pour l'écart-type :

np.std(data) divise par n (population)

np.std(data, ddof=1) divise par n-1 (échantillon — recommandé pour des données expérimentales)

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