python - 概率函数生成值而不是随机调用

标签 python statistics

在我的 python 代码中,有几个地方我有一个人口,每个人都有 x 的机会发生某些事情,但我只需要受影响的人数。

amount = 0
population = 500
chance = 0.05

for p in range(population):
    if random.random() < chance:
        amount += 1

我的直觉告诉我,一定有比调用 random.random() 500 次更简单的方法来做到这一点。一些我不知道的数学或统计术语或函数。

amount = population * chance * random.random()

对于我的需要来说变化太大了。

最佳答案

n 0-1 个随机变量之和的分布,每个随机变量的概率为 p,称为 binomial distribution带有参数 np。我相信numpy.random.binomial会做你想做的事。

关于python - 概率函数生成值而不是随机调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32065067/

相关文章:

javascript - 如何使用 brython 使用 OpenCV python 库

Python函数在二进制数组中查找1s的索引和

python 参数

r - 如何抑制 RStudio 中的输出?

statistics - 将缺失值重新编码为条件均值

php - 我怎样才能建立统计 map ?

python - 如何在多重索引中排序和添加排名列?

python - 如何从 Dockerfile 安装 Python 3.7 和 Pip

math - 统一性如何表达?

python - 泊松过程检验