numpy.random — Generering av slumptal

Undermodulen numpy.random tillhandahåller en Generator-klass som drar stickprov från vanliga sannolikhetsfördelningar. Den underliggande algoritmen är en permuterad kongruentiell generator (PCG); se https://www.pcg-random.org/ för detaljer.

En Generator är ett tillståndsbärande objekt: varje anrop till en av dess stickprovsmetoder för fram det interna tillståndet, så att på varandra följande anrop returnerar oberoende stickprov. Utmatningsmatriser är alltid av dtype numpy.float.

Klasser

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

Konstruerar en ny pseudoslumptalsgenerator.

Parametrar:

seed – fröet som används för att initiera generatorns tillstånd. Om ett heltal anges används det direkt. Om en tupel av heltal anges returneras en tupel av oberoende fröställda Generator-objekt (ett per element) i stället för en enda instans. Om None anges används ett plattformsstandardfrö (när ett sådant är konfigurerat vid byggtillfället); annars uppstår ett ValueError.

Höjer:
  • TypeError – om seed inte är None, ett heltal eller en tupel av heltal.

  • ValueError – om seed är None och inget standardfrö är konfigurerat.

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

Drar stickprov från en normalfördelning (Gauss).

Parametrar:
  • loc – fördelningens medelvärde (mittpunkt).

  • scale – fördelningens standardavvikelse (bredd). Måste vara icke-negativ.

  • size – utmatningens form. Om ett heltal returneras en endimensionell matris av den längden. Om en tupel returneras en matris av den formen. Om None (standardvärdet) returneras en enstaka Python-float.

Returer:

antingen en Python-float eller en numpy.ndarray av float med den begärda formen.

Höjer:
  • ValueError – om den begärda formen överstiger ULAB_MAX_DIMS.

  • TypeError – om size varken är None, ett heltal eller en tupel.

Stickprov genereras med Box-Muller-transformen.

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

Drar stickprov från likformig fördelning över det halvöppna intervallet [0.0, 1.0).

Parametrar:
  • size – utmatningens form. Om ett heltal returneras en endimensionell matris av den längden. Om en tupel returneras en matris av den formen. Om None (standardvärdet) och out också är None returneras en enstaka Python-float.

  • out – en valfri förallokerad, tät numpy.ndarray av float att ta emot stickproven. Om både size och out anges måste deras former stämma överens.

Returer:

en Python-float, en ny numpy.ndarray eller out (fylld med stickprov) beroende på argumenten.

Höjer:
  • TypeError – om size har en typ som inte stöds, eller out inte är en ndarray, eller out inte är av dtype float.

  • ValueError – om den begärda formen överstiger ULAB_MAX_DIMS, om size och out.shape inte stämmer överens, eller om out inte är sammanhängande.

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

Drar stickprov från likformig fördelning över det halvöppna intervallet [low, high).

Parametrar:
  • low – fördelningens nedre gräns (inklusive).

  • high – fördelningens övre gräns (exklusive).

  • size – utmatningens form. Om en tupel returneras en matris av den formen. Om None (standardvärdet) returneras en enstaka Python-float dragen från [0.0, 1.0) (gränserna low/high ignoreras i skalärfallet).

Returer:

antingen en Python-float eller en numpy.ndarray av float med den begärda formen.

Höjer:
  • ValueError – om den begärda formen överstiger ULAB_MAX_DIMS.

  • TypeError – om size varken är None eller en tupel.

Med identiska standardargument producerar uniform() samma sekvens som random().