gpt4 book ai didi

python - Numpy:从N个离散概率分布中的每一个中随机选择1个样本

转载 作者:行者123 更新时间:2023-12-05 07:18:15 25 4
gpt4 key购买 nike

我有一个二维 Numpy 数组 P,其中每个 P[ii,:] 都是 0,1,...,M- 上的离散概率分布1.我想从每个 P[ii,:] 中采样一次。我尝试使用 numpy.random.choice 函数:

for ii in range(N):
samples[ii] = np.random.choice(np.arange(M), p=P[ii,:])

如果没有 for 循环,我如何做同样的事情?

谢谢。

最佳答案

我想你可能想要 np.apply_along_axis

import numpy as np

P = np.array([[0,1/2,1/2],[1,0,0],[1/3,1/3,1/3]])

def rand_choice(c):
return np.random.choice(c.size, p=c)

samples = np.apply_along_axis(rand_choice, 1, P)

关于python - Numpy:从N个离散概率分布中的每一个中随机选择1个样本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58421295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com