Оценка использования памяти Dataframe по размерам файлов - PullRequest
0 голосов
/ 11 февраля 2020

Если у меня есть список файлов в каталоге, можно ли рассчитать номер использования памяти, который был бы занят путем чтения или объединения файлов, используя pd.read_csv(file) или pd.concat([df1, df2])?

Я бы Я хотел бы разбить эти файлы на конкатенационные «пакеты», где каждый пакет не будет превышать определенное использование памяти, поэтому я не сталкиваюсь с ошибками локальной памяти.

Использование os.path.getsize() позволит мне получить размеры файлов и df.memory_usage() скажет мне, сколько памяти будет использовать фрейм данных после того, как оно уже прочитано, но есть ли способ оценить это только с помощью самих файлов?

1 Ответ

0 голосов
/ 12 февраля 2020

Вы можете открыть каждый CSV, прочитать первые 1000 строк только в DataFrame, а затем проверить использование памяти. Затем масштабируйте предполагаемое использование памяти по количеству строк в файле.

Обратите внимание, что memory_usage() не является точным с аргументами по умолчанию, поскольку не учитывает использование памяти строками. Вам нужно memory_usage(deep=True), хотя в некоторых случаях это может переоценить использование памяти. Но лучше переоценить, чем недооценить.

...