Numpy 的數據保存與載入方法比 Python 的 pickle 要方便的多。而且由於目前大多數的複雜數據處理都使用 Numpy,因此相比較而言 npy/npz 的 Numpy 數據保存與載入更爲常用。
函數說明
numpy.load(file, mmap_mode=None, allow_pickle=True, fix_imports=True, encoding=‘ASCII’)
用於載入 npy/npz 數據文件內的數據。
- npy 文件用於保存 ndarray 類型的數據,使用 numpy.save 函數保存數據;
- npz 文件用於保存 nadrray 數據組成的字典,使用 numpy.savez 函數保存數據。
numpy.save(file, arr, allow_pickle=True, fix_imports=True)
用於將 ndarray 類型的數據保存至擴展名爲 npy 的數據文件中。
numpy.savez(file, *args, **kwds)
用於將 ndarray 類型的數據以字典的形式保存在擴展名爲 npz 的數據文件中。
代碼試驗
import numpy as np
a = np.arange(1, 11, dtype=np.float32)
np.save("d:/arr", a)
b = np.load("d:/arr.npy")
print("a: ", a)
print("b: ", b)
np.savez("d:/dict_arr", array_a=a, array_b=b)
c = np.load("d:/dict_arr.npz")
for key, arr in c.items():
print(key, ": ", arr)
輸出:
a: [ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
b: [ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
array_a : [ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
array_b : [ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]