當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python dask.bag.zip用法及代碼示例

用法:

dask.bag.zip(*bags)

Partition-wise 包拉鏈

所有通過的袋子必須有相同數量的分區。

注意:對應的分區應該有相同的長度;如果不這樣做,來自較長分區的“extra” 元素將被刪除。如果您遇到這種情況,您真正需要的是像 pandas 那樣的數據對齊機製,而不是像 zip_longest 這樣的缺失值填充器。

例子

正確用法:

>>> import dask.bag as db
>>> evens = db.from_sequence(range(0, 10, 2), partition_size=4)
>>> odds = db.from_sequence(range(1, 10, 2), partition_size=4)
>>> pairs = db.zip(evens, odds)
>>> list(pairs)
[(0, 1), (2, 3), (4, 5), (6, 7), (8, 9)]

錯誤用法:

>>> numbers = db.range(31, npartitions=1)
>>> fizz = numbers.filter(lambda n: n % 3 == 0)
>>> buzz = numbers.filter(lambda n: n % 5 == 0)
>>> fizzbuzz = db.zip(fizz, buzz)
>>> list(fizzbuzz)
[(0, 0), (3, 5), (6, 10), (9, 15), (12, 20), (15, 25), (18, 30)]

當您真正想要的更多是以下內容時:

>>> list(fizzbuzz) 
(0, 0), (3, None), (None, 5), (6, None), (9, None), (None, 10),
(12, None), (15, 15), (18, None), (None, 20),
(21, None), (24, None), (None, 25), (27, None), (30, 30)

相關用法


注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask.bag.zip。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。