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发送Email方法实例
Aug 21 Python
用python记录运行pid,并在需要时kill掉它们的实例
Jan 16 Python
深入理解Python3中的http.client模块
Mar 29 Python
Python实现快速傅里叶变换的方法(FFT)
Jul 21 Python
对Python定时任务的启动和停止方法详解
Feb 19 Python
Python创建或生成列表的操作方法
Jun 19 Python
Python Django 简单分页的实现代码解析
Aug 21 Python
django框架中ajax的使用及避开CSRF 验证的方式详解
Dec 11 Python
调整Jupyter notebook的启动目录操作
Apr 10 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
Jun 08 Python
基于Python爬取fofa网页端数据过程解析
Jul 13 Python
详解Python中__new__方法的作用
Mar 31 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实现的一个很好用HTML解析器类可用于采集数据
2013/09/23 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
2015/03/18 PHP
用js实现的仿sohu博客更换页面风格(简单版)
2007/03/22 Javascript
js限制文本框只能输入数字(正则表达式)
2012/07/15 Javascript
jQuery-serialize()输出序列化form表单值的方法
2012/12/26 Javascript
纯js分页代码(简洁实用)
2013/11/05 Javascript
js运动动画的八个知识点
2015/03/12 Javascript
轻松实现javascript图片轮播特效
2016/01/13 Javascript
jquery解析XML及获取XML节点名称的实现代码
2016/05/18 Javascript
使用JSON作为函数的参数的优缺点
2016/10/27 Javascript
vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
2017/04/13 Javascript
vue-star评星组件开发实例
2018/03/01 Javascript
微信小程序上传图片功能(附后端代码)
2020/06/19 Javascript
Vue 组件传值几种常用方法【总结】
2018/05/28 Javascript
chosen实现省市区三级联动
2018/08/16 Javascript
antd组件Upload实现自己上传的实现示例
2018/12/18 Javascript
vue前端框架—Mint UI详解(更适用于移动端)
2019/04/30 Javascript
Vue中的组件及路由使用实例代码详解
2019/05/22 Javascript
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
selenium+python自动化测试之使用webdriver操作浏览器的方法
2019/01/23 Python
使用Django简单编写一个XSS平台的方法步骤
2019/03/25 Python
Win10下Python3.7.3安装教程图解
2019/07/08 Python
Flask和pyecharts实现动态数据可视化
2020/02/26 Python
html5 input属性使用示例
2013/06/28 HTML / CSS
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
Office DEPOT法国官网:欧迪办公用品采购
2018/01/03 全球购物
护理职业生涯规划书
2014/01/24 职场文书
一分钟演讲稿
2014/04/30 职场文书
技术负责人任命书
2014/06/05 职场文书
团队拓展活动总结
2014/08/27 职场文书
小学生田径运动会广播稿
2014/09/11 职场文书
副总经理岗位职责
2015/02/02 职场文书
大学生村官个人总结
2015/02/15 职场文书
2015年高校教师个人工作总结
2015/05/25 职场文书
校园广播站开场白
2015/06/01 职场文书
工作经历证明范本
2015/06/15 职场文书