You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/source/whatsnew/v2.3.3.rst
+19-14Lines changed: 19 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,14 @@
1
1
.. _whatsnew_233:
2
2
3
-
What's new in 2.3.3 (September XX, 2025)
3
+
What's new in 2.3.3 (September 29, 2025)
4
4
----------------------------------------
5
5
6
6
These are the changes in pandas 2.3.3. See :ref:`release` for a full changelog
7
7
including other versions of pandas.
8
8
9
9
{{ header }}
10
10
11
-
.. _whatsnew_220.py14_compat:
11
+
.. _whatsnew_233.py14_compat:
12
12
13
13
Pandas 2.3.3 is now compatible with Python 3.14
14
14
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -37,25 +37,22 @@ Improvements
37
37
specifying ``include=["object"]`` for backwards compatibility. In a future
38
38
release, this will be deprecated and code for pandas 3+ should be updated to
39
39
do ``include=["str"]`` (:issue:`61916`)
40
-
40
+
- Support the ``/`` operation between a ``pathlib.Path`` object and a :class:`StringDtype`
41
+
Series, similarly as it works for object-dtype Series (:issue:`61940`)
41
42
42
43
.. _whatsnew_233.string_fixes.bugs:
43
44
44
45
Bug fixes
45
46
^^^^^^^^^
46
47
- Fix bug in :meth:`Series.str.replace` using named capture groups (e.g., ``\g<name>``) with the Arrow-backed dtype would raise an error (:issue:`57636`)
47
-
- Fix regression in ``~Series.str.contains``, ``~Series.str.match`` and ``~Series.str.fullmatch``
48
+
- Fix regression in :meth:`Series.str.contains`, :meth:`~Series.str.match` and :meth:`~Series.str.fullmatch`
48
49
with a compiled regex and custom flags (:issue:`62240`)
49
-
- Fix :meth:`Series.str.match` and :meth:`Series.str.fullmatch` not matching patterns with groups correctly for the Arrow-backed string dtype (:issue:`61072`)
50
-
51
-
52
-
Improvements and fixes for Copy-on-Write
53
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
54
-
55
-
Bug fixes
56
-
^^^^^^^^^
57
-
58
-
- The :meth:`DataFrame.iloc` now works correctly with ``copy_on_write`` option when assigning values after subsetting the columns of a homogeneous DataFrame (:issue:`60309`)
50
+
- Fix :meth:`Series.str.match` and :meth:`~Series.str.fullmatch` not matching patterns with groups correctly for the Arrow-backed string dtype (:issue:`61072`)
51
+
- Fix bug in :meth:`~DataFrame.groupby` with ``sum()`` and unobserved categories resulting in ``0`` instead of the empty string ``""`` (:issue:`61909`)
52
+
- Fix :meth:`Series.str.isdigit` to correctly recognize unicode superscript
53
+
characters as digits for :class:`StringDtype` backed by PyArrow (:issue:`61466`)
54
+
- Fix comparing a :class:`StringDtype` Series with mixed objects raising an error (:issue:`60228`)
55
+
- Fix error being raised when using a numpy ufunc with a Python-backed string array (:issue:`40800`)
59
56
60
57
Other changes
61
58
~~~~~~~~~~~~~
@@ -65,9 +62,17 @@ Other changes
65
62
Resampling with a :class:`PeriodIndex` is supported again, but a subset of
66
63
methods that return incorrect results will raise an error in pandas 3.0 (:issue:`57033`)
67
64
65
+
Other bug fixes
66
+
~~~~~~~~~~~~~~~~
67
+
68
+
- Fix memory leak in :meth:`DataFrame.to_json` with datetime columns (:issue:`62204`)
69
+
- Fixed regression in :meth:`DataFrame.from_records` not initializing subclasses properly (:issue:`57008`)
70
+
- The :meth:`DataFrame.iloc` now works correctly with ``copy_on_write`` option when assigning values after subsetting the columns of a homogeneous DataFrame (:issue:`60309`)
Copy file name to clipboardExpand all lines: doc/source/whatsnew/v3.0.0.rst
+6-2Lines changed: 6 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -981,7 +981,8 @@ Timezones
981
981
^^^^^^^^^
982
982
- Bug in :meth:`DatetimeIndex.union`, :meth:`DatetimeIndex.intersection`, and :meth:`DatetimeIndex.symmetric_difference` changing timezone to UTC when merging two DatetimeIndex objects with the same timezone but different units (:issue:`60080`)
983
983
- Bug in :meth:`Series.dt.tz_localize` with a timezone-aware :class:`ArrowDtype` incorrectly converting to UTC when ``tz=None`` (:issue:`61780`)
984
-
-
984
+
- Fixed bug in :func:`date_range` where tz-aware endpoints with calendar offsets (e.g. ``"MS"``) failed on DST fall-back. These now respect ``ambiguous``/ ``nonexistent``. (:issue:`52908`)
985
+
985
986
986
987
Numeric
987
988
^^^^^^^
@@ -1054,6 +1055,8 @@ MultiIndex
1054
1055
I/O
1055
1056
^^^
1056
1057
- Bug in :class:`DataFrame` and :class:`Series` ``repr`` of :py:class:`collections.abc.Mapping` elements. (:issue:`57915`)
1058
+
- Fix bug in ``on_bad_lines`` callable when returning too many fields: now emits
1059
+
``ParserWarning`` and truncates extra fields regardless of ``index_col`` (:issue:`61837`)
1057
1060
- Bug in :meth:`.DataFrame.to_json` when ``"index"`` was a value in the :attr:`DataFrame.column` and :attr:`Index.name` was ``None``. Now, this will fail with a ``ValueError`` (:issue:`58925`)
1058
1061
- Bug in :meth:`.io.common.is_fsspec_url` not recognizing chained fsspec URLs (:issue:`48978`)
1059
1062
- Bug in :meth:`DataFrame._repr_html_` which ignored the ``"display.float_format"`` option (:issue:`59876`)
@@ -1217,10 +1220,11 @@ Other
1217
1220
- Bug in printing a :class:`DataFrame` with a :class:`DataFrame` stored in :attr:`DataFrame.attrs` raised a ``ValueError`` (:issue:`60455`)
1218
1221
- Bug in printing a :class:`Series` with a :class:`DataFrame` stored in :attr:`Series.attrs` raised a ``ValueError`` (:issue:`60568`)
1219
1222
- Deprecated the keyword ``check_datetimelike_compat`` in :meth:`testing.assert_frame_equal` and :meth:`testing.assert_series_equal` (:issue:`55638`)
1223
+
- Fixed bug in :meth:`Series.replace` and :meth:`DataFrame.replace` when trying to replace :class:`NA` values in a :class:`Float64Dtype` object with ``np.nan``; this now works with ``pd.set_option("mode.nan_is_na", False)`` and is irrelevant otherwise (:issue:`55127`)
1224
+
- Fixed bug in :meth:`Series.replace` and :meth:`DataFrame.replace` when trying to replace :class:`np.nan` values in a :class:`Int64Dtype` object with :class:`NA`; this is now a no-op with ``pd.set_option("mode.nan_is_na", False)`` and is irrelevant otherwise (:issue:`51237`)
1220
1225
- Fixed bug in the :meth:`Series.rank` with object dtype and extremely small float values (:issue:`62036`)
1221
1226
- Fixed bug where the :class:`DataFrame` constructor misclassified array-like objects with a ``.name`` attribute as :class:`Series` or :class:`Index` (:issue:`61443`)
1222
1227
- Fixed regression in :meth:`DataFrame.from_records` not initializing subclasses properly (:issue:`57008`)
0 commit comments