用法:
Series.applymap(udf, out_dtype=None)
应用元素函数来转换列中的值。
用户函数应接受一个参数并返回结果,该结果将存储到输出系列中。除了其他简单的标量对象外,该函数不能引用全局变量。
- udf:函数
可调用的 Python 函数或已由
numba.cuda.jit
修饰的 Python 函数,用于作为设备在 GPU 上调用- out_dtype:numpy.dtype;可选的
用于输出的 dtype。仅用于
numba.cuda.jit
装饰的 udf。默认情况下,结果将具有与源相同的 dtype。
- result:Series
掩码和索引被保留。
参数:
返回:
注意:
支持的 Python 函数在
除了这些异常:
cmath
中的数学函数不受支持,因为libcudf
不支持复数,并且cmath
函数的输出很可能是复数。math
中的这五个函数不受支持,因为 numba 从它们生成多个 PTX 函数- 数学。sin()
- 数学。cos()
- 数学。tan()
- 数学。gamma()
- 数学。lgamma()
applymap
方法不支持具有字符串 dtype 的系列。- 全局变量需要在 udf 中显式地重新定义,因为 numba 认为它们是编译时常量,并且没有已知的方法来获取全局变量的值。
例子:
仅使用文字模式返回一系列布尔值。
>>> import cudf >>> s = cudf.Series([1, 10, -10, 200, 100]) >>> s.applymap(lambda x: x) 0 1 1 10 2 -10 3 200 4 100 dtype: int64 >>> s.applymap(lambda x: x in [1, 100, 59]) 0 True 1 False 2 False 3 False 4 True dtype: bool >>> s.applymap(lambda x: x ** 2) 0 1 1 100 2 100 3 40000 4 10000 dtype: int64 >>> s.applymap(lambda x: (x ** 2) + (x / 2)) 0 1.5 1 105.0 2 95.0 3 40100.0 4 10050.0 dtype: float64 >>> def cube_function(a): ... return a ** 3 ... >>> s.applymap(cube_function) 0 1 1 1000 2 -1000 3 8000000 4 1000000 dtype: int64 >>> def custom_udf(x): ... if x > 0: ... return x + 5 ... else: ... return x - 5 ... >>> s.applymap(custom_udf) 0 6 1 15 2 -15 3 205 4 105 dtype: int64
相关用法
- Python cudf.Series.apply用法及代码示例
- Python cudf.Series.append用法及代码示例
- Python cudf.Series.add用法及代码示例
- Python cudf.Series.all用法及代码示例
- Python cudf.Series.acos用法及代码示例
- Python cudf.Series.autocorr用法及代码示例
- Python cudf.Series.as_mask用法及代码示例
- Python cudf.Series.any用法及代码示例
- Python cudf.Series.asin用法及代码示例
- Python cudf.Series.astype用法及代码示例
- Python cudf.Series.argsort用法及代码示例
- Python cudf.Series.abs用法及代码示例
- Python cudf.Series.atan用法及代码示例
- Python cudf.Series.ceil用法及代码示例
- Python cudf.Series.update用法及代码示例
- Python cudf.Series.max用法及代码示例
- Python cudf.Series.head用法及代码示例
- Python cudf.Series.reindex用法及代码示例
- Python cudf.Series.interleave_columns用法及代码示例
- Python cudf.Series.min用法及代码示例
注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cudf.Series.applymap。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。