成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python使用NumPy文件的讀寫操作

瀏覽:3日期:2022-06-23 11:11:57
一、使用NumPy讀寫文本文件

在數(shù)據(jù)分析中,經(jīng)常需要從文件中讀取數(shù)據(jù)或?qū)?shù)據(jù)寫入文件,常用的存儲(chǔ)文件的格式有文本文件、CSV格式文件、二進(jìn)制格式文件和多維數(shù)據(jù)文件等。

1.將1維或2維數(shù)組寫入TXT文件或CSV格式文件 在NumPy中,使用savetxt()函數(shù)可以將1維或2維數(shù)組寫入后綴名為txt或csv的文件.函數(shù)格式為:

**numpy.savetxt(fname,array,fmt=’%.18e’,delimiter=None,newline=’n’, header=’’, footer=’’, comments=’# ’, encoding=None)**

主要參數(shù):fname:文件、字符串或產(chǎn)生器,可以是.gz 或.bz2 的壓縮文件array:存入文件的數(shù)組(一維數(shù)組或者二維數(shù)組)fmt:寫入文件的格式,如:%d,%.2f,%.18e,默認(rèn)值是%.18e 可選項(xiàng)delimiter: 分隔符,通常情況是str可選header:將在文件開頭寫入的字符串footer:將在文件尾部寫入的字符串comments: 將附加到header和footer字符串的字符串,以將其標(biāo)記為注釋。默認(rèn)值:’#’ encoding:用于編碼輸出文件的編碼。

import numpy as nparr = np.arange(12).reshape(3,4)#fmt缺省取%.18e(浮點(diǎn)數(shù))#分割符默認(rèn)是空格,寫入文件保存在當(dāng)前目錄np.savetxt(’test-1.txt’,arr)#fmt:%d 寫入文件的元素是十進(jìn)制整數(shù),分割符為逗號(hào)',',寫入文件保存在當(dāng)前目錄np.savetxt(’test-2.txt’,arr,fmt=’%d’,delimiter=’,’)#在test-3.txt文件頭部和尾部增加注釋,頭部 #test-3,尾部 # 數(shù)據(jù)寫入注釋,寫入文件的元素是字符串np.savetxt(’test-3.txt’,arr,fmt=’%s’,delimiter=’,’,header= ’test-3’,footer=’測(cè)試數(shù)據(jù)’,encoding=’utf-8’)#在test-4.txt文件頭部加##test-4注釋np.savetxt(’test-4.txt’,arr,fmt=’%f’,delimiter=’,’,header= ’test-4’,comments=’###’)#將arr數(shù)組保存為csv文件np.savetxt(’test-1.csv’,arr,fmt=’%d’,header=’test-1’)2.讀取TXT文件和CSV格式文件 在NumPy中,讀取TXT文件和CSV格式文件的函數(shù)是loadtxt(),函數(shù)格式:

numpy.loadtxt(fname,dtype=type’float’>,comments=’#’,delimiter=None, converters=None,skiprows=0,usecols=None,unpack=False,ndmin=0,encoding=‘bytes’)#參數(shù)說(shuō)明:fname:被讀取的文件名(文件的相對(duì)地址或者絕對(duì)地址)dtype:指定讀取后數(shù)據(jù)的數(shù)據(jù)類型comments: 跳過(guò)文件中指定參數(shù)開頭的行(即不讀取)delimiter:指定讀取文件中數(shù)據(jù)的分割符converters: 對(duì)讀取的數(shù)據(jù)進(jìn)行預(yù)處理skiprows:選擇跳過(guò)的行數(shù)usecols:指定需要讀取的列unpack:選擇是否將數(shù)據(jù)進(jìn)行向量輸出encoding:對(duì)讀取的文件進(jìn)行預(yù)編碼

a = np.loadtxt(’test-1.txt’) #讀入當(dāng)前目錄下的文件 test-1.txtprint(a) [[ 0. 1. 2. 3.] [ 4. 5. 6. 7.] [ 8. 9. 10. 11.]]

# skiprows:指跳過(guò)前1行, 如果設(shè)置skiprows=2, 就會(huì)跳過(guò)前兩行,數(shù)據(jù)類型設(shè)置為整型.a = np.loadtxt(’test-1.txt’, skiprows=1, dtype=int)print(a)[[ 4 5 6 7] [ 8 9 10 11]]

# comment, 如果行的開頭為#就會(huì)跳過(guò)該行a = np.loadtxt(’test-4.txt’, skiprows=2, comments=’#’,delimiter=’,’)b = np.loadtxt(’test-4.txt’,comments=’#’,delimiter=’,’)print(a,b,sep=’n’)[[ 4. 5. 6. 7.] [ 8. 9. 10. 11.]][[ 0. 1. 2. 3.] [ 4. 5. 6. 7.] [ 8. 9. 10. 11.]]

# usecols:指定讀取的列,若讀取0,2兩列aa = np.loadtxt(’test-3.txt’,dtype=int, skiprows=1,delimiter=’,’,usecols=(0, 2))#unpack是指會(huì)把每一列當(dāng)成一個(gè)向量輸出, 而不是合并在一起。(a, b) = np.loadtxt(’test-2.txt’, dtype=int, skiprows=1, comments=’#’, delimiter=’,’, usecols=(0, 2), unpack=True)print(aa,a, b,sep=’n’)[[ 0 2] [ 4 6] [ 8 10]][4 8][ 6 10]#讀取csv文件aa = np.loadtxt(’test-1.csv’,skiprows=1)print(aa)[[ 0. 1. 2. 3.] [ 4. 5. 6. 7.] [ 8. 9. 10. 11.]]二、使用NumPy讀寫二進(jìn)制文件1.使用save()或savez()函數(shù)寫二進(jìn)制格式文件

save函數(shù)將數(shù)組以未壓縮的原始二進(jìn)制格式保存在擴(kuò)展名為.npy的文件中。會(huì)自動(dòng)處理元素類型和形狀等信息。savez函數(shù)將多個(gè)數(shù)組壓縮到一個(gè)擴(kuò)展名為npz的文件,其中每個(gè)文件都是一個(gè)save()保存的npy文件,文件名和數(shù)組名相同save()或savez()函數(shù)的格式:

numpy.save(file,array)numpy.savez(file,array)2.使用load()函數(shù)讀取二進(jìn)制格式文件

load()函數(shù)的格式: numpy.load(file)

import numpy as npa = np.arange(12).reshape(3,4)print(’原數(shù)組a:n’,a)np.save(’arr1.npy’, a) #將數(shù)據(jù)存儲(chǔ)為npy,保存時(shí)可以省略擴(kuò)展名,默認(rèn).npyc = np.load(’arr1.npy’) #讀取arr1.npy的數(shù)據(jù),讀取數(shù)據(jù)時(shí)不能省略 .npyprint(’讀取后的數(shù)據(jù):n’,c)ar = np.arange(6).reshape(3,2) print(’保存前的數(shù)組:’,a,ar,sep=’n’)np.savez(’arr2.npz’,a,ar) #多數(shù)組存儲(chǔ),默認(rèn)文件名.npzb = np.load(’arr2.npz’)print(’讀取后的數(shù)據(jù):’)print(b[’arr_0’],b[’arr_1’],sep=’n’)

原數(shù)組a:[[ 0 1 2 3][ 4 5 6 7][ 8 9 10 11]]讀取后的數(shù)據(jù):[[ 0 1 2 3][ 4 5 6 7][ 8 9 10 11]]保存前的數(shù)組:[[ 0 1 2 3][ 4 5 6 7][ 8 9 10 11]][[0 1][2 3][4 5]]讀取后的數(shù)據(jù):[[ 0 1 2 3][ 4 5 6 7][ 8 9 10 11]][[0 1][2 3][4 5]]

for i in b.items(): print(i)(’a’, array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]))(’ar’, array([[0, 1], [2, 3], [4, 5]]))

以上就是python使用NumPy文件的讀寫操作的詳細(xì)內(nèi)容,更多關(guān)于python使用NumPy讀寫文件的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 91久久精品国产91久久性色tv | 中文字幕在线免费观看视频 | 国产精品特黄一级国产大片 | 国产成年女一区二区三区 | 香蕉久久夜色精品国产尤物 | 全部免费a级毛片 | 日韩毛片免费线上观看 | 日本成人免费在线观看 | 亚洲国产精品区 | 久久久久久亚洲精品中文字幕 | 99视频国产热精品视频 | 久久99热只有视精品6国产 | youjizz日韩| 波多野结衣一区在线 | 午夜在线播放免费人成无 | 全国男人的天堂天堂网 | 91在线免费观看网站 | 精品久久久在线观看 | 99精品国产在现线免费 | 成年女人免费看片 | 午夜手机福利 | 欧美亚洲综合网 | 欧美一区二区三区国产精品 | 国产福利社区 | 日韩国产欧美在线观看一区二区 | 一级做a爱久久久久久久 | 久久精品18 | 99热.com| 亚洲美女综合网 | 深夜福利国产福利视频 | 日本精品久久 | 日韩国产成人精品视频人 | 欧美亚洲第一区 | 爱视频福利广场 | 米奇精品一区二区三区在线观看 | 一级女性全黄久久生活片免费 | 殴美一级 | 天天爽夜夜操 | 国产成人禁片免费观看 | 成年人午夜影院 | 99精品视频在线视频免费观看 |