numpy.random — Generación de números aleatorios

El submódulo numpy.random proporciona una clase Generator que extrae muestras de distribuciones de probabilidad comunes. El algoritmo subyacente es un generador congruencial permutado (PCG); consulte https://www.pcg-random.org/ para más detalles.

Un Generator es un objeto con estado: cada llamada a uno de sus métodos de muestreo avanza el estado interno, de modo que las llamadas consecutivas devuelven muestras independientes. Las matrices de salida son siempre de dtype numpy.float.

Clases

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

Construye un nuevo generador de números pseudoaleatorios.

Parámetros:

seed – la semilla utilizada para inicializar el estado del generador. Si se proporciona un entero, se utiliza directamente. Si se proporciona una tupla de enteros, se devuelve una tupla de objetos Generator sembrados de forma independiente (uno por elemento) en lugar de una única instancia. Si se proporciona None, se utiliza una semilla predeterminada de la plataforma (cuando hay una configurada en tiempo de compilación); de lo contrario, se lanza un ValueError.

Muestra:
  • TypeError – si seed no es None, un entero ni una tupla de enteros.

  • ValueError – si seed es None y no hay ninguna semilla predeterminada configurada.

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

Extrae muestras de una distribución normal (gaussiana).

Parámetros:
  • loc – la media (centro) de la distribución.

  • scale – la desviación estándar (anchura) de la distribución. Debe ser no negativa.

  • size – la forma de la salida. Si es un entero, se devuelve una matriz unidimensional de esa longitud. Si es una tupla, se devuelve una matriz de esa forma. Si es None (el valor predeterminado), se devuelve un único float de Python.

Devuelve:

un float de Python o un numpy.ndarray de float con la forma solicitada.

Muestra:
  • ValueError – si la forma solicitada excede ULAB_MAX_DIMS.

  • TypeError – si size no es None, ni un entero, ni una tupla.

Las muestras se generan utilizando la transformación de Box-Muller.

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

Extrae muestras de la distribución uniforme sobre el intervalo semiabierto [0.0, 1.0).

Parámetros:
  • size – la forma de la salida. Si es un entero, se devuelve una matriz unidimensional de esa longitud. Si es una tupla, se devuelve una matriz de esa forma. Si es None (el valor predeterminado) y out también es None, se devuelve un único float de Python.

  • out – un numpy.ndarray de float, denso, preasignado y opcional para recibir las muestras. Si se proporcionan tanto size como out, sus formas deben coincidir.

Devuelve:

un float de Python, un nuevo numpy.ndarray, o out (rellenado con muestras) según los argumentos.

Muestra:
  • TypeError – si size tiene un tipo no admitido, o out no es un ndarray, o out no es de dtype float.

  • ValueError – si la forma solicitada excede ULAB_MAX_DIMS, si size y out.shape no coinciden, o si out no es contiguo.

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

Extrae muestras de la distribución uniforme sobre el intervalo semiabierto [low, high).

Parámetros:
  • low – el límite inferior (inclusivo) de la distribución.

  • high – el límite superior (exclusivo) de la distribución.

  • size – la forma de la salida. Si es una tupla, se devuelve una matriz de esa forma. Si es None (el valor predeterminado), se devuelve un único float de Python extraído de [0.0, 1.0) (los límites low/high se ignoran en el caso escalar).

Devuelve:

un float de Python o un numpy.ndarray de float con la forma solicitada.

Muestra:
  • ValueError – si la forma solicitada excede ULAB_MAX_DIMS.

  • TypeError – si size no es None ni una tupla.

Con argumentos predeterminados idénticos, uniform() produce la misma secuencia que random().