numpy.savez

原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.savez.html

译者:飞龙 UsyiyiCN

校对:(虚位以待)

numpy.savez(file, *args, **kwds)[source]

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

如果传入的参数中没有关键字,则.npz文件中的相应变量名称为“arr_0”,“arr_1”等。如果给出关键字参数,则.npz文件中的相应变量名称将匹配关键字名称。

参数:

文件:str或文件

要保存数据的文件名(字符串)或打开文件(类文件对象)。如果file是一个字符串,则.npz扩展名将附加到文件名之后(如果尚未存在)。

args:参数,可选

数组保存到文件。由于Python不可能知道savez之外的数组的名称,因此数组将以名称“arr_0”,“arr_1”等保存。这些参数可以是任何表达式。

kwds:关键字参数,可选

数组保存到文件。数组将保存在带有关键字名称的文件中。

返回:

没有

也可以看看

save
将单个数组保存为NumPy格式的二进制文件。
savetxt
将数组作为纯文本保存到文件。
savez_compressed
将几个数组保存到压缩的.npz存档中

笔记

.npz文件格式是以其包含的变量命名的文件的压缩存档。归档不会压缩,归档中的每个文件都包含.npy格式的一个变量。有关.npy格式的说明,请参阅numpy.lib.format或Numpy增强提议http://docs.scipy.org/doc/numpy /neps/npy-format.html

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

例子

>>> 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 here to simulate closing & reopening file
>>> npzfile = np.load(outfile)
>>> npzfile.files
['arr_1', 'arr_0']
>>> 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)
>>> npzfile.files
['y', 'x']
>>> npzfile['x']
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])