Як використовувати еквівалент runif() у python


У мові програмування R ми можемо використовувати функцію runif() для генерації вектора випадкових значень, який відповідає рівномірному розподілу з певним мінімальним і максимальним значенням.

Наприклад, у наведеному нижче коді показано, як використовувати runif() для створення вектора з 8 випадкових значень, який відповідає рівномірному розподілу з мінімальним значенням 5 і максимальним значенням 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

Еквівалентом функції runif() у Python є функція np.random.uniform() , яка використовує такий базовий синтаксис:

np.random.uniform(низький=0, високий=1, розмір=немає)

золото:

  • low : Мінімальне значення розподілу
  • високий : максимальне значення розподілу
  • size : розмір вибірки

У наступному прикладі показано, як використовувати цю функцію на практиці.

Приклад: використання еквівалента runif() у Python

Наступний код показує, як використовувати функцію np.random.uniform() для генерації масиву випадкових значень, який відповідає рівномірному розподілу з певним мінімальним і максимальним значенням:

 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])

Результатом є масив NumPy, який містить 8 значень, згенерованих з рівномірного розподілу з мінімальним значенням 5 і максимальним значенням 10.

Ви також можете створити гістограму за допомогою Matplotlib для візуалізації нормального розподілу, згенерованого функцією 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 ')

На осі абсцис відображаються значення розподілу, а на осі у – частота кожного значення.

Зауважте, що вісь x змінюється від 5 до 10, оскільки це мінімальне та максимальне значення, які ми вказали для розподілу.

Примітка . Ви можете знайти повну документацію для функції np.random.uniform() тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції в pandas:

Як створити Pandas DataFrame з випадковими даними
Як випадково вибрати рядки в Pandas
Як перетасувати рядки в Pandas DataFrame

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *