用Python计算超几何分布的差异

2024-09-28 21:20:49 发布

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

我有一个关于使用Python进行超几何分布计算的问题。假设我有一袋15个球,其中5个是蓝色的,10个是红色的。如果我随机挑出5个球,我从5个球中挑出4个蓝色球的几率有多大?如果我在Python中使用模拟执行此操作,代码如下:

 import numpy as np
 balls=['blue']*5+['red']*10
 count=0
 for i in range(10000):
     pick=np.random.choice(balls, 5)
     if list(pick).count('blue')==4:
         count+=1
 odds=count/10000
 print(odds)

我得到0.04左右。但如果我用scipy.stats公司,我得到了一个不同的号码。代码非常简单。在

^{pr2}$

我得到0.016。为什么这两个不同呢?在


Tags: 代码importnumpyascountnpbluered