0
我使用np.random.multinomial
采样多项分布M
时间(按给出的概率[X_0 X_1 .. X_n]
它返回从指定的多项式采样计数[C_0 C_1 ... C_n]
,其中\sum_i C_i = M
)。给定这些采样值(C_i
's),我想随机将它们均匀分配给我拥有的某些对象。分配采样多项式值均匀地随机
目前我在做什么是:
draws = np.random.multinomial(M, probs, size=1)
draws = draws[0]
draws_list = []
for idx,num in enumerate(draws):
draws_list += [idx]*num
random.shuffle(draws_list)
然后draws_list
是采样值的随机洗牌的名单。
的问题是,填充draws_list
(for循环)是很慢的。有没有更好/更快的方法来做到这一点?