Сохранить полку словарь объект отсортирован по ключам - PullRequest
0 голосов
/ 18 декабря 2018

У меня огромный словарь с 100 000 ключей и большими массивами в виде значений.И я хочу сохранить его как файл для более быстрой загрузки.

Я попытался сбросить его как рассол, но у меня не хватает памяти.Затем попробовал json.dump, но массив Numpy как значения не поддерживается.

Последнее, что я пробовал с полкой, но не могу сохранить его по порядку.

У меня есть следующий код:

with closing(shelve.open('file1.shelf', 'c')) as f:
     for id in ids:
         f[id] = np.array().shape(300, 27, 3)

Я хочу сохранить полочный объект-словарь в порядке относительно идентификаторов.Поэтому я хотел бы отсортировать по идентификатору, а затем сохранить его в виде файла.Могу ли я использовать OrderedDict на полке объекта или я должен использовать другой способ для этой конкретной проблемы?

img_dic = collections.OrderedDict(sorted(f.items()))

Спасибо!

1 Ответ

0 голосов
/ 18 декабря 2018

Вы пытались создать Numpy Dataframe из своего словаря numpy массивов?Ключами dict может быть столбец индекса.Dataframe может быть сохранен на диск несколькими способами.

, возможно, метод to_pickle более эффективен.https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_pickle.html

В противном случае вы можете сохранить как файл паркета или несколько других форматов

...