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.