python - 是否可以将 Pandas groupby 对象拆分为更小的 groupby 对象?
问题描述
Pandas 中 groupby 对象的一大特点是能够apply
在组上运行任意函数。我正在尝试使用multiprocessing
.
所以从一个groupby
对象开始,我想:
- 将其拆分为多个 groupby 对象
- 把它们喂给
multiprocessing.Pool
工人 - 跑
groupby.apply
在他们身上 - 连接结果
这是代码中的梦想工作流程:
# 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 对象。
解决方案
推荐阅读
- file - 如何使用 AppleScript 获取文件的路径?
- kotlin - 将选项列表映射到字符串列表
- go - 将 Go 调用的 GCP 客户端库限制为特定组织
- laravel - Laravel - 5.4v 和 5.8v 外键的区别
- android - 我可以在布局 xml 中将 View.Tag 设置为复杂对象吗?
- google-bigquery - Google BigQuery 中 DATE、DATETIME 和 TIMESTAMP 数据类型的数据大小是多少?
- sql - 我将如何组合第二个子查询?
- android - 如何在Android中设计适合纵向/横向模式的布局?
- c - 在C中的位图数组上覆盖文本
- reactjs - 如何定位反应表