numpy.savez_compressed#
- numpy.savez_compressed(file, *args, allow_pickle=True, **kwds)[source]#
將多個陣列儲存到單個壓縮的
.npz
格式檔案中。以關鍵字引數提供陣列,以將它們以對應的名稱儲存在輸出檔案中:
savez_compressed(fn, x=x, y=y)
。如果陣列是以位置引數指定,例如
savez_compressed(fn, x, y)
,它們的名稱將會是 arr_0、arr_1 等。- 參數::
- file檔案、str 或 pathlib.Path
檔案名稱 (字串) 或要儲存資料的已開啟檔案 (類檔案物件)。如果 file 是字串或 Path,則
.npz
副檔名會附加到檔案名稱,如果它還不存在的話。- args引數,選用
要儲存到檔案的陣列。請使用關鍵字引數 (請參閱下方的 kwds) 為陣列指定名稱。指定為 args 的陣列將會命名為 “arr_0”、“arr_1” 等。
- allow_pickle布林值,選用
允許使用 Python pickles 儲存物件陣列。不允許 pickles 的原因包括安全性 (載入 pickled 資料可能會執行任意程式碼) 和可攜性 (pickled 物件可能無法在不同的 Python 安裝上載入,例如,如果儲存的物件需要不可用的程式庫,並且並非所有 pickled 資料在不同 Python 版本之間都相容)。預設值:True
- kwds關鍵字引數,選用
要儲存到檔案的陣列。每個陣列都會以其對應的關鍵字名稱儲存到輸出檔案中。
- 傳回::
- 無
註解
The
.npz
檔案格式是一個壓縮檔案,其中包含以其包含的變數命名的檔案。該壓縮檔案使用zipfile.ZIP_DEFLATED
壓縮,並且壓縮檔案中的每個檔案都包含一個.npy
格式的變數。有關.npy
格式的描述,請參閱numpy.lib.format
。當使用
load
開啟已儲存的.npz
檔案時,會傳回一個NpzFile
物件。這是一個類似字典的物件,可以查詢其陣列列表 (使用.files
屬性) 以及陣列本身。範例
>>> import numpy as np >>> test_array = np.random.rand(3, 2) >>> test_vector = np.random.rand(4) >>> np.savez_compressed('/tmp/123', a=test_array, b=test_vector) >>> loaded = np.load('/tmp/123.npz') >>> print(np.array_equal(test_array, loaded['a'])) True >>> print(np.array_equal(test_vector, loaded['b'])) True