Une distribution de probabilité décrit comment se répartissent les valeurs d'une variable aléatoire. scipy.stats fournit toutes les lois usuelles avec une api uniforme.
Import
from scipy import statsContinues
stats.norm(loc=μ, scale=σ) normale (gaussienne)
stats.uniform(loc=a, scale=b-a) uniforme sur [a, b]
stats.expon(scale=1/λ) exponentielle
stats.t(df=n) Student tDiscrètes
stats.binom(n=N, p=p) binomiale
stats.poisson(mu=λ) PoissonSoit X ~ D
D.pdf(x) densité de probabilité (PDF)
pour les CONTINUES seulement (binomiale → pmf)
D.pmf(x) probability mass : P(X = x) (pour DISCRÈTES)
D.cdf(x) fonction de répartition : P(X ≤ x)
D.ppf(q) quantile : la valeur x telle que P(X ≤ x) = q (= percentile)
D.rvs(size=n) tire n échantillons aléatoires
D.mean() / D.var() / D.std()QI : moyenne 100, écart-type 15.
norm = stats.norm(loc=100, scale=15)norm.cdf(115) # P(X < 115) ≈ 0.841 (84%)
1 - norm.cdf(130) # P(X > 130) ≈ 0.023 (2%)
norm.ppf(0.9) # 90e percentile ≈ 119.2
norm.rvs(size=1000) # simuler 1000 QILancer 10 fois une pièce truquée (p=0.3 face).
binom = stats.binom(n=10, p=0.3)binom.pmf(3) # P(exactement 3 faces) ≈ 0.267
binom.cdf(3) # P(≤ 3 faces) ≈ 0.650
binom.mean() # 3.0Mnemonic : cdf et ppf sont inverses l'un de l'autre. cdf(x) → q, ppf(q) → x.
Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →