ホームページ >バックエンド開発 >Python チュートリアル >Python でカスタム分布を使用して乱数を生成する方法

Python でカスタム分布を使用して乱数を生成する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-11-10 19:03:02518ブラウズ

How to Generate Random Numbers with a Custom Distribution in Python?

特定の分布を使用した乱数の生成

個別の値の確率を含むファイルを所有しています:

1 0.1
2 0.05
3 0.05
4 0.2
5 0.4
6 0.2

あなたの目標は、この分布に基づいて乱数を生成することです。あなたは、これが一般的な問題であり、すでに特殊な機能やモジュールの開発を促している可能性があることを認識し、このタスクを処理できる既存のモジュールを探します。

解決策

Python エコシステムには、特定の分布で乱数を生成するためのいくつかのオプションが用意されています。

  1. scipy.stats.rv_discrete:

    • 分布オブジェクトの rvs() メソッドを利用して乱数を生成します。
  2. numpy.random.choice () p パラメーター付き:

    • p キーワード パラメーターとして確率を渡します。
    • 例:

      numpy.random.choice(numpy.arange(1, 7), p=[0.1, 0.05, 0.05, 0.2, 0.4, 0.2])
  3. 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。