numpy.random — Zufallszahlengenerierung

Das Submodul numpy.random stellt eine Generator-Klasse bereit, die Stichproben aus gängigen Wahrscheinlichkeitsverteilungen zieht. Der zugrunde liegende Algorithmus ist ein permutierter kongruenter Generator (PCG); Einzelheiten finden Sie unter https://www.pcg-random.org/.

Ein Generator ist ein zustandsbehaftetes Objekt: Jeder Aufruf einer seiner Stichprobenmethoden verändert den internen Zustand, sodass aufeinanderfolgende Aufrufe unabhängige Stichproben zurückgeben. Ausgabe-Arrays haben stets den dtype numpy.float.

Klassen

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

Erzeugt einen neuen Pseudozufallszahlengenerator.

Parameter:

seed – der Seed, der zur Initialisierung des Generatorzustands verwendet wird. Wird eine Ganzzahl angegeben, wird sie direkt verwendet. Wird ein Tupel von Ganzzahlen angegeben, wird statt einer einzelnen Instanz ein Tupel unabhängig geseedeter Generator-Objekte (eines pro Element) zurückgegeben. Wird None angegeben, wird ein plattformspezifischer Standard-Seed verwendet (sofern zur Build-Zeit konfiguriert); andernfalls wird ein ValueError ausgelöst.

Verursacht:
  • TypeError – wenn seed weder None, eine Ganzzahl noch ein Tupel von Ganzzahlen ist.

  • ValueError – wenn seed None ist und kein Standard-Seed konfiguriert ist.

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

Zieht Stichproben aus einer Normalverteilung (Gauß-Verteilung).

Parameter:
  • loc – der Mittelwert (das Zentrum) der Verteilung.

  • scale – die Standardabweichung (Breite) der Verteilung. Muss nicht-negativ sein.

  • size – die Form der Ausgabe. Bei einer Ganzzahl wird ein eindimensionales Array dieser Länge zurückgegeben. Bei einem Tupel wird ein Array dieser Form zurückgegeben. Bei None (Standardwert) wird ein einzelner Python-float zurückgegeben.

Rückgabe:

entweder ein Python-float oder ein float-numpy.ndarray der angeforderten Form.

Verursacht:
  • ValueError – wenn die angeforderte Form ULAB_MAX_DIMS überschreitet.

  • TypeError – wenn size weder None, eine Ganzzahl noch ein Tupel ist.

Die Stichproben werden mit der Box-Muller-Transformation erzeugt.

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

Zieht Stichproben aus der Gleichverteilung über dem halboffenen Intervall [0.0, 1.0).

Parameter:
  • size – die Form der Ausgabe. Bei einer Ganzzahl wird ein eindimensionales Array dieser Länge zurückgegeben. Bei einem Tupel wird ein Array dieser Form zurückgegeben. Wenn None (Standardwert) und out ebenfalls None ist, wird ein einzelner Python-float zurückgegeben.

  • out – ein optionales vorab allokiertes, dichtes float-numpy.ndarray, das die Stichproben aufnimmt. Wenn sowohl size als auch out angegeben werden, müssen ihre Formen übereinstimmen.

Rückgabe:

ein Python-float, ein neues numpy.ndarray oder out (mit Stichproben gefüllt), je nach Argumenten.

Verursacht:
  • TypeError – wenn size einen nicht unterstützten Typ hat, oder out kein ndarray ist, oder out nicht den dtype float hat.

  • ValueError – wenn die angeforderte Form ULAB_MAX_DIMS überschreitet, wenn size und out.shape nicht übereinstimmen, oder wenn out nicht zusammenhängend ist.

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

Zieht Stichproben aus der Gleichverteilung über dem halboffenen Intervall [low, high).

Parameter:
  • low – die untere Schranke (inklusive) der Verteilung.

  • high – die obere Schranke (exklusive) der Verteilung.

  • size – die Form der Ausgabe. Bei einem Tupel wird ein Array dieser Form zurückgegeben. Bei None (Standardwert) wird ein einzelner Python-float aus [0.0, 1.0) zurückgegeben (die Schranken low/high werden im skalaren Fall ignoriert).

Rückgabe:

entweder ein Python-float oder ein float-numpy.ndarray der angeforderten Form.

Verursacht:
  • ValueError – wenn die angeforderte Form ULAB_MAX_DIMS überschreitet.

  • TypeError – wenn size weder None noch ein Tupel ist.

Bei identischen Standardargumenten erzeugt uniform() dieselbe Folge wie random().