第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

生成具有給定(數(shù)字)分布的隨機數(shù)

生成具有給定(數(shù)字)分布的隨機數(shù)

慕森王 2019-07-24 10:37:49
生成具有給定(數(shù)字)分布的隨機數(shù)我有一個文件,其中包含一些不同值的概率,例如:1 0.12 0.053 0.054 0.25 0.46 0.2我想用這個發(fā)行版生成隨機數(shù)。是否存在處理此問題的現(xiàn)有模塊?自己編寫代碼相當(dāng)簡單(構(gòu)建累積密度函數(shù),生成隨機值[0,1]并選擇相應(yīng)的值)但似乎這應(yīng)該是一個常見問題,可能有人創(chuàng)建了一個函數(shù)/模塊它。我需要這個,因為我想生成一個生日列表(不遵循標(biāo)準(zhǔn)random模塊中的任何分發(fā))。
查看完整描述

3 回答

?
墨色風(fēng)雨

TA貢獻(xiàn)1853條經(jīng)驗 獲得超6個贊

從Python 3.6開始,Python的標(biāo)準(zhǔn)庫就有了解決方案,即random.choices

用法示例:讓我們設(shè)置一個與OP問題匹配的總體和權(quán)重:

>>> from random import choices>>> population = [1, 2, 3, 4, 5, 6]>>> weights = [0.1, 0.05, 0.05, 0.2, 0.4, 0.2]

現(xiàn)在choices(population, weights)生成一個樣本:

>>> choices(population, weights)4

可選的僅關(guān)鍵字參數(shù)k允許一次請求多個樣本。這很有價值,因為random.choices在生成任何樣本之前,每次調(diào)用時都需要做一些準(zhǔn)備工作; 通過一次生成許多樣本,我們只需要做一次準(zhǔn)備工作。在這里,我們生成了一百萬個樣本,并用于collections.Counter檢查我們得到的分布大致與我們給出的權(quán)重相匹配。

>>> million_samples = choices(population, weights, k=10**6)>>> from collections import Counter>>> Counter(million_samples)Counter({5: 399616, 6: 200387, 4: 200117, 1: 99636, 3: 50219, 2: 50025})


查看完整回答
反對 回復(fù) 2019-07-24
  • 3 回答
  • 0 關(guān)注
  • 570 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號