Teradata Package for Python Function Reference - percent_rank - 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.00
Published
November 2021
Language
English (United States)
Last Update
2021-11-19
lifecycle
previous
Product Category
Teradata Vantage
teradataml.dataframe.window.percent_rank = percent_rank()
DESCRIPTION:
    Function returns the relative rank of all the rows in a teradataml
    DataFrame or ColumnExpression, according to "order_columns", over the
    specified window.
    Notes:
         1. Window parameter "order_columns" should not be None.
         2. Unlike other window aggregate functions, executing percent_rank()
            on a window created on teradataml DataFrame does not create
            multiple columns, that is, it results in one new column in addition
            to the original teradataml DataFrame columns. For calculating
            percent_rank, value passed to "order_columns" parameter of window
            is considered and not the ColumnExpression.
 
PARAMETERS:
    None.
 
RETURNS:
    * teradataml DataFrame - When aggregate is executed using window created
      on teradataml DataFrame.
    * ColumnExpression, also known as, teradataml DataFrameColumn - When aggregate is
      executed using window created on ColumnExpression.
 
RAISES:
    RuntimeError - If column does not support the aggregate operation.
 
EXAMPLES:
    # Load the data to run the example.
    >>> load_example_data("dataframe", "admissions_train")
    >>>
 
    # Create a teradataml 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 1: Get the relative ranking of rows over the values in a window,
    #            partitioned over 'programming' and sort by 'gpa'.
    # Create a window on 'gpa'.
    >>> window = admissions_train.gpa.window(partition_columns="programming",
    ...                                      order_columns="gpa")
    # Execute percent_rank() on a window and attach it to the teradataml DataFrame.
    # Note: DataFrame.assign() allows combining multiple window aggregate operations
    #       in one single call. In this example, we are executing percent_rank() along
    #       with mean() window aggregate operations.
    >>> df = admissions_train.assign(percent_rank=window.percent_rank(), mean_gpa=window.mean())
    >>> df
       masters   gpa     stats programming  admitted  mean_gpa  percent_rank
    id
    32     yes  3.46  Advanced    Beginner         0  3.660000      0.083333
    35      no  3.68    Novice    Beginner         1  3.660000      0.333333
    3       no  3.70    Novice    Beginner         1  3.660000      0.416667
    39     yes  3.75  Advanced    Beginner         0  3.660000      0.500000
    34     yes  3.85  Advanced    Beginner         0  3.660000      0.666667
    21      no  3.87    Novice    Beginner         1  3.660000      0.750000
    19     yes  1.98  Advanced    Advanced         0  3.615625      0.000000
    11      no  3.13  Advanced    Advanced         1  3.615625      0.066667
    14     yes  3.45  Advanced    Advanced         0  3.615625      0.133333
    6      yes  3.50  Beginner    Advanced         1  3.615625      0.200000
    >>>
 
    # Example 2: Get the relative ranking of rows on a window created on
    #            teradataml DataFrame, partitioned over 'masters',
    #            and order by 'gpa'.
    # Create a window on teradataml DataFrame.
    >>> window = admissions_train.window(partition_columns="masters",
    ...                                  order_columns="gpa")
    >>>
    # Execute percent_rank() on a window.
    >>> df = window.percent_rank()
    >>> df
       masters   gpa     stats programming  admitted  col_percent_rank
    id
    38     yes  2.65  Advanced    Beginner         1          0.095238
    32     yes  3.46  Advanced    Beginner         0          0.190476
    22     yes  3.46    Novice    Beginner         0          0.190476
    4      yes  3.50  Beginner      Novice         1          0.285714
    6      yes  3.50  Beginner    Advanced         1          0.285714
    26     yes  3.57  Advanced    Advanced         1          0.428571
    24      no  1.87  Advanced      Novice         1          0.000000
    36      no  3.00  Advanced      Novice         0          0.058824
    11      no  3.13  Advanced    Advanced         1          0.117647
    5       no  3.44    Novice      Novice         0          0.176471
    >>>