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_0arr_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