numpy.random — Generarea numerelor aleatoare¶
Submodulul numpy.random oferă o clasă Generator care extrage eșantioane din distribuții de probabilitate comune. Algoritmul de bază este un generator permutat-congruențial (PCG); consultați https://www.pcg-random.org/ pentru detalii.
Un Generator este un obiect cu stare: fiecare apel către una dintre metodele sale de eșantionare avansează starea internă, astfel încât apelurile consecutive returnează eșantioane independente. Tablourile de ieșire sunt întotdeauna de dtype numpy.float.
Clase¶
- class numpy.random.Generator(seed: int | tuple[int, ...] | None = None)¶
Construiește un nou generator de numere pseudoaleatoare.
- Parametrii:
seed – sămânța folosită pentru inițializarea stării generatorului. Dacă se furnizează un întreg, acesta este folosit direct. Dacă se furnizează un tuplu de întregi, se returnează un tuplu de obiecte
Generatorcu semințe independente (câte unul per element) în loc de o singură instanță. Dacă se furnizeazăNone, se folosește o sămânță implicită pentru platformă (când una este configurată la momentul compilării); în caz contrar se generează o eroareValueError.- Generează:
TypeError – dacă seed nu este
None, un întreg sau un tuplu de întregi.ValueError – dacă seed este
Noneși nu este configurată nicio sămânță implicită.
- normal(loc: float = 0.0, scale: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray¶
Extrage eșantioane dintr-o distribuție normală (gaussiană).
- Parametrii:
loc – media (centrul) distribuției.
scale – deviația standard (lățimea) distribuției. Trebuie să fie nenegativă.
size – forma ieșirii. Dacă este un întreg, se returnează un tablou unidimensional de acea lungime. Dacă este un tuplu, se returnează un tablou de acea formă. Dacă este
None(valoarea implicită), se returnează un singurfloatPython.
- Întoarce:
fie un
floatPython, fie unnumpy.ndarrayde tip float de forma solicitată.- Generează:
ValueError – dacă forma solicitată depășește
ULAB_MAX_DIMS.TypeError – dacă size nu este nici
None, nici un întreg, nici un tuplu.
Eșantioanele sunt generate folosind transformata Box-Muller.
- random(size: int | tuple[int, ...] | None = None, *, out: ndarray | None = None) float | ndarray¶
Extrage eșantioane din distribuția uniformă pe intervalul semideschis
[0.0, 1.0).- Parametrii:
size – forma ieșirii. Dacă este un întreg, se returnează un tablou unidimensional de acea lungime. Dacă este un tuplu, se returnează un tablou de acea formă. Dacă este
None(valoarea implicită) iar out este de asemeneaNone, se returnează un singurfloatPython.out – un
numpy.ndarrayde tip float, dens, prealocat opțional, în care se primesc eșantioanele. Dacă se furnizează atât size cât și out, formele lor trebuie să coincidă.
- Întoarce:
un
floatPython, un nounumpy.ndarraysau out (umplut cu eșantioane), în funcție de argumente.- Generează:
TypeError – dacă size are un tip neacceptat, sau out nu este un ndarray, sau out nu este de dtype
float.ValueError – dacă forma solicitată depășește
ULAB_MAX_DIMS, dacă size șiout.shapenu coincid, sau dacă out nu este contiguu.
- uniform(low: float = 0.0, high: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray¶
Extrage eșantioane din distribuția uniformă pe intervalul semideschis
[low, high).- Parametrii:
low – limita inferioară (inclusivă) a distribuției.
high – limita superioară (exclusivă) a distribuției.
size – forma ieșirii. Dacă este un tuplu, se returnează un tablou de acea formă. Dacă este
None(valoarea implicită), se returnează un singurfloatPython extras din[0.0, 1.0)(limitele low/high sunt ignorate în cazul scalar).
- Întoarce:
fie un
floatPython, fie unnumpy.ndarrayde tip float de forma solicitată.- Generează:
ValueError – dacă forma solicitată depășește
ULAB_MAX_DIMS.TypeError – dacă size nu este nici
None, nici un tuplu.
Cu argumente implicite identice,
uniform()produce aceeași secvență carandom().