python-3.x - np.nanstd 在 python 中返回 inf 值
问题描述
我想计算使用的标准偏差,np.array
但np.nanstd
它返回inf
而不是实际值。我的 numpy 数组看起来
[[1.19665046e-311 1.19665144e-311 nan ... 2.29685654e+049 4.98919540e+228]
[2.00798195e+165 8.02088921e+035 ... nan nan 1.10386271e+031]
..]
计算 np.nanstd 后返回的值为
[inf inf inf inf inf inf inf inf inf
inf inf inf inf inf inf inf inf inf
inf inf inf inf]
为什么它会产生inf
价值,我怎样才能获得实际价值?
解决方案
乍一看,您的数组中的某些值太大了。举个4.98919540e+228
例子。标准差由 计算root(sum(square(x-x_mean))/N)
,因此您计算的是 e+228 平方,即 e+456 - 比 python 可以处理的多。inf
除非您输入较小的值,例如低于 e+150,否则它将继续显示。
推荐阅读
- javascript - 如何一步封装一些黄瓜步骤?或在参数中?还是在标签中?
- database - 表格增量更新
- quarkus - Optaplanner Quarkus 反射问题
- reactjs - 有没有一种方法可以在不扭曲的情况下显示图像的大小?
- xamarin - 在使用 Itext7 创建 pdf 时,在 xamarin 表单 Android 中出现异常
- python - Python - 使用两个相互依赖的类和一个 for 循环
- ray - ray tune 中是否有“initial_workers”(cluster.yaml)替换机制?
- php - 如何在laravel中获取关系计数的关系?
- paypal - PayPal 订单 v2:TRANSACTION_REFUSED 和 UNPROCESSABLE_ENTITY
- audio - agora audio vdo 解决方案在阿曼的移动应用程序中是否有效?