Python,Pandas和numpy中的NaN |
您所在的位置:网站首页 › python中isnan › Python,Pandas和numpy中的NaN |
在处理数据时NAN值是非常常见的,但是NaN值你真的了解吗? 下面让楓尘君带大家了解一下这个神奇的NAN 在csv表格中长这样: 在python里展示为这样: 我们创建这个值时是这样: import numpy as np np.nan 但是想判断是否是np.nan还真是有点难度: a=np.nan print(a==np.nan) 结果是False print(a.equal(np.nan)) 报错:AttributeError: 'float' object has no attribute 'equal' print(a=="NaN") False print(a==float('NaN')) False print(str(a)=='NaN') False查看类型: print(type(a)) 结果: 在参考链接1之后,终于判断成功 from math import isnan print(isnan(a)) 结果为True 举一反三,所以我发现,一下判断也成立: print(str(a)=='nan') True print(np.math.isnan(a)) True print(np.isnan(a)) True当楓尘君兴致勃勃,手舞足蹈的使用np.math.isnan(a)进行判断时,竟然: 又试了np.isnan(a),还是报错: 发现只有,number类型(int float)才能用np.math.isnan和math.isnan。 wtf,我数据80%都是String,这怎么判断呢,正当我一筹莫展时,我发现了链接2 可以用pandas库来检验: import pandas as pd pd.isnull(np.nan) #此时一样输出为True #同样的pd.notnull()用来判断不为nan值 验证一下: 完美通过,别说这NaN还真是挺让人头痛,希望看了这篇博客的人能避免此类小错误,楓尘君可是折腾了宝贵的两个小时呢!!! |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |