首页 > 解决方案 > 将 numpy 记录保存和加载为多部分文件

问题描述

请参阅下面的代码。当np.save被调用时,numpy记录被保存为一个大文件。我想numpy根据一些指定的块大小和一些自动文件命名将它保存成小部分。最后,np.load应该将它作为memmap所有零件文件加载。

我很惊讶为什么这在 numpy 中不可用。我也试着去寻找它。我错过了什么吗?

ps:np.recarray除了将记录列作为属性访问之外没有任何意义。

import numpy as np

_size = 10000
_x = np.empty(_size, dtype=np.float32)
_y = np.empty(_size, dtype=np.int32)

npy_rec = np.recarray((_size,), dtype=[('x', '<f8'), ('y', '<i8')])
npy_rec.x = _x
npy_rec.y = _y

np.save("npy_rec.npy", npy_rec)
npy_rec_ = np.load("npy_rec.npy", mmap_mode="r").view(np.recarray)

print(npy_rec)
print(npy_rec_)

标签: pythonnumpyscipy

解决方案


推荐阅读