如何解决从具有概率权重的列表中生成数字列表
如何从35个具有给定概率的数字列表中生成随机数列表:
(1,5)范围内的数字概率- p1 = 0.5
范围(6,15)中的数字的概率- p2 = 0.25
数字的概率在(16,35)范围内- p3 = 0.25
我尝试使用numpy.random.choice()
,但是我不知道如何使用可能的 列表 个数字。
解决方法
如果要从每个组中统一选择:
p=np.array([0.5/5]*5+[0.25/30]*30)
np.random.choice(np.arange(1,36),p=p/p.sum())
更新:
,如果您想选择一个随机数列表(也可以设置带有或不带有替换标志):
np.random.choice(np.arange(1,size=N,replace=True,p=p/p.sum())
,
您可以通过选择具有指定概率的适当范围,然后将所选范围用作filters
的参数来完成此操作:
random.choice
假设您要在给定范围内进行统一选择。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。