专栏首页Python与Excel之交干货!用Python进行数据清洗方式,这几种都很常见!

干货!用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与Excel之交(Yi-Python-Excel),作者:锋小刀

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-07-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 干货:用Python进行数据清洗,这7种方法你一定要掌握

    导读:数据清洗是数据分析的必备环节,在进行分析过程中,会有很多不符合分析要求的数据,例如重复、错误、缺失、异常类数据。

    华章科技
  • Python数据分析,系统步骤介绍!

    在用Python做数据分析的过程中,有一些操作步骤和逻辑框架是很固定的,只需要记住其用法即可。本节内容介绍Pandas模块在数据分析中的常用方法。

    张俊红
  • Python教程 | 数据分析系统步骤介绍!

    在用Python做数据分析的过程中,有一些操作步骤和逻辑框架是很固定的,只需要记住其用法即可。本节内容介绍Pandas模块在数据分析中的常用方法。

    龙哥
  • 3000字!5大SQL数据清洗方法!

    日常工作中,分析师会接到一些专项分析的需求,首先会搜索脑中的分析体悉,根据业务需求构建相应的分析模型(不只是机器学习模型),根据模型填充相应维度表,这些维度特征...

    编程文青李狗蛋
  • 详解中文维基百科数据处理流程及脚本代码

    最近在做词向量相关工作,词向量的训练数据采用中文维基百科数据,训练之前,要对维基百科数据进行处理,这篇文章记录了一些处理过程及相关的脚本。

    zenRRan
  • 【大招预热】——95%财务人都不知的财报批量获取方式

    首先透露一下,最近憋着一个大招即将放送。本文主要教大家如何【获取】上市公司的财务数据。这里的【获取】,不是指在从该公司官网上下载pdf版不可编辑加工的财报,而...

    btharp
  • 机器学习过程中的数据预处理和特征选择方法

    数据清洗(data cleaning)是在机器学习过程中一个不可缺少的环节,其数据的清洗结果直接关系到模型效果以及最终的结论。在实际的工作中,数据清洗通常占开发...

    魏晓蕾
  • 在大数据行业工作两年是怎样一种体验

    原文地址:https://www.cnblogs.com/ztfjs/p/bigdata.html

    CDA数据分析师
  • 《Hello NumPy》系列-切片的花式操作

    高阶部分篇篇都是干货,建议大家不要错过任何一节内容,最好关注我,或者关注公众号(同名),方便看到每次的文章推送。

    小一不二三
  • 浅谈数据流水线

    当下我们听过很多热门的技术名词,例如:机器学习模型、推荐系统、高管驾驶舱、BI等等,在这些技术背后一个关键的角色就是:数据。这些数据通常不是单一的,原始的数据,...

    ThoughtWorks
  • 爬虫入门经典(二十四) | 爬取当当网图书信息并进行数据清洗

      ♥各位如果想要交流的话,可以加下QQ交流群:974178910,里面有各种你想要的学习资料。♥

    不温卜火
  • 古有曹子建七步成诗,今有DataCamp教你8步成为数据科学家

    这是国外一个非常厉害的数据科学学习平台DataCamp数据科学大牛Karlijn Willems写的一篇图文《8步成为数据科学家》。

    陈学谦
  • 业余时间学数据分析,如何快速上手

    广泛被应用的数据分析:谷歌的数据分析可以预测一个地区即将爆发的流感,从而进行针对性的预防;淘宝可以根据你浏览和消费的数据进行分析,为你精准推荐商品;口碑极好的网...

    华章科技
  • 数据缺失值的3种处理方式,终于有人讲明白了

    今天聊一本机器学习方面的有趣的书,书名叫《基于机器学习数据缺失值填补》。要我说的话,数据缺失值填补本身就是个十分有趣的话题。

    华章科技
  • 用Python爬取淘宝4403条大裤衩数据进行分析,终于找到可以入手的那一条

    炎炎夏日,长裤已难以满足广大男生的需求,为了在搬砖和摆摊的过程中增添一丝舒适感,他们开始寻找一种神奇的存在——大裤衩。J哥在种菜的这些日子里也日益感受到大裤衩的...

    Python进阶者
  • 【干货】怎样进行大数据的入门级学习?

    数据科学并没有一个独立的学科体系,统计学,机器学习,数据挖掘,数据库,分布式计算,云计算,信息可视化等技术或方法来对付数据。但从狭义上来看,我认为数据科学就是解...

    小莹莹
  • 从小白到年薪10万+,优秀的数据分析能力如何速成?

    用户1621951
  • 机器学习系列(7)_机器学习路线图(附资料)

    http://blog.csdn.net/han_xiaoyang/article/details/50759472

    bear_fish
  • 数据清洗经验

    平时习惯了在某些特定的数据集合上做实验,简单的tokenization、预处理等步骤就足够了。但是在数据越来越大的年代,数据清洗越来越重要,也越来越复杂。看到P...

    用户1332428

扫码关注云+社区

领取腾讯云代金券