繁体   English   中英

如何从 numpy 概率数组中随机抽样?

[英]how to randomly sample from a numpy array of probabilities?

我有一个像这样的 numpy 数组:

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

现在我想做的是从这个数组中采样,这样我得到某个索引的概率取决于索引处的概率。 例如,我得到索引 3 的概率是.3

任何人都知道任何漂亮的方法来做到这一点?

您可以使用np.random.choice通过将采样分布作为参数p来使用离散概率分布进行加权采样:

import numpy as np

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

# sample from `x` 100 times according to `x`
n_samples = 100
samples = np.random.choice(x, n_samples, p=x)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM