首頁 >後端開發 >Python教學 >numpy中以文字的方式儲存以及讀取資料方法

numpy中以文字的方式儲存以及讀取資料方法

不言
不言原創
2018-06-04 16:09:312143瀏覽

這篇文章主要介紹了關於numpy中以文本的方式存儲以及讀取數據方法,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

Numpy中除了能夠把資料以二進位檔案的方式儲存到檔案中以外,還可以選擇把資料儲存到文字檔案中。如果我有磁碟儲存的需要,我一般會選擇文字的存儲,因為後期的處理工具會有更多的選擇。

文字儲存資料檔可以採用savetxt的功能,而對應檔案的載入可以採用loadtxt的功能。與二進位儲存不同,savetxt的功能不會自動追加副檔名。

接下來做簡單的操作練習示範:

#
In [15]: arr1 =rand(5,4)
 
In [16]: arr1
Out[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.txt
2.134949194782667092e-017.799328187516920696e-01 3.726924550593806451e-01 7.059972531846898658e-01
7.400404474495648754e-016.469771552354630639e-01 4.948939386825553788e-01 9.400593405075502451e-01
8.990269288143762916e-014.302168497691762905e-01 2.962351210526772416e-01 4.259564974067475696e-01
1.463850064000737916e-037.619464016912527171e-01 2.764661957409741966e-01 8.967282719944846825e-03
1.774618247314488917e-018.110735600283927038e-01 1.314094418012348164e-01 1.280861102265743456e-01

#檔案的載入:

##

In [22]: new_arr =np.loadtxt('data.txt')
 
In [23]: new_arr
Out[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_arr
Out[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 進行陣列拼接,分別在行和列上合併的實例

numpy實作合併多維矩陣、list的擴充方法

##

以上是numpy中以文字的方式儲存以及讀取資料方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn