【发布时间】:2016-04-29 17:52:45
【问题描述】:
有什么方法可以在一行中执行以下操作? 假设我有一个概率数组,
p=np.array([0.75, 0.63, 0.33, 0.25, 0.47])
其中每个值对应选择1的概率,(1-p)对应选择0的概率,即0.75为选择1的概率,1-0.75为选择0的概率,0.63为选择1 和 1 - 0.63 用于选择 0 等等。我有没有更简单的方法来执行以下操作,希望没有循环?
values = np.empty(p.shape)
for i, prob in enumerate(p):
values[i] = np.random.binomial(1, prob)
我知道可以使用 map 来完成,但有没有办法直接在 numpy 中完成?
【问题讨论】:
标签: python arrays numpy random