numpy nan和inf

Posted wt7018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numpy nan和inf相关的知识,希望对你有一定的参考价值。

一、nan和inf的简介

nan 不是一个数字
读取本地文件为flaot的时候,有缺失
inf(infinity): 无穷尽
inf: 正无穷
-inf: 负无穷
数据类型:float
# 注意: 要想直接赋值nan和inf需要修改数组的数据类型为float

二、nan中的注意点

1、两个nan是不相等的

2、np.nan != np.nan 布尔索引,结果为True

3、判断数组中nan的个数
arr1 != arr1    # nan相等的为True
np.count_nonzero(arr1 != arr1)    # True为非0

4、修改nan值的两种方法
# 方法一
np.isnan(arr1) # 是布尔索引判断arr1中为nan的
arr1[np.isnan(arr1)] = 0 # 修改数据值
# 方法二
arr1 != arr1    # 布尔索引
arr1[arr1 != arr1] = 3    # 修改nan的值

5、nan和任意值计算都是nan

三、nump中常用统计函数

求和:np.sum(arr1, axis=None)        
均值:np.mean(arr1, axis=0)        # 平均值
中值:np.median(arr1, axis=0)    # 中值
最大值:np.max(arr1, axis=0)
最小值:np.min(arr1, axis=0)
极值:np.ptp(arr1, axis=0)        # 最大值减最小值
标准差:np.std(arr1, axis=0)        
# 反映出数据的波动情况
# 标准差数值较少,代表这些数值比较接近平均值,越稳定,否则,越不稳定

注意:一般替换数值的nan使用均值(mean)或中值(media)

以上是关于numpy nan和inf的主要内容,如果未能解决你的问题,请参考以下文章

科学计算基础软件包NumPy入门讲座:常用函数

具有无穷大的复数的 numpy 平均值

如何使用 NumPy 在 Python 中读取二进制文件?

如何在双变量中检查 inf(和 | 或)NaN

[记] C语言中的nan和inf

比较 pandas/numpy 中的 NaN 列