• 在线客服

  • 扫描二维码
    下载博学谷APP

  • 扫描二维码
    关注博学谷微信公众号

  • 意见反馈

原创 Pandas进行数据清洗的方法介绍

发布时间:2021-01-25 14:21:04 浏览 2941 来源:博学谷 作者:吾非鱼

    Pandas进行数据清洗的方法介绍,数据清洗是一项复杂且繁琐的工作,同时也是整个数据分析过程中最为重要的环节。Pandas中常见的数据清洗操作有空值和缺失值的处理、重复值的处理、异常值的处理、统一数据格式等。

    Pandas进行数据清洗的方法

    前期采集到的数据或多或少都存在一些瑕疵和不足,如数据缺失、极端值、数据格式不统一等问题。在分析数据之前需要对数据进行预处理,包括数据的清洗、合并、重塑与转换。Pandas中专门提供了用于数据预处理的很多函数与方法,用于替换异常数据、合并数据、重塑数据等。

    数据清洗是一项复杂且繁琐的工作,同时也是整个数据分析过程中最为重要的环节。数据清洗的目的在于提高数据质量,将脏数据(脏数据在这里指的是对数据分析没有实际意义、格式非法、不在指定范围内的数据)清洗干净,使原数据具有完整性、唯一性、权威性、合法性、一致性等特点。

    空值一般表示数据未知、不适用或将在以后添加数据。缺失值是指数据集中某个或某些属性的值是不完整的,产生的原因主要有人为原因和机械原因两种,其中机械原因是由于机器故障造成数据未能收集或存储失败,人为原因是由主观失误或有意隐瞒造成的数据缺失。

    一般空值使用None表示,缺失值使用NaN表示。Pandas中提供了一些用于检查或处理空值和缺失值的函数,其中,使用isnull()和notnull()函数可以判断数据集中是否存在空值和缺失值,对于缺失数据可以使用dropna()和fillna()方法对缺失值进行删除和填充。

    1、isnull()函数

    isnull()函数的语法格式如下:

    isnull()函数

    上述函数中只有一个参数obj,表示检查空值的对象,该函数会返回一个布尔类型的值,如果返回的结果为True,则说明有空值或缺失值,否则为False。(NaN或None映射到True值,其它内容映射到False)

    接下来,通过一段示例来演示如何通过isnull()函数来检查缺失值或空值,具体代码如下:

    通过isnull()函数来检查缺失值或空值

    上述示例中,首先创建了一个Series对象,该对象中包含1、None和NaN三个值,然后调用isnull()函数检查Series对象中的数据,数据为空值或缺失值就映射为True,其余值就映射为False。从输出结果看出,第一个数据是正常的,后两个数据是空值或缺失值。

    2、 notnull()函数

    notnull()函数与isnull()函数的功能是一样的,都是判断数据中是否存在空值或缺失值,不同之处在于,前者发现数据中有空值或缺失值时返回False,后者返回的是True。

    将上述调用isnull()函数的代码改为调用notnull()函数,改后的代码如下:上述示例中,通过notnull()函数来检查空值或缺失值,只要出现空值或缺失值就映射为False,其余则映射为True。从输出结果看出,索引0对应的数据为True,说明没有出现空值或缺失值,索引1和2对应的数据为False,说明出现了空值或缺失值。

    3、dropna()方法

    dropna()方法的作用是删除含有空值或缺失值的行或列,其语法格式如下:

    dropna()方法

    上述方法中部分参数表示的含义如下:

    (1) axis:确定过滤行或列,取值可以为:

    0或index:删除包含缺失值的行,默认为0。

    1或columns:删除包含缺失值的列。

    (2) how:确定过滤的标准,取值可以为:

    any:默认值。如果存在NaN值,则删除该行或该列。

    all:如果所有值都是NaN值,则删除该行或该列。

    (3) thresh:c表示有效数据量的最小要求。若传入了2,则是要求该行或该列至少有两个非NaN值时将其保留。

    (4) subset:表示在特定的子集中寻找NaN值。

    (5) inplace:表示是否在原数据上操作。如果设为True,则表示直接修改原数据;如果设为False,则表示修改原数据的副本,返回新的数据。

    4、填充空值/缺失值

    填充缺失值和空值的方式有很多种,比如人工填写、特殊值填写、热卡填充等。Pandas中的fillna()方法可以实现填充空值或缺失值

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

上一篇: 大数据分析入门基础知识学什么? 下一篇: 自学Python需要多长时间从入门到精通?

相关推荐 更多

热门文章

  • 前端是什么
  • 前端开发的工作职责
  • 前端开发需要会什么?先掌握这三大核心关键技术
  • 前端开发的工作方向有哪些?
  • 简历加分-4步写出HR想要的简历
  • 程序员如何突击面试?两大招带你拿下面试官
  • 程序员面试技巧
  • 架构师的厉害之处竟然是这……
  • 架构师书籍推荐
  • 懂了这些,才能成为架构师
  • 查看更多

扫描二维码,了解更多信息

博学谷二维码