当面临生成遵循特定分布的随机数的任务时,人们可能会思考是否存在能够执行此操作的现有模块处理这样的任务。毕竟,这是一个普遍存在的问题,许多程序员已经解决了潜在的解决方案。
考虑以下示例:
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中文网其他相关文章!