Teradata Package for Python Function Reference | 17.10 - locate - 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

Product
Teradata Package for Python
Release Number
17.10
Published
April 2022
Language
English (United States)
Last Update
2022-08-19
lifecycle
previous
Product Category
Teradata Vantage
 
 
locate

 
Functions
       
locate(string_expr1, string_expr2, n1)
DESCRIPTION:
    Function returns the position of the first occurrence of string_expr1 within string_expr2.
    The search for the first occurrence of string_expr1 begins with the first character
    position in string_expr2 unless the optional argument, n1, is specified.
 
PARAMETERS:
    string_expr1:
        Required Argument.
        Specifies a ColumnExpression of a string column or a string literal for
        substring to be searched for its position within the full string.
        Format of a ColumnExpression of a string column: '<dataframe>.<dataframe_column>.expression'.
        Support types of arguments:
            1. Character, except for CLOB
            2. Byte, except for BLOB
                If string_expr1 is of type BYTE, then string_expr2 must be of type BYTE.
            3. Numeric - This is converted implicitly to CHARACTER type.
 
    string_expr2:
        Required Argument.
        Specifies a ColumnExpression of a string column or a string literal for
        the full string to be searched in "string_expr1".
        Format of a ColumnExpression of a string column: '<dataframe>.<dataframe_column>.expression'.
        Support types of arguments:
            1. Character, except for CLOB
            2. Byte, except for BLOB
                If string_expr1 is of type BYTE, then string_expr2 must be of type BYTE.
            3. Numeric - This is converted implicitly to CHARACTER type.
 
    n1:
        Optional Argument.
        Specifies where the search begins with the character position indicated by the
        value of n1. Accepts a positive integer value.
 
NOTE:
    Function accepts positional arguments only.
 
EXAMPLES:
    # Load the data to run the example.
    >>> load_example_data("dataframe", "admissions_train")
    >>>
 
    # Create a DataFrame on 'admissions_train' table.
    >>> admissions_train = DataFrame("admissions_train")
    >>> admissions_train
       masters   gpa     stats programming  admitted
    id
    22     yes  3.46    Novice    Beginner         0
    36      no  3.00  Advanced      Novice         0
    15     yes  4.00  Advanced    Advanced         1
    38     yes  2.65  Advanced    Beginner         1
    5       no  3.44    Novice      Novice         0
    17      no  3.83  Advanced    Advanced         1
    34     yes  3.85  Advanced    Beginner         0
    13      no  4.00  Advanced      Novice         1
    26     yes  3.57  Advanced    Advanced         1
    19     yes  1.98  Advanced    Advanced         0
    >>>
 
    # Example returns the position of "ce" in a string in "stats" column.
    # Import func from sqlalchemy to execute locate function.
    >>> from sqlalchemy import func
 
    # Create a sqlalchemy Function object.
    >>> locate_func_ = func.locate("ce", admissions_train.stats.expression)
    >>>
 
    # Pass the Function object as input to DataFrame.assign().
    >>> df = admissions_train.assign(locate_stats_=locate_func_)
    >>> print(df)
       masters   gpa     stats programming  admitted  locate_stats_
    id
    5       no  3.44    Novice      Novice         0              5
    34     yes  3.85  Advanced    Beginner         0              6
    13      no  4.00  Advanced      Novice         1              6
    40     yes  3.95    Novice    Beginner         0              5
    22     yes  3.46    Novice    Beginner         0              5
    19     yes  1.98  Advanced    Advanced         0              6
    36      no  3.00  Advanced      Novice         0              6
    15     yes  4.00  Advanced    Advanced         1              6
    7      yes  2.33    Novice      Novice         1              5
    17      no  3.83  Advanced    Advanced         1              6
    >>>