试图确定pandas.Series中是否存在npy.nan

1.我创建的代码用于复制和测试我要完成的任务:

ser = pnd.Series(['1',None, 2, npy.nan], index=['2001','2002','2003','2004'])  
serTest = ser.isin([npy.nan]) == True

分配了

  • serTest

2001年错
2002年错
2003年错
2004年真实

2.显示不一致行为的代码:

(数据来自csv文件,世界银行)

我正在尝试从类型为npy.nan的csv文件中读取任何相关值 . 为了验证其类型的相关单元格并解决我遇到的问题,我使用以下代码,其中数据是熊猫系列类型,包含索引(年份)和浮点数(国内 生产环境 总值):

for flt in data:
    print('is nan {}'.format(npy.isnan(flt)))
  • 切片数据

2006 3.89552e 11
2007 4.25065e 11
...
2014 4.63903e 11
2015年NaN

对于有问题的单元格(2015年GDP),代码返回,这是我所期望的:

is nan True

但是,当我尝试返回一个布尔系列时,比如复制代码,上面的项目符号1,我得到:

2006 False  
2007 False  
... 
2014 False 
2015 False

其中2015年应该是真实的,基于数据的2015年NaN值 .

最后的评论,在获得不一致的结果后,即使它在将文件读入pandas.DataFrame时自动分配,在另一种尝试来隔离问题,我通过DataFrame将npy.nan分配给相关单元格 . 刚才提到的结果是一样的 .

请帮忙 . :-)