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. Als None wordt opgegeven, wordt een platform-standaard seed gebruikt (wanneer er één is geconfigureerd tijdens het bouwen); anders wordt een ValueError opgeworpen.

Veroorzaakt:
  • TypeError – als seed niet None, een geheel getal of een tuple van gehele getallen is.

  • ValueError – als seed None is 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 None is (de standaard), wordt een enkele Python float teruggegeven.

Geeft terug:

ofwel een Python float ofwel een float numpy.ndarray van de gevraagde vorm.

Veroorzaakt:
  • ValueError – als de gevraagde vorm ULAB_MAX_DIMS overschrijdt.

  • 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 None is (de standaard) en out ook None is, wordt een enkele Python float teruggegeven.

  • out – een optionele vooraf toegewezen, dichte, float numpy.ndarray om de monsters te ontvangen. Als zowel size als out worden opgegeven, moeten hun vormen overeenkomen.

Geeft terug:

een Python float, een nieuwe numpy.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 float heeft.

  • ValueError – als de gevraagde vorm ULAB_MAX_DIMS overschrijdt, als size en out.shape niet 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 None is (de standaard), wordt een enkele Python float getrokken uit [0.0, 1.0) teruggegeven (de grenzen low/high worden genegeerd in het scalaire geval).

Geeft terug:

ofwel een Python float ofwel een float numpy.ndarray van de gevraagde vorm.

Veroorzaakt:
  • ValueError – als de gevraagde vorm ULAB_MAX_DIMS overschrijdt.

  • TypeError – als size niet None of een tuple is.

Met identieke standaardargumenten produceert uniform() dezelfde reeks als random().