如何在 Python 中使用自定义分布生成随机数?

Susan Sarandon
发布: 2024-11-10 19:03:02
原创
462 人浏览过

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

使用特定分布生成随机数

您拥有一个包含不同值的概率的文件:

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

您的目标是根据此分布生成随机数。您寻求一个能够处理此任务的现有模块,并认识到这是一个普遍存在的问题,可能已经促使开发专门的功能或模块。

解决方案

Python 生态系统提供了几种用于生成具有特定分布的随机数的选项:

  1. scipy.stats.rv_discrete:

    • 提供您的value 参数中的概率。
    • 利用分布对象的 rvs() 方法生成随机数。
  2. numpy.random.choice () 与 p 参数:

    • 将概率作为 p 关键字参数传递。
    • 示例:

      numpy.random.choice(numpy.arange(1, 7), p=[0.1, 0.05, 0.05, 0.2, 0.4, 0.2])
      登录后复制
  3. 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中文网其他相关文章!

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