首页 > 解决方案 > np.random.choices 当我有一个列表时

问题描述

我有一个列表列表,我必须随机选择一个带有权重的列表。

我以为我可以简单地使用np.random.choice,但它返回一个错误,因为参数不是一维数组。当然,解决此问题的一种方法是随机选择一个整数,然后按以下方式选择列表:

import numpy as np
all_lists=[[1,2],[3,4]]
weights=np.array([1.,3.])
prob=weights/np.sum(weights)
index=np.random.choice(range(len(all_lists)),p=prob)
selected_list=all_lists[index]
print selected_list

但是有没有更直接的方法,而不是浪费时间先选择索引?

标签: pythonnumpyrandomchoice

解决方案


推荐阅读