Вот как выглядит моя формулировка проблемы:
1)def do_stuff( (self.param1, self.param2) , abs(self.param3) ):
значение = многошаговое уравнение self.param1, self.param2,
self.param3 (это занимает более 2–5 минут на каждую строку)
возвращаемое значение.
2)df['value'] = df.apply(lambda row: do_stuff((self.param1,
self.param2) , abs(self.param3)) , axis =1)
Поскольку мой df имеет более 1500 строк, и обработка каждой строки занимает около 2 минут за одну core, я считаю, что многопроцессорная обработка принесет мне пользу. Я начинаю понимать, как работают пул и ProcessPoolExecutor, но застрял в синтаксисе использования df.apply с многопроцессорной обработкой. Я просмотрел примеры в Интернете, но не смог найти ни одного, связанного с функцией применения с использованием фрейма данных.
Код: Выделить всё
with ThreadPoolExecutor(max_workers=1) as executor:
future = executor.submit(pow, 323, 1235) ------> modify this line to process a df.apply
write back the result to a df.
Подробнее здесь: https://stackoverflow.com/questions/756 ... y-function