numpy中的nan与inf

1. nan(NAN,Nan):not a number表示不是一个数字

什么时候numpy中会出现nan:

当我们读取的本地文件格式为float时,如果有缺失,就会出现nan;

当做了一个不合适的计算的时候(比如无穷大(inf)减去无穷大)

2:inf(-inf,inf):infinity,inf表示正无穷,-inf表示负无穷

什么时候回出现inf包括(-inf,+inf)

比如一个数字除以0,(python中直接会报错,numpy中是一个inf或者-inf)

3. np.nan 和np.nan 不相等

np.nan!=np.nan

4. 统计t3中nan的个数的两种方式

t3 = np.array([1,2,3,4,np.nan,4,np.nan,5])

np.count_nonzero(t3!=t3)  #利用的原理就是 np.nan 和np.nan 不相等

np.count_nonzero(np.isnan(t3))   #利用的原理就是false是零值

统计t3中不等于0的个数:--->np.count_nonzero(t3)

5.把t3中nan的值替换为0

t3[np.isnan(t3)]=0

6. nan和任何数值计算结果都为nan

import numpy as np

s1 = np.array([2,3,4,np.nan])
print(np.mean(s1))

以上代码运算结果为nan

np.nanmax用来在除掉np.nan后,在剩余的数据里求最大值,

import numpy as np
s1 = np.array([3,4,1,2,np.nan])
s1_max = np.nanmax(s1)
print(s1_max)

以上代码运行结果为4,如果直接用np.max(s1),则运行结果为nan。

一般的方式是把缺失的数值替换为均值(中值)或者是直接删除有缺失值的一行。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值