Python中独立概率的有效随机0,1生成

2024-09-29 23:24:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一大堆相互独立的概率。除了在循环中每次调用numpyrandom之外,有没有一种有效的方法可以根据这些概率生成0或1?我每次只需要一次试验的结果,但要考虑每一种可能性。在

# current method using np.random.binomial()
n = 1
p = np.random.random(1000) #generating 1000 probabilities

results = np.zeros(1000)
for ix, i in enumerate(p):
    results[ix] = np.random.binomial(n,i,1)

有没有一种更快的方法或函数可以取一组独立的概率(所以不是随机选择,因为概率不会加1)。在


Tags: 方法npzerosrandomcurrent可能性概率results
2条回答

^{}p参数可以是列表式的,如果是这样,它代表每个样本的p值。同样,当像这样使用list时,您甚至不需要提供期望的样本总数:您只需为p中的每个值获取一个。在

results = np.random.binomial(n, p)

还有一些样品来证明这一点:

^{pr2}$

你可以试试这个:

np.where(p > np.random.rand(1000), 1, 0) 

相关问题 更多 >

    热门问题