Semantic versioning and new features for pandas

Python’s pandas library is on its way to v.1.0.0 – first release candidate has arrived

Maika Möbus
© Shutterstock / rehoboth foto

The popular data science library pandas just turned twelve, and now it’s headed for version 1.0.0. The first release candidate shows that pandas will receive a new scalar for missing values, a new deprecation policy following semantic versioning, a redesigned website and more.

The first release candidate for pandas 1.0.0 has arrived. The upcoming major version, set to be released in two weeks, will include new features and a change in update policy.

pandas, derived from “panel data,” is an open source Python library for data analysis and manipulation that is widely used for machine learning. Its initial release was on January 11, 2008, and it is currently available in the stable version 0.25.3.

SEE ALSO: TensorFlow 2.1.0 adds experimental features and breaking changes

Starting with v1.0.0, the library will follow a variant of semantic versioning (major.minor.patch). This means deprecations and API-breaking changes will be enforced only in major releases, with experimental API changes being exempt from this rule. Support for specific Python versions will be dropped exclusively in major versions as well.

New features in pandas 1.0.0rc0

The first release candidate for version 1.0.0 includes an experimental scalar for missing values: the new pd.NA value is to be used across data types. Until now, np.nan was used to represent missing float data, np.nan or None for missing object-dtype data and pd.NaT for datetime-like data. As the feature is still experimental, pd.NA’s behavior is subject to change without warning.

Another experimental feature is StringDtype. This is an extension type dedicated to string data that should address some issues with object-dtype NumPy arrays, such as preventing the accidental storage of a mixture of strings and non-strings.

As many older deprecations have been removed, the pandas developers recommend upgrading to pandas 0.25 first before switching to the v1.0.0 release candidate in order to avoid compatibility issues. Also note that the minimum required Python version has been moved to Python 3.6.1 for pandas 1.0.0.

SEE ALSO: Quick guide: How to create a Python-based scraper

pandas 1.0.0rc0 can be installed via PyPI python -m pip install --upgrade --pre pandas==1.0.0rc0 or conda-forge conda install -c conda-forge/label/rc pandas==1.0.0rc0.

The official website and the GitHub repository provide further details.

Maika Möbus
Maika Möbus has been an editor for Software & Support Media since January 2019. She studied Sociology at Goethe University Frankfurt and Johannes Gutenberg University Mainz.

Inline Feedbacks
View all comments