pandas缺失值np.nan, np.isnan, None, pd.isnull, pd.isna

 更新时间:2024年04月03日 10:49:59   作者:每天都想躺平的大喵  
本文主要介绍了pandas缺失值np.nan, np.isnan, None, pd.isnull, pd.isna

np.nan != np.nan

在计算机中本没有绝对绝对相等的数据,所谓的相等只是精度允许的条件下相等!np.nan 原意为 not a number。

概括:

  • 对某个值是否为nan进行判断,只能用np.isnan(i),绝不可用 i == np.nan 来判断,因为nan具有不等于自身的属性,应该使用np.isnan来测试nan值,如np.isnan(np.nan)将产生True;
  • np.nan非空对象,其类型为基本数据类型float;

np.nan

np.nan
not a membernan的含义是“not a number“,它是对array中缺失的数值的占位符
type 为 float因为代表缺失的数值,np.nan的type是float
可参与计算np.nan的type是float,所以np.nan可参与计算,且占主导地位,也就是算出的值都为np.nan
不等于自身如果用np.nan==np.nan,会发现返回的结果为False,如果用np.nan in array,也不能发现array中是否包含np.nan
np.isnan判断是否存在np.nannp.nan因为没有等于的概念,所以要判断是否存在np.nan,只可以用np.isnan来判断
np.isnan只可以判断数值型如果用np.isnan对其余type的array判断,会报错,np.isnan只可以判断数字型array
忽略np.nan的numpy计算
nansum()
nanmax()
nanmin()
nanargmax()
nanargmin()

nan和None 

  • python自带的 None ,为 NoneType 类型, 代表空类型,不能参与运算
  • numpy中的 isnan 对应的是 NaN 值,代表“不是数字”,数值类型为 float ,数组中显示为nan,能参与运算,但结果显示为NaN;

None

None
NoneTypeNone的type为NoneType,是python内置的
不可参与计算None不可参与计算,否则报错
None is None 或者 None==None这两种方式返回值都是True

pd.isnull 和 pd.isna

pd.isnull pd.isna
pd.isnull 和 pd.isna是同一个东西用命令pd.isnull==pd.isna,会发现返回值为True
None和np.nan在pandas中都是缺省值None和np.nan都会被pd.isnull或者pd.isna判断为True
可以判断List或者单独一个值pd.isnull和pd.isna的判断对象可以为一个值或者一个list
pandas中缺省值不参与计算当使用df.min()等计算时,会发现缺省值不参与计算

代码示例

只可以用np.isnan判断array中是否包含np.nan

a = np.array([1,2,3,4,np.nan])
a == np.nan
>>> array([False, False, False, False, False])
np.nan in a
>>> False
np.isnan(a)
>>> array([False, False, False, False,  True])

np.nan可参与计算,np.nan占主导地位

a = np.array([1,2,3,4,np.nan])
a.max()
>>> np.nan
a.min()
>>> np.nan
b = np.array([1,np.nan,3,4,5])
a+b
>>> array([ 2., nan,  6.,  8., nan])

np.isnan只可以对数值型array判断,当array中其余的元素为字符串是,array会将np.nan转换成’nan’

在这里插入图片描述

在pandas中,np.nan和None都被视为缺省值

df = pd.DataFrame({'col1':['a','b','c','d'], 'col2':[1,2,3,4]})
df.loc[1,'col1'] = np.nan
df.loc[2,'col1'] = None
df
>>> col1	col2
0	a	1
1	NaN	2
2	None	3
3	d	4

pd.isna(df)
>>>	col1	col2
0	False	False
1	True	False
2	True	False
3	False	False

pandas中缺省值不参与计算

df = pd.DataFrame(np.arange(8).reshape(2,4))
df.iloc[0,1] = None
df.iloc[0,2] = np.nan
df
>>> 0	1	2	3
0	0	NaN	NaN	3
1	4	5.0	6.0	7

df.min(axis=1)
>>> 0    0.0
1    4.0
dtype: float64

到此这篇关于pandas缺失值np.nan, np.isnan, None, pd.isnull, pd.isna的文章就介绍到这了,更多相关 np.nan, np.isnan, None, pd.isnull, pd.isna内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python抓取百度首页的方法

    python抓取百度首页的方法

    这篇文章主要介绍了python抓取百度首页的方法,涉及Python使用urllib模块实现页面抓取的相关技巧,需要的朋友可以参考下
    2015-05-05
  • pycharm没有找到manage repositories按钮的解决办法

    pycharm没有找到manage repositories按钮的解决办法

    这篇文章主要给大家介绍了关于pycharm没有找到manage repositories按钮的解决办法,pycharm是用来写python的可视化代码软件,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • Keras搭建分类网络平台VGG16 MobileNet ResNet50

    Keras搭建分类网络平台VGG16 MobileNet ResNet50

    这篇文章主要为大家介绍了Keras搭建分类网络平台VGG16 MobileNet ResNet50,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python 中省略号对象的使用

    Python 中省略号对象的使用

    作为一名经验丰富的 Python 开发人员,您可能遇到过 Python 中的三个点…省略号对象, 如果您尝试在 Python 解释器中打印此内容,它将显示一个省略号,本篇文章将介绍 Python 中省略号对象的使用,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • Python xmltodict模块安装及代码实例

    Python xmltodict模块安装及代码实例

    这篇文章主要介绍了Python xmltodict模块安装及代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • 基于Tensorflow批量数据的输入实现方式

    基于Tensorflow批量数据的输入实现方式

    今天小编就为大家分享一篇基于Tensorflow批量数据的输入实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python中单例常用的几种实现方法总结

    python中单例常用的几种实现方法总结

    Python 的模块就是天然的单例模式,下面这篇文章主要给大家介绍了关于python中单例常用的几种实现方法,文中通过示例代码介绍的非常详细,对大家学习或者使用python单例具有一定的参考学习价值,需要的朋友们一起来看看吧
    2018-10-10
  • 如何使用 Python和 FFmpeg 批量截图视频到各自文件夹中

    如何使用 Python和 FFmpeg 批量截图视频到各自文件夹中

    wxPython 提供了一个简单易用的界面,而 FFmpeg 则负责处理视频帧的提取,这个工具不仅对视频编辑工作有帮助,也为批量处理视频文件提供了极大的便利,这篇文章主要介绍了使用 Python和 FFmpeg 批量截图视频到各自文件夹中,需要的朋友可以参考下
    2024-08-08
  • python中的yield使用方法

    python中的yield使用方法

    这篇文章主要介绍了python中的yield使用方法,需要的朋友可以参考下
    2014-02-02
  • python代码实现TSNE降维数据可视化教程

    python代码实现TSNE降维数据可视化教程

    今天小编就为大家分享一篇python代码实现TSNE降维数据可视化教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02

最新评论