Я пытаюсь нарисовать однотонный 2D-массив формы (N, 5) из определенного распределения вероятностей (в моем случае это распределение Zipf), но с условием, что сумма всех элементов массива будет равнаопределенное значение типа float. (в следующем названии K)
В настоящее время я не представляю, как это можно сделать, кроме перерисовки, пока не появится случайным образом. (Но это, конечно, безумная неэффективная идея в этом смысле). В настоящее время я использую встроенную функцию numpy для случайных массивов дистрибутива Zipf и запускаю python 3.7:
v2 = K * numpy.random.zipf(2, (N,5))
Так есть ли способ сделать то, что я хочу, элегантным / эффективным способом? (также неэффективные, но практические решения приветствуются). Может быть, есть какой-нибудь хороший модуль на python (или julia), который мог бы помочь?
РЕДАКТИРОВАТЬ: Что-то, о чем я не думал, конечно, это просто масштабирование результирующего массива моего случайного рисования выше. В любом случае, если есть более «элегантные» / модульные решения, это может быть более приятным решением.