Как использовать эквивалент rnorm() в python
В языке программирования R мы можем использовать функцию rnorm() для генерации вектора случайных значений, который следует нормальному распределению с определенным средним значением и стандартным отклонением.
Например, следующий код показывает, как использовать rnorm() для создания вектора из 8 случайных значений, который соответствует нормальному распределению со средним значением 5 и стандартным отклонением 2:
#make this example reproducible set. seeds (1) #generate vector of 8 values that follows normal distribution with mean=5 and sd=2 rnorm(n=8, mean=5, sd=2) [1] 3.747092 5.367287 3.328743 8.190562 5.659016 3.359063 5.974858 6.476649
Эквивалентом функции rnorm() в Python является функция np.random.normal() , которая использует следующий базовый синтаксис:
np.random.normal(loc=0, масштаб=1, размер=нет)
Золото:
- loc : Среднее распределение
- масштаб : стандартное отклонение распределения.
- размер : размер выборки
В следующем примере показано, как использовать эту функцию на практике.
Пример: использование эквивалента rnorm() в Python
В следующем коде показано, как использовать функцию np.random.normal() для создания массива случайных значений, который соответствует нормальному распределению с определенным средним значением и стандартным отклонением.
import numpy as np #make this example reproducible n.p. random . seeds (1) #generate array of 8 values that follow normal distribution with mean=5 and sd=2 n.p. random . normal (loc=5, scale=2, size=8) array([8.24869073, 3.77648717, 3.9436565, 2.85406276, 6.73081526, 0.39692261, 8.48962353, 3.4775862 ])
Результатом является массив NumPy, содержащий 8 значений, сгенерированных из нормального распределения со средним значением 5 и стандартным отклонением 2.
Вы также можете создать гистограмму, используя Matplotlib, для визуализации нормального распределения, сгенерированного функцией np.random.normal() :
import numpy as np import matplotlib. pyplot as plt #make this example reproducible n.p. random . seeds (1) #generate array of 200 values that follows normal distribution with mean=5 and sd=2 data = np. random . normal (loc=5, scale=2, size=200) #create histogram to visualize distribution of values plt. hist (data, bins=30, edgecolor=' black ')
Мы видим, что распределение значений имеет примерно колоколообразную форму со средним значением 5 и стандартным отклонением 2.
Примечание . Полную документацию по функции np.random.normal() можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в Python:
Как рассчитать и построить график нормального CDF в Python
Как построить график нормального распределения в Python
Как проверить нормальность в Python