Я пытаюсь объединить очень большие CSV-файлы вместе с помощью панд и не хватает памяти. Есть ли более эффективный способ памяти сделать это? - PullRequest
0 голосов
/ 24 июня 2019

Я пытаюсь объединить очень большие CSV-файлы вместе с помощью панд и не хватает памяти. Есть ли более эффективный способ памяти?

Я пытался использовать Dask Dataframes вместо просто панд, но все равно столкнулся с той же проблемой.

temp_df = dd.merge(gcs_df, dias_fio_df, how='inner', on=['charttime', 'subject_id'])

Я получаю MemoryError: screenshot_of_error

1 Ответ

0 голосов
/ 24 июня 2019

Вы пытались запустить слияния отдельно?Можете ли вы сделать первое слияние без ошибки памяти?Вы можете попытаться разделить ячейку на две разные ячейки и удалить из памяти первые два кадра данных (gcs_e_df и gcs_m_df), используя del, перед вторым слиянием.

Еще одна вещь, которая может создать проблему, это если у вас естьдублируйте ['charttime', 'subject_id'] в ваших таблицах: это полностью разрушит память, потому что вы присоединитесь к каждой строке несколько раз, и размер вашего фрейма данных увеличится в геометрической прогрессии

...