numpy中np.nan你造吗

2020-05-01  本文已影响0人  叮当说

喜喜,numpy中,的np.nan有一些事情需要你知道,否则会出错滴~

在计算机本没有绝对绝对相等的数据,所谓的相等只是精度允许的条件的相等而已!

单数对于,np.nan 原意为 not a number,所以当然不能判断两个np.nan 是否相等啦!

比如:

print(np.nan==np.nan)

这样的返回值,一定是False

那么问题来了,我有个数组中有些不是数值的位,还想提取咋办?

别慌,搞他。。。

嘿嘿,场面一度尴尬😅

首先介绍,技能1,numpy中布尔数组的取反

a=np.array([[True,False],[True,False]])

c=(1-a).astype(np.bool)

好滴,可以对布尔数组取反后,我们就还可以获取是 NAN的数据

然后 对该数组取反,就可以得到非NAN的数据

num= np.array([[1, 2, 3], [np.nan, 2, 3], [1, np.nan, np.nan]])

c=np.isnan(num)

d= (1-c).astype(np.bool)

print(d)

print(num[d])

上一篇下一篇

猜你喜欢

热点阅读