Números aleatórios no NumPy

O que é número aleatório?

Número aleatório não significa que tenha diferentes números a cada vez. Aleatório significa algo que não pode ser predito logicamente.

Pseudo-aleatório e verdadeiramente aleatório

Os computadores funcionam em programas, e os programas são conjuntos autoritários de instruções. Portanto, isso significa que deve haver algum algoritmo para gerar números aleatórios.

Se existir um programa para gerar números aleatórios, ele pode ser predito, portanto, não é um número verdadeiramente aleatório.

Os números aleatórios gerados por algoritmos de geração são chamados de números pseudo-aleatórios.

Podemos gerar números verdadeiramente aleatórios?

Sim. Para gerar um número verdadeiramente aleatório em nosso computador, precisamos obter dados aleatórios de uma fonte externa. A fonte externa geralmente é nossos cliques, movimentos do mouse, dados da rede, etc.

Não precisamos de números verdadeiramente aleatórios, a menos que estejam relacionados à segurança (por exemplo, chaves de criptografia) ou que a base da aplicação seja a aleatoriedade (por exemplo, roleta de números).

Neste tutorial, usaremos números pseudo-aleatórios.

Gerar número aleatório

O NumPy fornece o módulo random para lidar com números aleatórios.

Exemplo

Gerar um inteiro aleatório entre 0 e 100:

from numpy import random
x = random.randint(100)
print(x)

Executar Exemplo

Gerar número flutuante aleatório

Módulo random rand() O método retorna um número flutuante aleatório entre 0 e 1.

Exemplo

Gerar um número flutuante aleatório entre 0 e 100:

from numpy import random
x = random.rand()
print(x)

Executar Exemplo

Gerar array aleatório

No NumPy, podemos usar os dois métodos do exemplo anterior para criar arrays aleatórios.

inteiro

randint() O método aceita size Parâmetro, onde você pode especificar a forma do array.

Exemplo

Gerar um array 1-D contendo 5 números inteiros aleatórios entre 0 e 100:

from numpy import random
x=random.randint(100, size=(5))
print(x)

Executar Exemplo

Exemplo

Gerar um array 2-D com 3 linhas, cada linha contendo 5 números inteiros aleatórios entre 0 e 100:

from numpy import random
x = random.randint(100, size=(3, 5))
print(x)

Executar Exemplo

Número de ponto flutuante

rand() O método também permite que você especifique a forma do array.

Exemplo

Gerar um array 1-D contendo 5 números aleatórios de ponto flutuante:

from numpy import random
x = random.rand(5)
print(x)

Executar Exemplo

Exemplo

Gerar um array 2-D com 3 linhas, cada linha contendo 5 números aleatórios:

from numpy import random
x = random.rand(3, 5)
print(x)

Executar Exemplo

Gerar números aleatórios a partir de um array

choice() O método permite que você gere valores aleatórios com base em um array de valores.

choice() O método aceita o array como parâmetro e retorna um valor aleatório.

Exemplo

Retorna um valor do array:

from numpy import random
x = random.choice([3, 5, 7, 9])
print(x)

Executar Exemplo

choice() O método também permite que você retorne um array de valores.

Adicione uma size Os parâmetros especificam a forma do array.

Exemplo

Gerar um array bidimensional composto pelos valores do parâmetro de array (3, 5, 7 e 9):

from numpy import random
x = random.choice([3, 5, 7, 9], size=(3, 5))
print(x)

Executar Exemplo