numpy.savez#

numpy.savez(file, *args, **kwds)[源代码]#

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

在输出文件中将数组作为关键字参数提供,以便将它们存储在相应的名称下:savez(fn, x=x, y=y).

如果数组被指定为位置参数,即 savez(fn, x, y) ,它们的名称将是 arr_0, arr_1 等.

参数:
file文件, str, 或 pathlib.Path

数据将被保存的文件名(字符串)或打开的文件(类文件对象).如果文件是字符串或路径,则如果文件名尚不存在,将附加 .npz 扩展名.

args参数,可选

要保存到文件的数组.请使用关键字参数(见下面的 kwds)为数组分配名称.指定为参数的数组将被命名为 “arr_0”、”arr_1”,依此类推.

kwds关键字参数,可选

要保存到文件的数组.每个数组将与其对应的键名一起保存到输出文件中.

返回:
None

参见

save

将单个数组保存为NumPy格式的二进制文件.

savetxt

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

savez_compressed

将多个数组保存到一个压缩的 .npz 存档中

备注

.npz 文件格式是一个以它们包含的变量命名的文件的压缩存档.存档未压缩,存档中的每个文件包含一个以 .npy 格式存储的变量.有关 .npy 格式的描述,请参见 numpy.lib.format.

当使用 load 打开保存的 .npz 文件时,会返回一个 NpzFile 对象.这是一个类似字典的对象,可以用 .files 属性查询其数组列表,以及数组本身.

kwds 中传递的键用作 ZIP 存档中的文件名.因此,键应该是有效的文件名;例如,避免以 / 开头或包含 . 的键.

当使用关键字参数命名变量时,不能将变量命名为 file,因为这会导致在调用 savezfile 参数被定义两次.

示例

>>> import numpy as np
>>> from tempfile import TemporaryFile
>>> outfile = TemporaryFile()
>>> x = np.arange(10)
>>> y = np.sin(x)

使用 savez 与 *args,数组将以默认名称保存.

>>> np.savez(outfile, x, y)
>>> _ = outfile.seek(0) # Only needed to simulate closing & reopening file
>>> npzfile = np.load(outfile)
>>> npzfile.files
['arr_0', 'arr_1']
>>> npzfile['arr_0']
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

使用 savez 并带有 **kwds,数组将以关键字名称保存.

>>> outfile = TemporaryFile()
>>> np.savez(outfile, x=x, y=y)
>>> _ = outfile.seek(0)
>>> npzfile = np.load(outfile)
>>> sorted(npzfile.files)
['x', 'y']
>>> npzfile['x']
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])