python填补缺失值数据驱动代码_python数据预处理之缺失值的各种填补方式

对于数据挖掘的缺失值的处理,应该是在数据预处理阶段应该首先完成的事,缺失值的处理一般情况下有三种方式:

(1)删掉缺失值数据

(2)不对其进行处理

(3)利用插补法对数据进行补充

第一种方式是极为不可取的,如果你的样本数够多,删掉数据较少,这种情况下还是可取的,但是,如果你的数据本身就比较少,而且还删除数据,这样会导致大量的资源浪费,将丢弃了大量隐藏在这些记录中的信息.利用插补法对数据进行补充,是极为推荐的一个方式.

常见的插补法有以下几种:

1.用固定值插补

#输出文件名

outputfile = "data.xls"

#读入文件

catering_sale = "catering_sale.xls"

#填补数据

data['空缺值所在列名'] = data['空缺值所在列名'].fillna('填补的数据')

#输出到指定文件

data.to_excel(outputfile)

2.用均值插补

#输出文件名

outputfile = "data.xls"

#读入文件

catering_sale = "catering_sale.xls"

#填补数据

data['空缺值所在列名'] = data['空缺值所在列名'].fillna(data['空缺值所在列名'].mean())

#输出到指定文件

data.to_excel(outputfile)

3.用众数插补

#输出文件名

outputfile = "data.xls"

#读入文件

catering_sale = "catering_sale.xls"

#填补数据

data['空缺值所在列名'] = data['空缺值所在列名'].fillna(data['空缺值所在列名'].mode()[0])

#输出到指定文件

data.to_excel(outputfile)

这里强调一下,看了很多其他的博客,在用众数填充时,都是直接data['空缺值所在列名'].mode(),我尝试了很多遍,发现一直填充不进去,后来查阅资料才发现pandas返回的是一个series(因为众数不止一个),而不像median,mean这些返回特定一个值,所以必须在后面加上下标值【0】,才能进行填充(必须加下标值,必须加下标值,必须加下标值,重要的话说三遍)

4.用中位数插补

#输出文件名

outputfile = "data.xls"

#读入文件

catering_sale = "catering_sale.xls"

#填补数据

data['空缺值所在列名'] = data['空缺值所在列名'].fillna(data['空缺值所在列名'].median())

#输出到指定文件

data.to_excel(outputfile)

5.用上下数据插补

用前一个数据填补

#输出文件名

outputfile = "data.xls"

#读入文件

catering_sale = "catering_sale.xls"

#填补数据

data['空缺值所在列名'] = data['空缺值所在列名'].fillna(method='pad')

#输出到指定文件

data.to_excel(outputfile)

用下一个数据填补

#输出文件名

outputfile = "data.xls"

#读入文件

catering_sale = "catering_sale.xls"

#填补数据

data['空缺值所在列名'] = data['空缺值所在列名'].fillna(method='bfill')

#输出到指定文件

data.to_excel(outputfile)

6.用插值法插补

#输出文件名

outputfile = "data.xls"

#读入文件

catering_sale = "catering_sale.xls"

#填补数据

data['空缺值所在列名'] = data['空缺值所在列名'].interpolate()

#输出到指定文件

data.to_excel(outputfile)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值