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

