ser = pnd.Series(['1',None, 2, npy.nan], index=['2001','2002','2003','2004'])
serTest = ser.isin([npy.nan]) == True
serTest已分配
2001错误
2002错误
2003错误
2004年真
(数据来自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分配给了所讨论的单元格。刚才提到的结果是相同的。
请帮助。 :-)