0
これはgroupbyを並列化することでこのquestionが見つかりました。しかし、私が間違っていない限り、それは複数の引数があるケースに1対1に変換することはできません。複数の引数を持つgroupbyを並列化してください
正しい方法は次のとおりですか?より良い方法がありますか? (特にインデックスを取得するのは非常に非効率的だったようだ)。
def applyParallel(dfGrouped, func, *args):
with Pool(cpu_count() - 2) as p:
ret_list = p.starmap(func, zip([group for name, group in dfGrouped], repeat(*args)))
index = [name for name, group in dfGrouped]
return pd.Series(index=index, data=ret_list)
applyParallel(df.groupby(foo), someFunc, someArgs)
を使用して呼び出します。