В последнее время я много узнал о генераторах 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 внутри цикла?