numpy を使って、データp=[800,200,600]から確率分布付きの乱数を生成するメソッドを教えてください。
よく、引数にp= を見かけるメソッドを見かけますが忘れてしまいました。
具体的にやりたいことは、
f(p=p) → [0.5, 0.125, 0.375]
f(p=p) → [0.4, 0.4, 0.2]
f(p=p) → [0.3, 0.2, 0.5]
などです
期待する動作をもう少し説明いただけますか?f(p=[800,200,600]) → [0.5, 0.125, 0.375]などと書かれている式の意味がわかりません。どういう原理で[0.5, 0.125, 0.375]が出てくるのでしょうか?
random.choiceが近いメソッドですが、確率分布を重みにして、元データからデータを抽出するものです。質問者様の記法だと、f(p=[0.5, 0.125, 0.375]) → 800 といった感じでしょうか。
ですので、random.choiceを想起されたものと思いますが、おそらく質問者様の期待する動作とは違いますね。「そのようなメソッドはありません」が回答になると思います。
なるほどです。random.choice の記憶だと思います。間違っていたことが分かりましたので、助かりました。
回答2件
あなたの回答
tips
プレビュー