因此,我有许多大型.npy文件(每个〜600MB)具有如下结构:
file = {"date": current_date, "some parameters": parameters, "data": data}
numpy.save("file.npy", file)
数据字段包含一个较大的数组(每个元素中都有字典!),该数组在文件大小中占最大比例,因此,我想以mmap模式加载该文件,否则将进行文件打开过程(np.load ().item())太长,即使我只想访问“日期”字段。
但是,由于文件中有字典,因此无法在mmap_mode ='r'中加载文件。
np.load("test.npy", mmap_mode='r')
引发ValueError异常:
ValueError: Array can't be memory-mapped: Python objects in dtype.
我还能做些什么来加快文件打开时间?我现在无法重写它们,所以不要建议其他解决方案,例如PyTables和其他数据库。我确实意识到这里解决数据存储问题的方法很愚蠢。