Python基础——None、False、np.nan的区别

Python基础——None、False、np.nan的区别

Date:2021-05-18

1、None
None在python中是一种特殊的变量,代表空值(其他语言可能为null),不是bool值,也不是空字符串’ ‘、空列表[ ]、空Series、空Dataframe,而是一个特殊的值,值为None,类型为Nonetype。
2、False 和 True
(1)False和True是一个bool值 ,通常作为逻辑运算的判断结果(真或假)
(2)常数0的bool值为False,其他值为True,而且bool值在参与数值运算时,False代表0,True代表1;空字符串’’、空列表[ ]、空集合{}的布尔值为False,但对于字典,一旦设置键key,即使没有对应的值,其布尔值也为True
3、np.nan
np.nan作为numpy或pandas中的空值,nan与None的等值性比较如下:Python基础——None、False、np.nan的区别_第1张图片
由于等值性比较方面,None和NaN在各场景下表现不太一致,相对来说None表现的更稳定。

为了不给自己惹不必要的麻烦和额外的记忆负担。 实践中,建议遵循以下三个原则即可

(1)在用pandas和numpy处理数据阶段将None,NaN统一处理成NaN,以便支持更多的函数。
(2)如果要判断Series,numpy.array整体的等值性,用专门的Series.equals,numpy.array函数去处理,不要用==判断
(3)如果要将数据导入数据库,将NaN替换成None

你可能感兴趣的:(python,数据分析)