numpy.random — Geração de números aleatórios¶
O submódulo numpy.random fornece uma classe Generator que extrai amostras de distribuições de probabilidade comuns. O algoritmo subjacente é um gerador congruencial permutado (PCG); consulte https://www.pcg-random.org/ para mais detalhes.
Um Generator é um objeto com estado: cada chamada a um de seus métodos de amostragem avança o estado interno, de modo que chamadas consecutivas retornam amostras independentes. Os arrays de saída são sempre do dtype numpy.float.
Classes¶
- class numpy.random.Generator(seed: int | tuple[int, ...] | None = None)¶
Constrói um novo gerador de números pseudoaleatórios.
- Parâmetros:
seed – a semente usada para inicializar o estado do gerador. Se um inteiro for fornecido, ele é usado diretamente. Se uma tupla de inteiros for fornecida, uma tupla de objetos
Generatorsemeados de forma independente (um por elemento) é retornada em vez de uma única instância. SeNonefor fornecido, uma semente padrão da plataforma é usada (quando há uma configurada em tempo de compilação); caso contrário, umValueErroré levantado.- Levanta:
TypeError – se seed não for
None, um inteiro nem uma tupla de inteiros.ValueError – se seed for
Nonee nenhuma semente padrão estiver configurada.
- normal(loc: float = 0.0, scale: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray¶
Extrai amostras de uma distribuição normal (gaussiana).
- Parâmetros:
loc – a média (centro) da distribuição.
scale – o desvio padrão (largura) da distribuição. Deve ser não negativo.
size – o formato da saída. Se for um inteiro, um array unidimensional desse comprimento é retornado. Se for uma tupla, um array desse formato é retornado. Se for
None(o padrão), um únicofloatdo Python é retornado.
- Retorna:
ou um
floatdo Python ou umnumpy.ndarrayde floats do formato solicitado.- Levanta:
ValueError – se o formato solicitado exceder
ULAB_MAX_DIMS.TypeError – se size não for
None, um inteiro nem uma tupla.
As amostras são geradas usando a transformada de Box-Muller.
- random(size: int | tuple[int, ...] | None = None, *, out: ndarray | None = None) float | ndarray¶
Extrai amostras da distribuição uniforme sobre o intervalo semiaberto
[0.0, 1.0).- Parâmetros:
size – o formato da saída. Se for um inteiro, um array unidimensional desse comprimento é retornado. Se for uma tupla, um array desse formato é retornado. Se for
None(o padrão) e out também forNone, um únicofloatdo Python é retornado.out – um
numpy.ndarrayde floats, denso e pré-alocado, opcional, para receber as amostras. Se tanto size quanto out forem fornecidos, seus formatos devem coincidir.
- Retorna:
um
floatdo Python, um novonumpy.ndarrayou out (preenchido com as amostras), dependendo dos argumentos.- Levanta:
TypeError – se size tiver um tipo não suportado, ou out não for um ndarray, ou out não for do dtype
float.ValueError – se o formato solicitado exceder
ULAB_MAX_DIMS, se size eout.shapedivergirem, ou se out não for contíguo.
- uniform(low: float = 0.0, high: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray¶
Extrai amostras da distribuição uniforme sobre o intervalo semiaberto
[low, high).- Parâmetros:
low – o limite inferior (inclusivo) da distribuição.
high – o limite superior (exclusivo) da distribuição.
size – o formato da saída. Se for uma tupla, um array desse formato é retornado. Se for
None(o padrão), um únicofloatdo Python extraído de[0.0, 1.0)é retornado (os limites low/high são ignorados no caso escalar).
- Retorna:
ou um
floatdo Python ou umnumpy.ndarrayde floats do formato solicitado.- Levanta:
ValueError – se o formato solicitado exceder
ULAB_MAX_DIMS.TypeError – se size não for
Nonenem uma tupla.
Com argumentos padrão idênticos,
uniform()produz a mesma sequência querandom().