What’s new in 2.3.3 (September 29, 2025)#
These are the changes in pandas 2.3.3. See Release notes for a full changelog including other versions of pandas.
Pandas 2.3.3 is now compatible with Python 3.14#
Pandas 2.3.3 is the first version of pandas that is generally compatible with the upcoming Python 3.14, and both wheels for free-threaded and normal Python 3.14 will be uploaded for this release.
As usual please report any bugs discovered to our issue tracker
Improvements and fixes for the StringDtype#
Most changes in this release are related to StringDtype
which will
become the default string dtype in pandas 3.0. See
Upcoming changes in pandas 3.0 for more details.
Improvements#
Update
DataFrame.select_dtypes()
to keep selectingstr
columns when specifyinginclude=["object"]
for backwards compatibility. In a future release, this will be deprecated and code for pandas 3+ should be updated to doinclude=["str"]
(GH 61916)Support the
/
operation between apathlib.Path
object and aStringDtype
Series, similarly as it works for object-dtype Series (GH 61940)
Bug fixes#
Fix bug in
Series.str.replace()
using named capture groups (e.g.,\g<name>
) with the Arrow-backed dtype would raise an error (GH 57636)Fix regression in
Series.str.contains()
,match()
andfullmatch()
with a compiled regex and custom flags (GH 62240)Fix
Series.str.match()
andfullmatch()
not matching patterns with groups correctly for the Arrow-backed string dtype (GH 61072)Fix bug in
groupby()
withsum()
and unobserved categories resulting in0
instead of the empty string""
(GH 61909)Fix
Series.str.isdigit()
to correctly recognize unicode superscript characters as digits forStringDtype
backed by PyArrow (GH 61466)Fix comparing a
StringDtype
Series with mixed objects raising an error (GH 60228)Fix error being raised when using a numpy ufunc with a Python-backed string array (GH 40800)
Other changes#
The deprecation of using
Series.resample()
andDataFrame.resample()
with aPeriodIndex
(and the ‘convention’ keyword) has been undone. Resampling with aPeriodIndex
is supported again, but a subset of methods that return incorrect results will raise an error in pandas 3.0 (GH 57033)
Other bug fixes#
Fix memory leak in
DataFrame.to_json()
with datetime columns (GH 62204)Fixed regression in
DataFrame.from_records()
not initializing subclasses properly (GH 57008)The
DataFrame.iloc()
now works correctly withcopy_on_write
option when assigning values after subsetting the columns of a homogeneous DataFrame (GH 60309)
Contributors#
A total of 15 people contributed patches to this release. People with a “+” by their names contributed a patch for the first time.
ChiLin Chiu
Evgenii Mosikhin +
Ian Hunt-Isaak +
Joris Van den Bossche
Laurie O +
Lumberbot (aka Jack)
Matthew Roeschke
Nathan Goldbaum
Patrick Hoefler
Richard Shadrach
Scott Talbert
jbrockmendel
pandas Development Team
ptth222 +
Álvaro Kothe +