我有一本庞大的字典 100 000键和大型numpy数组作为值。我想将其另存为文件,以加快加载速度。
我尝试将其作为泡菜倾倒,但内存不足。然后尝试json.dump,但不支持将Numpy数组作为值。
最后,我尝试使用架子,但无法按顺序保存它。
我有以下代码:
with closing(shelve.open('file1.shelf', 'c')) as f:
for id in ids:
f[id] = np.array().shape(300, 27, 3)
我想按顺序相对于ID保存架子类字典对象。因此,我想按ID排序,然后将其另存为文件。 我可以在货架对象上使用OrderedDict还是应该针对此特定问题使用另一种方法?
img_dic = collections.OrderedDict(sorted(f.items()))
谢谢!
答案 0 :(得分:0)
您是否尝试过从numpy数组的字典中创建一个Numpy Dataframe?字典的键可以是索引列。数据框将有多种保存到磁盘的方法。
也许to_pickle
方法更有效。 https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_pickle.html
否则,您可以另存为实木复合地板文件或其他多种格式