pandas中NaN缺失值的处理方法

 更新时间:2021年05月13日 11:02:52   作者:蓝小白1024  
当我们用python进行数据处理时会遇到很多缺失值,对缺失值我们需要进行删除或者填补,本文主要介绍了pandas中NaN缺失值的处理方法,感兴趣的可以了解一下

本文主要介绍了pandas中NaN缺失值的处理方法,主要有两种方法,具体如下:

import pandas as pd

缺失值处理

两种方法:

  • 删除含有缺失值的样本
  • 替换/插补

处理缺失值为NaN

先判断数据中是否存在NaN,通过下面两个方法中任意一个

pd.isnull(dataframe)
# dataframe为数据
如果数据中存在NaN返回True,如果没有就返回False

pd.notnull(dataframe)
该方法与isnull相反

any()  和 all()
"""
pd.isnull(dataframe).any()
判断哪一个字段中存在缺失值没有就返回False

pd.notnull(dataframe).all()
判断哪一个字段中存在缺失值没有就返回True
"""

使用numpy也可以进行判断

import numpy as np

np.any(pd.isnull(dataframe)) # 如果返回True,说明数据中存在缺失值

np.all(pd.notnull(dataframe)) # 如果返回False, 说明数据中存在缺失值

然后进行数据处理

方式一: 删除空值行

dataframe.dropna(inplace=False)

"""
dropna() 是删除空值数据的方法, 默认将只要含有NaN的整行数据删除, 
如果想要删除整行都是空值的数据需要添加how='all'参数

默认是删除整行, 如果对列做删除操作, 需要添加axis参数, 
axis=1表示删除列, axis=0表示删除行

inplace: 是否在当前的dataframe中执行此操作,
True表示在原来的基础上修改,
False表示返回一个新的值, 不修改原有数据
"""

方式二: 替换/插补

dataframe.fillna('替换的值value',inplace=False)
'''
把替换NaN的值传入到fillna()中
'''

缺失值NaN有默认标记的值

比如有的空值不是NaN, 有的是一个'?'

先替换
使用numpy把"?"替换为NaN

import numpy as np

# 替换
dataframe.replace(to_replace="?", value=np.nan)

把其他的缺失值换为NaN后, 然后就按照缺失值为NaN的方式就行操作

删除数据

如果只是单独的删除数据可以使用drop()方法

DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)

'''
代码解释:
labels : 就是要删除的行列的名字,用列表指定
index : 直接指定要删除的行
columns : 直接指定要删除的列
inplace=False : 表示返回一个新的值, 不修改原有数据
inplace=True : 表示在原来的基础上修改
'''

例:

import pandas as pd
df = pd.read_csv('/text.xlsx')
# 删除第0行和第1行
df.drop(labels=[0,1],axis=0)

# 删除列名为 age 的列
df.drop(axis=1,columns=age)

到此这篇关于pandas中NaN缺失值的处理方法的文章就介绍到这了,更多相关pandas NaN缺失值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python字典循环添加一键多值的用法实例

    Python字典循环添加一键多值的用法实例

    今天小编就为大家分享一篇Python字典循环添加一键多值的用法实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python 日期与时间转换的方法

    Python 日期与时间转换的方法

    这篇文章主要介绍了Python 日期与时间转换的方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-08-08
  • 解决Pytorch 训练与测试时爆显存(out of memory)的问题

    解决Pytorch 训练与测试时爆显存(out of memory)的问题

    今天小编就为大家分享一篇解决Pytorch 训练与测试时爆显存(out of memory)的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python的包管理器pip更换软件源的方法详解

    Python的包管理器pip更换软件源的方法详解

    和其他的包管理工具一样,pip在国内使用也会经常遇到传输困难的问题,那么接下来就介绍一下Python的包管理器pip更换软件源的方法详解:
    2016-06-06
  • Python实现Excel和TXT文本之间相互转换

    Python实现Excel和TXT文本之间相互转换

    Excel是一种具有强大的数据处理和图表制作功能的电子表格文件,而TXT则是一种简单通用、易于编辑的纯文本文件,本文将介绍如何使用Python并结合相关库来实现 Excel 和 TXT 文本文件之间的相互转换,需要的朋友可以参考下
    2024-06-06
  • Python学习之文件的创建与写入详解

    Python学习之文件的创建与写入详解

    本文主要介绍了Python中关于文件的处理,即如何创建、读写一个文件,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-03-03
  • python opencv 实现对图像边缘扩充

    python opencv 实现对图像边缘扩充

    今天小编就为大家分享一篇python opencv 实现对图像边缘扩充,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • python决策树之C4.5算法详解

    python决策树之C4.5算法详解

    这篇文章主要为大家详细介绍了python决策树之C4.5算法的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • python Requsets下载开源网站的代码(带索引 数据)

    python Requsets下载开源网站的代码(带索引 数据)

    这篇文章主要介绍了python Requsets下载开源网站的代码(带索引 数据),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • 基于Python实现一个PDF特殊字体提取工具

    基于Python实现一个PDF特殊字体提取工具

    在PDF文档处理场景中,我们常常需要针对特定格式的文本内容进行提取分析,本文介绍的"PDF特殊字体提取器"是一款基于Python开发的桌面应用程序感兴趣的小伙伴跟着小编一起来看看吧
    2025-03-03

最新评论