tsfresh
tsfresh extracts relevant characteristics from time series
Decision gist · record as of 2026-08-14
Yes. tsfresh is actively maintained, well-documented, and widely used. It solves a real problem—automating feature engineering for time series—with a mathematically sound filtering approach. Low install friction, no known vulnerabilities, and permissive MIT license make it a safe choice for research and production use. Install it if you work with time-series data and want to avoid manual feature engineering.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later; input data must be a pandas DataFrame with an id column to group time series and a sort column for ordering.
- Low friction install with a pure-Python wheel and 11 well-established scientific dependencies.
- Actively maintained as of 2026-07-06 with 9284 GitHub stars.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you can use, modify, and distribute tsfresh freely in commercial and open-source projects without restriction.
last release 2026-05-31 (75 days) · last repo commit 2026-07-06 · 9,284 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 372,085 downloads/mo, #7,167 on PyPI
Alternatives
Verify before relying
pip install tsfresh
from tsfresh import extract_features
import pandas as pd
# DataFrame with columns: id, time, and feature columns
ts_data = pd.DataFrame({...})
features = extract_features(ts_data, column_id='id', column_sort='time')- Whether the package scales efficiently to very large datasets or requires distributed computing setup.
- Performance characteristics when extracting features from many time series simultaneously.
- Memory footprint when working with high-frequency or very long time series.
What it is and what it does
tsfresh is a Python package that automates time-series feature extraction by computing features from raw time-series data using established algorithms from statistics, time-series analysis, signal processing, and nonlinear dynamics. It combines these algorithms with a built-in feature selection procedure based on hypothesis testing to filter out irrelevant features. The package interprets "time series" broadly—it works with any sampled data or event sequences, making it applicable to sensor data, financial time series, activity recognition, and even text as event sequences.
The typical workflow is: feed tsfresh a pandas DataFrame containing your time series grouped by ID, and it returns a feature matrix where each row represents a time series and each column is a computed characteristic. The filtering step uses multiple hypothesis testing to mathematically control the false discovery rate, helping you avoid extracting noise or redundant information. The resulting feature matrix integrates seamlessly with numpy, pandas, and scikit-learn for downstream machine learning tasks like classification or regression.
Use it for
- Sensor anomaly detection: extract features from sensor readings to train classifiers that identify abnormal behavior.
- Activity recognition: compute features from accelerometer or IMU data to classify human movements or equipment states.
- Time-series clustering: extract features to group similar time series even when they have different lengths or missing data.
- Imbalanced classification: use extracted features with undersampling techniques to handle imbalanced time-series datasets.
- Image and spatial analysis: apply feature extraction to spatial variation sequences derived from 2D or 3D images.
- Forecasting preparation: engineer features from historical time series to improve regression or prediction models.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
tsfresh is actively maintained, well-documented, and widely used. It solves a real problem—automating feature engineering for time series—with a mathematically sound filtering approach. Low install friction, no known vulnerabilities, and permissive MIT license make it a safe choice for research and production use. Install it if you work with time-series data and want to avoid manual feature engineering.
Install
tsfresh on PyPI
Before you install
Low friction install with a pure-Python wheel and 11 well-established scientific dependencies. Actively maintained as of 2026-07-06 with 9284 GitHub stars.
Requires Python 3.9 or later; input data must be a pandas DataFrame with an id column to group time series and a sort column for ordering.
License in practice
MIT license is permissive; you can use, modify, and distribute tsfresh freely in commercial and open-source projects without restriction.
Quickstart
pip install tsfresh
from tsfresh import extract_features
import pandas as pd
# DataFrame with columns: id, time, and feature columns
ts_data = pd.DataFrame({...})
features = extract_features(ts_data, column_id='id', column_sort='time')
Verify before relying
- Whether the package scales efficiently to very large datasets or requires distributed computing setup.
- Performance characteristics when extracting features from many time series simultaneously.
- Memory footprint when working with high-frequency or very long time series.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 11 packagesrequestsnumpypandasstatsmodelspatsypywaveletsscikit-learntqdmstumpycloudpicklescipy |
| Maintenance | Actively maintained 75 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 372,085 / month, #7,167 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: Science/ResearchOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.9Topic :: Scientific/EngineeringTopic :: Software Development |
Evidence: tsfresh-0.21.2-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “time series feature extraction”
- tsfreshAutomatically extracts hundreds of time-series features from sampled…
- pytsPyts provides time series classification algorithms and preprocessing…
- antropyAntroPy computes entropy and fractal dimension measures from…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also ai4ts · ruptures · tsdb · sktime · pypots · dtw-python · powershap · coreforecast · pyts