如何在Python中生成随机数?

13 投票
2 回答
11104 浏览
提问于 2025-04-15 15:33

在Python或者Numpy里面,有没有自带的库可以用来生成基于一些常见分布的随机数,比如:

  • 正态分布
  • 泊松分布
  • 指数分布
  • 伯努利分布

还有其他的分布吗?

有没有支持多变量分布的库呢?

2 个回答

5

random模块有很多功能,可以用来生成各种随机数。虽然不确定它是否支持多变量的随机数。

接下来可以看看Numpy.random,它可能会更适合你的需求。

27
#!/usr/bin/env python
from scipy.stats import bernoulli,poisson,norm,expon

bernoulli、poisson、norm、expon等许多分布的详细信息可以在这里找到。

print(norm.rvs(size=30))
print(bernoulli.rvs(.3,size=30))
print(poisson.rvs(1,2,size=30))
print(expon.rvs(5,size=30))

在scipy.stats中定义的所有分布都有一个共同的接口,可以用来处理pdf(概率密度函数)、cdf(累积分布函数)和rvs(随机变量)。更多信息请查看这里

撰写回答