Как использовать эквивалент 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 : Минимальное значение распределения.
  • high : Максимальное значение распределения.
  • размер : размер выборки

В следующем примере показано, как использовать эту функцию на практике.

Пример: использование эквивалента 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 показаны значения распределения, а по оси Y — частота каждого значения.

Обратите внимание, что ось X идет от 5 до 10, поскольку это минимальное и максимальное значения, которые мы указали для распределения.

Примечание . Полную документацию по функции np.random.uniform() можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:

Как создать DataFrame Pandas со случайными данными
Как случайным образом выбирать строки в Pandas
Как перетасовать строки в DataFrame Pandas

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *