dask.bag.map_分区
dask.bag.map_分区¶
- dask.bag.map_partitions(func, *args, **kwargs)[源代码]¶
将一个函数应用于一个或多个包中的每个分区。
请注意,所有
Bag
参数必须分区相同。- 参数
- 函数可调用
- *args, **kwargs包, 物品, 延迟, 或对象
传递给
func
的参数和关键字参数。
示例
>>> import dask.bag as db >>> b = db.from_sequence(range(1, 101), npartitions=10) >>> def div(nums, den=1): ... return [num / den for num in nums]
使用一个Python对象:
>>> hi = b.max().compute() >>> hi 100 >>> b.map_partitions(div, den=hi).take(5) (0.01, 0.02, 0.03, 0.04, 0.05)
使用
Item
:>>> b.map_partitions(div, den=b.max()).take(5) (0.01, 0.02, 0.03, 0.04, 0.05)
请注意,虽然两个版本都给出了相同的输出,但第二个版本形成了一个单一的图,然后一次性计算所有内容,在某些情况下可能更高效。