【发布时间】:2013-04-25 02:07:18
【问题描述】:
我想用 numpy.random.normal 创建一个仅包含正值的正态分布数组。 例如,以下说明它有时会返回负值,有时会返回正值。我怎样才能修改它,让它只返回正值?
>>> import numpy
>>> numpy.random.normal(10,8,3)
array([ -4.98781629, 20.12995344, 4.7284051 ])
>>> numpy.random.normal(10,8,3)
array([ 17.71918829, 15.97617052, 1.2328115 ])
>>>
我想我可以这样解决它:
myList = numpy.random.normal(10,8,3)
while item in myList <0:
# run again until all items are positive values
myList = numpy.random.normal(10,8,3)
【问题讨论】:
-
“只回馈积极的价值观”是什么意思?如果它返回负值,你希望它做什么?
-
根据定义,正态分布扩展到所有可能的值,包括正值和负值。您无法将“正态分布”与“仅正值”调和起来,所以我的问题是……您真正想要什么?
-
我需要将正态分布值输入函数。该函数只取正值。
-
正态分布扩展到所有可能的值,包括正的和负的。如果您阻止它返回负值,则根据定义,它不再是正态分布。因此,根据定义,您为函数提供的任何分布都不能是负数。考虑到上述情况,您想要什么分布?
-
二项分布类似于正态分布,但离散,仅在正值范围内:en.wikipedia.org/wiki/Binomial_distribution
标签: python numpy normal-distribution