numpy.random.normal(loc=0.0, scale=1.0, size=None)

从正态(高斯)分布中抽取随机样本。

loc: 分布的均值(中心),浮点型数据或者浮点型数据组成的数组。
scale: 分布的标准差(宽度),浮点型数据或者浮点型数据组成的数组。
size: 输出值的维度,整数或者整数组成的元组,可选参数。
返回值:从含参的正态分布中抽取的随机样本,n维数组或标量。

从分布中抽取样本:

import numpy as np
mu, sigma = 0, 0.1      # 均值和标准差
s = np.random.normal(mu, sigma, 1000)

检验均值和方差:

abs(mu - np.mean(s)) < 0.01

abs(sigma - np.std(s, ddof=1)) < 0.01

利用直方图对样本进行可视化,并绘制其概率密度函数:

import matplotlib.pyplot as plt
count, bins, ignored = plt.hist(s, 30, normed=True, color='b')
plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) * np.exp( - (bins - mu)**2 / (2 * sigma**2) ), linewidth=2, color='r')
plt.show()

https://blog.csdn.net/wzy628810/article/details/103807829