转自:微点阅读 https://www.weidianyuedu.com
本文主要介绍了Numpy对于NaN值的判断方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
numpy.nan的数据类型是float类型
1 2 | import numpy as np type (np.nan) # float |
任何数字和numpy.nan进行计算,返回的结果都是nan
1 2 3 4 5 | 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语句判断
1 2 3 4 5 6 7 8 | 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表达式进行判断
1 2 3 4 | 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()
1 2 3 4 | import numpy as np import pandas as pd pd.isnull(np.nan) # True pd.isna(np.nan) # True |
注意:None、NaN、''空字符串的区别
1 2 3 4 5 6 7 8 | # None是Python的特殊类型 # NoneType对象,它只有一个值None type ( None ) # NoneType None = = None # True None = = np.nan # False # 空字符串'' type ('') # str |
Pandas中的pd.isnull不仅可以检测np.nan也可以检测None,但不可以检测字符串,比如'','nan','None'
1 2 3 4 5 6 7 | 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 |
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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值的判断方法的文章就介绍到这了,希望可以帮到你