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


Python cudf.Series.apply用法及代码示例


用法:

Series.apply(func, convert_dtype=True, args=(), **kwargs)

将标量函数应用于系列的值。

类似于 `pandas Series.apply 在系列上逐元素应用用户定义的函数。

参数

func函数

要应用的标量 Python 函数。

convert_dtype布尔值,默认为真

在 cuDF 中,此参数始终为 True。因为 cuDF 不支持任意对象 dtypes,所以结果将始终是由 numba 基于函数逻辑和参数类型确定的公共类型。有关详细信息,请参阅示例。

args元组

不支持

**kwargs

不支持

注意

UDF 缓存在内存中以避免重新编译。第一次调用 UDF 将产生编译开销。 func 可能会调用用装饰器 numba.cuda.jit(device=True) 装饰的嵌套函数,否则 numba 将引发键入错误。

例子

将基本函数应用于系列 >>> sr = cudf.Series([1,2,3]) >>> def f(x): ... return x + 1 >>> sr.apply(f) 0 2 1 3 2 4 数据类型:int64

将基本函数应用于具有空值的系列

>>> sr = cudf.Series([1,cudf.NA,3])
>>> def f(x):
...     return x + 1
>>> sr.apply(f)
0       2
1    <NA>
2       4
dtype: int64

根据值是否为空,使用有条件地执行某些操作的函数

>>> sr = cudf.Series([1,cudf.NA,3])
>>> def f(x):
...     if x is cudf.NA:
...         return 42
...     else:
...         return x - 1
>>> sr.apply(f)
0     0
1    42
2     2
dtype: int64

结果将向上转换为从 UDF 逻辑派生的所需的公共 dtype。请注意,这意味着即使传递了不会导致该 dtype 的任何值的此类数据,也会返回公共类型。

>>> sr = cudf.Series([1,cudf.NA,3])
>>> def f(x):
...     return x + 1.5
>>> sr.apply(f)
0     2.5
1    <NA>
2     4.5
dtype: float64

相关用法


注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cudf.Series.apply。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。