Загрузка строки и оценка ее памяти эффективным питоном - PullRequest
0 голосов
/ 21 мая 2018

У меня есть CSV, в котором есть столбец, содержащий список floats, который я оцениваю с помощью json.loads().

Проблема в том, что CSV очень большой.Когда я загружаю весь CSV, это занимает до 40 ГБ памяти.

После оценки его размер увеличивается до 160-170 ГБ.Я попытался использовать функцию, чтобы она определяла область видимости, а затем сборщик мусора освобождает неиспользуемую память, но она не работает.Я использую Блокнот Юпитера.

Я пытался использовать скрипт из-за ссылок, которые хранит Ipython, но это не решило проблему.Я также попытался использовать pandas.read_csv(..., converters={'float_nums' : json.loads}) - снова без улучшений.

Вот функция, которую я использую

def preprocess(df):
    df.float_nums = df.float_nums.apply(json.loads)

Как решить проблему?

...