一、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-hant/n/185037.html
微信掃一掃
支付寶掃一掃