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 等.- 参数:
- filefile, str, 或 pathlib.Path
文件名(字符串)或将保存数据的打开文件(类似文件的对象). 如果文件是字符串或路径,则如果文件名中尚不存在
.npz扩展名,则将其附加到文件名中.- args参数,可选
要保存到文件的数组.请使用关键字参数(参见下面的
kwds)为数组分配名称.作为参数指定的数组将被命名为“arr_0”,“arr_1”等等.- allow_picklebool, 可选
允许使用 Python pickles 保存对象数组.不允许使用 pickles 的原因包括安全性(加载 pickled 数据可以执行任意代码)和可移植性(pickled 对象可能无法在不同的 Python 安装上加载,例如,如果存储的对象需要不可用的库,并且并非所有 pickled 数据都与不同版本的 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