Numpy中除了能夠把數據以二進制文件的方式保存到文件中以外,還可以選擇把數據保存到文本文件中。如果我有磁盤存儲的需要,我一般會選擇文本的存儲,因為后期的處理工具會有更多的選擇。
文本存儲數據文件可以采用savetxt的功能,而相應文件的加載可以采用loadtxt的功能。與二進制存儲不同,savetxt的功能不會自動追加擴展名。
接下來做簡單的操作練習示范:
In [15]: arr1 =rand(5,4) In [16]: arr1Out[16]:array([[0.21349492, 0.77993282, 0.37269246, 0.70599725], [ 0.74004045, 0.64697716, 0.49489394, 0.94005934], [ 0.89902693, 0.43021685, 0.29623512, 0.4259565 ], [ 0.00146385, 0.7619464 , 0.2764662 , 0.00896728], [ 0.17746182, 0.81107356, 0.13140944, 0.12808611]]) In [17]:np.savetxt('data.txt',arr1)
通過以上操作,數組的信息被存儲到了data.txt文件中。可以通過其他的文本編輯器或者其他處理工具進行編輯修改。以文本形式對文件直接進行查看結果如下:
C:/Users/ThinkPad/Desktop>typedata.txt2.134949194782667092e-017.799328187516920696e-01 3.726924550593806451e-01 7.059972531846898658e-017.400404474495648754e-016.469771552354630639e-01 4.948939386825553788e-01 9.400593405075502451e-018.990269288143762916e-014.302168497691762905e-01 2.962351210526772416e-01 4.259564974067475696e-011.463850064000737916e-037.619464016912527171e-01 2.764661957409741966e-01 8.967282719944846825e-031.774618247314488917e-018.110735600283927038e-01 1.314094418012348164e-01 1.280861102265743456e-01
文件的加載:
In [22]: new_arr =np.loadtxt('data.txt') In [23]: new_arrOut[23]:array([[0.21349492, 0.77993282, 0.37269246, 0.70599725], [ 0.74004045, 0.64697716, 0.49489394, 0.94005934], [ 0.89902693, 0.43021685, 0.29623512, 0.4259565 ], [ 0.00146385, 0.7619464 , 0.2764662 , 0.00896728], [ 0.17746182, 0.81107356, 0.13140944, 0.12808611]])
存儲的數據文件可以通過加載的方式重新用以創建數組對象,為了驗證存儲與讀取的一致性,做一下檢查如下:
In [25]: arr1 ==new_arrOut[25]:array([[True, True, True, True], [ True, True, True, True], [ True, True, True, True], [ True, True, True, True], [ True, True, True, True]], dtype=bool)
從上面可以看出,讀取回來的數據跟原來有著等價效果。
以上這篇numpy中以文本的方式存儲以及讀取數據方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答