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)

猜你喜欢

转载自www.cnblogs.com/wt7018/p/11968326.html
今日推荐