Я очень новичок в многопроцессорной обработке, но мне нужно было использовать его для выборки нескольких десятков раз одного и того же панды DataFrame, но у меня возникли некоторые проблемы.
1) Пока я пытался попробоватьсохранить результаты каким-либо образом (хотя я понимаю, что не имеет смысла сохранять их в списке на 100%):
import multiprocessing as mp
pool= mp.Pool(mp.cpu_count())
results = [[]]
for m in [1,2,3,4]:
uni1 = pool.apply_async(temporary.groupby(['Customer_id','Day','Hour']).apply(lambda x: x.sample(n=1, random_state= m))['Timestamp'], callback= results)
pool.close()
pool.join()
Но когда я перезваниваю результаты, я получаю пустой список.Я не знаю, есть ли лучший способ их хранения ...
2) Я также пытался
for m in [1,2,3,4]:
uni1 = pool.apply_async(temporary.groupby(['Customer_id','Day','Hour']).apply(
lambda x: x.sample(n=1, random_state= m ))['Timestamp'])
Но когда я могу uni1 вернуться, он возвращает мне, который японятия не имею, как превратить (в данном случае) в 4 различных кадра данных или что-то еще, с чем я могу работать
В конце мне нужно иметь конвейер из множества различных рабочих фреймов данных, которые я могу использовать, чтобы затем применить другое завершениеметоды и исследования, которые являются лучшими, принимая среднее значение всех ошибок DataFrames.Но это, конечно, означает, что я должен быть в состоянии работать с выходом этой функции выборки, что я просто не понимаю.Если кто-нибудь может помочь, я был бы очень признателен!