У меня есть следующий рабочий код с использованием pandas dataframe.
вход «df», выход «df_out».Это псевдокод.
category_values = list(df["category"].unique())
num_category_values = len(category_values)
dfg = df.groupby("category")
dfs = []
for i1,this_category_value in enumerate(category_values):
df_this = func(dfg.get_group(this_category_value, par1, par2, par3))
dfs.append(df_this)
df_out = pd.concat(dfs).reset_index(drop=True)
Я пытался использовать dask со следующей реализацией.
from dask import delayed
from dask.multiprocessing import get
dfs = []
for i1,this_category_value in enumerate(category_values):
df_this = delayed(func)(dfg.get_group(this_category_value, par1, par2, par3))
dfs.append(df_this)
df_out = delayed(pd.concat)(dfs)
df_out.compute(get=get,num_workers=4)
Это на самом деле не ускоряет код.Какие-либо предложения?Спасибо!