Pandas Series - expanding() function
The Pandas Series expanding() function provides expanding transformations.
Syntax
Series.expanding(min_periods=1, center=None, axis=0, method='single')
Parameters
min_periods |
Optional. An int to specify minimum number of observations in window required to have a value (otherwise result is NA). Default is 1. |
center |
Optional. If set to True, sets the labels at the center of the window. Default is False. |
axis |
Optional. Specify the axis to use as int or str. Default is 0. |
method |
Optional. Execute the rolling operation per single column or row ('single') or over the entire object ('table'). Default is 'single'. |
Return Value
Returns a Window sub-classed for the particular operation.
Example: expanding() example
In the example below, a DataFrame df is created. The expanding() function is used to create expanding transformations, which is further used to calculate rolling sum and rolling mean.
import pandas as pd import numpy as np #providing seed for reproducibility #of the result np.random.seed(10) df = pd.DataFrame(np.random.randn(7, 3), index = pd.date_range('1/1/2018', periods=7), columns = ['col1', 'col2', 'col3'] ) #displaying the DataFrame print(df) #calculating the 4-day rolling sum print("\ndf.expanding(4).sum() returns:") print(df.expanding(4).sum()) #calculating the 4-day rolling mean print("\ndf.expanding(4).mean() returns:") print(df.expanding(4).mean())
The output of the above code will be:
col1 col2 col3 2018-01-01 1.331587 0.715279 -1.545400 2018-01-02 -0.008384 0.621336 -0.720086 2018-01-03 0.265512 0.108549 0.004291 2018-01-04 -0.174600 0.433026 1.203037 2018-01-05 -0.965066 1.028274 0.228630 2018-01-06 0.445138 -1.136602 0.135137 2018-01-07 1.484537 -1.079805 -1.977728 df.expanding(4).sum() returns: col1 col2 col3 2018-01-01 NaN NaN NaN 2018-01-02 NaN NaN NaN 2018-01-03 NaN NaN NaN 2018-01-04 1.414114 1.878190 -1.058157 2018-01-05 0.449048 2.906464 -0.829527 2018-01-06 0.894186 1.769862 -0.694390 2018-01-07 2.378723 0.690057 -2.672118 df.expanding(4).mean() returns: col1 col2 col3 2018-01-01 NaN NaN NaN 2018-01-02 NaN NaN NaN 2018-01-03 NaN NaN NaN 2018-01-04 0.353529 0.469547 -0.264539 2018-01-05 0.089810 0.581293 -0.165905 2018-01-06 0.149031 0.294977 -0.115732 2018-01-07 0.339818 0.098580 -0.381731
❮ Pandas Series - Functions