Wykorzystujemy moduł scipy.stats, podobnie jak w przypadku generowania z rozkładu jednorodnego (punkt c), tylko w miejsce „uniform” wpisujemy symbol odpowiedniego rozkładu. Wywołanie ma postać:
x = scipy.stats.SymbolRozkładu(ParametryRozkładu).rvs(size=IleLiczb)
Możemy zapisać generator jako osobną zmienną, np. do późniejszego wykorzystania:
generator = scipy.stats.SymbolRozkładu(ParametryRozkładu)
x = generator.rvs(size=IleLiczb)
Alternatywnie, parametry rozkładu możemy podać do funkcji rvs:
x = scipy.stats.SymbolRozkładu.rvs(ParametryRozkładu, size=IleLiczb)
Jeżeli pominiemy parametr „size”, otrzymamy pojedynczą wartość zamiast tablicy. Parametry rozkładu (kolejność jest tu istotna) są różne dla poszczególnych rozkładów, a jeśli ich nie podamy zostaną przyjęte parametry domyślne (np. \(\mu=0\) i \(\sigma=1\) dla rozkładu normalnego).
import scipy # wystarczy nawet import scipy.stats
# generujemy jedną liczbę o rozkładzie normalnym z mu=0 sigma=1
x = scipy.stats.norm.rvs()
# generujemy jedną liczbę o rozkładzie normalnym z mu=5 sigma=0.1
x = scipy.stats.norm(5,0.1).rvs()
# generujemy tablicę czterech liczb o rozkładzie t-Studenta z 9 stopniami swobody
x = scipy.stats.t(9).rvs(size=4)
# generujemy tablicę trzech liczb o rozkładzie dwumianowym przy 10 próbach i prawdopodobieństwie sukcesu 0.2
x = scipy.stats.binom(10,0.2).rvs(size=3)
autor: Piotr Różański, ostatnia modyfikacja: 10.04.2016