【发布时间】:2016-11-08 05:54:54
【问题描述】:
我遇到的问题如下
我有一个包含 3 个值的一维整数列表(或 np.array)
l = [0,1,2]
我有一个二维概率列表(为简单起见,我们将使用两行)
P =
[[0.8, 0.1, 0.1],
[0.3, 0.3, 0.4]]
我想要的是numpy.random.choice(a=l, p=P),其中P(概率分布)中的每一行都应用于l。所以,我想用概率从 [0,1,2] 中抽取一个随机样本。区[0.8, 0.1, 0.1] 首先,然后是概率。区[0.3, 0.3, 0.4] 接下来,给我两个输出。
===== 更新======
我可以使用 for 循环或列表推导,但我正在寻找一种快速/矢量化的解决方案。
【问题讨论】:
-
在你的实际问题中,
len(P)和len(l)是什么? -
P.shape = (1000, 10), len(l) = 10