我想从一组选项中选择多个项目。每个选项都有自己的一组选择或不选择的概率。随机选择多选项选项
福克斯例如:
选择 “是”, “否”
“九月”,0.90,0.10
“十月”,0.25,0.75
“十一月”,0.45,0.55
“ 12月“,0.50,0.50
”yes“表示选项被选中,”no“表示未选中。因此对于第一卷,选择可以是[“9月”,“12月”],对于第二卷可以是[“9月”,“10月”,“11月”等等)。
与选择或不选择其中一个选项的复选框选项相似。
我可以通过循环到每个给定的选择通过numpy.random.choice。但是我想知道是否有更优雅/更高效的方式来做到这一点?
这是我做过什么
choices = {
"September":0.90,
"October":0.25,
"November":0.45,
"December":0.50
}
resp = []
for ch, pr in choices:
pick = 1
probs = [pr, 1-pr]
select = ["yes", "no"]
choose = numpy.random.choice(select, pick, probs)
if "yes" in choose[0]:
resp.append(ch)
感谢。
这正是我想要的。谢谢。 – soacq