pandas基于numpy,所以其中的空值nan和numpy.nan是等价的。numpy中的nan并不是空对象,其实际上是numpy.float64对象,所以我们不能误认为其是空对象,从而用bool去判断是否为空值,这是不对的。可以判断pandas中单个空值对象的方式:1、利用pd.isnull(),pd.isna();2、利用np.isnan();3、利用is表达式;4、利用in表达式。示例:总结numpy.nan是一个numpy.float64的非空对象,所以不能直接用bool表达式去判断,故一切依赖于布尔表达式的判断方式都不行,比如if语句。比较奇怪的一点是pandas中空值的判断可以用is表达式判断,但是不能用==表达式判断。
暂无评论