目录
numpy.savez(file, *args, **kwds) Save several arrays into a single file in uncompressed .npz format.
Numpy二进制文件
-
numpy.save(file, arr, allow_pickle=True, fix_imports=True)
Save an array to a binary file in Numpy.npy format
-
numpy.load(file, mmap_mode=None, allow_pickle=False, fix_imports=True, encoding='ASCII')
Load arrays or pickled objects from .npy
, .npz
or pickled files.
- npy格式:以二进制的方式存储文件,在二进制文件第一行以文本形式保存了数据的元信息(ndim,dtype,shape等),可以用二进制工具查看内容。
- npz格式:以压缩打包的方式存储文件,可以用压缩软件解压。
import numpy as np
outfile = r'.\test.npy'
np.random.seed(20201023)
x = np.random.uniform(0,1,[3,5])
np.save(outfile, x)
y = np.load(outfile)
print(y)
#[[3.78755388e-01 7.77729472e-01 9.56024866e-01 7.48597728e-01
# 7.15474401e-01]
# [6.00319160e-02 5.15350363e-01 3.94660640e-01 9.14059157e-04
# 1.32043074e-01]
# [7.44397294e-01 1.91298030e-01 1.21090391e-01 2.71859640e-01
# 7.95662336e-01]]
-
numpy.savez(file, *args, **kwds)
Save several arrays into a single file in uncompressed .npz
format.
savez()
第一个参数是文件名,其后的参数都是需要保存的数组,可以使用关键字参数为数组起一个名字,非关键字参数传递的数组会自动起名为arr_0, arr_1, …
。savez()
输出的是一个压缩文件(扩展名为npz),其中每个文件都是一个save()
保存的npy文件,文件名对应于数组名。load()
自动识别npz文件,并且返回一个类似于字典的对象,可以通过数组名作为关键字获取数组的内容。
outfile = r'.\test.npz'
x = np.linspace(0, np.pi, 5)
y = np.sin(x)
z = np.cos(x)
np.savez(outfile, x, y, z_d=z)
data = np.load(outfile)
np.set_printoptions(suppress=True)
print(data.files)
#['z_d', 'arr_0', 'arr_1']
print(data['arr_0'])
#[0. 0.78539816 1.57079633 2.35619449 3.14159265]
print(data['arr_1'])
#[0. 0.70710678 1. 0.70710678 0. ]
print(data['z_d'])
#[ 1. 0.70710678 0. -0.70710678 -1. ]
上面代码中:
-
numpy.set_printoptions(precision=None,threshold=None,edgeitems=None,linewidth=None,suppress=None,nanstr=None,infstr=None,formatter=None,sign=None,floatmode=None,
*,legacy=None,)
suppress参数如果为True,则始终使用定点表示法表示浮点数,在这种情况下,当前精度中等于零的数字将打印为零。如果为假,则当最小数的绝对值小于1e-4或最大绝对值与最小值之比大于1e3时,则使用科学记数法。默认值为False。
文本文件