Ce face random.gauss() și celelalte distribuții
gauss(mu, sigma) și normalvariate(mu, sigma) generează valori din distribuția normală (clopotul lui Gauss), cu media mu și abaterea standard sigma; gauss este puțin mai rapidă. lognormvariate dă o distribuție al cărei logaritm este normal.
Alte distribuții: triangular(low, high, mode) (valori mai dese în jurul lui mode), expovariate(lambd) (timpi de așteptare), betavariate, gammavariate, paretovariate (legea 80/20), weibullvariate (durate de viață), vonmisesvariate (unghiuri) și binomialvariate(n, p) (Python 3.12+: numărul de succese din n încercări cu probabilitatea p).
Parametri
| Parametru | Descriere |
|---|---|
mu, sigma, ... |
Parametrii distribuției alese. |
Ce returnează
Un float (binomialvariate: int).
Exemple
Exemplul 1: Înălțimi simulate
import random, statistics
random.seed(10)
inaltimi = [random.gauss(170, 8) for _ in range(10_000)]
print(round(statistics.mean(inaltimi), 1), round(statistics.stdev(inaltimi), 1))
print(round(random.normalvariate(170, 8), 1), round(random.lognormvariate(0, 0.5), 3))
Rezultat
169.9 8.0
162.0 0.55
Exemplul 2: Alte distribuții
import random
random.seed(3)
print(round(random.triangular(10, 50, 20), 2))
print(round(random.expovariate(1 / 5), 2))
print(round(random.betavariate(2, 5), 3), round(random.gammavariate(2, 1), 3))
print(round(random.paretovariate(3), 3), round(random.weibullvariate(1, 1.5), 3))
print(round(random.vonmisesvariate(0, 4), 3))
print(random.binomialvariate(n=10, p=0.5))
Rezultat
19.76
3.93
0.199 0.165
1.105 0.415
0.747
7
Greșeli frecvente
- Dai lui
expovariatemedia în loc de rată: pentru o medie de 5 minute, argumentul este1/5, nu 5.
Comenzi înrudite
statistics.NormalDist: Distribuția normală ca obiect: probabilități, percentile, scoruri z și eșantioane.random.random() și random.uniform(): Generează un număr zecimal aleator: între 0 și 1, sau între două valori date.statistics.mean(), fmean(), geometric_mean(), harmonic_mean(): Media aritmetică, geometrică și armonică a unei liste de numere.