使用特定分布生成随机数
您拥有一个包含不同值的概率的文件:
1 0.1 2 0.05 3 0.05 4 0.2 5 0.4 6 0.2
您的目标是根据此分布生成随机数。您寻求一个能够处理此任务的现有模块,并认识到这是一个普遍存在的问题,可能已经促使开发专门的功能或模块。
解决方案
Python 生态系统提供了几种用于生成具有特定分布的随机数的选项:
scipy.stats.rv_discrete:
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 ):
示例:
import random random.choices(population=list(range(1, 7)), weights=[0.1, 0.05, 0.05, 0.2, 0.4, 0.2])
这些模块提供了高效且简单的方法来生成具有给定分布的随机数,无需实现自定义算法.
以上是如何在 Python 中使用自定义分布生成随机数?的详细内容。更多信息请关注PHP中文网其他相关文章!