首頁  >  文章  >  後端開發  >  如何在 Python 中使用自訂分佈來產生隨機數?

如何在 Python 中使用自訂分佈來產生隨機數?

Susan Sarandon
Susan Sarandon原創
2024-11-10 19:03:02468瀏覽

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 生態系統提供了多種選項來產生具有特定值的隨機數。 distribution:

  1. scipy.stats.rv_discrete:

    • 在values參數中提供你的機率。
    • 利用分佈物件的rvs()方法產生隨機數Numbers.
  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 ):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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn