Teradata Package for Python Function Reference - 17.00 - first_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.first_value = first_value()
DESCRIPTION:
    Function returns the first 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 first 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 first_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 first_value() along with
    #       max() window aggregate operations.
    >>> df = admissions_train.assign(first_value_gpa=window.first_value(), max_gpa=window.max())
    >>> df
       masters   gpa     stats programming  admitted  first_value_gpa  max_gpa
    id
    15     yes  4.00  Advanced    Advanced         1             3.60     4.00
    16      no  3.70  Advanced    Advanced         1             4.00     4.00
    11      no  3.13  Advanced    Advanced         1             3.96     3.96
    9       no  3.82  Advanced    Advanced         1             3.70     3.82
    19     yes  1.98  Advanced    Advanced         0             3.82     3.82
    27     yes  3.96  Advanced    Advanced         0             3.50     3.96
    1      yes  3.95  Beginner    Beginner         0             3.95     3.95
    34     yes  3.85  Advanced    Beginner         0             3.95     3.95
    32     yes  3.46  Advanced    Beginner         0             3.95     3.95
    40     yes  3.95    Novice    Beginner         0             3.85     3.95
    >>>
 
    # Example 2: Calculate the first 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 first_value() on Expanding window.
    >>> df = window.first_value()
    >>> df
       masters   gpa     stats programming  admitted  admitted_first_value  gpa_first_value  id_first_value masters_first_value programming_first_value stats_first_value
    id
    4      yes  3.50  Beginner      Novice         1                     0             3.95               1                 yes                Beginner          Beginner
    7      yes  2.33    Novice      Novice         1                     0             3.95               1                 yes                Beginner          Beginner
    14     yes  3.45  Advanced    Advanced         0                     0             3.95               1                 yes                Beginner          Beginner
    15     yes  4.00  Advanced    Advanced         1                     0             3.95               1                 yes                Beginner          Beginner
    19     yes  1.98  Advanced    Advanced         0                     0             3.95               1                 yes                Beginner          Beginner
    20     yes  3.90  Advanced    Advanced         1                     0             3.95               1                 yes                Beginner          Beginner
    3       no  3.70    Novice    Beginner         1                     1             3.70               3                  no                Beginner            Novice
    5       no  3.44    Novice      Novice         0                     1             3.70               3                  no                Beginner            Novice
    8       no  3.60  Beginner    Advanced         1                     1             3.70               3                  no                Beginner            Novice
    9       no  3.82  Advanced    Advanced         1                     1             3.70               3                  no                Beginner            Novice
    >>>
 
    # Example 3: Calculate the first 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 first_value() on Contracting window.
    >>> window.first_value()
      masters   gpa  gpa_first_value masters_first_value
    0     yes  3.76             3.50                 yes
    1     yes  3.81             3.50                 yes
    2     yes  1.98             3.50                 yes
    3     yes  3.85             4.00                 yes
    4     yes  3.75             3.90                 yes
    5     yes  3.95             3.81                 yes
    6      no  3.87             3.87                  no
    7      no  3.60             3.87                  no
    8      no  3.13             3.87                  no
    9      no  3.52             3.87                  no
    >>>