Como usar o equivalente a runif() em python


Na linguagem de programação R, podemos usar a função runif() para gerar um vetor de valores aleatórios que segue uma distribuição uniforme com um valor mínimo e máximo específico.

Por exemplo, o código a seguir mostra como usar runif() para criar um vetor de 8 valores aleatórios que segue uma distribuição uniforme com valor mínimo de 5 e valor máximo de 10:

 #make this example reproducible
set. seeds (1)

#generate vector of 8 values that follow uniform distribution with min=5 and max=10
runif(n=8, min=5, max=10)

[1] 6.327543 6.860619 7.864267 9.541039 6.008410 9.491948 9.723376 8.303989

O equivalente da função runif() em Python é a função np.random.uniform() , que usa a seguinte sintaxe básica:

np.random.uniform(baixo=0, alto=1, tamanho=Nenhum)

Ouro:

  • baixo : Valor mínimo da distribuição
  • alto : valor máximo da distribuição
  • tamanho : tamanho da amostra

O exemplo a seguir mostra como usar esta função na prática.

Exemplo: usando o equivalente a runif() em Python

O código a seguir mostra como usar a função np.random.uniform() para gerar uma matriz de valores aleatórios que segue uma distribuição uniforme com um valor mínimo e máximo específico:

 import numpy as np

#make this example reproducible
n.p. random . seeds (1)

#generate array of 8 values that follow uniform distribution with min=5 and max=10
n.p. random . uniform (low= 5 , high= 10 , size= 8 )

array([7.08511002, 8.60162247, 5.00057187, 6.51166286, 5.73377945,
       5.46169297, 5.93130106, 6.72780364])

O resultado é um array NumPy que contém 8 valores gerados a partir de uma distribuição uniforme com valor mínimo de 5 e valor máximo de 10.

Você também pode criar um histograma usando Matplotlib para visualizar uma distribuição normal gerada pela função np.random.uniform() :

 import numpy as np
import matplotlib. pyplot as plt

#make this example reproducible
n.p. random . seeds (1)

#generate array of 200 values that follow uniform distribution with min=5 and max=10
data = np. random . uniform (low= 5 , high= 10 , size= 200 )

#create histogram to visualize distribution of values
plt. hist (data, bins= 30 , edgecolor=' black ')

O eixo x mostra os valores da distribuição e o eixo y mostra a frequência de cada valor.

Observe que o eixo x vai de 5 a 10, pois esses são os valores mínimo e máximo que especificamos para a distribuição.

Nota : Você pode encontrar a documentação completa da função np.random.uniform() aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:

Como criar um DataFrame Pandas com dados aleatórios
Como amostrar linhas aleatoriamente no Pandas
Como embaralhar linhas em um DataFrame do Pandas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *