簡體   English   中英

使用Python從一組歸一化頻率中采樣索引

[英]Sampling indices from an array of normalized frequencies with Python

我正在嘗試找出一種從標准化頻率數組中采樣索引的有效方法。 本質上,我有大量的數據,因此不可能將數據存儲在具有每次出現的元素的表中(允許重復的元素)。

作為一個小例子來說明我正在嘗試做的事情。 假設我在Python中具有以下數組:

freqs = [.2, .1, .1, .3, .3]

現在,我想要的是基本能夠產生一個整數,該整數通過對0到4之間的值進行采樣來對上面的數組進行索引,該值遵循與每個索引位置相關的分布。 也就是說,如果采樣了100個索引,我希望其中的20%為0(平均)。

您可以針對幾乎相同的問題檢查答案。

您只需要定義數字及其頻率即可。

如果您使用的是python> = 3.6,則可以使用開箱即用的功能

from random import choices
indices = [1,2,3]
probs = [.3, .3, .4]
def get_rand_choice():
    return choices(indices, probs)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM