numpy工程實(shí)踐之np.savetxt()存儲(chǔ)數(shù)據(jù)
前言
使用np.savetxt()方法可以將數(shù)據(jù)保存為txt文件或者是csv文件。
1 np.savetxt()存儲(chǔ)txt文件
1-1 基礎(chǔ)參數(shù)
numpy.savetxt(
fname,
arrry,
fmt='%.18e',
delimiter=' ',
newline='\n',
header='',
footer='',
comments='# ',
encoding=None,
)1-2 參數(shù)詳解
fname:要存入的文件、文件名、或生成器。
arrry:要存儲(chǔ)的數(shù)據(jù)。
fmt:要存儲(chǔ)的數(shù)據(jù)格式。
delimiter:加載分隔符,默認(rèn)是空格。
newline:行分隔符,默認(rèn)換行符。
header:開(kāi)頭字符串(存儲(chǔ)為csv文件時(shí)可以生成標(biāo)題)。
footer:結(jié)尾字符串。
comments:文中的注釋。
encoding:編碼,默認(rèn)無(wú)。
1-3 應(yīng)用示例
原始數(shù)據(jù)如下所示:

1-3-1 fname
fname可以是文件的路徑也可以是要轉(zhuǎn)換存儲(chǔ)的文件。
np.savetxt('./data1.txt',data)未指定存儲(chǔ)格式,會(huì)默認(rèn)使用科學(xué)計(jì)數(shù)法進(jìn)行存儲(chǔ),存儲(chǔ)后的文件格式如下:

1-3-2 fmt
mt:要存儲(chǔ)的數(shù)據(jù)格式??梢宰孕性O(shè)置。“%d”表示設(shè)置為int型,“%s”表示為字符型,“%f”表示保留幾位小數(shù)。
#保存為整數(shù)
np.savetxt('./data1.txt',data,fmt="%d")
#保存為字符串
np.savetxt('./data1.txt',data,fmt="%s")
#保留3位小數(shù)
np.savetxt('./data1.txt',data,fmt="%.2f")

每列都可以通過(guò)fmt單獨(dú)設(shè)置輸出的精度,注意的是要fmt指定的列數(shù)要與data保持一致,否則會(huì)報(bào)錯(cuò)
np.savetxt('./data1.txt',data,fmt="%.1f,%.2f,%.3f,%.4f,%.d,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,",delimiter=',')
1-3-3 delimiter
delimiter:加載分隔符,默認(rèn)是空格。
#使用,作為分隔符
np.savetxt('./data1.txt',data,fmt="%.2f",delimiter=',')
1-3-4 newline
newline:行分隔符,默認(rèn)換行符。
np.savetxt('./data1.txt',data,fmt="%.2f",delimiter=',',newline='')
1-3-5 header
header:開(kāi)頭字符串(存儲(chǔ)為csv文件時(shí)可以生成標(biāo)題)。如果每一列都要加上標(biāo)題的話,可以使用指定的分隔符分開(kāi)。如果不加分隔符,那就默認(rèn)的加上一列。
np.savetxt('./data1.txt',data,fmt="%d,",delimiter='',header ='The Header')
使用分隔符分開(kāi),給每一列都添加上標(biāo)題。
np.savetxt('./data1.txt',data,fmt="%d,",delimiter='',header ='first,second,trid' )
1-3-6 footer
footer:結(jié)尾字符串。
np.savetxt('./data1.txt',data,fmt="%d,",delimiter='',header ='The Header',footer='The Footer')
1-3-7 comments
comments:文中的注釋。與header配合使用,在實(shí)驗(yàn)時(shí)如果未設(shè)置header參數(shù),即使設(shè)置了comments參數(shù)也無(wú)效。
#header = ''
np.savetxt('./data1.txt',data,fmt="%d,",delimiter='',header = '',comments='First')
#不設(shè)置header
np.savetxt('./data1.txt',data,fmt="%d,",delimiter='',comments='First')
#header = 'The header'
np.savetxt('./data1.txt',data,fmt="%d,",delimiter='',header = 'The header',comments='First')
2 np.savetxt()存儲(chǔ)csv文件
2-1 示例
把header作為生成的csv文件的title
np.savetxt('./data1.csv',data,fmt="%d,",delimiter='',header = 'First,Second,Third') 
在讀取時(shí),key即為設(shè)置的header,在第一個(gè)key中會(huì)攜帶特殊符號(hào)#。

總結(jié)
到此這篇關(guān)于numpy工程實(shí)踐之np.savetxt()存儲(chǔ)數(shù)據(jù)的文章就介紹到這了,更多相關(guān)np.savetxt()存儲(chǔ)數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
YOLOv5改進(jìn)系列之增加小目標(biāo)檢測(cè)層
yolov5出來(lái)已經(jīng)很長(zhǎng)時(shí)間了,所以有關(guān)yolov5的一些詳細(xì)介紹在這里就不一一介紹了,下面這篇文章主要給大家介紹了關(guān)于YOLOv5改進(jìn)系列之增加小目標(biāo)檢測(cè)層的相關(guān)資料,需要的朋友可以參考下2022-09-09
Python3 利用face_recognition實(shí)現(xiàn)人臉識(shí)別的方法
這篇文章主要介紹了Python3 利用face_recognition實(shí)現(xiàn)人臉識(shí)別的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
使用Python快速搭建HTTP服務(wù)和文件共享服務(wù)的實(shí)例講解
今天小編就為大家分享一篇使用Python快速搭建HTTP服務(wù)和文件共享服務(wù)的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
python3使用logging包,如何把日志寫到系統(tǒng)的rsyslog中
這篇文章主要介紹了python3使用logging包,如何把日志寫到系統(tǒng)的rsyslog中的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
pytorch 實(shí)現(xiàn)凍結(jié)部分參數(shù)訓(xùn)練另一部分
這篇文章主要介紹了pytorch 實(shí)現(xiàn)凍結(jié)部分參數(shù)訓(xùn)練另一部分,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
Python中高效的json對(duì)比庫(kù)deepdiff詳解
deepdiff模塊常用來(lái)校驗(yàn)兩個(gè)對(duì)象是否一致,包含3個(gè)常用類,DeepDiff,DeepSearch和DeepHash,其中DeepDiff最常用,可以對(duì)字典,可迭代對(duì)象,字符串等進(jìn)行對(duì)比,使用遞歸地查找所有差異,今天我們就學(xué)習(xí)一下快速實(shí)現(xiàn)代碼和文件對(duì)比的庫(kù)–deepdiff2022-07-07
Pandas_cum累積計(jì)算和rolling滾動(dòng)計(jì)算的用法詳解
今天小編就為大家分享一篇Pandas_cum累積計(jì)算和rolling滾動(dòng)計(jì)算的用法詳解,具有好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07

