sklearndf
Data frame support and feature traceability for `scikit-learn`.
Decision gist · record as of 2026-08-14
Yes, if you work regularly with scikit-learn pipelines and need to preserve feature names and traceability. The library is stable, has low install friction, and solves a genuine pain point in scikit-learn workflows. Maintenance is aging (last release 345 days ago), so verify compatibility with your scikit-learn version before adopting in new projects. No known security vulnerabilities.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >=3.9 and <4a; scikit-learn, pandas, scipy, numpy, and packaging must be installed.
- Low install friction with a pure-Python wheel.
- Maintenance is aging—last release was 345 days ago—but the repository remains active and marked Production/Stable.
License · maintenance · safety
Apache Software License v2.0 (permissive) — Licensed under Apache Software License v2.0 (permissive). You may use, modify, and distribute freely in commercial and private projects, provided you include a copy of the license and state significant changes.
last release 2025-09-03 (345 days) · last repo commit 2026-02-10 · 62 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 85,647 downloads/mo, #13,910 on PyPI
Alternatives
Verify before relying
pip install sklearndf
from sklearndf.preprocessing import StandardScalerDF
import pandas as pd
X = pd.DataFrame({'a': [2, 3], 'b': [4, 5]})
scaler = StandardScalerDF()
X_scaled = scaler.fit_transform(X) # Returns DataFrame with feature names preserved- Whether feature tracing works correctly across all scikit-learn transformer types and custom pipelines.
- Performance overhead of DataFrame wrapping compared to native scikit-learn arrays.
- Compatibility with recent scikit-learn versions beyond those explicitly tested.
What it is and what it does
sklearndf is a wrapper library that enhances scikit-learn estimators to preserve pandas DataFrames and feature names through transformations. When you use scikit-learn's transformers, they typically return numpy arrays even if your input was a DataFrame, losing column names in the process. This makes it hard to trace which features went where, especially in complex pipelines with feature engineering steps. sklearndf solves this by providing drop-in replacements (e.g., StandardScalerDF instead of StandardScaler) that return DataFrames with feature names intact.
The library depends on numpy, pandas, scipy, scikit-learn, packaging, and gamma-pytools. It supports Python 3.9 through 3.13 and is marked Production/Stable. The main value is in model inspection and debugging: you can see exactly which original features contributed to each output feature, which is crucial when transformers create new features (like one-hot encoding) or when you need to audit a pipeline's behavior.
Use it for
- Inspect and debug scikit-learn pipelines by keeping track of feature names through all transformation steps.
- One-hot encode categorical features while maintaining a clear mapping from encoded columns back to original features.
- Audit feature engineering in production models to understand which raw inputs drive each final feature.
- Build interpretable machine learning workflows where feature lineage is essential for model validation.
- Integrate scikit-learn into data analysis notebooks where preserving DataFrame structure simplifies downstream exploration.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you work regularly with scikit-learn pipelines and need to preserve feature names and traceability.
The library is stable, has low install friction, and solves a genuine pain point in scikit-learn workflows. Maintenance is aging (last release 345 days ago), so verify compatibility with your scikit-learn version before adopting in new projects. No known security vulnerabilities.
Install
sklearndf on PyPI
Before you install
Low install friction with a pure-Python wheel. Maintenance is aging—last release was 345 days ago—but the repository remains active and marked Production/Stable. Depends on well-established libraries: numpy, pandas, scipy, scikit-learn, packaging, and gamma-pytools.
Requires Python >=3.9 and <4a; scikit-learn, pandas, scipy, numpy, and packaging must be installed.
License in practice
Licensed under Apache Software License v2.0 (permissive). You may use, modify, and distribute freely in commercial and private projects, provided you include a copy of the license and state significant changes.
Quickstart
pip install sklearndf
from sklearndf.preprocessing import StandardScalerDF
import pandas as pd
X = pd.DataFrame({'a': [2, 3], 'b': [4, 5]})
scaler = StandardScalerDF()
X_scaled = scaler.fit_transform(X) # Returns DataFrame with feature names preserved
Verify before relying
- Whether feature tracing works correctly across all scikit-learn transformer types and custom pipelines.
- Performance overhead of DataFrame wrapping compared to native scikit-learn arrays.
- Compatibility with recent scikit-learn versions beyond those explicitly tested.
Package facts
| License | Apache Software License v2.0 permissive |
| Python support | Supports the current Python release <4a,>=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 6 packagesgamma-pytoolsnumpypackagingpandasscikit-learnscipy |
| Maintenance | Aging 345 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 85,647 / month, #13,910 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: Science/ResearchLicense :: OSI Approved :: Apache Software LicenseOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: Scientific/Engineering |
Evidence: sklearndf-2.4.2-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 › “scikit-learn dataframe output”
- sklearndfWraps scikit-learn estimators to return pandas DataFrames instead of…
- sklearn-pandasBridges pandas DataFrames and scikit-learn by mapping DataFrame…
- spark-sklearnDistributes scikit-learn model training and hyperparameter search…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
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.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also sklearn-pandas · skops · datasieve · sklearn-compat · sklearn2pmml · sklearn-crfsuite · scikit-learn-stubs · sagemaker-scikit-learn-extension · category-encoders