All the feature grunt work, wrapped in fit() and transform()
Feature-engine packages dozens of messy data-prep tasks into transformers that drop straight into scikit-learn Pipelines.

What it does
Feature-engine is a Python library that bundles common and specialized preprocessing steps into transformers using the familiar scikit-learn fit() and transform() interface. It covers missing-data imputation, categorical encoding, discretisation, outlier capping, variable creation, datetime and text extraction, time-series features, and feature selection. Because it follows the sklearn contract, it slots into existing Pipeline objects without wrapper headaches.
The interesting bit
Rather than leaving you to cobble together one-off scripts, the library maintains a single home for operations like Weight-of-Evidence encoding, high-PSI feature dropping, cyclical datetime decomposition, and geodistance calculation. It even includes a wrapper to make native scikit-learn preprocessors behave consistently with the rest of the ecosystem.
Key highlights
- Covers the full feature lifecycle: imputation, encoding, transformation, creation, selection, and scaling
- Includes specialized transformers like
WoEEncoder,DropHighPSIFeatures,GeoDistanceFeatures, andMRMRthat are hard to find in standard libraries - Native time-series support with
LagFeatures,WindowFeatures, andExpandingWindowFeatures - Sklearn-compatible
Pipelineandmake_pipelinehelpers included - Published in the Journal of Open Source Software (JOSS)
Verdict
Worth a look if you spend more time wrangling features than tuning models and want a unified, sklearn-native toolkit. If your preprocessing needs stop at one-hot encoding and standard scaling, it is probably overkill.
Frequently asked
- What is feature-engine/feature_engine?
- Feature-engine packages dozens of messy data-prep tasks into transformers that drop straight into scikit-learn Pipelines.
- Is feature_engine open source?
- Yes — feature-engine/feature_engine is open source, released under the BSD-3-Clause license.
- What language is feature_engine written in?
- feature-engine/feature_engine is primarily written in Python.
- How popular is feature_engine?
- feature-engine/feature_engine has 2.3k stars on GitHub.
- Where can I find feature_engine?
- feature-engine/feature_engine is on GitHub at https://github.com/feature-engine/feature_engine.