利用數組的的文件輸入輸出
阿新 • • 發佈:2018-11-18
etx 磁盤 關鍵字參數 通過 分隔符 使用 arr 存取 必須
利用數組的文件輸入輸出
1. 將數組以二進制格式保存到磁盤
np.save和np.load是讀寫磁盤數組數據的兩個主要函數。默認情況下,數組是以未壓縮的原始二進制格式保存在擴展名為.npy的文件中的。
import numpy as np arr=np.arange(10) np.save(‘some_array‘,arr)
如果文件路徑末尾沒有擴展名.npy,則該擴展名會自動加上。然後就可以通過np.load讀取磁盤上數組:
print(np.load(‘some_array.npy‘)) #輸出[0 1 2 3 4 5 6 7 8 9]
為了方便看到文件生成所以使用的是pycharm編寫,需要註意的是使用np.load傳入的文件名必須帶後綴.npy;通過np.savez可以將多個數組保存到一個壓縮文件中,將數組以關鍵字參數的形式傳入即可。
np.savez(‘array_archive.npz‘,a=arr,b=arr)
加載.npz文件時,會得到一個類似字典的對象,該對象將各個數組進行延遲加載:
arch=np.load(‘array_archive.npz‘) print(arch[‘b‘]) #結果[0 1 2 3 4 5 6 7 8 9]
2.存取文本文件
從文件中加載文本是一個非常標準的任務。我們需要用np.loadtxt或更專門化的np.genfromtxt將數據加載到普通的numpy數組中。
這些函數都有許多選項可以使用:指定各種分隔符、針對特定列的轉換器函數、需要跳過的行數等。
arr=np.array([[1,2,3],[2,3,4],[3,4,5]]) np.savetxt(‘array_ex.txt‘,X=arr,delimiter=‘,‘)
將會生成一個文本array_ex.txt文件,相反執行np.loadtxt可以能讀取文本
print(np.loadtxt(‘array_ex.txt‘,delimiter=‘,‘)) #返回結果: [[1. 2. 3.] [2. 3. 4.] [3. 4. 5.]]
利用數組的的文件輸入輸出