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


Python dask.dataframe.Series.apply用法及代碼示例


用法:

Series.apply(func, convert_dtype=True, meta='__no_default__', args=(), **kwds)

pandas.Series.apply 的並行版本

參數

func函數

申請函數

convert_dtype布爾值,默認 True

嘗試為元素函數結果找到更好的 dtype。如果為 False,則保留為 dtype=object。

metapd.DataFrame、pd.Series、dict、可迭代、元組、可選

與輸出的 dtypes 和列名匹配的空 pd.DataFramepd.Series。此元數據對於 dask 數據幀中的許多算法起作用是必需的。為了便於使用,還提供了一些替代輸入。可以提供 {name: dtype}dict(name, dtype) 的可迭代對象,而不是 DataFrame (請注意,名稱的順序應與列的順序匹配)。可以使用(name, dtype) 的元組代替係列。如果未提供,dask 將嘗試推斷元數據。這可能會導致意外結果,因此建議提供meta。有關詳細信息,請參閱 dask.dataframe.utils.make_meta

args元組

除了值之外,要傳遞給函數的位置參數。

Additional keyword arguments will be passed as keywords to the function.

返回

appliedSeries 或 DataFrame 如果 func 返回一個 Series。

例子

>>> import dask.dataframe as dd
>>> s = pd.Series(range(5), name='x')
>>> ds = dd.from_pandas(s, npartitions=2)

在係列中逐元素應用函數,在 argskwargs 中傳遞額外的參數:

>>> def myadd(x, a, b=1):
...     return x + a + b
>>> res = ds.apply(myadd, args=(2,), b=1.5)

默認情況下,dask 嘗試通過在一些假數據上運行您提供的函數來推斷輸出元數據。這在許多情況下效果很好,但有時可能很昂貴,甚至失敗。為避免這種情況,您可以使用 meta 關鍵字手動指定輸出元數據。這可以以多種形式指定,有關詳細信息,請參閱dask.dataframe.utils.make_meta

在這裏,我們指定輸出是一個名為 'x' 和 dtype float64 的係列:

>>> res = ds.apply(myadd, args=(2,), b=1.5, meta=('x', 'f8'))

在元數據不變的情況下,也可以直接傳入對象本身:

>>> res = ds.apply(lambda x: x + 1, meta=ds)

相關用法


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