如何从正态分布生成数据

时间:2016-03-28 06:15:20

标签: python-3.x

我需要从正态分布$ N =(\ mu,\ sigma ^ 2)$生成数据集。如何使用Python生成此数据。 $ \ mu $和$ \ sigma $的值为

2 个答案:

答案 0 :(得分:2)

使用numpy.random.normal

如果您想从标准正态分布中生成1000个样本,您只需执行

import numpy
mu, sigma = 0, 1
samples = numpy.random.normal(mu, sigma, 1000)

您可以阅读文档here了解更多详情。

答案 1 :(得分:1)

您可以手动计算

import numpy as np

mu = 0;
sigma = 1;

# Generates numbers between -0.5, 0.5
x_vals = np.random.rand(10) - 0.5

# Compute normal distribution from x vals
y_vals = np.exp(-pow(mu - x_vals,2)/(2 * pow(sigma, 2))) / (sigma * np.sqrt(2*np.pi))

print y_vals

或者你可以使用给定的功能

# You can also use the randn function
y_vals2 = sigma * np.random.randn(10) + mu

print y_vals2