如何模拟随机正常变量Python

时间:2015-01-16 18:51:44

标签: python random simulation normal-distribution

首先,我对编码非常新。

我得到了#34;模拟许多正态分布的随机数,然后计算平均值和标准差。"使用Python。首先,我在解释这个问题时遇到了一些困难...

无论如何,我想我已经弄清楚如何使用for循环从标准正态分布中生成所希望数量的随机数(尽管我不确定这是什么要求的)。我挣扎的是使用这些数字进行计算 - 因为它们是随机的,我不知道如何使用列表。

谢谢!

1 个答案:

答案 0 :(得分:3)

您可以使用random.gauss生成随机数。例如,我将创建一个包含10个随机数的列表,其平均值为10,标准差为1

>>> import random
>>> nums = [random.gauss(10, 1) for _ in range(10)]
>>> nums
[11.959067391283675, 9.736968009359552, 9.034607376861388, 9.431664007796622, 11.522646114577977, 9.777134678502273, 10.954304068858296, 9.641278997034552, 10.671349950944085, 10.795117781051463]

然后您可以使用statistics库来计算平均值和标准偏差。

>>> import statistics as stats

>>> avg = stats.mean(nums)
>>> avg
10.352413837626989   # pretty close to 10

>>> stddv = stats.stdev(nums)
>>> stddv
0.9667002670583574   # pretty close to 1

你可以看到,如果我生成了大量随机数,假设random库具有从所需分布中抽样数字的良好实现,你将得到大约你用来描述的均值和标准差。原始发行。