1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
|
.. _whatsnew_0241:
What's 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 <https://pandas.pydata.org/pandas-docs/version/0.24/install.html#install-dropping-27>`_ for more.
{{ header }}
These are the changes in pandas 0.24.1. See :ref:`release` for a full changelog
including other versions of pandas. See :ref:`whatsnew_0240` for the 0.24.0 changelog.
.. _whatsnew_0241.api:
API changes
~~~~~~~~~~~
Changing the ``sort`` parameter for :class:`Index` set operations
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The default ``sort`` value for :meth:`Index.union` has changed from ``True`` to ``None`` (:issue:`24959`).
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 :meth:`Index.difference` and :meth:`Index.symmetric_difference`, which
would not sort the result when the values could not be compared.
The ``sort`` option for :meth:`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".
.. _whatsnew_0241.regressions:
Fixed regressions
~~~~~~~~~~~~~~~~~
- Fixed regression in :meth:`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 (:issue:`24939`, :issue:`24940`).
- Fixed regression in :func:`read_sql` when passing certain queries with MySQL/pymysql (:issue:`24988`).
- Fixed regression in :class:`Index.intersection` incorrectly sorting the values by default (:issue:`24959`).
- Fixed regression in :func:`merge` when merging an empty ``DataFrame`` with multiple timezone-aware columns on one of the timezone-aware columns (:issue:`25014`).
- Fixed regression in :meth:`Series.rename_axis` and :meth:`DataFrame.rename_axis` where passing ``None`` failed to remove the axis name (:issue:`25034`)
- Fixed regression in :func:`to_timedelta` with ``box=False`` incorrectly returning a ``datetime64`` object instead of a ``timedelta64`` object (:issue:`24961`)
- Fixed regression where custom hashable types could not be used as column keys in :meth:`DataFrame.set_index` (:issue:`24969`)
.. _whatsnew_0241.bug_fixes:
Bug fixes
~~~~~~~~~
**Reshaping**
- Bug in :meth:`DataFrame.groupby` with :class:`Grouper` when there is a time change (DST) and grouping frequency is ``'1d'`` (:issue:`24972`)
**Visualization**
- Fixed the warning for implicitly registered matplotlib converters not showing. See :ref:`whatsnew_0211.converters` for more (:issue:`24963`).
**Other**
- Fixed AttributeError when printing a DataFrame's HTML repr after accessing the IPython config object (:issue:`25036`)
.. _whatsnew_0.241.contributors:
Contributors
~~~~~~~~~~~~
.. Including the contributors hardcoded for this release, as backporting with
MeeseeksDev loses the commit authors
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
|