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 obter detalhes.
Um Generator é um objeto com estado: cada chamada a um dos seus métodos de amostragem avança o estado interno, pelo que chamadas consecutivas devolvem 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 pseudo-aleatórios.
- Parâmetros:
seed – o valor inicial (seed) utilizado para inicializar o estado do gerador. Se for fornecido um inteiro, é utilizado diretamente. Se for fornecida uma tupla de inteiros, é devolvida uma tupla de objetos
Generatorinicializados de forma independente (um por elemento) em vez de uma única instância. Se for fornecidoNone, é utilizado um valor inicial predefinido pela plataforma (quando configurado em tempo de compilação); caso contrário, é levantado umValueError.- Levanta:
TypeError – se seed não for
None, um inteiro ou uma tupla de inteiros.ValueError – se seed for
Nonee não estiver configurado nenhum valor inicial predefinido.
- 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 – a forma da saída. Se for um inteiro, é devolvido um array unidimensional com esse comprimento. Se for uma tupla, é devolvido um array com essa forma. Se for
None(o valor predefinido), é devolvido um únicofloatPython.
- Retorno:
um
floatPython ou umnumpy.ndarrayde float com a forma solicitada.- Levanta:
ValueError – se a forma solicitada exceder
ULAB_MAX_DIMS.TypeError – se size não for
None, um inteiro nem uma tupla.
As amostras são geradas utilizando a transformação 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 semi-aberto
[0.0, 1.0).- Parâmetros:
size – a forma da saída. Se for um inteiro, é devolvido um array unidimensional com esse comprimento. Se for uma tupla, é devolvido um array com essa forma. Se for
None(o valor predefinido) e out também forNone, é devolvido um únicofloatPython.out – um
numpy.ndarrayde float denso e pré-alocado opcional para receber as amostras. Se size e out forem ambos fornecidos, as suas formas devem coincidir.
- Retorno:
um
floatPython, um novonumpy.ndarrayou out (preenchido com amostras) consoante os 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 a forma solicitada exceder
ULAB_MAX_DIMS, se size eout.shapenão coincidirem, 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 semi-aberto
[low, high).- Parâmetros:
low – o limite inferior (inclusivo) da distribuição.
high – o limite superior (exclusivo) da distribuição.
size – a forma da saída. Se for uma tupla, é devolvido um array com essa forma. Se for
None(o valor predefinido), é devolvido um únicofloatPython extraído de[0.0, 1.0)(os limites low/high são ignorados no caso escalar).
- Retorno:
um
floatPython ou umnumpy.ndarrayde float com a forma solicitada.- Levanta:
ValueError – se a forma solicitada exceder
ULAB_MAX_DIMS.TypeError – se size não for
Nonenem uma tupla.
Com argumentos predefinidos idênticos,
uniform()produz a mesma sequência querandom().