我正在寻找一个简单的函数,该函数可以根据相应的(也指定的)概率生成指定的随机值数组。我只需要它来生成浮点值,但我不明白为什么它不应该能够生成任何标量。我可以想到许多通过现有功能构建此功能的方法,但是我想我可能只是错过了明显的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”语句吗?
来自离散分布的图形直接内置到numpy中。该函数称为random.choice(很难找到,而无需参考numpy文档中的离散分布)。
elements = [1.1, 2.2, 3.3] probabilities = [0.2, 0.5, 0.3] np.random.choice(elements, 10, p=probabilities)