Scipy - 二项分布的概率

Scipy - probability in binomial distribution

我正在尝试使用 scipy 来计算给定二项分布的概率:

概率:45题,每题5题,随机选对(而不是选错)一半以上的概率是多少,即22.5?

我试过:

from scipy.stats import binom

n = 45
p = 0.20
mu = n * p 

p_x = binom.pmf(1,n,p)

如何用 scipy 计算这个值?

假设每个问题只有一个正确选择,随机变量 X 通过随机选择计算正确回答问题的数量确实是二项分布,参数为 n=45p=0.2.因此,你要计算P(X >= 23) = P(X = 23 ) + ... + P(X = 45 ) = 1 - P(X <= 22),所以有两种计算方法:

from scipy.stats import binom

n = 45
p = 0.2

# (1)
prob = sum(binom.pmf(k, n, p) for k in range(23, 45 + 1))

# (2)
prob = 1 - binom.cdf(22, n, p)