Python讀取數(shù)據(jù)集并消除數(shù)據(jù)中的空行方法
更新時間:2018年07月12日 10:26:15 作者:AlistarHu
今天小編就為大家分享一篇Python讀取數(shù)據(jù)集并消除數(shù)據(jù)中的空行方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
如下所示:
# -*- 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): #將數(shù)據(jù)集讀入內(nèi)存
fr = open(filename)
numberOfLines = len(fr.readlines()) #get the number of lines in the file file.readlines()是把文件的全部內(nèi)容讀到內(nèi)存,并解析成一個list
returnMat = zeros((numberOfLines,numberOfFeature)) #prepare matrix to return 3代表數(shù)據(jù)集中特征數(shù)目###
classLabelVector = [] #prepare labels return
fr = open(filename)
index = 0
for line in fr.readlines():
line = line.strip() #strip() 參數(shù)為空時,默認(rèn)刪除空白符(包括'\n', '\r', '\t', ' ')
listFromLine = line.split(',') #split 以什么為標(biāo)準(zhǔn)分割一次 分成數(shù)組中的每個元素
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)
index += 1
return returnMat,classLabelVector
def getDataSet_dz(filename,numberOfFeature): #改進版,可以消除數(shù)據(jù)中的空白行
numberOfLines = 0
mx = [] #將數(shù)據(jù)集 去除空行后存入
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讀取數(shù)據(jù)集并消除數(shù)據(jù)中的空行方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- python merge、concat合并數(shù)據(jù)集的實例講解
- python 實現(xiàn)對數(shù)據(jù)集的歸一化的方法(0-1之間)
- python:pandas合并csv文件的方法(圖書數(shù)據(jù)集成)
- python 劃分?jǐn)?shù)據(jù)集為訓(xùn)練集和測試集的方法
- Python sklearn KFold 生成交叉驗證數(shù)據(jù)集的方法
- 對python中數(shù)據(jù)集劃分函數(shù)StratifiedShuffleSplit的使用詳解
- 對python制作自己的數(shù)據(jù)集實例講解
- Python數(shù)據(jù)集切分實例
- python 篩選數(shù)據(jù)集中列中value長度大于20的數(shù)據(jù)集方法
- python調(diào)用攝像頭拍攝數(shù)據(jù)集
相關(guān)文章
一文教會你用nginx+uwsgi部署自己的django項目
uWSGI是一個Web服務(wù)器,它實現(xiàn)了WSGI協(xié)議、uwsgi、http等協(xié)議,下面這篇文章主要給大家介紹了關(guān)于用nginx+uwsgi部署自己的django項目的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2022-08-08
Python利用AutoGrad實現(xiàn)自動計算函數(shù)斜率和梯度
AutoGrad 是一個老少皆宜的 Python 梯度計算模塊。對于大學(xué)生、機器學(xué)習(xí)愛好者而言,你只需要傳遞給它Numpy這樣的標(biāo)準(zhǔn)數(shù)據(jù)庫下編寫的損失函數(shù),它就可以自動計算損失函數(shù)的導(dǎo)數(shù)(梯度)。本文將從普通斜率計算開始,介紹到如何只使用它來實現(xiàn)一個邏輯回歸模型2022-07-07
python3.7環(huán)境下安裝Anaconda的教程圖解
這篇文章主要介紹了python3.7環(huán)境下安裝Anaconda的教程,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09
python命令行執(zhí)行腳本找不到模塊ModuleNotFoundError問題
這篇文章主要介紹了python命令行執(zhí)行腳本找不到模塊ModuleNotFoundError問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06

