Python工程實(shí)踐之np.loadtxt()讀取數(shù)據(jù)
前言
機(jī)器學(xué)習(xí)中使用np.loadtxt()可以高效的導(dǎo)入數(shù)據(jù),np.loadtxt()適合.txt文件和.csv文件。但是它默認(rèn)讀取float類型的值。
1.np.loadtxt()讀取txt文件
1-1 基礎(chǔ)參數(shù)
numpy.loadtxt( fname, dtype=, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0)
1-2 參數(shù)詳解
fname要讀取的文件、文件名、或生成器。
dtype數(shù)據(jù)類型,默認(rèn)float。
comments注釋。
delimiter分隔符,默認(rèn)是空格。
skiprows跳過(guò)前幾行讀取,默認(rèn)是0,必須是int整型。
usecols要讀取哪些列,0是第一列。例如,usecols = (1,4,5)將提取第2,第5和第6列。默認(rèn)讀取所有列。
unpack如果為True,將分列讀取。
1-3 應(yīng)用示例
文件的存儲(chǔ)路徑為:'./data.txt', 文件內(nèi)容如下:
1-3-1 fname
fname可以是文件的路徑也可以是要讀取的文件。
#根據(jù)文件名直接讀取 data = np.loadtxt('./data/data.csv')
1-3-2 dtype
dtype默認(rèn)為np.float32類型,也可以設(shè)置為其他類型,比如int。設(shè)置為其他dtype時(shí)需要考慮數(shù)據(jù)本身的類型。
#設(shè)置dtype data = np.loadtxt('./data/data.csv',dtype=np.float32) #設(shè)置dtype data = np.loadtxt('./data/data.csv',dtype=int)
1-3-3 comments
comment的是指, 如果行的開(kāi)頭為comment的值,那在讀取時(shí)就會(huì)跳過(guò)該行。示例代碼中comment = '1',則在讀取數(shù)據(jù)時(shí),會(huì)跳過(guò)開(kāi)頭為1的行。
data = np.loadtxt('./data.txt',dtype = int,comments='1')
1-3-4 delimiter
delimiter是分隔符,默認(rèn)是空格。
data = np.loadtxt('./data.txt',dtype = int,comments='1',delimiter=' ')
我們改變一下數(shù)據(jù),將數(shù)據(jù)中的分隔符改為','之后再重新讀取。
data = np.loadtxt('./data.txt',dtype = int,delimiter=',')
1-3-5 skiprows
skiprows跳過(guò)前幾行讀取,默認(rèn)是0,必須是int整型。skiprows = 2則表示跳過(guò)前兩行讀取數(shù)據(jù)。
data = np.loadtxt('./data.txt',dtype = int,delimiter=',',skiprows=2)
讀取數(shù)據(jù)時(shí),設(shè)定 skiprows = 2,則將前兩行跳過(guò),從第三行開(kāi)始讀取。
1-3-6 usecols
usecols要讀取哪些列,0是第一列。例如,usecols = (1,4,5)將提取第2,第5和第6列。默認(rèn)讀取所有列。
讀取第2列數(shù)據(jù)。
data = np.loadtxt('./data.txt',dtype = int,delimiter=',',usecols = 1)
讀取第2,6,9列數(shù)據(jù)。
data = np.loadtxt('./data.txt',dtype = int,delimiter=',',usecols =(1,5,8))
1-3-7 unpack
unpack如果設(shè)置為Ture,將分列讀取,類似于矩陣的轉(zhuǎn)置。
未設(shè)置之前,數(shù)據(jù)讀取時(shí)是以行為單位進(jìn)行讀取。
設(shè)置unpack=Ture之后再次讀取,矩陣的列變?yōu)榱诵小?/p>
1-4 np.loadtxt()讀取csv文件
讀取csv文件與讀取txt文件的參數(shù)一致,需要注意的是csv文件的分隔符一般是“,”并且含有表頭,所以需要使用delimiter=','作為分隔符,以及使用skiprows=1跳過(guò)表頭。
原始csv文件內(nèi)容:
#根據(jù)data_path讀取文件內(nèi)容 train_XY = np.loadtxt(data_path, delimiter=',', skiprows = 1,dtype=np.float32)
總結(jié)
到此這篇關(guān)于Python工程實(shí)踐之np.loadtxt()讀取數(shù)據(jù)的文章就介紹到這了,更多相關(guān)np.loadtxt()讀取數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
幾個(gè)提升Python運(yùn)行效率的方法之間的對(duì)比
這篇文章主要介紹了幾個(gè)提升Python運(yùn)行效率的方法之間的對(duì)比,包括使用Cython和PyPy等這些熱門方法,需要的朋友可以參考下2015-04-04Python實(shí)現(xiàn)計(jì)算長(zhǎng)方形面積(帶參數(shù)函數(shù)demo)
今天小編就為大家分享一篇Python實(shí)現(xiàn)計(jì)算長(zhǎng)方形面積(帶參數(shù)函數(shù)demo),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01Python中11種NumPy高級(jí)操作總結(jié)
熬夜整了了11種Numpy的高級(jí)操作,每一種都有參數(shù)解釋與小例子輔助說(shuō)明。文中的示例代碼講解詳細(xì),感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下吧2022-05-05Python 保持登錄狀態(tài)進(jìn)行接口測(cè)試的方法示例
這篇文章主要介紹了Python 保持登錄狀態(tài)進(jìn)行接口測(cè)試的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-08-08jupyter notebook出現(xiàn)In[*]的問(wèn)題及解決
這篇文章主要介紹了jupyter notebook出現(xiàn)In[*]的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09Python3爬蟲(chóng)關(guān)于代理池的維護(hù)詳解
在本篇文章里小編給大家分享了關(guān)于Python3爬蟲(chóng)關(guān)于代理池的維護(hù)詳解內(nèi)容,需要的朋友們可以參考下。2020-07-07Flask之pipenv虛擬環(huán)境的實(shí)現(xiàn)
這篇文章主要介紹了Flask之pipenv虛擬環(huán)境的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Python 實(shí)現(xiàn)文件讀寫、坐標(biāo)尋址、查找替換功能
這篇文章主要介紹了Python 實(shí)現(xiàn)文件讀寫、坐標(biāo)尋址、查找替換功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-09-09