Векторизация `numpy.random.choice` для заданного двумерного массива вероятностей вдоль осиPython

Программы на Python
Ответить
Anonymous
 Векторизация `numpy.random.choice` для заданного двумерного массива вероятностей вдоль оси

Сообщение Anonymous »

Numpy имеет функцию random.choice, которая позволяет выполнять выборку из категориального распределения. Как бы вы повторили это по оси? Чтобы проиллюстрировать, что я имею в виду, вот мой текущий код:

Код: Выделить всё

categorical_distributions = np.array([
[.1, .3, .6],
[.2, .4, .4],
])
_, n = categorical_distributions.shape
np.array([np.random.choice(n, p=row)
for row in categorical_distributions])
В идеале я бы хотел исключить цикл for.

Подробнее здесь: https://stackoverflow.com/questions/477 ... along-an-a
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»