Skip to main content

Largest-Triangle-Three-Buckets algorithm for downsampling time series–like data

Project description

Numpy implementation of Steinarsson’s Largest-Triangle-Three-Buckets algorithm for downsampling time series–like data

Based on the original JavaScript code:

https://github.com/sveinn-steinarsson/flot-downsample

and:

Sveinn Steinarsson. 2013. Downsampling Time Series for Visual Representation. MSc thesis. University of Iceland.

A test data set is provided in tests/timeseries.csv. It was downloaded from http://flot.base.is/ and converted from JSON to CSV.

Usage

import numpy as np
import lttb
data = np.array([range(100), np.random.random(100)]).T
small_data = lttb.downsample(data, n_out=20)
assert small_data.shape == (20, 2)

For example, here is the data set provided in tests downsampled to 100 points:

http://github.com/javiljoen/lttb.py/raw/master/tests/timeseries.png

Installation

To install the lttb package into your (virtual) environment:

pip install lttb

Requirements

  • Python 3

  • Numpy

Licence: MIT

Contributors

  • Jack Viljoen (@javiljoen) – original Numpy implementation

  • Guillaume Bethouart (@guillaumeB) – performance improvements

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

lttb-0.2.0.tar.gz (2.8 kB view hashes)

Uploaded Source

Built Distribution

lttb-0.2.0-py3-none-any.whl (3.9 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