当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。