Teradata Package for Python Function Reference - 17.00 - last_value - 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.last_value = last_value()
DESCRIPTION:
    Function returns the last value of an ordered set of values in a teradataml
    DataFrame or ColumnExpression over the specified window.
 
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: Calculate the last value for the 'gpa' column
    #            in a Rolling window, partitioned over 'programming'.
    # Create a Rolling window on 'gpa'.
    >>> window = admissions_train.gpa.window(partition_columns="programming",
    ...                                      window_start_point=-2,
    ...                                      window_end_point=0)
    >>>
    # Execute last_value() on the Rolling 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 last_value() along with
    #       max() window aggregate operations.
    >>> df = admissions_train.assign(last_value_gpa=window.last_value(), max_gpa=window.max())
    >>> df
       masters   gpa     stats programming  admitted  last_value_gpa  max_gpa
    id
    15     yes  4.00  Advanced    Advanced         1            4.00     4.00
    16      no  3.70  Advanced    Advanced         1            3.70     4.00
    11      no  3.13  Advanced    Advanced         1            3.13     3.96
    9       no  3.82  Advanced    Advanced         1            3.82     3.82
    19     yes  1.98  Advanced    Advanced         0            1.98     3.82
    27     yes  3.96  Advanced    Advanced         0            3.96     3.96
    1      yes  3.95  Beginner    Beginner         0            3.95     3.95
    34     yes  3.85  Advanced    Beginner         0            3.85     3.95
    32     yes  3.46  Advanced    Beginner         0            3.46     3.95
    40     yes  3.95    Novice    Beginner         0            3.95     3.95
    >>>
 
    # Example 2: Calculate the last value of all the valid columns in teradataml
    #            DataFrame, in an Expanding window, partitioned over 'masters',
    #            and order by 'id'.
    # Create an Expanding window on teradataml DataFrame.
    >>> window = admissions_train.window(partition_columns="masters",
    ...                                  order_columns="id",
    ...                                  window_start_point=None,
    ...                                  window_end_point=0)
    >>>
    # Execute last_value() on Expanding window.
    >>> df = window.last_value()
    >>> df
       masters   gpa     stats programming  admitted  admitted_last_value  gpa_last_value  id_last_value masters_last_value programming_last_value stats_last_value
    id
    8       no  3.60  Beginner    Advanced         1                    1            3.60              8                 no               Advanced         Beginner
    10      no  3.71  Advanced    Advanced         1                    1            3.71             10                 no               Advanced         Advanced
    11      no  3.13  Advanced    Advanced         1                    1            3.13             11                 no               Advanced         Advanced
    12      no  3.65    Novice      Novice         1                    1            3.65             12                 no                 Novice           Novice
    16      no  3.70  Advanced    Advanced         1                    1            3.70             16                 no               Advanced         Advanced
    17      no  3.83  Advanced    Advanced         1                    1            3.83             17                 no               Advanced         Advanced
    1      yes  3.95  Beginner    Beginner         0                    0            3.95              1                yes               Beginner         Beginner
    2      yes  3.76  Beginner    Beginner         0                    0            3.76              2                yes               Beginner         Beginner
    4      yes  3.50  Beginner      Novice         1                    1            3.50              4                yes                 Novice         Beginner
    6      yes  3.50  Beginner    Advanced         1                    1            3.50              6                yes               Advanced         Beginner
    >>>
 
    # Example 3: Calculate the last value of all the valid columns in teradataml
    #            DataFrame, which are grouped by 'masters' and 'gpa' in a
    #            Contracting window, partitioned over 'masters'.
    # Perform group_by() operation on teradataml DataFrame.
    >>> group_by_df = admissions_train.groupby(["masters", "gpa"])
    # Create a Contracting window on teradataml DataFrameGroupBy object.
    >>> window = group_by_df.window(partition_columns="masters",
    ...                             window_start_point=-5,
    ...                             window_end_point=None)
    # Execute last_value() on Contracting window.
    >>> window.last_value()
      masters   gpa  gpa_last_value masters_last_value
    0      no  3.13            3.87                 no
    1      no  3.83            3.87                 no
    2      no  3.82            3.87                 no
    3      no  3.55            3.87                 no
    4      no  1.87            3.87                 no
    5      no  3.00            3.87                 no
    6     yes  3.50            3.50                yes
    7     yes  4.00            3.50                yes
    8     yes  3.76            3.50                yes
    9     yes  3.90            3.50                yes
    >>>