首页 >后端开发 >Python教程 >如何在Python中生成具有指定数值分布的随机数?

如何在Python中生成具有指定数值分布的随机数?

Barbara Streisand
Barbara Streisand原创
2024-11-11 04:43:02580浏览

How to Generate Random Numbers with a Specified Numerical Distribution in Python?

生成具有指定数值分布的随机数

当面临生成遵循特定分布的随机数的任务时,人们可能会思考是否存在能够执行此操作的现有模块处理这样的任务。毕竟,这是一个普遍存在的问题,许多程序员已经解决了潜在的解决方案。

考虑以下示例:

1 0.1
2 0.05
3 0.05
4 0.2
5 0.4
6 0.2

这里,我们有一个包含值及其值的文件相应的概率。要根据此分布生成随机数,我们可以利用 scipy.stats.rv_discrete。通过通过值参数提供概率,我们可以创建一个分布对象。接下来,我们可以使用分布对象的 rvs() 方法来生成随机数。

但是,另一个可行的选择是使用 numpy.random.choice()。该函数接受 p 关键字参数,允许我们直接指定概率。

例如:

numpy.random.choice(numpy.arange(1, 7), p=[0.1, 0.05, 0.05, 0.2, 0.4, 0.2])

最后,对于那些使用 Python 3.6 或更高版本的用户,random.choices() 来自标准库提供了方便的解决方案。

以上是如何在Python中生成具有指定数值分布的随机数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn