Python数组平均值怎么求?Python用numpy求平均值是如何忽略nan值

python之中的数组是需要通过numpy这个库才能够创建出来的一个数据结构 , 而最近有小伙伴在求数组平均时遇到了有nan值得到的结果就全部为nan的问题 。那么下面小编会来给大家讲解一下python用numpy库求数组平均值是忽略nan值的方法 , 一起往下看看吧 。

Python数组平均值怎么求?Python用numpy求平均值是如何忽略nan值

文章插图
(1)nan是数组类型之中才会有的一个特殊值 , 它不单纯的表示为空值 。它的实际名称实际上是非数 , 也就是计算机无法去识别的数字 。只要在数据结构中有nan参与计算的话 , 那么得到的结果就会完全的变为nan 。
而解决方法就是在对数组内所有元素进行计算时将nan值给忽略掉 , 那么numpy内有这么一个方法nanmean()就是用来忽略数组结构中nan值并且请求平均数的 , 详细代码示例如下所示:
import numpy as nparr = [1,2,3,4,5,nan,6,nan]np.nanmean(arr)10.5这个方法只能够对一维数组 , 也就是只有一行的数组结构进行计算 。
(2)那么要在多行多列的多维数组上面去计算它的平均值 , 并且还要在计算时忽略nan值的话就得用到归一化操作了 。归一化指的是将一个多维数组经过行列的计算转换成一行一列的数组格式 , 在这个过程之中可以用去除无效数据的方式来将nan值给剔除出数组结构 , 代码如下所示:
from numpy import nan, nanmeanfrom sklearn.preprocessing import StandardScalerscaler = StandardScaler()scaler.fit(A)scaler.mean_scaler.transform(A)nanmean(scaler.transform(A), axis=0)【Python数组平均值怎么求?Python用numpy求平均值是如何忽略nan值】以上就是关于“Python数组平均值怎么求?Python用numpy求平均值是如何忽略nan值”的全部内容了 , 希望对你有所帮助 。

    推荐阅读