使用自訂分佈產生隨機數
在程式設計領域,產生隨機數是一項基本任務。對於標準隨機模組的分佈不足的場景,例如模擬生日時,有必要產生符合使用者定義分佈的數字。
用於自訂分佈的現有模組
幸運的是,Python豐富的庫生態系統為這個問題提供了解決方案。其中一個模組是 scipy.stats.rv_discrete,它允許您指定不同值的機率並相應地產生隨機數。 rv_discrete 中的values 參數採用與可能值相對應的機率清單。
scipy.stats.rv_discrete 的範例用法
為了說明rv_discrete 的使用,請考慮以下範例:
import scipy.stats as stats # Define the probabilities probabilities = [0.1, 0.05, 0.05, 0.2, 0.4, 0.2] # Create the discrete distribution dist = stats.rv_discrete(values=(range(1, 7), probabilities)) # Generate random numbers random_numbers = dist.rvs(size=10)
其他🎜>其他🎜>
其他選項除了scipy.stats.rv_discrete,Python 的numpy.random.choice() 提供了另一種方法。透過使用 p 關鍵字參數指定機率,它允許使用者根據自訂分佈產生隨機數。
Python 3.6 及更高版本:random.choices()如果您使用的是Python 3.6 或更高版本,random 模組包含random.choices()函數,該函數可以簡化使用自訂分佈產生隨機數的過程。
結論無論您選擇scipy.stats.rv_discrete、numpy.random.choice() 或random.choices(),Python 都提供了一套全面的工具來產生符合使用者定義分佈的隨機數,使您能夠有效應對統計挑戰。以上是如何在 Python 中產生具有自訂分佈的隨機數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!