対応する(指定された)確率に基づいて指定されたランダム値の配列を生成できる簡単な関数を探しています。浮動小数点値を生成するために必要なのですが、スカラーを生成できないはずはありません。私は既存の関数からこれを構築する多くの方法を考えることができますが、明らかに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は、私が使用してすべきかである場合、あなたは「簡単な例を私に提供し、上記の説明でください可能性形 "のステートメント?
すばらしいです!しかし、正しい構文は次のとおりです。np.random.choice(要素、10、p =リスト(確率)) – Sina
ニース。私は私のオリジナルの質問を投稿した後にこのバージョンが出てきたと思います(私はこれが2013年に来た1.7.0で最初にリリースされたと思います)。 – TimY
非常に良い!リストにキャストせずにも動作するようです:np.random。選択肢(要素、10、p =確率))。 – zeycus