numpy.savez_compressed#
- numpy.savez_compressed(file, *args, allow_pickle=True, **kwds)[源代码]#
将多个数组保存到一个压缩的
.npz
文件中。提供数组作为关键字参数,以便在输出文件中以相应的名称存储它们:
savez_compressed(fn, x=x, y=y)
。如果数组被指定为位置参数,即
savez_compressed(fn, x, y)
,它们的名称将是 arr_0、arr_1 等。- 参数:
- file文件、字符串或 pathlib.Path 对象
可以是文件名(字符串)或一个打开的文件(类文件对象),数据将保存到其中。如果 file 是字符串或 Path 对象,则会在文件名中自动添加
.npz
扩展名,如果它尚不存在。- args参数,可选
要保存到文件的数组。请使用关键字参数(参见下面的 kwds)为数组分配名称。指定为 args 的数组将被命名为“arr_0”、“arr_1”等。
- allow_pickle布尔值,可选
允许使用 Python pickle 保存对象数组。不允许使用 pickle 的原因包括安全性(加载 pickle 数据可以执行任意代码)和可移植性(pickle 对象可能无法在不同的 Python 安装上加载,例如如果存储的对象需要不可用的库,并且并非所有 pickle 数据都与不同版本的 Python 兼容)。默认值:True
- kwds关键字参数,可选
要保存到文件的数组。每个数组都将以其对应的关键字名称保存到输出文件中。
- 返回:
- 无
另请参见
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