特定の分布を使用した乱数の生成
個別の値の確率を含むファイルを所有しています:
1 0.1 2 0.05 3 0.05 4 0.2 5 0.4 6 0.2
あなたの目標は、この分布に基づいて乱数を生成することです。あなたは、これが一般的な問題であり、すでに特殊な機能やモジュールの開発を促している可能性があることを認識し、このタスクを処理できる既存のモジュールを探します。
解決策
Python エコシステムには、特定の分布で乱数を生成するためのいくつかのオプションが用意されています。
scipy.stats.rv_discrete:
numpy.random.choice () p パラメーター付き:
例:
numpy.random.choice(numpy.arange(1, 7), p=[0.1, 0.05, 0.05, 0.2, 0.4, 0.2])
random.choices() (Python 3.6 ):
例:
import random random.choices(population=list(range(1, 7)), weights=[0.1, 0.05, 0.05, 0.2, 0.4, 0.2])
これらのモジュールは、特定の分布で乱数を生成する効率的かつ簡単な方法を提供し、カスタム アルゴリズムを実装する必要がなくなります。 .
以上がPython でカスタム分布を使用して乱数を生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。