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

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)

运行结果如下:

20171222153251.jpg

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值