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


Python dask.bag.Bag.map用法及代碼示例


用法:

Bag.map(func, *args, **kwargs)

在一個或多個袋子上按元素應用函數。

請注意,所有Bag 參數必須進行相同的分區。

參數

func可調用的
*args, **kwargs袋子、物品或物品

要傳遞給的額外參數和關鍵字參數func 調用包實例。非 Bag args/kwargs 在所有調用中廣播func.

注意

對於具有多個Bag 參數的調用,對應的分區應該具有相同的長度;如果他們不這樣做,調用將在計算時出錯。

例子

>>> import dask.bag as db
>>> b = db.from_sequence(range(5), npartitions=2)
>>> b2 = db.from_sequence(range(5, 10), npartitions=2)

將函數應用於包中的所有元素:

>>> b.map(lambda x: x + 1).compute()
[1, 2, 3, 4, 5]

使用來自多個包的參數應用函數:

>>> from operator import add
>>> b.map(add, b2).compute()
[5, 7, 9, 11, 13]

非包參數在對映射函數的所有調用中廣播:

>>> b.map(add, 1).compute()
[1, 2, 3, 4, 5]

還支持關鍵字參數,並且與常規參數具有相同的語義:

>>> def myadd(x, y=0):
...     return x + y
>>> b.map(myadd, y=b2).compute()
[5, 7, 9, 11, 13]
>>> b.map(myadd, y=1).compute()
[1, 2, 3, 4, 5]

參數和關鍵字參數也可以是 dask.bag.Item 的實例。在這裏,我們將包中的最大值添加到每個元素:

>>> b.map(myadd, b.max()).compute()
[4, 5, 6, 7, 8]

相關用法


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