1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python填补缺失值数据驱动代码_python填补缺失值数据驱动代码_python数据预处理之缺失

python填补缺失值数据驱动代码_python填补缺失值数据驱动代码_python数据预处理之缺失

时间:2023-01-13 12:13:35

相关推荐

python填补缺失值数据驱动代码_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)

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。