numpy.random — Generatie van willekeurige getallen¶
De submodule numpy.random biedt een Generator-klasse die monsters trekt uit veelvoorkomende kansverdelingen. Het onderliggende algoritme is een permuted-congruential generator (PCG); zie https://www.pcg-random.org/ voor details.
Een Generator is een object met toestand: elke aanroep van een van zijn bemonsteringsmethoden brengt de interne toestand vooruit, zodat opeenvolgende aanroepen onafhankelijke monsters teruggeven. Uitvoerarrays hebben altijd het dtype numpy.float.
Klassen¶
- class numpy.random.Generator(seed: int | tuple[int, ...] | None = None)¶
Construeer een nieuwe pseudo-willekeurige getallengenerator.
- Parameters:
seed – de seed die wordt gebruikt om de generatortoestand te initialiseren. Als er een geheel getal wordt opgegeven, wordt dit direct gebruikt. Als er een tuple van gehele getallen wordt opgegeven, wordt er een tuple van onafhankelijk geseede
Generator-objecten (één per element) teruggegeven in plaats van één enkele instantie. AlsNonewordt opgegeven, wordt een platform-standaard seed gebruikt (wanneer er één is geconfigureerd tijdens het bouwen); anders wordt eenValueErroropgeworpen.- Veroorzaakt:
TypeError – als seed niet
None, een geheel getal of een tuple van gehele getallen is.ValueError – als seed
Noneis en er geen standaard seed is geconfigureerd.
- normal(loc: float = 0.0, scale: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray¶
Trek monsters uit een normale (Gaussische) verdeling.
- Parameters:
loc – het gemiddelde (centrum) van de verdeling.
scale – de standaarddeviatie (breedte) van de verdeling. Moet niet-negatief zijn.
size – de vorm van de uitvoer. Als het een geheel getal is, wordt een eendimensionaal array van die lengte teruggegeven. Als het een tuple is, wordt een array van die vorm teruggegeven. Als het
Noneis (de standaard), wordt een enkele Pythonfloatteruggegeven.
- Geeft terug:
ofwel een Python
floatofwel een floatnumpy.ndarrayvan de gevraagde vorm.- Veroorzaakt:
ValueError – als de gevraagde vorm
ULAB_MAX_DIMSoverschrijdt.TypeError – als size niet
None, een geheel getal of een tuple is.
Monsters worden gegenereerd met de Box-Muller-transformatie.
- random(size: int | tuple[int, ...] | None = None, *, out: ndarray | None = None) float | ndarray¶
Trek monsters uit de uniforme verdeling over het half-open interval
[0.0, 1.0).- Parameters:
size – de vorm van de uitvoer. Als het een geheel getal is, wordt een eendimensionaal array van die lengte teruggegeven. Als het een tuple is, wordt een array van die vorm teruggegeven. Als het
Noneis (de standaard) en out ookNoneis, wordt een enkele Pythonfloatteruggegeven.out – een optionele vooraf toegewezen, dichte, float
numpy.ndarrayom de monsters te ontvangen. Als zowel size als out worden opgegeven, moeten hun vormen overeenkomen.
- Geeft terug:
een Python
float, een nieuwenumpy.ndarray, of out (gevuld met monsters), afhankelijk van de argumenten.- Veroorzaakt:
TypeError – als size een niet-ondersteund type heeft, of out geen ndarray is, of out niet het dtype
floatheeft.ValueError – als de gevraagde vorm
ULAB_MAX_DIMSoverschrijdt, als size enout.shapeniet overeenkomen, of als out niet aaneengesloten is.
- uniform(low: float = 0.0, high: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray¶
Trek monsters uit de uniforme verdeling over het half-open interval
[low, high).- Parameters:
low – de ondergrens (inclusief) van de verdeling.
high – de bovengrens (exclusief) van de verdeling.
size – de vorm van de uitvoer. Als het een tuple is, wordt een array van die vorm teruggegeven. Als het
Noneis (de standaard), wordt een enkele Pythonfloatgetrokken uit[0.0, 1.0)teruggegeven (de grenzen low/high worden genegeerd in het scalaire geval).
- Geeft terug:
ofwel een Python
floatofwel een floatnumpy.ndarrayvan de gevraagde vorm.- Veroorzaakt:
ValueError – als de gevraagde vorm
ULAB_MAX_DIMSoverschrijdt.TypeError – als size niet
Noneof een tuple is.
Met identieke standaardargumenten produceert
uniform()dezelfde reeks alsrandom().