gpt4 book ai didi

python - 生成具有给定(数值)分布的随机数

转载 作者:IT老高 更新时间:2023-10-28 21:07:50 28 4
gpt4 key购买 nike

我有一个文件,其中包含一些不同值的概率,例如:

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

我想使用此分布生成随机数。是否存在处理此问题的现有模块?自己编写代码相当简单(构建累积密度函数,生成随机值 [0,1] 并选择相应的值),但这似乎应该是一个常见问题,可能有人已经为它。

我需要这个,因为我想生成一个生日列表(不遵循标准 random 模块中的任何分布)。

最佳答案

scipy.stats.rv_discrete可能是你想要的。您可以通过 values 参数提供您的概率。然后可以使用分发对象的rvs()方法生成随机数。

正如 Eugene Pakhomov 在评论中指出的那样,您还可以将 p 关键字参数传递给 numpy.random.choice() ,例如

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() – 请参阅 answer by Mark Dickinson .

关于python - 生成具有给定(数值)分布的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4265988/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com