Numpy IO 操作
发布时间:2023-07-03 09:25:34 所属栏目:教程 来源:
导读:ndarray 对象可以保存到磁盘文件并从磁盘文件加载。常用的 IO 函数有:
load() 和 save() 函数是读写文件数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 .npy 的文件中;
load() 和 save() 函数是读写文件数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 .npy 的文件中;
ndarray 对象可以保存到磁盘文件并从磁盘文件加载。常用的 IO 函数有: load() 和 save() 函数是读写文件数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 .npy 的文件中; savez() 函数用于将多个数组写入文件,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 .npz 的文件中; loadtxt() 和 savetxt() 函数处理正常的文本文件(txt等文本文件); 1. npz文件的保存与读取 1.1 numpy.save 函数 numpy.save() 函数将数组保存到以 .npy 为扩展名的文件中。函数原型如下: numpy.save(file, arr, allow_pickle=True, fix_imports=True) 参数说明如下: 参数 说明 file 要保存的文件,扩展名为 .npy,如果文件路径末尾没有扩展名 .npy,该扩展名会被自动加上 arr 要保存的数组 allow_pickle 可选,布尔值,允许使用 Python pickles 保存对象数组,Python 中的 pickle 用于在保存到磁盘文件或从磁盘文件读取之前,对对象进行序列化和反序列化。 fix_imports 可选,为了方便 Pyhton2 中读取 python3 保存的数据。 案例 定义数组: a = np.array([, , , , , ]) 将数组保存到 outfile_a.npy 文件上: np.save('outfile_a.npy', a) 如果你尝试打开 outfile_a.npy 文件,你会发现文件是乱码的,因为它们是 Numpy 专用的二进制格式后的数据。 1.2 numpy.savez 函数 numpy.savez 函数可以将多个数组保存到以 npz 为扩展名的文件中。函数原型如下是: numpy.savez(file, *args, **kwds) 参数说明如下: 参数 说明 file 要保存的文件,扩展名为 .npy,如果文件路径末尾没有扩展名 .npy,该扩展名会被自动加上 args 要保存的数组 kwds 要保存的数组使用关键字名称 案例 定义数组: b = np.array([, , , , , ]) c = np.array([, , , , , ]) 将数组 a、b、c 保存到 outfile_abc.npz 文件上: np.savez('outfile_abc.npz', a, b, arr_1d = c) 1.3 numpy.load函数 numpy.load 函数可以加载 .npy 或 .npz 文件,将数组还原。 案例 从 outfile_a.npy 文件中还原数组 a: a_re = np.load('outfile_a.npy')print(a_re) 还原结果为: [ ] 案例 从 outfile_abc.npz 文件中还原数组 a、b、c: abc_re = np.load('outfile_abc.npz')print(abc_re) 打印还原结果为: <numpy.lib.npyio.NpzFile at > NpzFile 是一个 Numpy 提供的类似字典的对象,可以通过键值对进行访问: print('NpzFile的对象名称为:')for name in abc_re.keys():print(name) 结果为: NpzFile的对象名称为: arr_1d arr_0 arr_1 可以看到 .npz 文件中保存了 3 个 key,其中 arr_1d 是自定义的,arr_0 和 arr_1 是程序默认的。可以详细查看 key 对应的 value: print('arr_1d:', abc_re['arr_1d'])print('arr_0:', abc_re['arr_0'])print('arr_1:', abc_re['arr_1']) 结果为: arr_1d: [ ]arr_0: [ ]arr_1: [ ] 观察发现:arr_0 和 arr_1 分别对应 a 和 b。 (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |