dask.bag.Bag.groupby
dask.bag.Bag.groupby¶
- Bag.groupby(grouper, method=None, npartitions=None, blocksize=1048576, max_branch=None, shuffle=None)[源代码]¶
按键函数分组集合
这需要读取完整数据集、序列化和洗牌。这是昂贵的。如果可能,你应该使用
foldby
。- 参数
- grouper: 函数
用于分组元素的函数
- shuffle: str
选择 ‘disk’ 用于磁盘上的洗牌,或选择 ‘tasks’ 以使用任务调度框架。如果你在单机上,请使用 ‘disk’;如果你在分布式集群上,请使用 ‘tasks’。
- npartitions: int
如果使用基于磁盘的洗牌,输出分区的数量
- blocksize: int
如果使用基于磁盘的洗牌,洗牌块的大小(字节)
- max_branch: int
如果使用基于任务的洗牌,每个分区经历的分割量。增加此值以减少副本数量,但会增加调度器开销。
参见
示例
>>> import dask.bag as db >>> b = db.from_sequence(range(10)) >>> iseven = lambda x: x % 2 == 0 >>> dict(b.groupby(iseven)) {True: [0, 2, 4, 6, 8], False: [1, 3, 5, 7, 9]}