如何在Python中生成具有特定均值和方差的正态分布样本?

5

我是Python的新手,我想生成具有特定均值和方差的正态分布的1000个样本。我知道一个叫做NumPy的库,我想知道我是否正确地使用它了。这是我的代码:

import numpy
a = numpy.random.normal(0, 1, 1000)
print(a)

这里的0代表平均值,1代表标准差(方差的平方根),1000代表总体大小。

这是正确的方法吗?还有更好的方法吗?


3
你为什么认为这里会有问题?在我看来,一切看起来都很好。 - chthonicdaemon
你已经为自己的问题提供了答案。numpy运行良好。 - M Z
1个回答

1

是的,这是在正态分布N(0,1)中生成1000个样本的方法。

您可以看到,这1000个样本的输出大多数在-3和3之间,因为99.73%将在加/减3个标准偏差内:

enter image description here

翻译:

下面的代码生成了彩色图表:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm
np.random.seed(7)
y = np.random.normal(0, 1, 1000)
colors = cm.rainbow(np.linspace(0, 1, 11))
for x,y in enumerate(y):
    plt.scatter(x,y, color=colors[np.random.randint(0,10)])

然而,生成单色图表速度更快:

np.random.seed(7)
x = [i for i in range(1, 1001)]
y = np.random.normal(0, 1, 1000)
plt.scatter(x, y, color='navy')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接