numpy.random — Generowanie liczb losowych¶
Podmoduł numpy.random udostępnia klasę Generator, która losuje próbki z typowych rozkładów prawdopodobieństwa. Bazowy algorytm to permutowany generator kongruencyjny (PCG); szczegóły można znaleźć pod adresem https://www.pcg-random.org/.
Generator to obiekt ze stanem: każde wywołanie jednej z jego metod próbkowania przesuwa stan wewnętrzny, dzięki czemu kolejne wywołania zwracają niezależne próbki. Tablice wyjściowe zawsze mają dtype numpy.float.
Klasy¶
- class numpy.random.Generator(seed: int | tuple[int, ...] | None = None)¶
Tworzy nowy generator liczb pseudolosowych.
- Parametry:
seed – ziarno używane do zainicjowania stanu generatora. Jeśli podana zostanie liczba całkowita, jest ona używana bezpośrednio. Jeśli podana zostanie krotka liczb całkowitych, zamiast pojedynczej instancji zwracana jest krotka niezależnie zaziarnionych obiektów
Generator(po jednym na element). Jeśli podanoNone, używane jest domyślne ziarno platformy (o ile zostało skonfigurowane podczas budowania); w przeciwnym razie zgłaszany jestValueError.- Wyrzuca:
TypeError – jeśli seed nie jest
None, liczbą całkowitą ani krotką liczb całkowitych.ValueError – jeśli seed ma wartość
None, a żadne domyślne ziarno nie jest skonfigurowane.
- normal(loc: float = 0.0, scale: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray¶
Losuje próbki z rozkładu normalnego (Gaussa).
- Parametry:
loc – średnia (środek) rozkładu.
scale – odchylenie standardowe (szerokość) rozkładu. Musi być nieujemne.
size – kształt wyniku. Jeśli liczba całkowita, zwracana jest jednowymiarowa tablica o tej długości. Jeśli krotka, zwracana jest tablica o tym kształcie. Jeśli
None(wartość domyślna), zwracany jest pojedynczyfloatPythona.
- Zwraca:
albo
floatPythona, albonumpy.ndarraytypu float o żądanym kształcie.- Wyrzuca:
ValueError – jeśli żądany kształt przekracza
ULAB_MAX_DIMS.TypeError – jeśli size nie jest ani
None, ani liczbą całkowitą, ani krotką.
Próbki są generowane przy użyciu transformacji Boxa-Mullera.
- random(size: int | tuple[int, ...] | None = None, *, out: ndarray | None = None) float | ndarray¶
Losuje próbki z rozkładu jednostajnego na przedziale półotwartym
[0.0, 1.0).- Parametry:
size – kształt wyniku. Jeśli liczba całkowita, zwracana jest jednowymiarowa tablica o tej długości. Jeśli krotka, zwracana jest tablica o tym kształcie. Jeśli
None(wartość domyślna), a out również ma wartośćNone, zwracany jest pojedynczyfloatPythona.out – opcjonalna, wstępnie zaalokowana, gęsta tablica
numpy.ndarraytypu float, do której mają zostać zapisane próbki. Jeśli podano zarówno size, jak i out, ich kształty muszą się zgadzać.
- Zwraca:
floatPythona, nowanumpy.ndarraylub out (wypełniony próbkami), w zależności od argumentów.- Wyrzuca:
TypeError – jeśli size ma nieobsługiwany typ, lub out nie jest tablicą ndarray, lub out nie ma dtype
float.ValueError – jeśli żądany kształt przekracza
ULAB_MAX_DIMS, jeśli size iout.shapesię nie zgadzają, lub jeśli out nie jest ciągły.
- uniform(low: float = 0.0, high: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray¶
Losuje próbki z rozkładu jednostajnego na przedziale półotwartym
[low, high).- Parametry:
low – dolna granica (włącznie) rozkładu.
high – górna granica (wyłącznie) rozkładu.
size – kształt wyniku. Jeśli krotka, zwracana jest tablica o tym kształcie. Jeśli
None(wartość domyślna), zwracany jest pojedynczyfloatPythona wylosowany z[0.0, 1.0)(granice low/high są ignorowane w przypadku skalarnym).
- Zwraca:
albo
floatPythona, albonumpy.ndarraytypu float o żądanym kształcie.- Wyrzuca:
ValueError – jeśli żądany kształt przekracza
ULAB_MAX_DIMS.TypeError – jeśli size nie jest ani
None, ani krotką.
Przy identycznych argumentach domyślnych
uniform()generuje tę samą sekwencję corandom().