Python数据分析与挖掘实战(数据预处理)


操作系统:Windows
Python:3.5
欢迎加入学习交流QQ群:657341423


在做数据分析的时候,我们会通过爬虫或者数据库里得到一批原始数据的。这个上节说过的,但是对于这些数据需要做一个数据清洗,去除异常值,缺失值等,确保数据的准确性和后续生成的模型的正确性。
这节就讲解数据预处理。


缺失值处理:
处理方法大致三种:
1,删除记录
2,数据插补
3,不处理
如果简单删除数据达到既定的目的,这是最有效的,但是这个方法很大局限性,容易造成隐藏的信息丢失,实际中不建议。如果不处理,会直接影响数据的数值和准确性。
基本上都是采用数据插补的方式填充缺失值。这个插补方式很多,如图
这里写图片描述
具体使用那种方式根据实际而定,这里介绍一种插补方法:
拉格朗日插值
(当看到深深的数学公式的时候,我内心是崩溃的)
在python里直接有这个方法(scipy库)
实例:
数据源,excel里
这里写图片描述
有两列,数据有200行。
代码:
这里写图片描述
def ployinterp_column是拉格朗日插值的使用。
这里取出缺失值前5行和后5行数据进行计算,得出一个pd的Series格式的数据。
然后剔除缺失值所在的行,或者前后5行的缺失值。
然后lagrange(y.index, list(y)),其中y.index, list(y)分别用print出来,index为数据行数,list(y)为数据。(n)是插入的位置。

这里介绍一下pd的DataFrame和Series的区别。
首先,pd.read_excel(inputfile)是生成一个DataFrame
如果要读取某个数的话,data[‘销量’][9] ,[‘销量’]是列名,如果没有声明的话,必需和excel的一致,不能用数字做索引。第二个[]是行数。
如果要获取某部分数据的话,比如
这里写图片描述
data[‘销量’][[9,10]] 是返回一个Series
data[‘销量’][9] 是返回某个数据。

基本上,这段代码比较难的都剖释了。不难理解。


异常值处理:
异常值和缺失值不同,异常值是不符合实际的数据,比如正常情况下,月薪10亿。这个数据就在现实中就不太可能实现了。
处理方法:
这里写图片描述
基本上常用的处理方法和缺失值处理一样的。不过实际中的处理方法还需结合实际考虑。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xy-Huang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值