python實(shí)現(xiàn)數(shù)據(jù)預(yù)處理之填充缺失值的示例
1、給定一個(gè)數(shù)據(jù)集noise-data-1.txt,該數(shù)據(jù)集中保護(hù)大量的缺失值(空格、不完整值等)。利用“全局常量”、“均值或者中位數(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ù),對(duì)數(shù)據(jù)進(jìn)行處理,去掉空行,利用 “均值來填充缺失值,本題利用Python語言實(shí)現(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)
運(yùn)行結(jié)果如下:
以上這篇python實(shí)現(xiàn)數(shù)據(jù)預(yù)處理之填充缺失值的示例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Python多進(jìn)程模式實(shí)現(xiàn)多核CPU并行計(jì)算
- python multiprocessing 多進(jìn)程并行計(jì)算的操作
- Python基于pyCUDA實(shí)現(xiàn)GPU加速并行計(jì)算功能入門教程
- Python 多核并行計(jì)算的示例代碼
- python數(shù)據(jù)預(yù)處理之?dāng)?shù)據(jù)標(biāo)準(zhǔn)化的幾種處理方式
- Python數(shù)據(jù)預(yù)處理之?dāng)?shù)據(jù)規(guī)范化(歸一化)示例
- python數(shù)據(jù)預(yù)處理之將類別數(shù)據(jù)轉(zhuǎn)換為數(shù)值的方法
- Python----數(shù)據(jù)預(yù)處理代碼實(shí)例
- python數(shù)據(jù)預(yù)處理 :樣本分布不均的解決(過采樣和欠采樣)
- python 刪除excel表格重復(fù)行,數(shù)據(jù)預(yù)處理操作
- Python Joblib庫(kù)使用方法案例總結(jié)
相關(guān)文章
Pytorch中關(guān)于model.eval()的作用及分析
這篇文章主要介紹了Pytorch中關(guān)于model.eval()的作用及分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02Python圖像處理之簡(jiǎn)單畫板實(shí)現(xiàn)方法示例
這篇文章主要介紹了Python圖像處理之簡(jiǎn)單畫板實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Python基于cv2模塊與numpy模塊的數(shù)值計(jì)算及矩形圖形繪制簡(jiǎn)單操作技巧,需要的朋友可以參考下2018-08-08Python將數(shù)據(jù)生成二維碼的四種方法實(shí)例代碼
二維碼在日常生活中非常常見,廣泛應(yīng)用于支付、登錄驗(yàn)證、信息分享等場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于Python將數(shù)據(jù)生成二維碼的四種方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09基于Python實(shí)現(xiàn)對(duì)比Exce的工具
這篇文章主要介紹了基于Python實(shí)現(xiàn)對(duì)比Excel的小工具,通過循環(huán)對(duì)比組合列(主鍵+對(duì)比列)結(jié)合示例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2022-04-04python正則表達(dá)式查找和替換內(nèi)容的實(shí)例詳解
在本篇文章里小編給大家整理的是一篇關(guān)于python正則表達(dá)式查找和替換內(nèi)容的實(shí)例詳解內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)參考下。2021-10-10Python 結(jié)巴分詞實(shí)現(xiàn)關(guān)鍵詞抽取分析
這篇文章主要介紹了Python 結(jié)巴分詞實(shí)現(xiàn)關(guān)鍵詞抽取分析,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10Python繪制1000響大地紅鞭炮動(dòng)態(tài)效果
俗話說得好,這所謂放鞭炮就是來壓邪祟,除惡的,但是近幾年來都不讓放炮了,這篇文章主要介紹了Python來繪制1000響大地紅鞭炮動(dòng)態(tài)效果2023-01-01windows下的pycharm安裝及其設(shè)置中文菜單
這篇文章主要介紹了windows下的pycharm安裝及其設(shè)置中文菜單,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04