python實現(xiàn)數(shù)據(jù)預處理之填充缺失值的示例
更新時間:2017年12月22日 15:31:39 作者:Ruoshuiss
下面小編就為大家分享一篇python實現(xiàn)數(shù)據(jù)預處理之填充缺失值的示例。具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
1、給定一個數(shù)據(jù)集noise-data-1.txt,該數(shù)據(jù)集中保護大量的缺失值(空格、不完整值等)。利用“全局常量”、“均值或者中位數(shù)”來填充缺失值。
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
解題思路:首先讀入數(shù)據(jù),對數(shù)據(jù)進行處理,去掉空行,利用 “均值來填充缺失值,本題利用Python語言實現(xiàn),代碼如下:
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)
運行結(jié)果如下:

以上這篇python實現(xiàn)數(shù)據(jù)預處理之填充缺失值的示例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- Python多進程模式實現(xiàn)多核CPU并行計算
- python multiprocessing 多進程并行計算的操作
- Python基于pyCUDA實現(xiàn)GPU加速并行計算功能入門教程
- Python 多核并行計算的示例代碼
- python數(shù)據(jù)預處理之數(shù)據(jù)標準化的幾種處理方式
- Python數(shù)據(jù)預處理之數(shù)據(jù)規(guī)范化(歸一化)示例
- python數(shù)據(jù)預處理之將類別數(shù)據(jù)轉(zhuǎn)換為數(shù)值的方法
- Python----數(shù)據(jù)預處理代碼實例
- python數(shù)據(jù)預處理 :樣本分布不均的解決(過采樣和欠采樣)
- python 刪除excel表格重復行,數(shù)據(jù)預處理操作
- Python Joblib庫使用方法案例總結(jié)
相關文章
Python將數(shù)據(jù)生成二維碼的四種方法實例代碼
二維碼在日常生活中非常常見,廣泛應用于支付、登錄驗證、信息分享等場景,下面這篇文章主要給大家介紹了關于Python將數(shù)據(jù)生成二維碼的四種方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-09-09
Python 結(jié)巴分詞實現(xiàn)關鍵詞抽取分析
這篇文章主要介紹了Python 結(jié)巴分詞實現(xiàn)關鍵詞抽取分析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10

