NAN 是什么
NaN(Not a Number,非数)是计算机科学中数值数据类型的一类值,表示未定义或不可表示的值。常在浮点数运算中使用。首次引入NaN的是1985年的IEEE 754浮点数标准。 (来源于百度百科)
为什么numpy.nan 会出现 -2147483648或者是-9223372036854775808
因为 在创建数组的时候没有指定数组类型为float
系统默认的是 int32(出现-2147483648) 或者是int64(-9223372036854775808) 把数组类型改为float即可
# 3. 判断数组中nan的个数
t3 = np.arange(0,24,dtype="int64").reshape(4,6)
t3[:,0] = np.nan
print(t3)
g = np.count_nonzero(np.isnan(t3))
print(g)
print(t3.dtype)
# 对应的打印信息 此时g 的值是0
[[-9223372036854775808 1 2
3 4 5]
[-9223372036854775808 7 8
9 10 11]
[-9223372036854775808 13 14
15 16 17]
[-9223372036854775808 19 20
21 22 23]]
0
int64
类型换成float之后 此时 g的值是4
[[nan 1. 2. 3. 4. 5.]
[nan 7. 8. 9. 10. 11.]
[nan 13. 14. 15. 16. 17.]
[nan 19. 20. 21. 22. 23.]]
4
float64