如下所示:
# -*- coding: utf-8 -*-
# @ author hulei 2016-5-3
from numpy import *
import operator
from os import listdir
import sys
reload(sys)
sys.setdefaultencoding('utf8')
# x,y=getdataset_dz('iris.data.txt',4)
def getdataset(filename,numberoffeature): #將資料集讀入記憶體
fr = open(filename)
numberoflines = len(fr.readlines()) #get the number of lines in the file file.readlines()是把檔案的全部內容讀到記憶體,並解析成乙個list
returnmat = zeros((numberoflines,numberoffeature)) #prepare matrix to return 3代表資料集中特徵數目###
classlabelvector = #prepare labels return
fr = open(filename)
index = 0
for line in fr.readlines():
line = line.strip() #程式設計客棧strip() 引數為空時,預設刪除空白符(包括'\n', '\r', '\t', ' ')
listfromline = line.split(',') #split 以什麼為標準分割一次 分成陣列中的每個元素
returnmat[index,:] = listfromline[0:numberoffeature]
#classlabelvector.append(int(listfromline[-1])) #append() 方法向列表的尾部新增乙個新的元素
if listfromline[-1] == 'iris-setosa' :
classlabelvector.append(1)
elif listfromline[-1] == 'iris-versicolor' :
classlabelvector.append(2)
else:
#elif listfromline[-1] == 'iris-virginica' :
classlabelvector.append(3)
ingkdebdex += 1
return returnmat,classlabelvector
def getdataset_dz(filename,numberoffeature): #改進版,可以消除資料中的空白行
numberoflines =gkdeb 0
mx = #將資料集 去除空行後存入
fr = open(filename)
for line in fr.readlines():
line = line.strip()
if line != '' : #去除空白行
numberoflines+=1
mx.append( line.split(',') )
returnmat = zeros((numberoflines,numberoffeature))
classlabelvector =
for index in range(numberoflines) :
returnmat[index,:] = mx[index][0:numberoffeature]
if mx[index][-1] == 'iris-setosa' :
classlabelvector.append(1)
elif mx[index][-1] == 'iris-versicolor' :
classlabelvector.append(2)
else:
#elif listfromline[-1] == 'iris-virginica' :
classlabelvector.append(3)
return returnmat,classlabelvector
本文標題: python讀取資料集並消除資料中的空行方法
本文位址: /jiaoben/python/234384.html
python並集 python去並集
並集a b c 並 合併陣列a.extend b 去重array list set a print array 第二種方法array list set a set b print array 列印結果 交集a b c 交array list set a set b print array 列印結果 ...
python讀取nrrd資料並顯示
1.python中opencv讀取的彩色預設三通道 維度為w,h,c 型別uint8 讀取的灰度圖預設單通道,維度為 w,h 型別uint8.2.nrrd資料使用python庫nrrd讀取,得到 w,h,slice num 的三維度tensor。第三維是灰度圖的序號。資料型別為int16,此時無法使...
python讀取檔案和消除空格
1 class readfile 2 讀取檔案 3 4def init self,file path 5 self.file path file path67 defread file self 8 9讀取整個檔案 10使用關鍵字with時,open 返回的檔案物件只在with 塊內可用 11 12...