Как я могу читать и манипулировать большими CSV-файлами в Google Colab Laboratory, не используя всю оперативную память? - PullRequest
2 голосов
/ 14 мая 2019

Я пытаюсь импортировать и манипулировать сжатыми файлами .csv (каждый размером около 500 МБ в сжатом виде) в Google Colab Laboratory.Есть 7 файлов.Используя pandas.read_csv (), я «использую всю доступную оперативную память» сразу после того, как 2 файла импортированы, и мне нужно перезапустить мою среду выполнения.

Я искал здесь вечно в поисках ответов и перепробовал всеЯ сталкивался, но никто не работает.У меня есть файлы на моем диске Google, и я подключен к нему.

Как я могу прочитать все файлы и манипулировать ими, не используя всю оперативную память?У меня 12,72 ГБ оперативной памяти и 358,27 ГБ диска.

Покупка дополнительной оперативной памяти невозможна.

1 Ответ

1 голос
/ 15 мая 2019

Чтобы решить мою проблему, я создал 7 ячеек (по одной на каждый файл данных).В каждой ячейке я читал файл, манипулировал им, сохранял все, что мне было нужно, затем удалял все:

import pandas as pd
import gc

df = pd.read_csv('Google drive path', compression = 'gzip')
filtered_df = df.query('my query condition here')
filtered_df.to_csv('new Google drive path', compression = 'gzip')

del df
del filtered_df

gc.collect()

После всех 7 файлов, каждый размером около 500 МБ, для общего размера строки за столбцом 7 000 000100, моя оперативная память осталась менее 1 МБ.

Простое использование del не освободило достаточно оперативной памяти.Я должен был использовать gc.collect() после в каждой клетке.

...