Windowing Operations in Pandas

PythonPythonBeginner
Practice Now

This tutorial is from open-source community. Access the source code

Introduction

In this lab, we will explore the windowing operations in pandas, including rolling windows, expanding windows, and exponentially weighted windows. Windowing operations are useful for performing aggregations over a sliding partition of values.

VM Tips

After the VM startup is done, click the top left corner to switch to the Notebook tab to access Jupyter Notebook for practice.

Sometimes, you may need to wait a few seconds for Jupyter Notebook to finish loading. The validation of operations cannot be automated because of limitations in Jupyter Notebook.

If you face issues during learning, feel free to ask Labby. Provide feedback after the session, and we will promptly resolve the problem for you.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("`Python`")) -.-> python/BasicConceptsGroup(["`Basic Concepts`"]) python(("`Python`")) -.-> python/FileHandlingGroup(["`File Handling`"]) pandas(("`Pandas`")) -.-> pandas/DataAnalysisGroup(["`Data Analysis`"]) pandas(("`Pandas`")) -.-> pandas/AdvancedOperationsGroup(["`Advanced Operations`"]) python(("`Python`")) -.-> python/ControlFlowGroup(["`Control Flow`"]) python(("`Python`")) -.-> python/ModulesandPackagesGroup(["`Modules and Packages`"]) python(("`Python`")) -.-> python/DataScienceandMachineLearningGroup(["`Data Science and Machine Learning`"]) python(("`Python`")) -.-> python/FunctionsGroup(["`Functions`"]) python/BasicConceptsGroup -.-> python/comments("`Comments`") python/FileHandlingGroup -.-> python/with_statement("`Using with Statement`") pandas/DataAnalysisGroup -.-> pandas/basic_statistics("`Basic Statistics`") pandas/AdvancedOperationsGroup -.-> pandas/time_series_analysis("`Time Series Analysis`") python/ControlFlowGroup -.-> python/for_loops("`For Loops`") python/ModulesandPackagesGroup -.-> python/importing_modules("`Importing Modules`") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("`Numerical Computing`") python/DataScienceandMachineLearningGroup -.-> python/data_analysis("`Data Analysis`") python/FunctionsGroup -.-> python/build_in_functions("`Build-in Functions`") subgraph Lab Skills python/comments -.-> lab-65457{{"`Windowing Operations in Pandas`"}} python/with_statement -.-> lab-65457{{"`Windowing Operations in Pandas`"}} pandas/basic_statistics -.-> lab-65457{{"`Windowing Operations in Pandas`"}} pandas/time_series_analysis -.-> lab-65457{{"`Windowing Operations in Pandas`"}} python/for_loops -.-> lab-65457{{"`Windowing Operations in Pandas`"}} python/importing_modules -.-> lab-65457{{"`Windowing Operations in Pandas`"}} python/numerical_computing -.-> lab-65457{{"`Windowing Operations in Pandas`"}} python/data_analysis -.-> lab-65457{{"`Windowing Operations in Pandas`"}} python/build_in_functions -.-> lab-65457{{"`Windowing Operations in Pandas`"}} end

Create a Pandas Series

We create a pandas series with a range of values from 0 to 4.

import pandas as pd

## Create a pandas series with a range of values from 0 to 4
s = pd.Series(range(5))

Perform Rolling Window Operation

Perform a rolling window operation with a window size of 2 and then calculate the sum for each window.

## Perform a rolling window operation with a window size of 2 and calculate the sum for each window
s.rolling(window=2).sum()

Perform Expanding Window Operation

Perform an expanding window operation and then calculate the sum for each window.

## Perform an expanding window operation and calculate the sum for each window
s.expanding(min_periods=1).sum()

Perform Exponentially Weighted Window Operation

Perform an exponentially weighted window operation and then calculate the mean for each window.

## Perform an exponentially weighted window operation and calculate the mean for each window
s.ewm(span=3).mean()

Summary

In this lab, we performed various windowing operations using pandas, including rolling windows, expanding windows, and exponentially weighted windows. These operations are useful for performing aggregations over a sliding partition of values.