【发布时间】:2015-04-23 00:26:12
【问题描述】:
我想生成随机数,比如说 100。现在我使用 numpy 的目的如下:
print numpy.random.normal(loc=200,scale=50,size=100)
但我希望生成的数字与平均值(即 loc)仅相差一个标准差。最好的方法是什么?
我是否应该简单地执行以下操作:
print numpy.random.randint(150, high=250, size=100)
或者还有其他方法吗?
【问题讨论】:
-
你的意思是“除了平均值之外只产生一个标准差”?你的意思是你希望得到的数字分布的标准差为 1?在这种情况下,
numpy.random.normal(loc=mean, scale=1.0, ...). -
哦,你想要一个截断的正态分布。
numpy.random没有,但scipy.stats有。from scipy import stats; stats.truncnorm.rvs(-1.0, 1.0, loc=200.0, scale=50.0, size=100) -
可能是这个问题本身就是一个愚蠢的问题,因为正态分布的数据应该包含具有钟形曲线的 0-max 值。
-
嗯
-inf到+inf。
标签: python-2.7 numpy random normal-distribution