Случайное число со специфическим дисперсией в Python
Вопрос
В программе Python мне нужно генерировать нормально распределенные случайные числа с конкретной, контролируемой пользователем дисперсией. Как я могу это сделать?
Решение
import math
from random import gauss
my_mean = 0
my_variance = 10
random_numbers = [gauss(my_mean, math.sqrt(my_variance)) for i in range(100)]
Это дает вам 100 обычно распределенных случайных чисел со средним значением 0 и дисперсией 10.
Другие советы
Использовать random.normalvariate
(или же random.gauss
Если вам не нужна безопасность потоков), и установите sigma
Аргумент к квадратному корню дисперсии.
Не связан с StackOverflow