np.random.choices, когда у меня есть список списков - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть список списков, и я должен случайным образом выбрать один из них с весами.

Я думал, что мог бы просто использовать 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

, но есть ли более непосредственный способ, не тратя время на выбор индекса в первую очередь

...