当前位置: 首页 > 面试题库 >

Python-生成具有给定(数字)分布的随机数

苏乐童
2023-03-14
问题内容

我有一个具有不同值的概率的文件,例如:

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])


 类似资料:
  • 问题内容: 最重要的答案是建议使用switch语句来完成这项工作。但是,如果我要考虑的情况很多,那么代码看起来就很笨拙。我有一个巨大的switch语句,在每种情况下都一遍又一遍地重复非常相似的代码。 当您要考虑的概率很大时,是否有更好,更干净的方法来选择具有一定概率的随机数?(例如〜30) 问题答案: 这是一个Swift实现,受各种答案的影响很大,这些答案会生成具有给定(数字)分布的随机数 对于

  • 本文向大家介绍Python生成给定长度的随机字符串,包括了Python生成给定长度的随机字符串的使用技巧和注意事项,需要的朋友参考一下 在本文中,我们将看到如何生成具有给定长度的随机字符串。这在创建需要随机性的随机密码或其他程序时很有用。 random.choices 随机模块中的choices函数可以产生字符串,然后可以将其连接以创建给定长度的字符串。 示例 输出结果 运行上面的代码给我们以下结

  • 如果正确,则当 Z来自mu'=0,sigma'=1的标准正态分布Z时,我的y将从对数正态分布中提取。 最后,如果 y=exp^(ln((mean^2)/(sqrt(variance+mean^2))+sqrt(ln(1+(variance)/(mean^2)))*Z),y来自具有均值和方差的对数正态分布是否正确? 我的SAS代码是: 参考资料: Rick Wicklin的函数:http://blo

  • 问题内容: 我想生成一个大小为的字符串。 它应该由数字和大写英文字母组成,例如: 6U1S75 4Z4UKK U911K4 问题答案: 一行回答: 甚至更短,从Python 3.6开始,使用: 加密更安全的版本;参见: 详细而言,具有清除函数以进一步重用: 它是如何工作的 ? 我们导入string,一个包含常见ASCII字符序列的模块,以及random一个处理随机生成的模块。 只是串联表示大写AS

  • Python3 实例 以下实例演示了如何生成一个随机数:# -*- coding: UTF-8 -*- # Filename : test.py # author by : www.runoob.com # 生成 0 ~ 9 之间的随机数 # 导入 random(随机数) 模块 import random print(random.randint(0,9)) 执行以上代码输出结果为: 4 以上

  • 我想为给定数量的节点和边生成一个随机图。当我运行它时,它会返回一个包含所有零的edgelist(例如,如果我用五个节点和边运行它,它会返回五对零作为edgelist)。这部分代码是否有问题导致了这种情况?