Freedom251 › Data Preparation Software
Feature-engine

What Feature-engine is
Feature-engine is a free Python library for preparing and selecting features for machine-learning models. Its transformers handle imputation, categorical encoding, discretisation, outlier handling, transformations, feature creation and selection, and feature extraction from dates, text and time series. It is designed for dataframe workflows: after transformation, column names and their order are retained. Each transformer follows the scikit-learn-style `fit()` and `transform()` pattern and can be used with scikit-learn pipelines, cross-validation and hyperparameter search. Users can specify which variables a transformer should process, and the project supports a range of feature-selection techniques. Feature-engine wraps pandas functionality in transformers that follow scikit-learn conventions, making it suited to machine-learning work based mainly on pandas and scikit-learn. The package requires Python 3.9 or later and is installable with pip or conda. It is self-hosted and released under the BSD 3-Clause License. The project names Soledad Galli as founder and final decision-maker, while describing a practice of deferring to community discussion and core contributors. Contributors can use GitHub issues and the Gitter community; security reports are handled through GitHub security advisories or email.
Who it suits
Feature-engine suits people building machine-learning workflows around pandas dataframes and scikit-learn. It is a fit for Python users who want reusable transformers for data preparation, feature extraction and selection within scikit-learn-compatible pipelines.
What it does well
- Covers imputation, encoding, discretisation and outlier handling.
- Retains dataframe column names and order after transformation.
- Works with scikit-learn pipelines, cross-validation and hyperparameter search.
- Allows users to select which variables transformers process.
- Free to use under the BSD 3-Clause License.
- Installable with pip or conda.
What to know first
- Requires Python 3.9 or later.
- The listed platform is Linux.
- Users need a Python environment to install the package.
Getting started
- Open the Feature-engine documentation website.
- Use a Linux environment with Python 3.9 or later.
- Install the package with pip or conda.
- Use its transformers with pandas dataframes and scikit-learn workflows.
Verdict
Choose Feature-engine if your machine-learning work uses pandas dataframes and scikit-learn, and you want feature transformations that fit into scikit-learn workflows. Its free BSD-licensed package covers a broad set of preparation and selection tasks. It is intended for Python 3.9 or later and is listed for Linux.
Questions
How much does Feature-engine cost?
It is free, with a free plan.
Is there a free trial?
No. Feature-engine is listed as free and has no free trial.
Which platforms does it support?
Linux is the listed platform. It is a Python 3 package for Python 3.9 or later.
Is Feature-engine open source?
The repository provides source code on GitHub, and the library is released under the BSD 3-Clause License.
How can I install it?
The documentation provides installation through pip or conda.
Who founded the project?
The project documentation names Soledad Galli as founder and says she has final decision authority, while noting that she defers to community discussion and core contributors in practice.
Facts from Feature-engine's own pages
- Dataframes
- The library is designed to work with dataframes and says transformed dataframes retain their column names and order. · feature-engine.trainindata.com, 4 Oct 2026
- Distribution
- The documentation provides pip and conda installation commands, and the repository offers source code on GitHub. · feature-engine.trainindata.com, 4 Oct 2026
- Feature operations
- Its transformers cover imputation, categorical encoding, discretisation, outlier handling, transformation, feature creation and selection, and date, text and time-series feature extraction. · feature-engine.trainindata.com, 4 Oct 2026
- Governance
- The project documentation names Soledad Galli as founder and says she has final decision authority, while noting that in practice she defers to community discussion and core contributors. · feature-engine.trainindata.com, 4 Oct 2026
- Installation
- The documentation says Feature-engine is a Python 3 package for Python 3.9 or later and can be installed with pip or conda. · feature-engine.trainindata.com, 4 Oct 2026
- Integration
- The project describes itself as sitting at the interface of pandas and scikit-learn, wrapping pandas functionality in scikit-learn-like transformers. · feature-engine.trainindata.com, 4 Oct 2026
- Intended users
- The documentation says the library is suited to people whose machine-learning data work primarily uses pandas and scikit-learn. · feature-engine.trainindata.com, 4 Oct 2026
- License
- The repository provides Feature-engine under the BSD 3-Clause License. · github.com, 4 Oct 2026
- Pipelines
- Transformers use scikit-learn-style fit() and transform() methods and are compatible with scikit-learn pipelines, cross-validation and hyperparameter search. · feature-engine.trainindata.com, 4 Oct 2026
- Purpose
- Feature-engine is a Python library with transformers to engineer and select features for machine-learning models. · feature-engine.trainindata.com, 4 Oct 2026
- Security reporting
- The project’s security policy supports version 1.9.x, directs vulnerability reports to GitHub security advisories or email, and says accepted issues are patched privately for a dedicated bug-fix release. · github.com, 4 Oct 2026
- Support and community
- The governance page directs contributors to GitHub issues and the Gitter community. · feature-engine.trainindata.com, 4 Oct 2026
- Variable selection
- Transformers let users choose which variables to transform, and the project says it supports a wide range of feature-selection techniques. · feature-engine.trainindata.com, 4 Oct 2026
Where Feature-engine stands on Freedom251
- Data Preparation Software#14 of 28