用法:
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。