Numpy对于NaN值的判断方法
短信预约 -IT技能 免费直播动态提醒
numpy.nan的数据类型是float类型
import numpy as np
type(np.nan) # float
任何数字和numpy.nan进行计算,返回的结果都是nan
import numpy as np
print(np.nan + 1) # nan
print(np.nan - 1) # nan
print(np.nan * 1) # nan
print(np.nan / 1) # nan
对空值NaN的判断不能直接使用==表达式,bool表达式,以及不可直接使用if语句判断
import numpy as np
np.nan == np.nan # False
bool(np.nan) # True
# 输出结果:na is not null
if np.nan:
print('np.nan is not null')
需要使用Numpy自带的方法np.isnan(),is表达式,in表达式进行判断
import numpy as np
np.nan is np.nan # True
np.isnan(np.nan) # True
np.nan in [np.nan] # True
提示
如果使用Pandas来判断numpy.nan,可使用pd.isnull(),pd.isna()
import numpy as np
import pandas as pd
pd.isnull(np.nan) # True
pd.isna(np.nan) # True
注意:None、NaN、''空字符串的区别
# None是Python的特殊类型
# NoneType对象,它只有一个值None
type(None) # NoneType
None == None # True
None == np.nan # False
# 空字符串''
type('') # str
Pandas中的pd.isnull不仅可以检测np.nan也可以检测None,但不可以检测字符串,比如'','nan','None'
import pandas as pd
import numpy as np
pd.isnull(np.nan) # True
pd.isnull(None) # True
pd.isnull('') # False
pd.isnull('np.nan') # False
pd.isnull('None') # False
import pandas as pd
import numpy as np
List = ['nan', '', 'None', None, np.nan]
for i in List:
if i == '' or pd.isnull(i) or pd.isnull(float('nan')) or i == 'None':
print(i)
# 上述输出结果:
# nan
# ''
# None
# None
# nan
List(5 elements)
到此这篇关于Numpy对于NaN值的判断方法的文章就介绍到这了,更多相关Numpy NaN值内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341