确定npy.nan是否存在于pandas.Series

时间:2018-12-10 02:34:53

标签: python-3.x pandas series

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

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文件The World Bank

我正在尝试从类型为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年NaN值,其中2015年应为True。

最后的注释,在得到不一致的结果之后,即使在将文件读入pandas.DataFrame时自动分配了它,但为了解决问题,我还是通过DataFrame将npy.nan分配给了所讨论的单元格。刚才提到的结果是相同的。

请帮助。 :-)

0 个答案:

没有答案