Генерация дискретных случайных величин с заданными весами с использованием SciPy или NumPy

Я ищу простую функцию, которая может генерировать массив указанных случайных значений на основе их соответствующих (также указанных) вероятностей. Он мне нужен только для генерации значений с плавающей точкой, но я не понимаю, почему он не может генерировать какой-либо скаляр. Я могу придумать много способов построить это из существующих функций, но я думаю, что я, вероятно, просто пропустил очевидную функцию SciPy или NumPy.

Например.:

>>> values = [1.1, 2.2, 3.3]
>>> probabilities = [0.2, 0.5, 0.3]
>>> print some_function(values, probabilities, size=10)
(2.2, 1.1, 3.3, 3.3, 2.2, 2.2, 1.1, 2.2, 3.3, 2.2)

Примечание: я нашелscipy.stats.rv_discrete но я не понимаю, как это работает. В частности, я не понимаю, что это (ниже) означает, и что оно должно делать:

numargs = generic.numargs
[ <shape(s)> ] = ['Replace with resonable value', ]*numargs

Если я должен использовать rv_discrete, не могли бы вы предоставить мне простой пример и объяснение вышеприведенной «формы»? заявление?

Ответы на вопрос(5)

Ваш ответ на вопрос