Version 1.9.X#

Version 1.9.4#

Deployed: 27th Feb 2026

Contributors#

In this release, we add 4 new transformers including a new module to Feature-engine! What a release!

First great news: you can now extract metadata to capture text complexity from texts. This will allow you to enrich your bag of words when creating predictive models based on short pieces of text.

Awesome news for those working with geodata: you can now calculate distances by using latitude and longitude pairs and add them as features for your predictive models.

You can now also apply the inverse hyperbolic sine transformation to those left skewed variables that contain zeros as values.

Good news for those using datetime variables: you can now convert them to ordinal numbers.

Last but not least: when searching for variables in your dataframe, when variables of the indicated type are not found, our functions can now return empty lists.

Special thanks to Ankit Hemant Lade for adding 3 new transformers to Feature-engine and also updating the code base to make Feature-engine compatible with pandas 3 and Python 3.14. Special thanks also to Beom-jin Kim for adding the new datetime transformer.

In addition, thanks to all contributors who made this possible either by contributing code or raising issues.

Check out the full release changelog below.

New transformers#

  • TextFeatures(): extracts metadata from text pieces, like number of characters, digits, sentences, lower and uppercase and much more. (Ankit Hemant Lade)

  • GeoDistanceFeatures(): calculates distances between latitude and longitude coordinate pairs. (Ankit Hemant Lade)

  • DatetimeOrdinal(): transforms datetime variables into ordinal numbers. (Beom-jin Kim)

  • ArcSinhTransformer(): applies the inverse hyperbolic sine transformation. (Ankit Hemant Lade)

Enhancements#

  • Our variable handling functions now return empty lists when no variables of the desired type are found. (Soledad Galli)

BUG#

  • Fixed dataframe fragmentation warning in AddMissingIndicator. (Fathy)

Code maintenance#

Version 1.9.0#

Deployed: 27th Aug 2025

Contributors#

In this release, we expand the functionality of 3 feature selection transformers: ProbeFeatureSelection(), RecursiveFeatureAddition() and RecursiveFeatureElimination().

ProbeFeatureSelection() can now create probes with additional distributions, and also combine the probes using the mean, max or mean plus standard deviation.

RecursiveFeatureAddition() and RecursiveFeatureElimination() now work with all sklearn estimators, regardless of whether they return feature importance or coefficients. For those without these features, importance is determined by feature permutation.

Thanks to all contributors who made this possible either by contributing code or raising issues.

Enhancements#

  • Added 2 additional distributions, discrete uniform and Poisson, to create probes in ProbeFeatureSelection().

  • Expanded ProbeFeatureSelection()’s functionality to obtain the mean, max or mean plus std of random probes.

  • Expanded RecursiveFeatureAddition() and RecursiveFeatureElimination()’s functionality to support estimators without feature importance or coefficients.

Bug fixes#

  • Fixed fragmented dataframe warning in DecisionTreeFeatures().

  • Replaced default sorting method by merge_sort in SmartCorrelatedSelection(). (Claudio Salvatore Arcidiacono)

Code maintenance#

  • Migrated various config files to pyproject.toml. (Franz Király)

  • Added support for Python 3.13.

Docs#

  • Updated docstrings for DropHighPSIFeatures to reflect the fact that the PSI is symmetric but our implementation is not. (Sancho Luijten)