Numpy基礎5(如何保存你的array?)

接下來我們介紹一些基本操作方法:

一維,二維數據:

通常的方法是使用CSV文件。

保存:
np.savetxt(frame,array,fmt,delimiter)
frame:文件,也可以是壓縮文件的名字
array:寫入文件的數組
fmt:寫入文件的格式%d %.3f %.18e科學計數法
delimiter:分割字符串,默認是空格
實例:
a=np.arange(100).reshape(5,20)
np.savetxt('a.csv',a,fmt='%.2f',delimiter=',')

加載:
np.loadtxt(frame,dtype=np.float,delimiter=None,unpack=False)
unpack:
True將會使讀入的屬性寫入不同的數組變量
None會寫入相同的數組變量

更高維的數據:

對於更高維的數據,我們使用兩個文件來存儲,一個用來存儲轉化爲一維的array,另一個存儲shape:
存取任意維度數據:

保存:
a.tofile(frame,sep='',format='%s')

frame:文件、字符串
sep:數據分割字符串,若爲'',則存儲爲二進制文件,若爲","則爲存儲爲字符串
format:寫入數據的格式
實例:
a=np.arange(100).reshape(5,10,2)
a.tofile("b.dat",sep=',',format="%s")
np.fromfile(frame,dtype,count,sep)
frame:文件,字符串
dtype:數據類型
count:-1默認爲讀入整個文件
sep:分隔符,讀入二進制文件時爲空字符串
二者需要配合使用,而且在存儲時數組類型與維度信息會缺失。

高維數據存儲便捷方法:

最便捷的方法,是直接將array存儲爲npy文件格式:

np.save(fname,array)或np.savez(frame,array)
前者爲.npy,後者以壓縮形式存儲爲.npz
np.load(fname)讀取,這樣可以完整的存取數組的信息
發佈了25 篇原創文章 · 獲贊 3 · 訪問量 3461
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章