Python 是否可以将Pandas groupby对象拆分为更小的groupby对象?
Pandas中groupby对象的一个重要功能是能够使用Python 是否可以将Pandas groupby对象拆分为更小的groupby对象?,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,Pandas中groupby对象的一个重要功能是能够使用apply在组上运行任意函数。我正在尝试使用多处理将其并行化 因此,从一个groupby对象开始,我想: 将其拆分为多个groupby对象 将它们馈送给多处理.Pool工作者 运行groupby。对它们应用 连接结果 以下是代码中的梦想工作流: # create the initial groupby gb = df.groupby('variable') # split into multiple groupby's many_grou
apply
在组上运行任意函数。我正在尝试使用多处理
将其并行化
因此,从一个groupby
对象开始,我想:
多处理.Pool
工作者groupby。对它们应用
# create the initial groupby
gb = df.groupby('variable')
# split into multiple groupby's
many_groupbys = gb.split(n_chunks=10)
# now many_groupbys is a list of 10 groupby objects
# this is our transformer
def func(groupby):
return groupby.apply(transformation)
# submit to pool
with Pool(10) as pool:
results = pool.map(func, many_groupbys)
result = pd.concat(results)
那么,有没有办法将单个groupby对象拆分为多个groupby对象?对于数据帧上的并行计算,有更好的工作流吗?在数据帧上,您不能任意拆分行,并且您关心对行组进行处理
请注意,我不想单独处理组,我想要groupby对象。可能重复的@LevZakharov不是重复的(尽管相关),因为我不想单独处理组。然后检查一下。@LevZakharov是的,不幸的是Dask不支持多索引数据帧,这是我真正需要的。