【numpy】详解 np.nan和np.inf 的用法

np.nan和np.inf

np.nan

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

什么时候numpy中会出现nan?

  • 当我们读取本地的文件为float的时候,如果有缺失,就会出现nan
  • 当做了一个不合适的计算的时候 (比如无穷大(inf)减去无穷大)

np.nan 和np.nan 不相等

import numpy as np
np.nan!=np.nan

统计t3中不等于0的个数

import numpy as np
np.count_nonzero(t3)

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

import numpy as np
np.count_nonzero(t3!=t3)
import numpy as np
np.count_nonzero(np.isnan(t3))

查看t3中是否有nan有两种方式

import numpy as np
t3!=t3
import numpy as np
np.isnan(t3)

把t3中nan的值替换为0

import numpy as np
t3[np.isnan(t3)]=0

nan和任何数值计算都为nan

在一组数据中单纯的把nan替换为0,合适么?会带来什么样的影响?

比如,全部替换为0后,替换之前的平均值如果大于0,替换之后的均值肯定会变小,所以更一般的方式是把缺失的数值替换为均值(中值)或者是直接删除有缺失值的一行

np.inf

inf(-inf,inf):infinity 类型为浮点型
inf 表示正无穷,-inf 表示负无穷

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

  • 一个数字除以0,(python中直接会报错,numpy中是一个inf或者-inf)
import numpy
x =  numpy.inf
x>9999999999999999999
# 结果为: True

猜你喜欢

转载自blog.csdn.net/qq_44824148/article/details/121596776