使用 SciPy 或 NumPy 生成具有指定权重的离散随机变量

2023-11-30

我正在寻找一个简单的函数,它可以根据相应的(也指定的)概率生成指定随机值的数组。我只需要它来生成浮点值,但我不明白为什么它不能生成任何标量。我可以想出很多从现有函数构建这个函数的方法,但我想我可能只是错过了一个明显的 SciPy 或 NumPy 函数。

E.g.:

>>> 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 中。 该函数称为随机选择(如果没有参考 numpy 文档中的离散分布,很难找到)。

elements = [1.1, 2.2, 3.3]
probabilities = [0.2, 0.5, 0.3]
np.random.choice(elements, 10, p=probabilities)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 SciPy 或 NumPy 生成具有指定权重的离散随机变量 的相关文章

随机推荐