python实现数据预处理之填充缺失值的示例


Posted in Python onDecember 22, 2017

1、给定一个数据集noise-data-1.txt,该数据集中保护大量的缺失值(空格、不完整值等)。利用“全局常量”、“均值或者中位数”来填充缺失值。

noise-data-1.txt:

5.1 3.5 1.4 0.2
4.9 3 1.4 0.2
4.7 3.2 1.3 0.2
4.6 3.1 1.5 0.2
5 3.6 1.4 0.2
5.4 3.9 1.7 0.4
4.6 3.4 1.4 0.3
5 3.4 1.5 0.2
4.4 2.9 1.4 0.2
4.9 -3.1 1.5 0.1
5.4 3.7 1.5 0.2
4.8 3.4 1.6 0.2
4.8 3 -1.4 0.1
4.3 3 1.1 0.1
5.8 4 1.2 0.2
5.7 4.4 1.5 0.4
5.4 3.9 1.3 0.4
5.1 3.5 1.4 0.3
5.7 3.8 1.7 0.3
5.1 3.8 -1.5 0.3
5.4 3.4 1.7 0.2
5.1 3.7 1.5 0.4
4.6 3.6 1 0.2
5.1 3.3 1.7 0.5
4.8 3.4 1.9 0.2

解题思路:首先读入数据,对数据进行处理,去掉空行,利用 “均值来填充缺失值,本题利用Python语言实现,代码如下:

import numpy as np
data = []
my_list = []
con=0
noise_data = open('noise-data-1.txt') 
clean_data = open("clean_data3.txt", 'w')
for line in noise_data.readlines():
 if len(line) == 0:
 break
 if line.count('\n') == len(line):
 continue 
 dataline =line.strip().split('\t')
 my_list.append(dataline)
 con+=1
for i in range(0,con):
 for j in range(0,len(my_list[i])):
 if my_list[i][j].count('.')==0:
  miss_row=[]
  for a in range(0,len(my_list[i])):
  if float(my_list[i][a])<0:
   miss_row.append(-float(my_list[i][a])) 
  miss_row.append(float(my_list[i][a])) 
  my_average=round(np.average(miss_row),1)
  my_list[i][j]=my_average
 else:
  if float(my_list[i][j])<0:
   my_list[i][j]=-float(my_list[i][j]) 
  my_list[i][j]=float(my_list[i][j]) 
print my_list
def file_write(filename,data_list):
 file1=open(filename,'w')
 for i in data_list:
 for j in i:
  if type(j)!=str:
  j=str(j)
  file1.write(j)
  file1.write(' ')
 file1.write('\n')
 file1.close()
 return file1
filename='clean_data.txt'
file_write(filename,my_list)

运行结果如下:

python实现数据预处理之填充缺失值的示例

以上这篇python实现数据预处理之填充缺失值的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python代码检查工具pylint 让你的python更规范
Sep 05 Python
Python解释执行原理分析
Aug 22 Python
Python命令行参数解析模块getopt使用实例
Apr 13 Python
Python编程实现删除VC临时文件及Debug目录的方法
Mar 22 Python
对PyQt5中树结构的实现方法详解
Jun 17 Python
Python处理mysql特殊字符的问题
Mar 02 Python
Django自定义全局403、404、500错误页面的示例代码
Mar 08 Python
Python urllib.request对象案例解析
May 11 Python
怎么解决pycharm license Acti的方法
Oct 28 Python
Python中常用的os操作汇总
Nov 05 Python
如何使用Django Admin管理后台导入CSV
Nov 06 Python
基于Pygame实现简单的贪吃蛇游戏
Dec 06 Python
NetworkX之Prim算法(实例讲解)
Dec 22 #Python
Python实现控制台中的进度条功能代码
Dec 22 #Python
Python中的探索性数据分析(功能式)
Dec 22 #Python
Python反射用法实例简析
Dec 22 #Python
Python文本特征抽取与向量化算法学习
Dec 22 #Python
用Python实现KNN分类算法
Dec 22 #Python
Python数据拟合与广义线性回归算法学习
Dec 22 #Python
You might like
ThinkPHP中url隐藏入口文件后接收alipay传值的方法
2014/12/09 PHP
php找出指定范围内回文数且平方根也是回文数的方法
2015/03/23 PHP
PHP6新特性分析
2016/03/03 PHP
php文件类型MIME对照表(比较全)
2016/10/07 PHP
PHP设计模式之原型模式定义与用法详解
2018/04/03 PHP
tp5实现微信小程序多图片上传到服务器功能
2018/07/16 PHP
jquery blockUI 遮罩不能消失与不能提交的解决方法
2011/09/17 Javascript
文本框获得焦点和失去焦点的判断代码
2012/03/18 Javascript
JavaScript建立一个语法高亮输入框实现思路
2013/02/26 Javascript
jQuery+PHP打造滑动开关效果
2014/12/16 Javascript
JavaScript分析、压缩工具JavaScript Analyser
2014/12/31 Javascript
jQuery超赞的评分插件(8款)
2015/08/20 Javascript
jQuery实现带分组数据的Table表头排序实例分析
2015/11/24 Javascript
JS原型、原型链深入理解
2016/02/27 Javascript
JS组件Bootstrap Table使用实例分享
2016/05/30 Javascript
AngularJs基本特性解析(一)
2016/07/21 Javascript
JS实现合并json对象的方法
2017/10/10 Javascript
Mac中安装nvm的教程分享
2017/12/11 Javascript
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
2018/07/04 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
2019/02/28 Javascript
详解 微信小程序开发框架(MINA)
2019/05/17 Javascript
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
python访问抓取网页常用命令总结
2017/04/11 Python
Django中Forms的使用代码解析
2018/02/10 Python
15行Python代码带你轻松理解令牌桶算法
2018/03/21 Python
python网络编程socket实现服务端、客户端操作详解
2020/03/24 Python
python中字符串的编码与解码详析
2020/12/03 Python
实习医生自我评价
2013/09/22 职场文书
总裁岗位职责
2013/12/04 职场文书
工程造价专业大学生职业生涯规划书
2014/01/18 职场文书
优秀士兵个人事迹材料
2014/01/19 职场文书
中学生个人自我评价
2014/02/06 职场文书
校园安全教育广播稿
2014/02/17 职场文书
银行进社区活动总结
2014/07/07 职场文书
竞聘演讲稿怎么写
2014/08/28 职场文书
Python Matplotlib绘制动画的代码详解
2022/05/30 Python