【发布时间】:2018-02-02 09:37:09
【问题描述】:
我有一个二维 numpy 数组 Z,我想随机选择 Z 的索引,其中选择索引的机会与该索引处 Z 的值成正比。
现在,我正在做以下事情:
yar = list(np.ndenumerate(Z))
x,y = yar[np.random.choice(len(yar), p=Z.ravel()/Z.sum())][0]
它可以完成这项工作,但感觉很糟糕(而且速度极慢)。有没有更好的办法?
【问题讨论】:
-
查看Raymond Hettinger tweet关于 wighted random 的信息,可能会有所帮助
标签: python arrays numpy random sampling