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