用Python进行数据清洗以及值处理

 更新时间:2023年07月10日 10:34:40   作者:Python与Excel之交  
这篇文章主要介绍了用Python进行数据清洗以及值处理,数据分析中,数据清洗是一个必备阶段。数据分析所使用的数据一般都很庞大,致使数据不可避免的出现重复、缺失、异常值等异常数据,如果忽视这些异常数据,可能导致分析结果的准确性,需要的朋友可以参考下

数据清洗

数据分析中,数据清洗是一个必备阶段。数据分析所使用的数据一般都很庞大,致使数据不可避免的出现重复、缺失、格式错误等异常数据,如果忽视这些异常数据,可能导致分析结果的准确性。

用以下数据为例,进行讲解数据清洗常用方式:

示例数据

下面的操作只做示例,具体数据的清洗方式要根据数据特性进行选择!

重复值处理

重复值处理,一般采用直接删除重复值的方式。在pandas中,可以用duplicated函数进行查看和drop_duplicates函数删除重复数据。

如下所示,可以通过duplicated函数查看重复的数据:

查看重复值

需要删除重复值时,可直接用drop_duplicates函数完成:

删除重复值

缺失值处理

缺失值与重复值一样,都是数据中比较常见的问题,必须进行处理才能进行下一步分析,保证分析的准确性。缺失值在数据中一般用NaN表示,在处理缺失值时,一般采用删除填补方式进行处理。但在实际中,缺失值的处理是一件非常困难的事情,删除填补方式都无法解决,最后只能留着。

在pandas中,其有多种方式查看和处理缺失值的方法。

查看缺失值

最为基础的可以通过isnullnotnul,或者info函数来实现。

info函数可以很清楚的知道每一列的缺失值情况,进而做出判断处理:

在这里插入图片描述

isnull函数为判断序列元素是否为缺失,notnul函数判断序列元素是否不为缺失,二者在本质上是一样的。而二者在数据量庞大时,效果很差。所以一般不会单独使用,而是配合其它方法进行使用。

在这里插入图片描述

查看某列缺失值所在的行:

在这里插入图片描述

isnull函数配合sum函数计算每列缺失值的个数:

在这里插入图片描述

在多数查看缺失值中,经常会采用计算缺失值在列中占比的方式,判断缺失对数据具有多大的影响,从而选择是删除数据还是填补数据。计算占比可使用以下方式:

df.apply(lambda x: x.isnull().sum()/x.size)

x.size为各个数据列总行数:

在这里插入图片描述

缺失值删除

删除缺失值的情形,一般是在不会影响分析结果、造成的影响无伤大雅,或者难以填补的时候采用。

在pandas中,可以直接用dropna函数进行删除所有含有缺失值的行,或者选择性删除含有缺失值到的行:

在这里插入图片描述

缺失值填补

在无法直接删除缺失值时,或者包含缺失值的行具有很多而无法选择性删除时,填补是最佳的选择,但填补的方式要根据数据来选择,否则填补的数据依然会影响分析的准确性。

在pandas中,可以使用fillna函数完成对缺失值的填补,例如对表中的体重列进行填补,填补方法为中位数:

在这里插入图片描述

或者用平均值填补:

在这里插入图片描述

也可以用pandas中的ffill函数对缺失值进行前向填补,但在前向填补时需要注意各个列数据的情况:

在这里插入图片描述

但可以看到,体重列的第一行未填补完成,而pandas中提供了bfill函数进行后向填补:

在这里插入图片描述

数据类型转换

数据类型关乎后面的数据处理和数据可视化,不同的数据类型处理和进行可视化的用法都不一样,因此,事先把数据的类型转换好,利于后面的相关步骤。

在pandas中,可以用infodtypes方法进行查看数据类型:

在这里插入图片描述

常用的数据类型包括str(字符型)float(浮点型)int(整型)。当某列数据的类型出现错误时,可通过astype函数进行强制转换数据类型。

例如下面通过astype函数对数值型列转换为字符型:

在这里插入图片描述

文本处理

在数据中,文本在某种程度上可以说是最‘脏’的数据,不管在录入的数据,还是爬取的数据,总会出现各种各样的‘脏’数据,处理难度非常高。在处理中,主要是切分字符串、值替换。

pandas提供了df.str.split.str()方法对字符串的切割,以下通过此方法获得地级市名称:

在这里插入图片描述

对于一些多数词,可以通过df.str.replace()方法进行增加、替换或者删除:

在这里插入图片描述

到此这篇关于用Python进行数据清洗以及值处理的文章就介绍到这了,更多相关Python进行数据清洗内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 教你利用Python+Turtle绘制简易版爱心表白

    教你利用Python+Turtle绘制简易版爱心表白

    这篇文章主要介绍了教你利用Python+Turtle绘制简易版爱心表白,文中有非常详细的代码示例,对想要和男朋友或者女朋友表白的小伙伴们有很大帮助哟,需要的朋友可以参考下
    2021-04-04
  • Mac中安装anaconda并配置虚拟环境的详细过程

    Mac中安装anaconda并配置虚拟环境的详细过程

    这篇文章主要给大家介绍了关于Mac中安装anaconda并配置虚拟环境的详细过程,anaconda是包管理器和环境管理器,使用它可以方便地创作,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • python完全卸载三种方法教程

    python完全卸载三种方法教程

    通常我们在卸载pyhton时会直接使用电脑自备的管家软件中的卸载功能,但是通常这并不会卸载干净,特别是当你卸载完python一个版本之后,重新安装另一个版本就会出错,这篇文章主要给大家介绍了关于python完全卸载三种方法的相关资料,需要的朋友可以参考下
    2023-09-09
  • numpy ndarray 按条件筛选数组,关联筛选的例子

    numpy ndarray 按条件筛选数组,关联筛选的例子

    今天小编就为大家分享一篇numpy ndarray 按条件筛选数组,关联筛选的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • 使用OpenCV为图像加水印的教程

    使用OpenCV为图像加水印的教程

    通过本文学习将学会如何使用 OpenCV 为多个图像添加水印,在 OpenCV 中调整图像大小也很方便,对OpenCV图像加水印相关知识感兴趣的朋友一起看看吧
    2021-09-09
  • Python 获取windows桌面路径的5种方法小结

    Python 获取windows桌面路径的5种方法小结

    今天小编就为大家分享一篇Python 获取windows桌面路径的5种方法小结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python使用Turtle库绘制一棵西兰花

    Python使用Turtle库绘制一棵西兰花

    今天小编就为大家分享一篇Python使用Turtle库绘制一棵西兰花,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • python使用Pillow将照片转换为1寸报名照片的教程分享

    python使用Pillow将照片转换为1寸报名照片的教程分享

    在现代科技时代,我们经常需要调整和处理照片以适应特定的需求和用途,本文将介绍如何使用wxPython和Pillow库,通过一个简单的图形界面程序,将选择的照片转换为指定尺寸的JPG格式,并保存在桌面上,需要的朋友可以参考下
    2023-09-09
  • 基于python的Tkinter实现一个简易计算器

    基于python的Tkinter实现一个简易计算器

    这篇文章主要介绍了基于python的Tkinter实现一个简易计算器的相关资料,还为大家分享了仅用用50行Python代码实现的简易计算器,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • Python如何利用Har文件进行遍历指定字典替换提交的数据详解

    Python如何利用Har文件进行遍历指定字典替换提交的数据详解

    这篇文章主要给大家介绍了关于Python如何利用Har文件进行遍历指定字典替换提交的数据的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11

最新评论