如何在Python中產生具有特定分佈的隨機數?

Susan Sarandon
發布: 2024-11-10 17:28:02
原創
608 人瀏覽過

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

產生具有指定(數值)分佈的隨機數

本文解決了根據給定分佈產生隨機數的挑戰。特別是,重點是輸入中概述的特定分佈:

1 0.1
2 0.05
3 0.05
4 0.2
5 0.4
6 0.2
登入後複製

用於基於分佈的隨機數生成的現有模組

可以開髮用於生成的定制解決方案根據給定分佈的隨機數。這涉及創建累積密度函數並根據 0 到 1 之間隨機生成的值選擇相應的值。但是,許多現有模組可以簡化此任務,無需手動編碼。

scipy.stats。 rv_discrete

其中一個模組是 scipy.stats.rv_discrete,它允許您透過其 value 參數指定機率。要產生隨機數,可以呼叫分佈物件的 rvs() 方法。

numpy.random.choice()

另一個選擇是使用 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 及更高版本,您可以利用標準庫中的 random.choices() 。這是一個範例:

import random
random.choices(range(1, 7), weights=[0.1, 0.05, 0.05, 0.2, 0.4, 0.2])
登入後複製

以上是如何在Python中產生具有特定分佈的隨機數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板