Skip to main content

Tests Documentation PyPI Python versions Downloads License Ruff Paper Open In Colab Slack

Time Series Feature Extraction Library

TSFEL feature domains: statistical, temporal, spectral and fractal

Intuitive time series feature extraction

TSFEL is an open-source Python library for time series analysis. It centralizes a large and powerful feature set of several feature extraction methods from statistical, temporal, spectral, and fractal domains.

The documentation is available here.

You can install TSFEL via pip using the following:

pip install tsfel

TSFEL requires Python 3.11 or newer. On older Python versions, pip installs TSFEL 0.2.0, the last release that supports them.

A release on conda-forge is coming soon.

Getting started

Below is a quick example of how to use TSFEL for time series feature extraction:

import tsfel

# Loads a 10 s single lead ECG
data = tsfel.datasets.load_biopluxecg()

# Set up the default configuration using the statistical, temporal and spectral feature sets.
cfg = tsfel.get_features_by_domain()

# Extract features
X = tsfel.time_series_features_extractor(cfg, data)

For a more detailed walk-through — including input/output data formats, extraction routine configuration, and how to implement your custom features — refer to the documentation here.

Highlights

  • Intuitive, fast deployment, and reproducible: Easily configure your feature extraction pipeline and store the configuration file to ensure reproducibility.
  • Computational complexity evaluation: Estimate the computational time required for feature extraction in advance.
  • Comprehensive documentation: Each feature extraction method is accompanied by a detailed explanation.
  • Unit tested: We provide an extensive suite of unit tests for each feature to ensure accurate and reliable feature calculation.
  • Easily extended: Adding new features is straightforward, and we encourage contributions of custom features to the community.

Available features

TSFEL automatically extracts more than 65 distinct features across statistical, temporal, spectral, and fractal domains.

Statistical domain

Features Computational Cost
Absolute energy 1
Average power 1
ECDF 1
ECDF Percentile 1
ECDF Percentile Count 1
Entropy 1
Histogram 1
Interquartile range 1
Kurtosis 1
Max 1
Mean 1
Mean absolute deviation 1
Median 1
Median absolute deviation 1
Min 1
Root mean square 1
Skewness 1
Standard deviation 1
Variance 1

Temporal domain

Features Computational Cost
Area under the curve 1
Autocorrelation 2
Centroid 1
Lempel-Ziv-Complexity* 2
Mean absolute diff 1
Mean diff 1
Median absolute diff 1
Median diff 1
Negative turning points 1
Peak to peak distance 1
Positive turning points 1
Signal distance 1
Slope 1
Sum absolute diff 1
Zero crossing rate 1
Neighbourhood peaks 1

* Disabled by default due to its longer execution time compared to other features.

Spectral domain

Features Computational Cost
FFT mean coefficient 1
Fundamental frequency 1
Human range energy 1
LPCC 1
MFCC 1
Max power spectrum 1
Maximum frequency 1
Median frequency 1
Power bandwidth 1
Spectral centroid 2
Spectral decrease 1
Spectral distance 1
Spectral entropy 1
Spectral kurtosis 2
Spectral positive turning points 1
Spectral roll-off 1
Spectral roll-on 1
Spectral skewness 2
Spectral slope 1
Spectral spread 2
Spectral variation 1
Wavelet absolute mean 2
Wavelet energy 2
Wavelet standard deviation 2
Wavelet entropy 2
Wavelet variance 2

Fractal domain

Features Computational Cost
Detrended fluctuation analysis (DFA) 3
Higuchi fractal dimension 3
Hurst exponent 3
Maximum fractal length 3
Multiscale entropy (MSE) 1
Petrosian fractal dimension 1

Fractal domain features are typically applied to relatively longer signals to capture meaningful patterns, and it's usually unnecessary to previously divide the signal into shorter windows. Therefore, this domain is disabled in the default feature configuration files.

Support & General discussion

For bug reports, please use the GitHub issue tracker. To make feature requests, share ideas, engage in general discussions, or receive announcements, you're welcome to join our Slack community.

Citing

If you use TSFEL in your work, please cite the following publication:

Barandas, Marília and Folgado, Duarte, et al. "TSFEL: Time Series Feature Extraction Library." SoftwareX 11 ( 2020). https://doi.org/10.1016/j.softx.2020.100456

Acknowledgements

We gratefully acknowledge the financial support received from the Center for Responsible AI and the Total Integrated and Predictive Manufacturing System Platform for Industry 4.0 projects.

Metadata

Release files for tsfel 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tsfel 0.3.0
File Size Uploaded Provenance Actions
tsfel-0.3.0.tar.gz 53.0 kB Without provenance Details for tsfel-0.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for tsfel 0.3.0
File Interpreter ABI Platform Actions
tsfel-0.3.0-py3-none-any.whl Python 3 none any Details for tsfel-0.3.0-py3-none-any.whl

Total release size: 91.6 kB

Release files / tsfel-0.3.0.tar.gz

Download URL tsfel-0.3.0.tar.gz
Size 53.0 kB
Tags Source
SHA-256 checksum
How to use checksums
7dcd33bb8e4b219675bf1b2059372f7f09a15430f1db027a575d7c692bd4c2f9
BLAKE2b-256 checksum
How to use checksums
dff99e07d1ec3aa3ac4ceca386e445eab821f7dd00f589a31611eaa3479ad73b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / tsfel-0.3.0-py3-none-any.whl

Download URL tsfel-0.3.0-py3-none-any.whl
Size 38.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
99cc21062b7362441c1d20a4f8eebc6ddd1deb1707eb02d7d67af43f068278a9
BLAKE2b-256 checksum
How to use checksums
64a3276a350a51fb14a64bb8235423edd1a3abd9459fe37f817f4a12d341c48f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Security for tsfel 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page