我正在寻找一个简单的函数,可以根据它们相应的概率生成指定随机值的数组。我只需要它生成浮点值,但我认为它也可以生成任何标量。我可以想到很多从现有函数构建这个功能的方法,但我可能错过了一个明显的SciPy或NumPy函数。
例如:
例如:
>>> values = [1.1, 2.2, 3.3]
>>> probabilities = [0.2, 0.5, 0.3]
>>> print some_function(values, probabilities, size=10)
(2.2, 1.1, 3.3, 3.3, 2.2, 2.2, 1.1, 2.2, 3.3, 2.2)
注意:我找到了scipy.stats.rv_discrete,但我不明白它是如何工作的。特别地,我不明白下面这段代码的含义和作用:
numargs = generic.numargs
[ <shape(s)> ] = ['Replace with resonable value', ]*numargs
如果rv_discrete是我应该使用的,请您提供一个简单的示例和对上述“shape”语句的解释。
elements
和probabilites
也可以是普通的list
而不是numpy.array
,代码仍然可以正常工作。 - arekolek