numpy.random — Generiranje slučajnih brojeva

Podmodul numpy.random pruža klasu Generator koja uzorkuje iz uobičajenih distribucija vjerojatnosti. Temeljni algoritam je permutirani kongruencijski generator (PCG); pojedinosti potražite na https://www.pcg-random.org/ .

Generator je objekt sa stanjem: svaki poziv jedne od njegovih metoda za uzorkovanje pomiče interno stanje, tako da uzastopni pozivi vraćaju neovisne uzorke. Izlazna polja uvijek su dtypea numpy.float.

Klase

class numpy.random.Generator(seed: int | tuple[int, ...] | None = None)

Konstruira novi generator pseudoslučajnih brojeva.

Parametri:

seed – sjeme koje se koristi za inicijalizaciju stanja generatora. Ako je dostavljen cijeli broj, on se koristi izravno. Ako je dostavljena n-torka cijelih brojeva, vraća se n-torka neovisno zasijanih objekata Generator (jedan po elementu) umjesto jedne instance. Ako je dostavljen None, koristi se zadano sjeme platforme (kada je takvo konfigurirano pri izgradnji); u protivnom se podiže ValueError.

Podiže:
  • TypeError – ako seed nije None, cijeli broj ili n-torka cijelih brojeva.

  • ValueError – ako je seed None, a nije konfigurirano zadano sjeme.

normal(loc: float = 0.0, scale: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray

Uzorkuje iz normalne (Gaussove) distribucije.

Parametri:
  • loc – srednja vrijednost (središte) distribucije.

  • scale – standardna devijacija (širina) distribucije. Mora biti nenegativna.

  • size – oblik izlaza. Ako je cijeli broj, vraća se jednodimenzionalno polje te duljine. Ako je n-torka, vraća se polje tog oblika. Ako je None (zadano), vraća se jedan Python float.

Vraća:

ili Python float ili float numpy.ndarray traženog oblika.

Podiže:
  • ValueError – ako traženi oblik premašuje ULAB_MAX_DIMS.

  • TypeError – ako size nije ni None, ni cijeli broj, ni n-torka.

Uzorci se generiraju pomoću Box-Mullerove transformacije.

random(size: int | tuple[int, ...] | None = None, *, out: ndarray | None = None) float | ndarray

Uzorkuje iz uniformne distribucije na poluotvorenom intervalu [0.0, 1.0).

Parametri:
  • size – oblik izlaza. Ako je cijeli broj, vraća se jednodimenzionalno polje te duljine. Ako je n-torka, vraća se polje tog oblika. Ako je None (zadano), a i out je None, vraća se jedan Python float.

  • out – neobavezno unaprijed alocirano, gusto, float numpy.ndarray polje za primanje uzoraka. Ako su dostavljeni i size i out, njihovi se oblici moraju podudarati.

Vraća:

Python float, novo numpy.ndarray ili out (popunjeno uzorcima), ovisno o argumentima.

Podiže:
  • TypeError – ako size ima nepodržan tip, ili out nije ndarray, ili out nije dtypea float.

  • ValueError – ako traženi oblik premašuje ULAB_MAX_DIMS, ako se size i out.shape ne podudaraju, ili ako out nije neprekinut u memoriji.

uniform(low: float = 0.0, high: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray

Uzorkuje iz uniformne distribucije na poluotvorenom intervalu [low, high).

Parametri:
  • low – donja granica (uključiva) distribucije.

  • high – gornja granica (isključiva) distribucije.

  • size – oblik izlaza. Ako je n-torka, vraća se polje tog oblika. Ako je None (zadano), vraća se jedan Python float izvučen iz [0.0, 1.0) (granice low/high zanemaruju se u skalarnom slučaju).

Vraća:

ili Python float ili float numpy.ndarray traženog oblika.

Podiže:
  • ValueError – ako traženi oblik premašuje ULAB_MAX_DIMS.

  • TypeError – ako size nije ni None ni n-torka.

S identičnim zadanim argumentima, uniform() proizvodi isti niz kao random().