Общее правило: если ваши данные удобно помещаются в память (включая базовый размер, умноженный на небольшое число возможных промежуточных звеньев), тогда есть большая вероятность, что Pandas будет быстрой и эффективной для вашего варианта использования.
Специально для вашего случая есть хороший шанс, что задачи, которые вы пытаетесь распараллелить, не снимают внутреннюю блокировку python, GIL, и в этом случае, хотя у вас есть независимые потоки, одновременно может выполняться только один поток.Решение было бы использовать вместо этого «распределенный» планировщик, который может иметь любое сочетание нескольких потоков и обрабатываться;однако использование процессов обходится дорого для перемещения данных между клиентом и процессами, и вы можете обнаружить, что дополнительные расходы преобладают в любой экономии времени.Вы наверняка захотите убедиться, что вы загружаете данные внутри рабочих, а не передаете их от клиента.
Короткая история, вы должны немного поэкспериментировать, хорошо измерить и внимательно прочитать документацию по фрейму данных и распределенному планировщику..