Проблема экспорта Pandas DataFrame с объектом, содержащим документы в виде байтов - PullRequest
0 голосов
/ 15 февраля 2019

Я пытаюсь экспортировать DataFrame, который содержит документы в виде байтовых объектов, однако я не могу найти подходящий формат файла, который не включает относительно небольшое ( использование памяти: 254,3+ КБ ) расширение DataFrameво что-то в диапазоне от 100 МБ - даже 1 ГБ +.

До сих пор я пытался экспортировать DataFrame как CSV и HDF5.

Столбец, вызывающий это огромное расширение, содержит либо .pdf,Файлы .doc, .txt или .msg в формате byte: b'%PDF-1.7\r%\xe2\xe3\xcf\xd3\r\n256..., который изначально был сохранен на SQL-сервере как varbinary(max) и загружен настройками по умолчанию для панд.

Я просто пытался использовать pandas для экспорта DataFrame, используя: df.to_csv('.csv') и

data_stored = pd.HDFStore('documents.h5')
data_stored['document'] = df

Я хотел сохранить выходные данные компактными, так как я просто хотел бы иметь возможность загружатьданные снова в другое время.Проблема, однако, заключается в том, что экспорт приводит либо к огромному файлу CSV, либо к файлу .h5.Я предполагаю, что есть некоторый формат файла, который сохраняет формат и размер файла pd.DataFrame?

1 Ответ

0 голосов
/ 21 февраля 2019

Я закончил экспорт используя df.to_pickle.Также я обнаружил, что размер фрейма данных действительно намного больше, чем я первоначально думал, поскольку метод pandas .info не включает в себя огромный объем служебной памяти.Вместо этого, чтобы просмотреть всю память, я использовал df.memory_usage(deep=True).sum(), и действительно, датафрейм занимал около 1.1 GB.

...