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

Susan Sarandon
发布: 2024-11-10 17:28:02
原创
640 人浏览过

How to Generate Random Numbers with a Specific Distribution in Python?

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

本文解决了根据给定分布生成随机数的挑战。特别是,重点是输入中概述的特定分布:

1 0.1
2 0.05
3 0.05
4 0.2
5 0.4
6 0.2
登录后复制

用于基于分布的随机数生成的现有模块

可以开发用于生成的定制解决方案根据给定分布的随机数。这涉及创建累积密度函数并根据 0 到 1 之间随机生成的值选择相应的值。但是,许多现有模块可以简化此任务,无需手动编码。

scipy.stats。 rv_discrete

其中一个模块是 scipy.stats.rv_discrete,它允许您通过其 value 参数指定概率。要生成随机数,可以调用分布对象的 rvs() 方法。

numpy.random.choice()

另一种选择是使用 numpy.random.choice()功能。它接受值列表并使用 p 关键字参数分配概率。例如:

numpy.random.choice(numpy.arange(1, 7), p=[0.1, 0.05, 0.05, 0.2, 0.4, 0.2])
登录后复制

random.choices()

对于 Python 3.6 及更高版本,您可以利用标准库中的 random.choices() 。这是一个示例:

import random
random.choices(range(1, 7), weights=[0.1, 0.05, 0.05, 0.2, 0.4, 0.2])
登录后复制

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板