numpy 可以将大的NPY文件转换为小的NPY文件吗?

cigdeys3  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(153)

我有一个包含33,696行数据的大型NPY文件。我想把它分成18个小文件,每个文件有1872行数据。我曾尝试使用相同的代码将大文本文件转换为小文本文件,但我无法接收到我想要的输出。可以使用什么替代代码来实现这一点?
我尝试重复与文本文件相同的步骤,但没有收到我想要的输出。

ar7v8xwq

ar7v8xwq1#

NPY文件是必须作为整体加载的二进制格式文件。另一方面,文本文件应该一次读取一行。这意味着您不能期望期望文本文件的代码正确处理二进制NPY文件。
在这里,您应该:
1.将NPY文件加载到一个大的数字数组(numpy.load)中
1.将大的NumPy数组拆分为较小的数组
1.保存较小的文件
可能的代码:

arr = np.load('large_file')
for rank, start in range(0, 33696, 1872):
   np.save(f'small_{rank}.npy', arr[start: start+1872])

相关问题