关于Python中的空值问题及解决

 更新时间:2023年11月28日 10:51:14   作者:芊欣欲  
这篇文章主要介绍了关于Python中的空值问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

背景

python中有许多表示空值的方式,本文对不同的空值表达方式从类型、等值性、语法方面进行归纳总结

1. None 介绍

None是python中独有的特殊数据类型,它不同于空列表、空字符串、空Series等,它是一个特殊的存在,表示什么都没有。

类型

  • NoneType

2. NaN和np.nan 介绍

NaN(not a number)是属于numpy和pandas下的专有数据类型,不是python原生的。

np.nan在import numpy as np后可以使用,而NaN需要额外from numpy import NaN

类型

  • float

语法

由于np.nan和NaN的等值性比较特殊,NaN == NaN会return false,所以判断一个值是否为空需要调用pandas活着numpy包中的api,具体语法如下:

对于整体的Series或者Dataframe判断是否为空:isnull()

对于单独的某个值判断:np.isnan()

3. Null 介绍

NULL是C语言中表示空值的主要表现方式,而Python中没有Null,在python中的等位替换为None

4. NaT 介绍

NaT是numpy和pandas中一种特殊的空值,类似于NaN中var = np.nan的方式对变量赋NaT,该变量只会出现在python连接数据库读取数据的情况下(未找到相关官方资料,如有不对之处请指正),如果数据库中的数据类型是timestamp等与时间相关的类型,而其中又没有数据的话,用python读取后可能为此类型。

类型

  • datetime非时间标量值

语法

判断是否为空的语句(对单个值而不是dataframe):np.isnat()

注意:对NaT执行x.tz_localize(None)等时区转换的操作不会报错。

5. 等值性

在python中等值性不太稳定,总体来说None的表现比NaN稳定,推荐优先考虑None或者空字符串。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 如何理解及使用Python闭包

    如何理解及使用Python闭包

    闭包是优雅的 Python 结构,在本文中,我们将了解它们,如何定义闭包,为什么以及何时使用它们.但是在讨论什么是闭包之前,我们必须首先理解什么是嵌套函数,以及作用域规则是如何为它们工作的.那么让我们开始吧,需要的朋友可以参考下
    2021-06-06
  • python多线程、网络编程、正则表达式详解

    python多线程、网络编程、正则表达式详解

    这篇文章主要介绍了python多线程、网络编程、正则表达式,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • 利用Python实现网络测试的脚本分享

    利用Python实现网络测试的脚本分享

    这篇文章主要给大家介绍了关于利用Python实现网络测试的方法,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-05-05
  • 使用python对excel表格处理的一些小功能

    使用python对excel表格处理的一些小功能

    这篇文章主要介绍了使用python对excel表格处理的一些小功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • matplotlib之pyplot模块实现添加子图subplot的使用

    matplotlib之pyplot模块实现添加子图subplot的使用

    这篇文章主要介绍了matplotlib之pyplot模块实现添加子图subplot的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Pycharm快速安装OpenCV的详细操作步骤

    Pycharm快速安装OpenCV的详细操作步骤

    Pycharm中使用OpenCV,其实也就是用Python语言调用OpenCV,下面这篇文章主要给大家介绍了关于Pycharm快速安装OpenCV的详细操作步骤,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • Python实现好友全头像的拼接实例(推荐)

    Python实现好友全头像的拼接实例(推荐)

    下面小编就为大家带来一篇Python实现好友全头像的拼接实例(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 浅谈django框架集成swagger以及自定义参数问题

    浅谈django框架集成swagger以及自定义参数问题

    这篇文章主要介绍了浅谈django框架集成swagger以及自定义参数问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Python中操作文件夹和文件路径的方法

    Python中操作文件夹和文件路径的方法

    文章主要介绍了Python标准库os中操作文件和文件夹的相关函数,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2025-12-12
  • Python基于Opencv来快速实现人脸识别过程详解(完整版)

    Python基于Opencv来快速实现人脸识别过程详解(完整版)

    这篇文章主要介绍了Python基于Opencv来快速实现人脸识别过程详解(完整版)随着人工智能的日益火热,计算机视觉领域发展迅速,今天就为大家带来最基础的人脸识别基础,从一个个函数开始走进这个奥妙的世界,需要的朋友可以参考下
    2019-07-07

最新评论