Exercice 54 / 100

NumPy — Statistiques

ConsigneCalcule des statistiques descriptives avec NumPy

📖 Cours

NumPy regroupe toutes les statistiques descriptives utiles directement sur les arrays.

Central / dispersion

np.mean(a) moyennenp.median(a) médiane (valeur du milieu une fois trié ; si n est pair, moyenne des deux du milieu)np.std(a) écart-type (divise par n)np.std(a, ddof=1) écart-type d'échantillon (divise par n-1)np.var(a) variancenp.min(a) / np.max(a)np.ptp(a) étendue (peak-to-peak = max - min)

Percentiles et quartiles

np.percentile(a, 25) Q1 (1er quartile)np.percentile(a, 50) médiane (Q2)np.percentile(a, 75) Q3 (3ème quartile)np.percentile(a, [25, 50, 75]) les trois d'un coupnp.quantile(a, 0.95) 95e centile (notation 0-1)

iqr (interquartile range) = Q3 - Q1, utilisé pour la règle de détection d'outliers (en dehors de [Q1 - 1.5·iqr, Q3 + 1.5·iqr]).

Les quartiles coupent la série triée en quatre : un quart des notes est sous Q1, la moitié sous la médiane, et l'écart entre Q1 et Q3 est l'IQR, où se tient la moitié centrale
Les quartiles coupent la série triée en quatre : un quart des notes est sous Q1, la moitié sous la médiane, et l'écart entre Q1 et Q3 est l'IQR, où se tient la moitié centrale

Agrégations sur les axes

Sur une matrice (2D), spécifie axis :

M = np.array([[1,2,3],[4,5,6]])
M.mean() 4.0 (moyenne globale)M.mean(axis=0) [2.5 3.5 4.5] (moyenne par colonne)M.mean(axis=1) [2. 5.] (moyenne par ligne)

Exemple complet

notes = np.array([12, 15, 8, 17, 14, 9, 16, 11, 13, 18])
print('Moyenne:', np.mean(notes))print('Médiane:', np.median(notes))print('Écart-type:', np.std(notes))print('Min/Max:', np.min(notes), np.max(notes))print('Percentile 25:', np.percentile(notes, 25))print('Percentile 75:', np.percentile(notes, 75))

Pour des stats sur des données réelles (échantillon), utilise ddof=1. La différence est négligeable pour n grand, mais correcte conceptuellement.

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