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.
sort
Index
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
Index.union()
True
None
self and other are identical
self
other
self or other is empty
self or other contain values that can not be compared (a RuntimeWarning is raised).
RuntimeWarning
This change will allow sort=True to mean “always sort” in a future release.
sort=True
The same change applies to Index.difference() and Index.symmetric_difference(), which would not sort the result when the values could not be compared.
Index.difference()
Index.symmetric_difference()
The sort option for Index.intersection() has changed in three ways.
Index.intersection()
The default has changed from True to False, to restore the pandas 0.23.4 and earlier behavior of not sorting by default.
False
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.
sort=None
The value sort=True is no longer allowed. A future version of pandas will properly support sort=True meaning “always sort”.
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).
DataFrame.to_dict()
records
AttributeError
DataFrame
Fixed regression in read_sql() when passing certain queries with MySQL/pymysql (GH24988).
read_sql()
Fixed regression in Index.intersection incorrectly sorting the values by default (GH24959).
Index.intersection
Fixed regression in merge() when merging an empty DataFrame with multiple timezone-aware columns on one of the timezone-aware columns (GH25014).
merge()
Fixed regression in Series.rename_axis() and DataFrame.rename_axis() where passing None failed to remove the axis name (GH25034)
Series.rename_axis()
DataFrame.rename_axis()
Fixed regression in to_timedelta() with box=False incorrectly returning a datetime64 object instead of a timedelta64 object (GH24961)
to_timedelta()
datetime64
timedelta64
Fixed regression where custom hashable types could not be used as column keys in DataFrame.set_index() (GH24969)
DataFrame.set_index()
Reshaping
Bug in DataFrame.groupby() with Grouper when there is a time change (DST) and grouping frequency is '1d' (GH24972)
DataFrame.groupby()
Grouper
'1d'
Visualization
Fixed the warning for implicitly registered matplotlib converters not showing. See Restore Matplotlib datetime converter registration for more (GH24963).
Other
Fixed AttributeError when printing a DataFrame’s HTML repr after accessing the IPython config object (GH25036)
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