У меня есть список чисел и другой список вероятностей, который соответствует этим числам. Я использую numpy.random.choice
для создания случайного 2d массива:
choice = numpy.random.choice([10, 22, 30], [10, 10], p=[0.45, 0.45, 0.10])
В choice
должно быть 45 единиц, 45 двойок и 10 нулей, но после нескольких прогонов я никогда не получу правильное распределение.
unique, counts = numpy.unique(choice, return_counts=True)
print(dict(zip(unique, counts)))
{10: 49, 22: 37, 30: 14}
{10: 47, 22: 42, 30: 11}
{10: 40, 22: 51, 30: 9}
Что я пропустил?