一、np.save簡介
在 Python 編程中,對於數組等數據的存儲,我們通常需要使用到文件存儲的方式,其中 np.save 函數是其中一個比較常用的存儲方式。np.save 函數可以將 NumPy 數組存儲到以 .npy 為擴展名的硬碟文件中。這樣的存儲形式非常方便快速,不用考慮文件的格式和文件的讀寫順序,直接將數組存到文件中就行了。下面是一個 np.save 的示例:
import numpy as np # 創建一個數組 arr = np.array([1, 2, 3, 4, 5]) # 將數組保存到文件 np.save('arr.npy', arr) # 從文件中讀取數組 arr = np.load('arr.npy') print(arr)
上面的代碼中,我們創建了一個長度為 5 的一維數組 arr,然後使用 np.save 將其保存到 arr.npy 文件中。最後,使用 np.load 讀取存儲的數組,輸出結果應該為 [1 2 3 4 5]。
二、保存多個數組
有時候,我們需要將多個數組一起存儲到文件中,而不是單獨存儲。這時候,我們可以使用 np.savez 函數,該函數接收一個或多個數組作為輸入參數,並將它們保存到以 .npz 為擴展名的壓縮文件中。下面是一個 np.savez 的示例:
import numpy as np # 創建兩個數組 arr1 = np.array([1, 2, 3, 4, 5]) arr2 = np.array([6, 7, 8, 9, 10]) # 將兩個數組保存到文件 np.savez('arr.npz', arr1=arr1, arr2=arr2) # 從文件中讀取兩個數組 arrays = np.load('arr.npz') arr1 = arrays['arr1'] arr2 = arrays['arr2'] print(arr1) print(arr2)
上面的代碼中,我們創建了兩個一維數組 arr1 和 arr2,然後使用 np.savez 將其保存到 arr.npz 文件中。最後,使用 np.load 讀取存儲的數組,並通過關鍵字參數來獲取每個數組的值。
三、存儲大型數組
如果要存儲大型的數組,可能會遇到存儲空間不足的問題。這時候,我們可以使用壓縮演算法來壓縮數組,以減少存儲空間。np.savez_compressed 函數可以將多個數組一起存儲到以 .npz 為擴展名的壓縮文件中,其壓縮方式與 np.savez 函數相同。
import numpy as np # 創建一個大型數組 arr = np.random.rand(10000, 10000) # 將數組保存到壓縮文件 np.savez_compressed('arr_compressed.npz', arr=arr) # 從壓縮文件中讀取數組 arrays = np.load('arr_compressed.npz') arr = arrays['arr'] print(arr)
上面的代碼中,我們創建了一個大小為 10,000 × 10,000 的二維數組 arr,然後使用 np.savez_compressed 將其保存到 arr_compressed.npz 文件中。最後,使用 np.load 讀取存儲的數組。
四、總結
通過本文的介紹,我們可以了解到如何使用 np.save 函數將 NumPy 數組存儲到硬碟文件中,以及如何使用 np.savez 和 np.savez_compressed 將多個數組一起存儲到壓縮文件中。這些存儲方式不僅方便快速,而且非常實用,能夠幫助我們節省存儲空間,提高數據處理效率。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/185037.html