Как использовать эквивалент 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