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 等。

参数:
filefile、str 或 pathlib.Path

文件名(字符串)或打开的文件(类似文件的对象),数据将保存到其中。如果 file 是字符串或 Path,则如果文件名尚未包含 .npz 扩展名,则会将其附加到文件名。

args可选参数

保存到文件的数组。请使用关键字参数(参见下面的 kwds)为数组分配名称。作为 args 指定的数组将命名为“arr_0”、“arr_1”等。

allow_pickle布尔值,可选

允许使用 Python pickle 保存对象数组。不允许 pickle 的原因包括安全性(加载 pickle 数据可以执行任意代码)和可移植性(pickle 对象可能无法在不同的 Python 安装中加载,例如,如果存储的对象需要不可用的库,并且并非所有 pickle 数据都与不同版本的 Python 兼容)。默认值:True

kwds可选关键字参数

保存到文件的数组。每个数组都将使用其对应的关键字名称保存到输出文件。

返回值:
None

另请参阅

numpy.save

将单个数组保存到 NumPy 格式的二进制文件中。

numpy.savetxt

将数组保存为纯文本文件。

numpy.savez

将多个数组保存到未压缩的 .npz 文件格式

numpy.load

加载由 savez_compressed 创建的文件。

注释

.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