numpy.random — Generování náhodných čísel¶
Podmodul numpy.random poskytuje třídu Generator, která vzorkuje z běžných pravděpodobnostních rozdělení. Použitým algoritmem je permutovaný kongruentní generátor (PCG); podrobnosti viz https://www.pcg-random.org/.
Generator je objekt se stavem: každé volání některé z jeho vzorkovacích metod posune vnitřní stav, takže po sobě jdoucí volání vracejí nezávislé vzorky. Výstupní pole jsou vždy dtype numpy.float.
Třídy¶
- class numpy.random.Generator(seed: int | tuple[int, ...] | None = None)¶
Vytvoří nový generátor pseudonáhodných čísel.
- Parametry:
seed – semínko (seed) použité k inicializaci stavu generátoru. Pokud je zadáno celé číslo, použije se přímo. Pokud je zadána n-tice celých čísel, vrátí se místo jediné instance n-tice nezávisle inicializovaných objektů
Generator(jeden na každý prvek). Pokud je zadánoNone, použije se výchozí semínko platformy (je-li nakonfigurováno v době sestavení); jinak je vyvolánValueError.- Vyvolá:
TypeError – pokud seed není
None, celé číslo ani n-tice celých čísel.ValueError – pokud je seed
Nonea žádné výchozí semínko není nakonfigurováno.
- normal(loc: float = 0.0, scale: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray¶
Vzorkuje z normálního (Gaussova) rozdělení.
- Parametry:
loc – střední hodnota (střed) rozdělení.
scale – směrodatná odchylka (šířka) rozdělení. Musí být nezáporná.
size – tvar výstupu. Pokud jde o celé číslo, vrátí se jednorozměrné pole dané délky. Pokud jde o n-tici, vrátí se pole daného tvaru. Pokud je
None(výchozí), vrátí se jediný Pythonfloat.
- Vrací:
buď Python
float, nebo floatnumpy.ndarraypožadovaného tvaru.- Vyvolá:
ValueError – pokud požadovaný tvar překračuje
ULAB_MAX_DIMS.TypeError – pokud size není ani
None, ani celé číslo, ani n-tice.
Vzorky se generují pomocí Box-Mullerovy transformace.
- random(size: int | tuple[int, ...] | None = None, *, out: ndarray | None = None) float | ndarray¶
Vzorkuje z rovnoměrného rozdělení na polouzavřeném intervalu
[0.0, 1.0).- Parametry:
size – tvar výstupu. Pokud jde o celé číslo, vrátí se jednorozměrné pole dané délky. Pokud jde o n-tici, vrátí se pole daného tvaru. Pokud je
None(výchozí) a out je rovněžNone, vrátí se jediný Pythonfloat.out – volitelné předem alokované, husté float
numpy.ndarraypro příjem vzorků. Pokud jsou zadány size i out, musí se jejich tvary shodovat.
- Vrací:
Python
float, novénumpy.ndarraynebo out (naplněné vzorky) v závislosti na argumentech.- Vyvolá:
TypeError – pokud má size nepodporovaný typ, nebo out není ndarray, nebo out nemá dtype
float.ValueError – pokud požadovaný tvar překračuje
ULAB_MAX_DIMS, pokud se size aout.shapeneshodují, nebo pokud out není souvislé.
- uniform(low: float = 0.0, high: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray¶
Vzorkuje z rovnoměrného rozdělení na polouzavřeném intervalu
[low, high).- Parametry:
low – dolní mez (včetně) rozdělení.
high – horní mez (vyjma) rozdělení.
size – tvar výstupu. Pokud jde o n-tici, vrátí se pole daného tvaru. Pokud je
None(výchozí), vrátí se jediný Pythonfloatvzorkovaný z[0.0, 1.0)(meze low/high se ve skalárním případě ignorují).
- Vrací:
buď Python
float, nebo floatnumpy.ndarraypožadovaného tvaru.- Vyvolá:
ValueError – pokud požadovaný tvar překračuje
ULAB_MAX_DIMS.TypeError – pokud size není ani
None, ani n-tice.
Se shodnými výchozími argumenty produkuje
uniform()stejnou posloupnost jakorandom().