Teradata Package for Python Function Reference | 20.00 - 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 - 20.00
- Deployment
- VantageCloud
- VantageCore
- Edition
- Enterprise
- IntelliFlex
- VMware
- Product
- Teradata Package for Python
- Release Number
- 20.00.00.03
- Published
- December 2024
- ft:locale
- en-US
- ft:lastEdition
- 2024-12-19
- dita:id
- TeradataPython_FxRef_Enterprise_2000
- lifecycle
- latest
- 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=admissions_train.programming,
... order_columns=admissions_train.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
>>>