Exercice 54 / 100

NumPy — Statistiques

Calcule des statistiques descriptives avec NumPy

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

Central / dispersion

np.mean(a) moyenne np.median(a) médiane (valeur du milieu une fois trié) np.std(a) écart-type (divise par n) np.std(a, ddof=1) écart-type d'échantillon (divise par n-1) np.var(a) variance np.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 coup np.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

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.

exercise.py

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