Skip to main content

Apply groupwise lowess smoothing to a dataframe

Project description

Lowess Grouped

Apply groupwise lowess smoothing to a dataframe.

Smooth data for each category using the lowess (aka loess) algorithm. You can use this code for all forms of data that should be smoothed independently by group:

lowess-grouped-example

Figure 1: Smoothed temperature data for each region

Usage

Install the package (Python 3.6 or higher):

pip install lowess-grouped

Import the package and call the function lowess_grouped with your dataframe df. Use the parameter frac to control the strength of the smoothing:

from lowess_grouped.lowess_grouped import lowess_grouped

df_smoothed = lowess_grouped(df, 
                             x_name="year", 
                             y_name="temperature_anomaly",
                             group_name="region_name", 
                             frac=0.05)

For a detailed example, refer to the notebook temperature-example.ipynb.

Motivation

Smoothing data can make plots more readable, and one commonly used method is lowess/loess, sometimes also referred as Savitzky–Golay filter.

Statsmodels lowess only smooths the entire dataframe, leading to undesirable results when you need independent smoothing for multiple groups (e.g., temperature data by regions).

This package was developed to address this limitation. It internally uses statsmodels, that's why some parameters have the same names. Feel free to use to code as inspiration.

Attribution

This project builds upon the lowess function from statsmodels.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lowess_grouped-0.0.3.tar.gz (388.4 kB view hashes)

Uploaded Source

Built Distribution

lowess_grouped-0.0.3-py3-none-any.whl (4.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page