【转载】使用pandas进行数据清洗

使用pandas进行数据清洗

本文转载自:蓝鲸的网站分析笔记

原文链接:使用python进行数据清洗

 

目录:

 


 数据清洗是一项复杂且繁琐(kubi)的工作,同时也是整个数据分析过程中最为重要的环节。有人说一个分析项目80%的时间都是在清洗数据,这听起来有些匪夷所思,但在实际的工作中确实如此。数据清洗的目的有两个,第一是通过清洗让数据可用。第二是让数据变的更适合进行后续的分析工作。换句话说就是有”脏”数据要洗,干净的数据也要洗。本篇文章将介绍几种简单的使用python进行数据清洗的方法。

cleansing-big-data

开始之前还是先在python中导入需要使用的库文件,然后进行数据读取,并创建名为loandata的数据表。这里为了更好的展示清洗的步骤和结果,我们使用的是lendingclub公开数据中的一小部分。

1
2
3
import numpy as np
import pandas as pd
loandata=pd.DataFrame(pd.read_excel('loandata.xlsx'))

原始数据表

数据清洗的目的有两个,第一是通过清洗让脏数据变的可用。这也是我们首先要解决的问题。无论是线下人工填写的手工表,还是线上通过工具收集到的数据,又或者是CRM系统中导出的数据。很多数据源都有一些这样或者那样的问题,例如:数据中的重复值,异常值,空值,以及多余的空格和大小写错误的问题。下面我们逐一进行处理。

数据表中的重复值

第一个要处理的问题是数据表中的重复值,pandas中有两个函数是专门用来处理重复值的,第一个是duplicated函数。Duplicated函数用来查找并显示数据表中的重复值。下面是使用这个函数对数据表进行重复值查找后的结果。

1
loandata.duplicated()

查看重复值
这里有两点需要说明:第一,数据表中两个条目间所有列的内容都相等时duplicated才会判断为重复值。(Duplicated也可以单独对某一列进行重复值判断)。第二,duplicated支持从前向后(first),和从后向前(last)两种重复值查找模式。默认是从前向后进行重复值的查找和判断。换句话说就是将后出现的相同条件判断为重复值。在前面的表格中索引为4的1311748和索引为1的条目相同。默认情况下后面的条目在重复值判断中显示为True。

Pandas中的drop_duplicates函数用来删除数据表中的重复值,判断标准和逻辑与duplicated函数一样。使用drop_duplicates函数后,python将返回一个只包含唯一值的数据表。下面是使用drop_duplicates函数后的结果。与原始数据相比减少了3行,仔细观察可以发现,drop_duplicates默认也是使用了first模式删除了索引为4的重复值,以及后面的另外两个重复值。

1
loandata.drop_duplicates()

删除重复值

数据表中的空值/缺失值

第二个要处理的问题是数据表中的空值ÿ

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值