喜喜,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])
网友评论