Teradata Package for Python Function Reference - 17.00 - index - Teradata Package for Python

Teradata® Package for Python Function Reference

Product
Teradata Package for Python
Release Number
17.00
Release Date
April 2021
Content Type
Programming Reference
Publication ID
B700-4008-070K
Language
English (United States)
 
 
index

 
Functions
       
index(string_column_expression1, string_column_expression2)
DESCRIPTION:
    Function returns the position in string1 (string_column_expression1)
    where string2 (string_column_expression2) starts.
 
    The following rules apply to the value that INDEX returns:
        1. If string2 is not found in string_expression_1, then the result is zero.
        2. If string2 is null, then the result is null.
        3. If the arguments are character types, INDEX returns a logical character position,
           not a byte position, except when the server character set of the arguments is KANJI1
           and the session client character set is KanjiEBCDIC.
 
PARAMETERS:
    string_column_expression1:
        Required Argument.
        Specifies a ColumnExpression of a string column or a string literal
        to be searched.
        Format of a ColumnExpression of a string column: '<dataframe>.<dataframe_column>.expression'.
        Supported column types are:
            1. Character
            2. Byte - If argument is of type BYTE, then string_column_expression2 must be of type BYTE.
            3. Numeric - If argument is numeric, then it is converted implicitly to CHARACTER type.
 
 
    string_column_expression2:
        Required Argument.
        Specifies a ColumnExpression of a string column or a string literal
        which is used as a substring to be searched for its position within the
        full string in "string_column_expression1"
        Format of a ColumnExpression of a string column: '<dataframe>.<dataframe_column>.expression'.
        Supported column types are:
            1. Character
            2. Byte - If argument is of type BYTE, then string_column_expression1 must be of type BYTE.
            3. Numeric - If argument is numeric, then it is converted implicitly to CHARACTER type.
 
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 start position of "ce" in "stats" column.
    # Import func from sqlalchemy to execute index function.
    >>> from sqlalchemy import func
 
    # Create a sqlalchemy Function object.
    >>> index_func_ = func.index(admissions_train.stats.expression, "ce")
    >>>
 
    # Pass the Function object as input to DataFrame.assign().
    >>> df = admissions_train.assign(index_ce_stats_=index_func_)
    >>> print(df)
       masters   gpa     stats programming  admitted  index_ce_stats_
    id
    15     yes  4.00  Advanced    Advanced         1                6
    7      yes  2.33    Novice      Novice         1                5
    22     yes  3.46    Novice    Beginner         0                5
    17      no  3.83  Advanced    Advanced         1                6
    13      no  4.00  Advanced      Novice         1                6
    38     yes  2.65  Advanced    Beginner         1                6
    26     yes  3.57  Advanced    Advanced         1                6
    5       no  3.44    Novice      Novice         0                5
    34     yes  3.85  Advanced    Beginner         0                6
    40     yes  3.95    Novice    Beginner         0                5
    >>>