Teradata Package for Python Function Reference - 17.00 - dense_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.dense_rank = dense_rank()
DESCRIPTION:
    Function returns the ordered ranking 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 dense_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
            dense_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 dense_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 dense_rank() along
    #       with mean() window aggregate operations.
    >>> df = admissions_train.assign(dense_rank=window.dense_rank(), mean_gpa=window.mean())
    >>> df
       masters   gpa     stats programming  admitted  dense_rank  mean_gpa
    id
    32     yes  3.46  Advanced    Beginner         0           2  3.660000
    35      no  3.68    Novice    Beginner         1           4  3.660000
    3       no  3.70    Novice    Beginner         1           5  3.660000
    39     yes  3.75  Advanced    Beginner         0           6  3.660000
    34     yes  3.85  Advanced    Beginner         0           8  3.660000
    21      no  3.87    Novice    Beginner         1           9  3.660000
    19     yes  1.98  Advanced    Advanced         0           1  3.615625
    11      no  3.13  Advanced    Advanced         1           2  3.615625
    14     yes  3.45  Advanced    Advanced         0           3  3.615625
    6      yes  3.50  Beginner    Advanced         1           4  3.615625
    >>>
 
    # Example 2: Get the ordered ranking of rows on 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 dense_rank() on a window.
    >>> df = window.dense_rank()
    >>> df
       masters   gpa     stats programming  admitted  col_dense_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               6
    6      yes  3.50  Beginner    Advanced         1               6
    26     yes  3.57  Advanced    Advanced         1               7
    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
    >>>