使用多处理返回数据帧



我有一个函数要并行化,以便它返回一个基于数组的多列数据帧。如何使用多处理来完成此操作?这是我的代码的一个例子

def f(df, x): 
df['x'] = somefunc(x)
def run_parallel():
df = *existing dataframe*
values = ['a', 'b', 'c', 'd', 'e']
for i,s in enumerate(values):
j = multiprocessing.Process(target=f, args=(df, s))
jobs.append(j)
for j in jobs:
j.start()
return df

其中somefunc(x(返回一个基于x的值列表,df是我想要返回的数据帧。如果我通过多处理运行数据帧,我不知道如何返回具有这些列的数据帧。

参见pandarallel~

from pandarallel import pandarallel
pandarallel.initialize()
df['x'] = df['x'].parallel_apply(somefunc, args=(x,))

最新更新