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)

运行结果如下:

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

来源:http://blog.csdn.net/ruoshuiss/article/details/78755129

标签:python,数据,预处理,填充,缺失值
0
投稿

猜你喜欢

  • 详解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
  • asp之家 网络编程 m.aspxhome.com