Python数据分析4-数据清洗与整理

本文详细介绍了Python数据分析中的数据清洗过程,包括处理缺失值(侦查、删除、填补)、移除重复数据、替换值、利用函数或映射进行数据转换、检测异常值和虚拟变量的使用。此外,还涵盖了数据合并与重塑(如merge、concat、combine_first)以及字符串处理方法。通过一个综合实例展示了数据清洗的全过程,包括数据来源、问题定义、数据清洗和数据探索,强调了数据清洗在数据分析中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       

目录

4.1数据清洗

4.1.1处理缺失值

        1 侦查缺失值

         2 删除缺失值

         3 填补缺失值

 4.1.2移除重复数据

 4.1.3替换值

 4.1.4利用函数或映射进行数据转换

 4.1.5检测异常值

 4.1.6虚拟变量

 4.2数据合并和重塑

 4.2.1merge合并

 4.2.2concat链接

 4.2.3combine_first合并

 4.2.4数据重塑

 4.3字符串处理

 4.3.1字符串方法

 4.3.2正则表达式

4.4综合实例--iris数据及 

 4.4.1数据来源

 4.4.2定义问题

 4.4.3数据清洗

 4.4.4数据探索


        有效的数据是进行数据分析的依据,因此在数据分析中,数据的处理往往需要花费70%的时间,可见数据处理的重要性。本章将讲解在pandas中如何进行多数据清洗和处理并介绍针对多元数据的合并和链接,以及数据的重塑等内容。

4.1数据清洗

        现实中通过各种方式收集到的数据都是“肮脏”的。本节将着重讲解数据清洗的工作,如缺失值的处理,重复数据的处理以及如何替代值等具体操作。

4.1.1处理缺失值

        有时由于设备原因(设备故障或无法存入数据等)或人为原因(没有录入或故意隐藏数据等),我们获取的部分数据可能是缺失值。这些缺失值对于数据分析而言是没有任何意义的,需要通过程序处理掉这些缺失值,以便下一步分析。

        1 侦查缺失值

        通过人工查看DataFrame数据是否有缺失值的方法是很低效的。尤其当数据量庞大的时候,人工查看很消耗时间。通过isnull和notnull方法,可以返回布尔值对象,如下图

         这时通过求和可以获取每列的缺失值数量,再通过裘克就可以获取整个DataFrame的缺失值数量,如下图

         通过info方法,也可以看出DataFrame每列数据的确实情况,这个方法也是我们用的最多。

         2 删除缺失值

         在缺失值的处理方法中,删除缺失值是常用的方法之一。通过dropna方法可以删除具有缺失值的行,如下图

        传入how='all',则只会删除全为NaN的那些行如下图:

        如果需要删除列,则指定轴方向即可, 

         3 填补缺失值

        当数据量不够或其他部分信息很重要的时候,就不能删除数据了,这是就需要对缺失值进行填充。通过fillna方法可以将缺失值替换为常数值,如下图

         在fillna中传入字典结构数据,可以针对不同列填充不同值,fillna返回的是新对象,不会对元数据进行修改,可通过inplace就地进行修改,如下图

         对重新索引(reindex)中填充缺失值的方法同样适用于fillna中,如下图,

        也可通过平均值等作为填充数,如下图

         对于fillna的参数,可以通过“?”进行查询帮助,这也是自我学习的最好方法,如下图

 4.1.2移除重复数据

        在爬取的数据中往往会出现重复的数据,对于重复数据保留一份即可,其余的可做移除处理。在DaataFrame中,通过duplicated方法判断各行是否有重复数据,如下图

         通过drop_duplicates方法,可以删除多余的重复项,如下图

         在这种情况下,当每行的每个字段都相同时才会判断为重复项。当然,也可以通过指定部分列作为判断重复项的依据,如下图

         通过结果可以看出,保留的数据为第一个出现的组合。传入keep='last'可以保留最后一个出现的组合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值