python - 为什么 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 感到困惑。我想外面的其他人也会有同样的问题。
解决方案
我花了一分钟才意识到。仅包括 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`
推荐阅读
- firebase - 调用我的 Firebase 函数时出错。TypeError:无法读取 /user_code/node_modules/cors/lib/index.js:219:39 处未定义的属性“来源”
- amazon-web-services - AWS SSM put 参数验证异常
- python - Discord.py 表情符号映射到未定义
- c# - Swift 类型别名的 C# 等效项
- scala - 尽管配置了 logback,但 Play 2.6x Scala 应用程序不记录
- javascript - 如何在反应中修复大树结构
- ios - 如何在 swift/ios 中获取设备设置时间?
- ruby-on-rails - 自定义巫术的 require_login 函数
- java - “。”的目的是什么?范围?
- python - from flask_session import Session 产生 ImportError: cannot import name want_bytes