我有一个函数 await docRef.set({
ID_Type: firebase.firestore().doc('Types/'+IDType)
});
,需要将其应用于每个熊猫数据框组:
group_fn
df.groupby(group_col_name, sort=False).apply(group_fn)
返回与输入尺寸相同的数据框。
不幸的是,所有这些都运行单线程,并且对于大型数据帧而言花费的时间太长。加快速度的最佳方法是什么?如果我能够获得group_fn
来释放GIL,我可以在这里利用多线程吗?我希望这里的多处理成本会过高,尤其是在所有子流程执行完毕并返回小的数据帧之后再与group_fn
结合使用。
此外,我的数据框已经按组进行了分组,所以我只需要pd.concat
形式的groupby(假设集合已经进行了排序),是否有某种方法可以从熊猫中获得这种行为不用在itertools.groupby
周围写我自己的包装器(我希望它会慢一些,因为它将是一个python本机循环)?
组大多小于500行,而数据框大约为1000万行,因此组很多,函数将被多次调用。