def original(prob_matrix, items):
    choices = np.zeros((n,))
for i in range(n):
    choices[i] = np.random.choice(items, p=prob_matrix[:, (i)])
return choices
Fast random weighted selection across all rows of a stochastic matrix