Да, пожалуйста, отложите ваши функции и отправьте их в Dask.Самый большой объем памяти, вероятно, будет function_3
, и вы можете подумать, сколько из них вы можете хранить в памяти за раз - используйте распределенный планировщик, чтобы контролировать, сколько у вас рабочих и потоков, и их соответствующие пределы памятиhttps://distributed.readthedocs.io/en/latest/local-cluster.html
Наконец, вы, я уверен, не хотите возвращать окончательных объединенных фреймов данных, которые, безусловно, не помещаются в памяти: вы, вероятно, хотите объединиться по ним или записатьв другие файлы.