/awesome_time_series_in_python

This curated list contains python packages for time series analysis

Using python to work with time series data

The python ecosystem contains different packages that can be used to process time series.

The following list is by no means exhaustive, feel free to edit the list (will propose a file change via PR) if you miss anything.

Machine learning, statistics, analytics

Libraries

Project Name Description
Arrow A sensible, human-friendly approach to creating, manipulating, formatting and converting dates, times, and timestamps
bta-lib Technical Analysis library in pandas for backtesting algotrading and quantitative analysis
cesium Time series platform with feature extraction aiming for non uniformly sampled signals
Darts A library making it very easy to produce forecasts using a wide range of models, from ARIMA to deep learning. Also does ensembling, model selection and more.
GENDIS Shapelet discovery by genetic algorithms
glm-sklearn scikit-learn compatible wrapper around the GLM module in statsmodels
Featuretools Time series feature extraction, with possible conditionality on other variables with a pandas compatible relational-database-like data container
fecon235 Computational tools for financial economics
ffn financial function library
flint A Time Series Library for Apache Spark
hctsa Matlab based feature extraction which can be controlled from python
HMMLearn Hidden Markov Models with scikit-learn compatible API
khiva-python A Time Series library with accelerated analytics on GPUS, it provides feature extraction and motif discovery among other functionalities.
matrixprofile-ts Python implementation of the Matrix Profile algorithm which offers anomaly detection and pattern (or “motif”) discovery at the same time.
Nitime Timeseries analysis for neuroscience data
Pastas Timeseries analysis for hydrological data
prophet Time series forecasting for time series data that has multiple seasonality with linear or non-linear growth
pyDSE ARMA models for Dynamic System Estimation
pyFTS Fuzzy set rule-based models for time series forecasting, including multi-step, point, interval and probabilistic forecasting
PyFlux Classical time series forecasting models
pysf A scikit-learn compatible machine learning library for supervised/panel forecasting
pyramid port of R's auto.arima method to Python
pytorch-forecasting A time series forecasting library using PyTorch with various state-of-the-art network architectures.
pyts Contains time series preprocessing, transformation as well as classification techniques
ruptures Provides methods to find change points in time series such as shifts in the mean or scale of the signal as well as more complex changes in the probability distribution or frequency.
seglearn Extends the scikit-learn pipeline concept to sequence data
sktime A scikit-learn compatible library for learning with time series/panel data including time series classification/regression and (supervised/panel) forecasting
statsmodels Contains a submodule for classical time series models and hypothesis tests
stumpy Calculates matrix profile for time series subsequence all-pairs-similarity-search
TensorFlow-Time-Series-Examples Time Series Prediction with tf.contrib.timeseries
tensorflow_probability.sts Bayesian Structural Time Series model in Tensorflow Probability
timemachines Functional interface to prophet and other packages, with Elo ratings
Traces A library for unevenly-spaced time series analysis
ta-lib Calculate technical indicators for financial time series (python wrapper around TA-Lib)
ta Calculate technical indicators for financial time series
TIMEX Library for creating time-series-forecasting-as-a-service platforms/websites, with a fully automated data ingestion, pre-processing, prediction and results visualization pipeline.
tsfresh Extracts and filters features from time series, allowing supervised classificators and regressor to be applied to time series data
tslearn Direct time series classifiers and regressors
tspreprocess Preprocess time series (resampling, denoising etc.), still WIP
tsmoothie A python library for time-series smoothing and outlier detection in a vectorized way

Examples or singular models

Project Name Description
ES-RNN forecasting algorithm Python implementation of the winning forecasting method of the M4 competition combining exponential smoothing with a recurrent neural network using PyTorch
Deep learning methods for time series classification A collection of common deep learning architectures for time series classification
LSTM-Neural-Network-for-Time-Series-Prediction LSTM based forecasting model
LSTM_tsc An LSTM based time-series classification neural network
shapelets-python Shapelet Classifier based on a multi layer neural network
M4 competition Collection of statistical and machine learning forecasting methods
UCR_Time_Series_Classification_Deep_Learning_Baseline Fully Convolutional Neural Networks for state-of-the-art time series classification
WTTE-RNN Time to Event forecast by RNN based Weibull density estimation

Time series data container

Project name Description
Featuretools Time series feature extraction, with possible conditionality on other variables with a pandas compatible relational-database-like data container
pysf A scikit-learn compatible library for supervised forecasting
xarray Labelled, multi-dimensional data structures as long as they have a shared time index
xpandas Labelled 1D and 2D data container for storing type-heterogeneous tabular data of any type, including time series, and encapsulates feature extraction and transformation modelling in an sklearn-compatible transformer interface, work in progress.

Data sets

Project Name Description
awesome-public-datasets This huge list of public datasets also has a section on time series datasets
ecmwf_models Readers and converters for climate reanalysis data
M4 competition Forecasting competition on 100,000 time series
pandas-datareader Pulls financial data from different sources (e.g. yahoo, google, Quandl)
Timeseriesclassification.com An extensive repository for time series classification datasets

Databases, frameworks

Project Name Description
artic High performance datastore for time series and tick data
automl_service Fully automated time series classification pipeline, deployed as a web service
cesium Time series platform with feature extraction aming for non uniformly sampled signals
thunder scalable analysis of image and time series data in python based on spark
whisper File-based time-series database format

Free courses

Project Name Description
Time Series Forecasting Udacity free course to learn about how to build and apply time series analysis/forecasting in business contexts

Discussion

We would like to trigger a homogenization of the formats which are used in the python time series community, please see the concept page