Teradata Package for Python Function Reference | 17.10 - msum - 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.10
Published
April 2022
Language
English (United States)
Last Update
2022-08-19
lifecycle
previous
Product Category
Teradata Vantage
teradataml.dataframe.dataframe.DataFrame.msum = msum(self, width, sort_columns, drop_columns=False)
DESCRIPTION:
    Computes the moving sum for the current row and the preceding
    "width"-1 rows in a partition, by sorting the rows according to
    "sort_columns".
    Note:
        msum does not support below type of columns.
            * BLOB
            * BYTE
            * CHAR
            * CLOB
            * DATE
            * PERIOD_DATE
            * PERIOD_TIME
            * PERIOD_TIMESTAMP
            * TIME
            * TIMESTAMP
            * VARBYTE
            * VARCHAR            
 
PARAMETERS:
    width:
        Required Argument.
        Specifies the width of the partition. "width" must be
        greater than 0 and less than or equal to 4096.
        Types: int
 
    sort_columns:
        Required Argument.
        Specifies the columns to use for sorting.
        Note:
            "sort_columns" does not support CLOB and BLOB type of
            columns.
        Types: str (or) ColumnExpression (or) List of strings(str)
               or ColumnExpressions
 
    drop_columns:
        Optional Argument.
        Specifies whether to retain all the input DataFrame columns
        in the output or not. When set to False, columns from input
        DataFrame are retained, dropped otherwise.
        Default Value: False
        Types: bool
 
RAISES:
    TeradataMlException, TypeError
 
RETURNS:
    teradataml DataFrame.
 
EXAMPLES:
    # Load the data to run the example.
    >>> from teradataml import load_example_data
    >>> load_example_data("dataframe","sales")
 
    # Create teradataml dataframe.
    >>> df = DataFrame.from_table('sales')
    >>> print(df)
                  Feb    Jan    Mar    Apr    datetime
    accounts
    Blue Inc     90.0   50.0   95.0  101.0  04/01/2017
    Orange Inc  210.0    NaN    NaN  250.0  04/01/2017
    Red Inc     200.0  150.0  140.0    NaN  04/01/2017
    Yellow Inc   90.0    NaN    NaN    NaN  04/01/2017
    Jones LLC   200.0  150.0  140.0  180.0  04/01/2017
    Alpha Co    210.0  200.0  215.0  250.0  04/01/2017
    >>>
 
    # Sorts the Data on column accounts in ascending order and
    # calculates moving sum on the window of size 2.
    >>> df.msum(width=2, sort_columns=df.accounts)
                  Feb    Jan    Mar    Apr    datetime  msum_Feb  msum_Jan  msum_Mar  msum_Apr
    accounts
    Jones LLC   200.0  150.0  140.0  180.0  04/01/2017     290.0       200       235       281
    Red Inc     200.0  150.0  140.0    NaN  04/01/2017     410.0       150       140       250
    Yellow Inc   90.0    NaN    NaN    NaN  04/01/2017     290.0       150       140         0
    Orange Inc  210.0    NaN    NaN  250.0  04/01/2017     410.0       150       140       430
    Blue Inc     90.0   50.0   95.0  101.0  04/01/2017     300.0       250       310       351
    Alpha Co    210.0  200.0  215.0  250.0  04/01/2017     210.0       200       215       250
    >>>
 
    # Sorts the Data on column accounts in ascending order and column
    # Feb in descending order, then calculates moving sum by dropping the
    # input DataFrame columns on the window of size 2.
    >>> df.msum(width=2, sort_columns=[df.accounts, df.Feb.desc()], drop_columns=True)
       msum_Feb  msum_Jan  msum_Mar  msum_Apr
    0     290.0       200       235       281
    1     410.0       150       140       250
    2     290.0       150       140         0
    3     410.0       150       140       430
    4     300.0       250       310       351
    5     210.0       200       215       250
    >>>