首页 > 解决方案 > 为什么 Numpy.randint(0,100) 的 mean() 收敛到 49.49?

问题描述

我想测试 numpy randint 函数的分布有多均匀,所以我这样做了。

>>> a = np.random.randint(0, 100, 10000)
>>> a.mean()
`49.1685`
>>> a = np.random.randint(0, 100, 1000000)
>>> a.mean()
`49.494202`
>>> a = np.random.randint(0, 100, 1000000000)
>>> a.mean() <br>`49.49944384`

我对为什么平均达到 49.49 感到困惑。我想外面的其他人也会有同样的问题。

标签: pythonnumpy

解决方案


我花了一分钟才意识到。仅包括 0-99 范围内的数字
。 代码不言自明: range(0, 100)

>>> a = np.random.randint(0, 100, 1000000000)
>>> a.mean()
`49.49944384` 
>>> a = np.random.randint(0, 101, 1000000000)
>>> a.mean()
`50.000402272`

推荐阅读