Random number with specific variance in Python

2020-03-06 03:16发布

问题:

In a Python program, I need to generate normally-distributed random numbers with a specific, user-controlled variance. How can I do this?

回答1:

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

This gets you 100 normally-distributed random numbers with mean 0 and variance 10.



回答2:

Use random.normalvariate (or random.gauss if you don't need thread-safety), and set the sigma argument to the square root of the variance.