Tov*_*ove 3 python random simulation normal-distribution
首先,我对编码非常陌生。我收到的作业是“模拟许多正态分布的随机数,然后计算平均值和标准差”。使用Python。首先,我在解释这个问题时遇到一些困难。
不管怎样,我想我已经弄清楚如何使用 for 循环从标准正态分布生成所需数量的随机数(尽管我不确定这是否是所要求的)。我正在努力解决的是使用这些数字进行计算 - 因为它们是随机的我不知道如何使用列表。
您可以使用 生成随机数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]
Run Code Online (Sandbox Code Playgroud)
然后您可以使用该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
Run Code Online (Sandbox Code Playgroud)
您可以看到,如果我生成了大量随机数,假设该random库可以很好地实现从所需分布中采样数字,您将得到用于描述原始分布的大约平均值和标准差。