Использование памяти генератора против использования памяти цикла - PullRequest
0 голосов
/ 04 июля 2019

В последнее время я много узнал о генераторах python, и у меня есть вопрос об их использовании памяти.

Вот два способа сделать то же самое:

Сначала с генератором

import pandas as pd
from glob import glob

csvlist = glob("/path/to/my/data/*.csv")
df_gen = (pd.read_csv(file) for file in csvlist)

for df in df_gen:
    # do your processing here
    process_data(df)

А теперь без

import pandas as pd
from glob import glob

csvlist = glob("/path/to/my/data/*.csv")

for csv in csvlist:
    df = pd.read_csv(csv)
    # do your processing here
    process_data(df)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...