Teradata Package for Python Function Reference on VantageCloud Lake - call_udf - Teradata Package for Python - Look here for syntax, methods and examples for the functions included in the Teradata Package for Python.
Teradata® Package for Python Function Reference on VantageCloud Lake
- Deployment
- VantageCloud
- Edition
- Lake
- Product
- Teradata Package for Python
- Release Number
- 20.00.00.03
- Published
- December 2024
- ft:locale
- en-US
- ft:lastEdition
- 2024-12-19
- dita:id
- TeradataPython_FxRef_Lake_2000
- Product Category
- Teradata Vantage
- teradataml.dataframe.functions.call_udf = call_udf(udf_name, func_args=(), **kwargs)
- DESCRIPTION:
Call a registered user defined function (UDF).
PARAMETERS:
udf_name:
Required Argument.
Specifies the name of the registered user defined.
Types: str
func_args:
Optional Argument.
Specifies the arguments to pass to the registered UDF.
Default Value: ()
Types: tuple
delimiter:
Optional Argument.
Specifies a delimiter to use when reading columns from a row and
writing result columns.
Notes:
* This argument cannot be same as "quotechar" argument.
* This argument cannot be a newline character.
* Use a different delimiter if categorial columns in the data contains
a character same as the delimiter.
Default Value: ','
Types: one character string
quotechar:
Optional Argument.
Specifies a character that forces input of the user function
to be quoted using this specified character.
Using this argument enables the Analytics Database to
distinguish between NULL fields and empty strings.
A string with length zero is quoted, while NULL fields are not.
Notes:
* This argument cannot be same as "delimiter" argument.
* This argument cannot be a newline character.
Default Value: None
Types: one character string
RETURNS:
ColumnExpression
RAISES:
TeradataMLException
EXAMPLES:
# Load the data to run the example.
>>> load_example_data("dataframe", "sales")
# Create a DataFrame on 'sales' table.
>>> import random
>>> dfsales = DataFrame("sales")
>>> df = dfsales.assign(id = case([(df.accounts == 'Alpha Co', random.randrange(1, 9)),
... (df.accounts == 'Blue Inc', random.randrange(1, 9)),
... (df.accounts == 'Jones LLC', random.randrange(1, 9)),
... (df.accounts == 'Orange Inc', random.randrange(1, 9)),
... (df.accounts == 'Yellow Inc', random.randrange(1, 9)),
... (df.accounts == 'Red Inc', random.randrange(1, 9))]))
# Example 1: Register and Call the user defined function to get the values upper case.
>>> from teradataml.dataframe.functions import udf, register, call_udf
>>> @udf
... def to_upper(s):
... if s is not None:
... return s.upper()
>>>
# Register the created user defined function with name "upper".
>>> register("upper", to_upper)
>>>
# Call the user defined function registered with name "upper" and assign the
# ColumnExpression returned to the DataFrame.
>>> res = df.assign(upper_col = call_udf("upper", ('accounts',)))
>>> res
Feb Jan Mar Apr datetime id upper_col
accounts
Yellow Inc 90.0 NaN NaN NaN 17/01/04 4 YELLOW INC
Alpha Co 210.0 200.0 215.0 250.0 17/01/04 2 ALPHA CO
Jones LLC 200.0 150.0 140.0 180.0 17/01/04 5 JONES LLC
Red Inc 200.0 150.0 140.0 NaN 17/01/04 3 RED INC
Blue Inc 90.0 50.0 95.0 101.0 17/01/04 1 BLUE INC
Orange Inc 210.0 NaN NaN 250.0 17/01/04 4 ORANGE INC
>>>
# Example 2: Register and Call user defined function to get factorial of a number
# and store the result in Integer type column.
>>> from teradataml.dataframe.functions import udf, register
>>> @udf(returns = INTEGER())
... def factorial(n):
... import math
... return math.factorial(n)
>>>
# Register the created user defined function with name "fact".
>>> from teradatasqlalchemy.types import INTEGER
>>> register("fact", factorial)
>>>
# Call the user defined function registered with name "fact" and assign the
# ColumnExpression returned to the DataFrame.
>>> res = df.assign(fact_col = call_udf("fact", ('id',)))
>>> res
Feb Jan Mar Apr datetime id fact_col
accounts
Jones LLC 200.0 150.0 140.0 180.0 17/01/04 5 120
Yellow Inc 90.0 NaN NaN NaN 17/01/04 4 24
Red Inc 200.0 150.0 140.0 NaN 17/01/04 3 6
Blue Inc 90.0 50.0 95.0 101.0 17/01/04 1 1
Alpha Co 210.0 200.0 215.0 250.0 17/01/04 2 2
Orange Inc 210.0 NaN NaN 250.0 17/01/04 4 24
>>>
# Example 3: Register and Call the Python function to get the values upper case.
>>> from teradataml.dataframe.functions import register, call_udf
>>> def to_upper(s):
... return s.upper()
>>>
# Register the created Python function with name "upper".
>>> register("upper", to_upper, returns = VARCHAR(1024))
>>>
# Call the Python function registered with name "upper" and assign the
# ColumnExpression returned to the DataFrame.
>>> res = df.assign(upper_col = call_udf("upper", ('accounts',)))
>>> res
Feb Jan Mar Apr datetime id upper_col
accounts
Yellow Inc 90.0 NaN NaN NaN 17/01/04 4 YELLOW INC
Alpha Co 210.0 200.0 215.0 250.0 17/01/04 2 ALPHA CO
Jones LLC 200.0 150.0 140.0 180.0 17/01/04 5 JONES LLC
Red Inc 200.0 150.0 140.0 NaN 17/01/04 3 RED INC
Blue Inc 90.0 50.0 95.0 101.0 17/01/04 1 BLUE INC
Orange Inc 210.0 NaN NaN 250.0 17/01/04 4 ORANGE INC
>>>