Random number with specific variance in Python

2020-03-06 02:40发布

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

2条回答
Root(大扎)
2楼-- · 2020-03-06 03:18

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.

查看更多
小情绪 Triste *
3楼-- · 2020-03-06 03:30
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.

查看更多
登录 后发表回答