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 查找字符串是否存在实例详解
Jan 20 Python
Tensorflow实现卷积神经网络的详细代码
May 24 Python
django admin 后台实现三级联动的示例代码
Jun 22 Python
Python 从一个文件中调用另一个文件的类方法
Jan 10 Python
windows下python虚拟环境virtualenv安装和使用详解
Jul 16 Python
浅谈Python 敏感词过滤的实现
Aug 15 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
Feb 14 Python
python中for in的用法详解
Apr 17 Python
python 读取二进制 显示图片案例
Apr 24 Python
ubuntu16.04升级Python3.5到Python3.7的方法步骤
Aug 20 Python
五种Python转义表示法
Nov 27 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
Mar 04 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
又一个php 分页类实现代码
2009/12/03 PHP
跨浏览器PHP下载文件名中的中文乱码问题解决方法
2015/03/05 PHP
php ci 获取表单中多个同名input元素值的代码
2016/03/25 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
2019/08/12 PHP
YII2框架使用控制台命令的方法分析
2020/03/18 PHP
HTML TO JavaScript 转换
2006/06/26 Javascript
推荐dojo学习笔记
2007/03/24 Javascript
javascript 屏蔽鼠标键盘的几段代码
2008/01/02 Javascript
JavaScript中使用typeof运算符需要注意的几个坑
2014/11/08 Javascript
javascript 判断整数方法分享
2014/12/16 Javascript
JavaScript数组常用方法
2015/03/02 Javascript
JavaScript+html5 canvas制作的百花齐放效果完整实例
2016/01/26 Javascript
js操作DOM--添加、删除节点的简单实例
2016/07/08 Javascript
ES6新特征数字、数组、字符串
2016/10/01 Javascript
jQuery插件zTree实现获取一级节点数据的方法
2017/03/08 Javascript
详解nodejs通过响应回写的方式渲染页面资源
2018/04/07 NodeJs
关于vue v-for循环解决img标签的src动态绑定问题
2018/09/18 Javascript
微信小程序如何实现全局重新加载
2019/06/05 Javascript
JavaScript 判断浏览器是否是IE
2021/02/19 Javascript
浅谈Python的Django框架中的缓存控制
2015/07/24 Python
python django 增删改查操作 数据库Mysql
2017/07/27 Python
windows10下python3.5 pip3安装图文教程
2018/04/02 Python
PyQt5每天必学之单行文本框
2018/04/19 Python
解决Python pandas plot输出图形中显示中文乱码问题
2018/12/12 Python
django的auth认证,authenticate和装饰器功能详解
2019/07/25 Python
Python 使用list和tuple+条件判断详解
2019/07/30 Python
pytorch 常用线性函数详解
2020/01/15 Python
Django 后台带有字典的列表数据与页面js交互实例
2020/04/03 Python
介绍一下grep命令的使用
2012/06/28 面试题
网络工程师个人的自我评价范文
2013/10/01 职场文书
应用艺术毕业生的自我评价
2013/12/04 职场文书
高中毕业自我鉴定
2013/12/22 职场文书
工地安全检查制度
2014/02/04 职场文书
销售人才自我评价范文
2014/09/27 职场文书
2014年企业员工工作总结
2014/12/09 职场文书
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
2021/04/14 Python