Whats new in 0.24.1 (February 3, 2019)

Warning

The 0.24.x series of releases will be the last to support Python 2. Future feature releases will support Python 3 only. See Dropping Python 2.7 for more.

These are the changes in pandas 0.24.1. See Release Notes for a full changelog including other versions of pandas. See What’s new in 0.24.0 (January 25, 2019) for the 0.24.0 changelog.

API changes

Changing the sort parameter for Index set operations

The default sort value for Index.union() has changed from True to None (GH24959). The default behavior, however, remains the same: the result is sorted, unless

  1. self and other are identical

  2. self or other is empty

  3. self or other contain values that can not be compared (a RuntimeWarning is raised).

This change will allow sort=True to mean “always sort” in a future release.

The same change applies to Index.difference() and Index.symmetric_difference(), which would not sort the result when the values could not be compared.

The sort option for Index.intersection() has changed in three ways.

  1. The default has changed from True to False, to restore the pandas 0.23.4 and earlier behavior of not sorting by default.

  2. The behavior of sort=True can now be obtained with sort=None. This will sort the result only if the values in self and other are not identical.

  3. The value sort=True is no longer allowed. A future version of pandas will properly support sort=True meaning “always sort”.

Fixed regressions

  • Fixed regression in DataFrame.to_dict() with records orient raising an AttributeError when the DataFrame contained more than 255 columns, or wrongly converting column names that were not valid python identifiers (GH24939, GH24940).

  • Fixed regression in read_sql() when passing certain queries with MySQL/pymysql (GH24988).

  • Fixed regression in Index.intersection incorrectly sorting the values by default (GH24959).

  • Fixed regression in merge() when merging an empty DataFrame with multiple timezone-aware columns on one of the timezone-aware columns (GH25014).

  • Fixed regression in Series.rename_axis() and DataFrame.rename_axis() where passing None failed to remove the axis name (GH25034)

  • Fixed regression in to_timedelta() with box=False incorrectly returning a datetime64 object instead of a timedelta64 object (GH24961)

  • Fixed regression where custom hashable types could not be used as column keys in DataFrame.set_index() (GH24969)

Bug fixes

Reshaping

  • Bug in DataFrame.groupby() with Grouper when there is a time change (DST) and grouping frequency is '1d' (GH24972)

Visualization

Other

  • Fixed AttributeError when printing a DataFrame’s HTML repr after accessing the IPython config object (GH25036)

Contributors

A total of 7 people contributed patches to this release. People with a “+” by their names contributed a patch for the first time.

  • Alex Buchkovsky

  • Roman Yurchak

  • h-vetinari

  • jbrockmendel

  • Jeremy Schendel

  • Joris Van den Bossche

  • Tom Augspurger