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

Teradata® Package for Python Function Reference

Product
Teradata Package for Python
Release Number
17.00
Release Date
November 2021
Content Type
Programming Reference
Publication ID
B700-4008-070K
Language
English (United States)
teradataml.dataframe.window.rank = rank()
DESCRIPTION:
    Function returns the rank (1 … n) 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 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
            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 ordered 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 rank() on the 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 rank() along with
    #       min() window aggregate operations.
    >>> df = admissions_train.assign(rank=window.rank(), min_gpa=window.min())
    >>> df
       masters   gpa     stats programming  admitted  min_gpa  rank
    id
    32     yes  3.46  Advanced    Beginner         0     2.65     2
    35      no  3.68    Novice    Beginner         1     2.65     5
    3       no  3.70    Novice    Beginner         1     2.65     6
    39     yes  3.75  Advanced    Beginner         0     2.65     7
    34     yes  3.85  Advanced    Beginner         0     2.65     9
    21      no  3.87    Novice    Beginner         1     2.65    10
    19     yes  1.98  Advanced    Advanced         0     1.98     1
    11      no  3.13  Advanced    Advanced         1     1.98     2
    14     yes  3.45  Advanced    Advanced         0     1.98     3
    6      yes  3.50  Beginner    Advanced         1     1.98     4
    >>>
 
    # Example 2: Get the ordered 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 rank() on a window.
    >>> df = window.rank()
    >>> df
       masters   gpa     stats programming  admitted  col_rank
    id
    38     yes  2.65  Advanced    Beginner         1         3
    32     yes  3.46  Advanced    Beginner         0         5
    22     yes  3.46    Novice    Beginner         0         5
    4      yes  3.50  Beginner      Novice         1         7
    6      yes  3.50  Beginner    Advanced         1         7
    26     yes  3.57  Advanced    Advanced         1        10
    24      no  1.87  Advanced      Novice         1         1
    36      no  3.00  Advanced      Novice         0         2
    11      no  3.13  Advanced    Advanced         1         3
    5       no  3.44    Novice      Novice         0         4
    >>>