python实现数据预处理之填充缺失值的示例
作者:Ruoshuiss 时间:2022-01-24 19:44:30
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)
运行结果如下:
来源:http://blog.csdn.net/ruoshuiss/article/details/78755129
标签:python,数据,预处理,填充,缺失值


猜你喜欢
详解Python中的四种队列
2021-05-10 01:48:04

Python 京东云无线宝消息推送功能
2021-08-19 09:45:57
浅谈Go语言的error类型
2024-05-10 13:57:58
对python中return与yield的区别详解
2022-10-19 00:47:33
Python实现清理微信僵尸粉功能示例【基于itchat模块】
2021-10-29 20:45:46

js+html制作简单验证码
2024-04-19 10:44:33

python celery分布式任务队列的使用详解
2021-04-22 18:17:56

详解Python计算机视觉 图像扭曲(仿射扭曲)
2021-06-13 15:57:43

详解Python如何获取列表(List)的中位数
2022-02-01 02:35:37

Python生成指定数量的优惠码实操内容
2021-06-12 18:29:25

国产化设备鲲鹏CentOS7上源码安装Python3.7的过程详解
2023-04-23 14:08:42
Cpython3.9源码解析python中的大小整数
2021-11-17 05:45:42
探讨关于404错误页面设置的问题
2011-12-01 10:59:38
pytorch 更改预训练模型网络结构的方法
2022-04-02 04:41:19
pycharm中import呈现灰色原因的解决方法
2022-10-16 03:23:07

如何使用Typora+MinIO+Python代码打造舒适协作环境
2023-11-12 15:12:10

PHP使用redis实现分布式锁的示例详解
2023-06-01 16:32:19
使用Title提升可访问性二
2009-11-16 12:53:00
Python Pandas中布尔索引的用法详解
2023-11-04 08:37:45

解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
2022-05-27 16:06:04
