Teradata Package for Python Function Reference - 17.00 - nullifzero - 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)
 
 
nullifzero

 
Functions
       
nullifzero(column_expression_or_constant)
DESCRIPTION:
    Function converts data from zero to null to avoid problems with division by zero.
 
PARAMETERS:
    column_expression_or_constant:
        Required Argument.
        Specifies a ColumnExpression of a numeric column or a constant value to be converted to null.
        Format for the argument: '<dataframe>.<dataframe_column>.expression'.
 
        Notes:
            1. If the type of the column/argument is not FLOAT, column values are converted to FLOAT
               based on implicit type conversion rules. If an argument cannot be converted, an
               error is reported. For more information on implicit type conversion,
               see Teradata Vantage™ Data Types and Literals, B035-1143.
            2. Unsupported column types:
                a. BYTE or VARBYTE
                b. LOBs (BLOB or CLOB)
                c. CHARACTER or VARCHAR if the server character set is GRAPHIC
 
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
    >>>
 
    # Import func from sqlalchemy to execute nullifzero() function.
    >>> from sqlalchemy import func
 
    # Use case of NULLIFZERO() function - Function can be used, when we are dividing by a column that
    # may contain 0, so that we can avoid errors coming from expressions such as:
    #         8 / 0
    # Note:
    #        In this example, we have combined teradataml ColumnExpression and SQLAlchemy func object
    #        admissions_train.gpa -- Is a teradataml ColumnExpression
    #        func.nullifzero(admissions_train.admitted.expression) -- Is SQLAlchemy func object
    >>> df = admissions_train.assign(admitted_null_if_zero = func.nullifzero(admissions_train.admitted.expression))
    >>> print(df)
       masters   gpa     stats programming  admitted  admitted_null_if_zero
    id
    22     yes  3.46    Novice    Beginner         0                    NaN
    36      no  3.00  Advanced      Novice         0                    NaN
    15     yes  4.00  Advanced    Advanced         1                    1.0
    38     yes  2.65  Advanced    Beginner         1                    1.0
    5       no  3.44    Novice      Novice         0                    NaN
    17      no  3.83  Advanced    Advanced         1                    1.0
    34     yes  3.85  Advanced    Beginner         0                    NaN
    13      no  4.00  Advanced      Novice         1                    1.0
    26     yes  3.57  Advanced    Advanced         1                    1.0
    19     yes  1.98  Advanced    Advanced         0                    NaN
    >>>