python - random.gauss 不应该返回平均值和标准差之间的值吗?
问题描述
我尝试random.gauss
在 Python 中使用该函数来获取范围之间的随机值。高斯函数以均值、标准差为参数。返回值不应该在 之间[mean +- standard deviation]
吗?
下面是代码片段:
for y in [random.gauss(4,1) for _ in range(50)]:
if y > 5 or y < 3: # shouldn't y be between (3, 5) ?
print(y)
代码输出:
6.011096878888296
2.9192195126660403
5.020299287583643
2.9322959456674083
1.6704559841869528
解决方案
“返回值不应该在 [均值 +- 标准差] 之间吗?”
不会。对于高斯分布,略低于 32% 的结果将与任一方向的平均值相差一个标准差。没有包含 100% 结果的固定范围。
推荐阅读
- automation - 如何从一个关键字访问变量到另一个关键字
- java - 将Spring与Postgres一起使用时如何避免CannotSerializeTransactionException?
- google-cloud-platform - 如何使用 OAuth 访问令牌调用 Dialogflow Rest API
- javascript - ReactJS:如何在状态(useState)中获取响应数组并在渲染/绑定时检查数组的长度
- android - Android Studio -error: 无法访问 InternalTokenProvider // firebaseAuth = FirebaseAuth.getInstance();
- codenameone - 由于 UIWebView 被弃用,应用被 Apple 拒绝
- javascript - 如何使用 Sweetarlet2 删除?
- java - 如何使用 OracleDataReader 类或其他类再次滚动到第一条记录?
- reactjs - 如何在 React 中发出 axios POST 请求?
- html - 在 iphone 视图中测试时,HTML 选择选项(选择下拉菜单)超出屏幕宽度