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_picklebool, 可选
允许使用 Python 腌制(pickle)来保存对象数组。禁止腌制的原因包括安全(加载腌制数据可能会执行任意代码)和可移植性(腌制对象可能在不同的 Python 安装上无法加载,例如,如果存储的对象需要不存在的库,并且并非所有腌制数据都兼容不同版本的 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