为矩阵中的每个值从泊松抽取随机变量

draw random variable from Poisson for every value in matrix

我有矩阵 b b.shape = (100,200)。对于 b 中的每个元素,我想从具有 mu = b 的相应泊松分布中抽取一个随机变量并存储此 r.v。在矩阵 X.

import SciPy as sc
X = sc.stats.poisson.rvs(size = np.empty((100,200)), mu = b)

然而,这引发了一个例外:

The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

据我了解 (thanks to this post),这是由于将数组解释为布尔值。也就是说,我并没有真正看到布尔运算,也没有看到任何可能的解决方案(嵌套 for 循环除外,我尽量避免这种情况以提高复杂性)。

还有更美的推荐吗?

感谢@JohanC,问题已解决。

import scipy as sc
X = sc.stats.poisson.rvs(size = (100,200), mu = b)