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