我有一个包含33,696行数据的大型NPY文件。我想把它分成18个小文件,每个文件有1872行数据。我曾尝试使用相同的代码将大文本文件转换为小文本文件,但我无法接收到我想要的输出。可以使用什么替代代码来实现这一点?我尝试重复与文本文件相同的步骤,但没有收到我想要的输出。
ar7v8xwq1#
NPY文件是必须作为整体加载的二进制格式文件。另一方面,文本文件应该一次读取一行。这意味着您不能期望期望文本文件的代码正确处理二进制NPY文件。在这里,您应该:1.将NPY文件加载到一个大的数字数组(numpy.load)中1.将大的NumPy数组拆分为较小的数组1.保存较小的文件可能的代码:
numpy.load
arr = np.load('large_file') for rank, start in range(0, 33696, 1872): np.save(f'small_{rank}.npy', arr[start: start+1872])
1条答案
按热度按时间ar7v8xwq1#
NPY文件是必须作为整体加载的二进制格式文件。另一方面,文本文件应该一次读取一行。这意味着您不能期望期望文本文件的代码正确处理二进制NPY文件。
在这里,您应该:
1.将NPY文件加载到一个大的数字数组(
numpy.load
)中1.将大的NumPy数组拆分为较小的数组
1.保存较小的文件
可能的代码: