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 Generator cu 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 eroare ValueError.

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 singur float Python.

Întoarce:

fie un float Python, fie un numpy.ndarray de 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 asemenea None, se returnează un singur float Python.

  • out – un numpy.ndarray de 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 float Python, un nou numpy.ndarray sau 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 și out.shape nu 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 singur float Python extras din [0.0, 1.0) (limitele low/high sunt ignorate în cazul scalar).

Întoarce:

fie un float Python, fie un numpy.ndarray de 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ță ca random().