This package provides the [parquet] extra for python-pandas
Provides
Requires
License
BSD-3-Clause
Changelog
* Mon Aug 24 2026 Markéta Machová <mmachova@suse.com>
- Add np25.patch to fix tests with numpy 2.5
- Hotfix dirty hack which broke with recent python-rpm-macros
* Tue Jul 28 2026 Ben Greiner <code@bnavigator.de>
- Update to 3.0.5
* Fixed a regression where the pandas 3.0.4 wheels could crash
with a segmentation fault on Python 3.14 (and other datetime
code paths), because they were built against an incompatible
numpy version (GH 66086)
- Re-enable xdist, the resource usage penalty when not used is too
high. Use --without xdist when troubleshooting.
* update constraints for increased job limit
* Tue Jul 21 2026 Dirk Müller <dmueller@suse.com>
- avoid xdist - makes troubleshooting testsuite failures quite hard
* Thu Jul 16 2026 Dirk Müller <dmueller@suse.com>
- revert to 3.0.3: 3.0.4 was yanked due to crashes in date-time
related functions
* Wed Jul 15 2026 Steve Kowalik <steven.kowalik@suse.com>
- Update to 3.0.4:
[#]# Core Architecture & Structural Enhancements
* String columns are now inferred as a dedicated str data type by default
instead of the generic NumPy object type.
* Columns with the new str dtype can only store strings or missing values,
entirely rejecting non-string inputs.
* Copy-on-Write (CoW) is now the default and only mode, ensuring
predictable data mutations across indexing operations.
* Because modifications now strictly return copies, traditional multi-step
chained assignments will no longer work.
* The option mode.copy_on_write no longer has an impact.
* Support for the pd.col() syntax simplifies referencing columns by name to
build expressions natively.
* The pd.col() syntax provides an elegant alternative to using complex
lambda functions inside DataFrame.assign().
* DataFrame and Series natively support the Arrow PyCapsule Interface for
efficient, zero-copy data exchanges.
* The default resolution for constructing datetime-like data shifts from
nanoseconds to microseconds.
* Version 3.0 explicitly requires Python 3.11 or higher.
[#]# Data Merging & Transformation Updates
* Added support for pd.col() expressions in Series.case_when()
* Merging methods now officially support left_anti and right_anti arguments
within the how parameter.
* The how parameter string inputs are now rigorously validated during a
merge operation.
* The pandas.merge() function now successfully propagates the attrs
dictionary when inputs contain identical tags.
* DataFrame.pivot_table() now accepts flexible, additional keyword
arguments forwarded to aggfunc.
* Passing ignore_index=True while simultaneously defining keys inside
concat() now throws a strict ValueError.
* Using DataFrame.agg() on axis=1 with a function that attempts to relabel
the index will raise a NotImplementedError.
[#]# Missing Value Handling & Styling Improvements
* The missing value sentinel for the new default string types is uniformly
set as NaN (np.nan).
* fillna() can accept a literal None, automatically resolving it to the
appropriate data-type-specific NA value.
* Users can now seamlessly execute DataFrame.fillna() along axis=1 using
dictionary or Series mappings.
* The Styler object introduces Styler.to_typst() to write formatted data
directly to Typst-compliant files.
* Users can now apply dedicated format treatments to index and column
header names using Styler.format_index_names().
* Frozenset elements contained within pandas data structures are now
natively recognized and printed cleanly.
[#]# Input / Output (I/O) Enhancements
* The errors.DtypeWarning is upgraded to include specific column names when
mixed types are caught.
* The merge_cells parameter in to_excel() accepts "columns" to target
MultiIndex header columns uniquely.
* A brand-new autofilter parameter within to_excel() automatically applies
native filters to columns.
* The if_exists parameter in to_sql() gains a "delete_rows" option to wipe
records prior to writing new entries.
[#]# Groupby & System Configurations
* DataFrameGroupBy.prod() now evaluates unobserved groups as 1 rather than
evaluating them as missing values.
* The all() and any() operations on DataFrameGroupBy now evaluate
unobserved groups as True and False.
* DataFrameGroupBy.groups() has been updated to fully include tracking data
for unobserved categorical groups.
* Configuring system configurations is streamlined as set_option() now
accepts a dictionary of multiple parameters.
[#]# Bug fixes
* Fixed a bug in Series.rank() with period dtype and missing values, always
sorting missing values at the top, regardless of the na_option value
* Fixed a bug in Series.var() computing the variance of complex numbers
incorrectly
* Fixed a bug in to_hdf() with string columns raising an error when using
compression
* Fixed a bug in the sum() method with python-backed string dtype returning
incorrect value for an empty Series and ignoring the min_count argument
* Fixed a bug when using col() with Python functions bool(), iter(),
copy(), and deepcopy() either failed or produced incorrect results; these
now all raise a TypeError
* Fixed a bug where col() and expressions derived from it failed with
power (**) and matrix multiplication (@) operators
* Fixed a bug where DataFrame.div() ignored the axis argument when used
with level for MultiIndex columns
* Fixed a bug in the DataFrame constructor when passed a Series or Index
correctly handling Copy-on-Write
* Allow ExtensionArray to have dtypes involving numpy.void
* Fixed a bug in col() where unary operators (-, +, abs) were not supported
* Prevent buffer overflow in Rolling.corr() and Rolling.cov() with variable
windows when passing other with a longer index than the original window
- The consortium-standard package is no longer built, since that extra has
been removed.
- Dropped patches, merged upstream:
* pandas-pr61132-dropna.patch
* pandas-pr62553-numexpr.patch
* pandas-pr63406-meson-types.patch
* pandas-pr62863.patch
* pandas-pr63143.patch
* Mon Jun 22 2026 Josef Melcr <josef.melcr@suse.com>
- Add upstream pandas-pr62863.patch and pandas-pr63143.patch to
fix testsuite failures with GCC 16
* Mon Jun 15 2026 Dirk Müller <dmueller@suse.com>
- skip testing for python 3.11
* Thu Apr 16 2026 Markéta Machová <mmachova@suse.com>
- Add upstream pandas-pr63406-meson-types.patch to fix build with
meson 1.11
- Refresh test python flavors
* Thu Dec 18 2025 Markéta Machová <mmachova@suse.com>
- update to 2.3.3
* compatibility with Python 3.14
* Improvements and fixes for the StringDtype
* Fix bug in Series.str methods
* Fix bug in groupby() with sum() and unobserved categories
resulting in 0 instead of the empty string
- Add upstream pandas-pr62553-numexpr.patch to fix compatibility
with numexpr 2.13
* Sun Sep 14 2025 Dirk Müller <dmueller@suse.com>
- update to 2.3.2:
* Fix to_json() with orient="table" to correctly use the
“string” type in the JSON Table Schema for StringDtype columns
* Boolean operations (|, &, ^) with bool-dtype objects on the
left and StringDtype objects on the right now cast the string
to bool, with a deprecation warning
* Fixed match(), fullmatch() and contains() string methods with
compiled regex for the Arrow-backed string dtype
* Bug in Series.replace() and DataFrame.replace() inconsistently
replacing matching values when missing values are present
for string dtypes
* Fri Jul 11 2025 Ben Greiner <code@bnavigator.de>
- Update to 2.3.1
* This release includes some improvements and fixes to the future
string data type (preview feature for the upcoming pandas 3.0)
[#]# Improvements and fixes for the StringDtype
* Comparisons between different string dtypes
* Index set operations ignore empty RangeIndex and object dtype
Index
[#]# Bug fixes
* Bug in DataFrameGroupBy.min(), DataFrameGroupBy.max(),
Resampler.min(), Resampler.max() where all NA values of string
dtype would return float instead of string dtype (GH 60810)
* Bug in DataFrame.join() incorrectly downcasting object-dtype
indexes (GH 61771)
* Bug in DataFrame.sum() with axis=1, DataFrameGroupBy.sum() or
SeriesGroupBy.sum() with skipna=True, and Resampler.sum() with
all NA values of StringDtype resulted in 0 instead of the empty
string "" (GH 60229)
* Fixed bug in DataFrame.explode() and Series.explode() where
methods would fail with dtype="str" (GH 61623)
* Fixed bug in unpickling objects pickled in pandas versions
pre-2.3.0 that used StringDtype (GH 61763)
- Release 2.3.0
[#]# Enhancements
* The semantics for the copy keyword in __array__ methods (i.e.
called when using np.array() or np.asarray() on pandas objects)
has been updated to work correctly with NumPy >= 2 (GH 57739)
* Series.str.decode() result now has StringDtype when
future.infer_string is True (GH 60709)
* to_hdf() and to_hdf() now round-trip with StringDtype (GH
60663)
* Improved repr of NumpyExtensionArray to account for NEP51 (GH
61085)
* The Series.str.decode() has gained the argument dtype to
control the dtype of the result (GH 60940)
* The cumsum(), cummin(), and cummax() reductions are now
implemented for StringDtype columns (GH 60633)
* The sum() reduction is now implemented for StringDtype columns
(GH 59853)
[#]# Deprecations
* Deprecated allowing non-bool values for na in str.contains(),
str.startswith(), and str.endswith() for dtypes that do not
already disallow these (GH 59615)
* Deprecated the "pyarrow_numpy" storage option for StringDtype
(GH 60152)
* The deprecation of setting the argument include_groups to True
in DataFrameGroupBy.apply() has been promoted from a
DeprecationWarning to FutureWarning; only False will be allowed
(GH 7155)
[#]# Bug fixes
[#]## Numeric
* Bug in Series.mode() and DataFrame.mode() with dropna=False
where not all dtypes would sort in the presence of NA values
(GH 60702)
* Bug in Series.round() where a TypeError would always raise with
object dtype (GH 61206)
[#]## Strings
* Bug in Series.__pos__() and DataFrame.__pos__() where an
Exception was not raised for StringDtype with storage="pyarrow"
(GH 60710)
* Bug in Series.rank() for StringDtype with storage="pyarrow"
that incorrectly returned integer results with method="average"
and raised an error if it would truncate results (GH 59768)
* Bug in Series.replace() with StringDtype when replacing with a
non-string value was not upcasting to object dtype (GH 60282)
* Bug in Series.str.center() with StringDtype with
storage="pyarrow" not matching the python behavior in corner
cases with an odd number of fill characters (GH 54792)
* Bug in Series.str.replace() when n < 0 for StringDtype with
storage="pyarrow" (GH 59628)
* Bug in Series.str.slice() with negative step with ArrowDtype
and StringDtype with storage="pyarrow" giving incorrect results
(GH 59710)
[#]## Indexing
Bug in Index.get_indexer() round-tripping through string dtype
when infer_string is enabled (GH 55834)
[#]## I/O
* Bug in DataFrame.to_excel() which stored decimals as strings
instead of numbers (GH 49598)
[#]## Other
* Fixed usage of inspect when the optional dependencies pyarrow
or jinja2 are not installed (GH 60196)
- Drop patches:
* timedelta.patch
* pandas-pr60545-arrow-exception.patch
* pandas-pr60584-60586-mpl-vert.patch
- Refresh dropna.patch to pandas-pr61132-dropna.patch
* gh#pandas-dev/pandas#61132
* Thu Mar 20 2025 Markéta Machová <mmachova@suse.com>
- Add dropna.patch and timedelta.patch to fix tests with Numpy 2.2
* Thu Feb 20 2025 Ben Greiner <code@bnavigator.de>
- Support pyarrow 19
* Add pandas-pr60545-arrow-exception.patch
gh#pandas-dev/pandas#60545
* Skip TestParquetPyArrow.test_roundtrip_decimal: Would require
gh#pandas-dev/pandas#60755 and all other backports of the new
string type system.
* Fri Feb 07 2025 Ben Greiner <code@bnavigator.de>
- Add pandas-pr60584-60586-mpl-vert.patch
* Fixes matplotlib deprecation errors in the test suite
* gh#pandas-dev/pandas#60584
* backported in gh#pandas-dev/pandas#60586
* Fri Dec 13 2024 Steve Kowalik <steven.kowalik@suse.com>
- Change skipped tests to also support Python 3.13.
* Wed Nov 27 2024 Markéta Machová <mmachova@suse.com>
- Drop tests-nomkl.patch and tests-wasm.patch, not needed anymore
- Skip a test failing with new xarray
* Fri Oct 25 2024 Steve Kowalik <steven.kowalik@suse.com>
- Skip two tests that fail with Numpy 2.1.
* Fri Oct 11 2024 Steve Kowalik <steven.kowalik@suse.com>
- Prepare for Python 3.13, by skipping it if we aren't building for it.
* Tue Oct 01 2024 John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 2.2.3
* Bug in eval() on complex including division /
discards imaginary part. (GH 21374)
* Minor fixes for numpy 2.1 compatibility. (GH 59444)
* Missing licenses for 3rd party dependencies were
added back into the wheels. (GH 58632)
- Drop pandas-pr58269-pyarrow16xpass.patch, merged upstream
- Drop pandas-pr58484-matplotlib.patch, merged upstream
- Drop pandas-pr59175-matplotlib.patch, merged upstream
- Drop pandas-pr59353-np2eval.patch, merged upstream
- Drop tests-npdev.patch, merged upstream
- Drop tests-timedelta.patch, merged upstream
- Refresh tests-nomkl.patch
- Renumber remaining patches
* Mon Sep 16 2024 Markéta Machová <mmachova@suse.com>
- Add bunch of patches to fix the testsuite with NumPy 2.1
* tests-wasm.patch
* tests-nomkl.patch
* tests-timedelta.patch
* tests-npdev.patch
- Skip one test failing with new timezone, the patch would be too big
* Sun Sep 08 2024 Ben Greiner <code@bnavigator.de>
- Drop pandas-pr58720-xarray-dp.patch: It does no longer xfail
* Wed Aug 28 2024 Ben Greiner <code@bnavigator.de>
- Skip overflowing tests on 32-bit
* Sun Aug 25 2024 Ben Greiner <code@bnavigator.de>
- Add pandas-pr59353-np2eval.patch
* gh#pandas-dev/pandas#59353
* gh#pandas-dev/pandas#58548
* Thu Jul 11 2024 Ben Greiner <code@bnavigator.de>
- Add pandas-pr59175-matplotlib.patch -- gh#pandas-dev/pandas#59175
* Sun May 12 2024 Matej Cepl <mcepl@cepl.eu>
- Add pandas-pr58269-pyarrow16xpass.patch
(gh#pandas-dev/pandas!58269)
- Add pandas-pr58720-xarray-dp.patch
(gh#pandas-dev/pandas!58720), which makes pandas compatible
with the modern xarray
- Add pandas-pr58484-matplotlib.patch
(gh#pandas-dev/pandas!58484), which makes pandas compatible
with the modern matplotlib
- Skip also test_plot_scatter_shape (gh#pandas-dev/pandas#58851)
* Thu May 09 2024 Matej Cepl <mcepl@cepl.eu>
- Skip build on Python 3.10 ... too many dependencies are missing.
* Tue Apr 30 2024 Ben Greiner <code@bnavigator.de>
- Update to 2.2.2
* Pandas 2.2.2 is now compatible with numpy 2.0
* Pandas 2.2.2 is the first version of pandas that is generally
compatible with the upcoming numpy 2.0 release, and wheels for
pandas 2.2.2 will work with both numpy 1.x and 2.x. One major
caveat is that arrays created with numpy 2.0’s new StringDtype
will convert to object dtyped arrays upon Series/DataFrame
creation. Full support for numpy 2.0’s StringDtype is expected
to land in pandas 3.0.
* As usual please report any bugs discovered to our issue tracker
[#]# Fixed regressions
* DataFrame.__dataframe__() was producing incorrect data buffers
when the a column’s type was a pandas nullable on with missing
values (GH 56702)
* DataFrame.__dataframe__() was producing incorrect data buffers
when the a column’s type was a pyarrow nullable on with missing
values (GH 57664)
* Avoid issuing a spurious DeprecationWarning when a custom
DataFrame or Series subclass method is called (GH 57553)
* Fixed regression in precision of to_datetime() with string and
unit input (GH 57051)
[#]# Bug fixes
* DataFrame.__dataframe__() was producing incorrect data buffers
when the column’s type was nullable boolean (GH 55332)
* DataFrame.__dataframe__() was showing bytemask instead of
bitmask for 'string[pyarrow]' validity buffer (GH 57762)
* DataFrame.__dataframe__() was showing non-null validity buffer
(instead of None) 'string[pyarrow]' without missing values (GH
57761)
* DataFrame.to_sql() was failing to find the right table when
using the schema argument (GH 57539)
- Remove obsolete python39 multibuild
- Add pandas-pr58269-pyarrow16xpass.patch
gh#pandas-dev/pandas#58269
* Mon Mar 04 2024 Ben Greiner <code@bnavigator.de>
- No xarrary for python 3.9 anymore: Remove from pandas[all] and
exclude pandas[computation]. Reenable testing to check it.
It will be skipped automatically when python39 is dropped from
Tumbleweed globally.
- Fix 15.x build: requires newer compiler
- Fix 15.x test skips: sle15_python_module_pythons needs to be
declared earlier
* Fri Feb 23 2024 Ben Greiner <code@bnavigator.de>
- Update to 2.2.1
[#]# Enhancements
* Added pyarrow pip extra so users can install pandas and pyarrow
with pip with pip install pandas[pyarrow] (#54466)
[#]# Fixed regressions
* Fixed memory leak in `read_csv` (#57039)
* Fixed performance regression in `Series.combine_first` (#55845)
* Fixed regression causing overflow for near-minimum timestamps
(#57150)
* Fixed regression in `concat` changing long-standing behavior
that always sorted the non-concatenation axis when the axis was
a `DatetimeIndex` (#57006)
* Fixed regression in `merge_ordered` raising TypeError for
fill_method="ffill" and how="left" (#57010)
* Fixed regression in `pandas.testing.assert_series_equal`
defaulting to check_exact=True when checking the `Index`
(#57067)
* Fixed regression in `read_json` where an `Index` would be
returned instead of a `RangeIndex` (#57429)
* Fixed regression in `wide_to_long` raising an AttributeError
for string columns (#57066)
* Fixed regression in `.DataFrameGroupBy.idxmin`,
`.DataFrameGroupBy.idxmax`, `.SeriesGroupBy.idxmin`,
`.SeriesGroupBy.idxmax` ignoring the skipna argument (#57040)
* Fixed regression in `.DataFrameGroupBy.idxmin`,
`.DataFrameGroupBy.idxmax`, `.SeriesGroupBy.idxmin`,
`.SeriesGroupBy.idxmax` where values containing the minimum or
maximum value for the dtype could produce incorrect results
(#57040)
* Fixed regression in `CategoricalIndex.difference` raising
KeyError when other contains null values other than NaN
(#57318)
* Fixed regression in `DataFrame.groupby` raising ValueError when
grouping by a `Series` in some cases (#57276)
* Fixed regression in `DataFrame.loc` raising IndexError for
non-unique, masked dtype indexes where result has more than
10,000 rows (#57027)
* Fixed regression in `DataFrame.loc` which was unnecessarily
throwing "incompatible dtype warning" when expanding with
partial row indexer and multiple columns (see PDEP6) (#56503)
* Fixed regression in `DataFrame.map` with na_action="ignore" not
being respected for NumPy nullable and `ArrowDtypes` (#57316)
* Fixed regression in `DataFrame.merge` raising ValueError for
certain types of 3rd-party extension arrays (#57316)
* Fixed regression in `DataFrame.query` with all NaT column with
object dtype (#57068)
* Fixed regression in `DataFrame.shift` raising AssertionError
for axis=1 and empty `DataFrame` (#57301)
* Fixed regression in `DataFrame.sort_index` not producing a
stable sort for a index with duplicates (#57151)
* Fixed regression in `DataFrame.to_dict` with orient='list' and
datetime or timedelta types returning integers (#54824)
* Fixed regression in `DataFrame.to_json` converting nullable
integers to floats (#57224)
* Fixed regression in `DataFrame.to_sql` when method="multi" is
passed and the dialect type is not Oracle (#57310)
* Fixed regression in `DataFrame.transpose` with nullable
extension dtypes not having F-contiguous data potentially
causing exceptions when used (#57315)
* Fixed regression in `DataFrame.update` emitting incorrect
warnings about downcasting (#57124)
* Fixed regression in `DataFrameGroupBy.idxmin`,
`DataFrameGroupBy.idxmax`, `SeriesGroupBy.idxmin`,
`SeriesGroupBy.idxmax` ignoring the skipna argument (#57040)
* Fixed regression in `DataFrameGroupBy.idxmin`,
`DataFrameGroupBy.idxmax`, `SeriesGroupBy.idxmin`,
`SeriesGroupBy.idxmax` where values containing the minimum or
maximum value for the dtype could produce incorrect results
(#57040)
* Fixed regression in `ExtensionArray.to_numpy` raising for
non-numeric masked dtypes (#56991)
* Fixed regression in `Index.join` raising TypeError when joining
an empty index to a non-empty index containing mixed dtype
values (#57048)
* Fixed regression in `Series.astype` introducing decimals when
converting from integer with missing values to string dtype
(#57418)
* Fixed regression in `Series.pct_change` raising a ValueError
for an empty `Series` (#57056)
* Fixed regression in `Series.to_numpy` when dtype is given as
float and the data contains NaNs (#57121)
* Fixed regression in addition or subtraction of `DateOffset`
objects with millisecond components to datetime64 `Index`,
`Series`, or `DataFrame` (#57529)
[#]# Bug fixes
* Fixed bug in `pandas.api.interchange.from_dataframe` which was
raising for Nullable integers (#55069)
* Fixed bug in `pandas.api.interchange.from_dataframe` which was
raising for empty inputs (#56700)
* Fixed bug in `pandas.api.interchange.from_dataframe` which
wasn't converting columns names to strings (#55069)
* Fixed bug in `DataFrame.__getitem__` for empty `DataFrame` with
Copy-on-Write enabled (#57130)
* Fixed bug in `PeriodIndex.asfreq` which was silently converting
frequencies which are not supported as period frequencies
instead of raising an error (#56945)
[#]# Note
* The DeprecationWarning that was raised when pandas was imported
without PyArrow being installed has been removed. This decision
was made because the warning was too noisy for too many users
and a lot of feedback was collected about the decision to make
PyArrow a required dependency. Pandas is currently considering
the decision whether or not PyArrow should be added as a hard
dependency in 3.0. Interested users can follow the discussion
here.
* Added the argument skipna to `DataFrameGroupBy.first`,
`DataFrameGroupBy.last`, `SeriesGroupBy.first`, and
`SeriesGroupBy.last`; achieving skipna=False used to be
available via `DataFrameGroupBy.nth`, but the behavior was
changed in pandas 2.0.0 (#57019)
* Added the argument skipna to `Resampler.first`,
`Resampler.last` (#57019)
- Release notes for 2.2.0
* For full changelog see
https://github.com/pandas-dev/pandas/blob/main/doc/source/whatsnew/v2.2.0.rst
[#]# Enhancements
* ADBC Driver support in to_sql and read_sql
* Create a pandas Series based on one or more conditions
* to_numpy for NumPy nullable and Arrow types converts to
suitable NumPy dtype
* Series.struct accessor for PyArrow structured data
* Series.list accessor for PyArrow list data
* Calamine engine for `read_excel`
[#]# Notable bug fixes
* `merge` and `DataFrame.join` now consistently follow documented
sort behavior
* `merge` and `DataFrame.join` no longer reorder levels when
levels differ
* Increased minimum versions for dependencies
[#]# Deprecations
* Chained assignment
* Deprecate aliases M, Q, Y, etc. in favour of ME, QE, YE, etc.
for offsets
* Deprecated automatic downcasting
- Simplify flavor test setup: obs can evaluate %{shrink:} now
* Tue Feb 06 2024 Dirk Müller <dmueller@suse.com>
- enable py312 testing, remove py39 testing
* Fri Jan 12 2024 pgajdos@suse.com
- have a possibility to not use pyarrow [bsc#1218592]
* Wed Dec 13 2023 Ben Greiner <code@bnavigator.de>
- Update to 2.1.4
[#]# Fixed regressions
* Fixed regression when trying to read a pickled pandas DataFrame
from pandas 1.3 (GH 55137)
[#]# Bug fixes
* Bug in Series constructor raising DeprecationWarning when index
is a list of Series (GH 55228)
* Bug in Series when trying to cast date-like string inputs to
ArrowDtype of pyarrow.timestamp (GH 56266)
* Bug in DataFrame.apply() where passing raw=True ignored args
passed to the applied function (GH 55753)
* Bug in Index.__getitem__() returning wrong result for Arrow
dtypes and negative stepsize (GH 55832)
* Fixed bug in to_numeric() converting to extension dtype for
string[pyarrow_numpy] dtype (GH 56179)
* Fixed bug in DataFrameGroupBy.min() and DataFrameGroupBy.max()
not preserving extension dtype for empty object (GH 55619)
* Fixed bug in DataFrame.__setitem__() casting Index with
object-dtype to PyArrow backed strings when infer_string option
is set (GH 55638)
* Fixed bug in DataFrame.to_hdf() raising when columns have
StringDtype (GH 55088)
* Fixed bug in Index.insert() casting object-dtype to PyArrow
backed strings when infer_string option is set (GH 55638)
* Fixed bug in Series.__ne__() resulting in False for comparison
between NA and string value for dtype="string[pyarrow_numpy]"
(GH 56122)
* Fixed bug in Series.mode() not keeping object dtype when
infer_string is set (GH 56183)
* Fixed bug in Series.reset_index() not preserving object dtype
when infer_string is set (GH 56160)
* Fixed bug in Series.str.split() and Series.str.rsplit() when
pat=None for ArrowDtype with pyarrow.string (GH 56271)
* Fixed bug in Series.str.translate() losing object dtype when
string option is set (GH 56152)
- Go back to Cython0, it has NOT been unpinned by upstream released
version
* https://github.com/pandas-dev/pandas/blob/v2.1.4/pyproject.toml#L8
* See also gh#jsonpickle/jsonpickle#460
* Fri Dec 01 2023 Steve Kowalik <steven.kowalik@suse.com>
- Update to 2.1.3:
* Reverted deprecation of fill_method=None in DataFrame.pct_change(),
Series.pct_change(), DataFrameGroupBy.pct_change(), and
SeriesGroupBy.pct_change(); the values 'backfill', 'bfill', 'pad', and
'ffill' are still deprecated
* Fixed regressions
+ Fixed infinite recursion from operations that return a new object on
some DataFrame subclasses
+ Fixed regression in DataFrame.join() where result has missing values
and dtype is arrow backed string
+ Fixed regression in rolling() where non-nanosecond index or on column
would produce incorrect results
+ Fixed regression in DataFrame.resample() which was extrapolating back
to origin when origin was outside its bounds
+ Fixed regression in DataFrame.sort_index() which was not sorting
correctly when the index was a sliced MultiIndex
+ Fixed regression in DataFrameGroupBy.agg() and SeriesGroupBy.agg()
where if the option compute.use_numba was set to True, groupby methods
not supported by the numba engine would raise a TypeError
+ Fixed performance regression with wide DataFrames, typically
involving methods where all columns were accessed individually
+ Fixed regression in merge_asof() raising TypeError for by with
datetime and timedelta dtypes
+ Fixed regression in read_parquet() when reading a file with a string
column consisting of more than 2 GB of string data and using the
"string" dtype
+ Fixed regression in DataFrame.to_sql() not roundtripping datetime
columns correctly for sqlite when using detect_types
+ Fixed regression in construction of certain DataFrame or Series
subclasses
* Bug fixes
+ Bug in DatetimeIndex.diff() raising TypeError
+ Bug in Index.isin() raising for Arrow backed string and None value
+ Fix read_parquet() and read_feather() for CVE-2023-47248
+ Fixed bug in DataFrameGroupBy reductions not preserving object dtype
when infer_string is set
+ Fixed bug in SeriesGroupBy.value_counts() returning incorrect dtype for
string columns
+ Fixed bug in Categorical.equals() if other has arrow backed string dtype
+ Fixed bug in DataFrame.__setitem__() not inferring string dtype for
zero-dimensional array with infer_string=True
+ Fixed bug in DataFrame.idxmin() and DataFrame.idxmax() raising for
arrow dtypes
+ Fixed bug in DataFrame.interpolate() raising incorrect error message
+ Fixed bug in Index.insert() raising when inserting None into Index with
dtype="string[pyarrow_numpy]"
+ Fixed bug in Series.all() and Series.any() not treating missing values
correctly for dtype="string[pyarrow_numpy]"
+ Fixed bug in Series.floordiv() for ArrowDtype
+ Fixed bug in Series.mode() not sorting values for arrow backed string
dtype
+ Fixed bug in Series.rank() for string[pyarrow_numpy] dtype
+ Fixed bug in Series.str.extractall() for ArrowDtype dtype being
converted to object
+ Fixed bug where PDEP-6 warning about setting an item of an
incompatible dtype was being shown when creating a new conditional
column
+ Silence Period[B] warnings introduced by GH 53446 during normal
plotting activity
+ Fixed bug in Series constructor not inferring string dtype when NA is
the first value and infer_string is set
- Prepare for Python 3.12, include the flavor check.
- Unpin Cython, upstream has moved onto 3.
* Sat Oct 14 2023 Bernhard Wiedemann <bwiedemann@suse.com>
- Fix random build failures
* Sat Oct 07 2023 Ben Greiner <code@bnavigator.de>
- Update to 2.1.1
[#]# Fixed regressions
* Fixed regression in concat() when DataFrame ‘s have two
different extension dtypes (GH 54848)
* Fixed regression in merge() when merging over a PyArrow string
index (GH 54894)
* Fixed regression in read_csv() when usecols is given and dtypes
is a dict for engine="python" (GH 54868)
* Fixed regression in read_csv() when delim_whitespace is True
(GH 54918, GH 54931)
* Fixed regression in GroupBy.get_group() raising for axis=1 (GH
54858)
* Fixed regression in DataFrame.__setitem__() raising
AssertionError when setting a Series with a partial MultiIndex
(GH 54875)
* Fixed regression in DataFrame.filter() not respecting the order
of elements for filter (GH 54980)
* Fixed regression in DataFrame.to_sql() not roundtripping
datetime columns correctly for sqlite (GH 54877)
* Fixed regression in DataFrameGroupBy.agg() when aggregating a
DataFrame with duplicate column names using a dictionary (GH
55006)
* Fixed regression in MultiIndex.append() raising when appending
overlapping IntervalIndex levels (GH 54934)
* Fixed regression in Series.drop_duplicates() for PyArrow
strings (GH 54904)
* Fixed regression in Series.interpolate() raising when
fill_value was given (GH 54920)
* Fixed regression in Series.value_counts() raising for numeric
data if bins was specified (GH 54857)
* Fixed regression in comparison operations for PyArrow backed
columns not propagating exceptions correctly (GH 54944)
* Fixed regression when comparing a Series with datetime64 dtype
with None (GH 54870)
[#]# Bug fixes
* Fixed bug for ArrowDtype raising NotImplementedError for
fixed-size list (GH 55000)
* Fixed bug in DataFrame.stack() with future_stack=True and
columns a non-MultiIndex consisting of tuples (GH 54948)
* Fixed bug in Series.dt.tz() with ArrowDtype where a string was
returned instead of a tzinfo object (GH 55003)
* Fixed bug in Series.pct_change() and DataFrame.pct_change()
showing unnecessary FutureWarning (GH 54981)
[#]# Other
* Reverted the deprecation that disallowed Series.apply()
returning a DataFrame when the passed-in callable returns a
Series object (GH 52116)
- Drop pandas-pr55073-pyarrow13.patch merged upstream
* Sun Sep 10 2023 Ben Greiner <code@bnavigator.de>
- Fix test failures with pyarrow 13
* Add pandas-pr55073-pyarrow13.patch
* gh#pandas-dev/pandas#55073
* gh#pandas-dev/pandas#55048
* gh#pandas-dev/pandas#55020
* Tue Sep 05 2023 Ben Greiner <code@bnavigator.de>
- Use git cloned archive gh#pandas-dev/pandas#54907
* Thu Aug 31 2023 Ben Greiner <code@bnavigator.de>
- Update to 2.1.0
* https://pandas.pydata.org/pandas-docs/version/2.1.0/whatsnew/v2.1.0.html
* Avoid NumPy object dtype for strings by default
* DataFrame reductions preserve extension dtypes
* Copy-on-Write improvements
* New DataFrame.map() method and support for ExtensionArrays
* New implementation of DataFrame.stack()
* Other minor enhancements (see link above)
[#]# Backwards incompatible API changes
* pandas 2.1.0 supports Python 3.9 and higher
* Increased minimum versions for numpy 1.22.3 and some optional
dependencies
* arrays.PandasArray has been renamed NumpyExtensionArray and the
attached dtype name changed from PandasDtype to NumpyEADtype;
importing PandasArray still works until the next major version
(GH 53694)
[#]# Deprecations
* Deprecated silent upcasting in setitem-like Series operations
* Deprecated parsing datetimes with mixed time zones
* Other Deprecation (see link above)
[#]# More
* Performance Improvements (see link above)
* Bug fixes (see linkl above)
- Switch to meson build system
* Sun Aug 13 2023 Dirk Müller <dmueller@suse.com>
- update to 2.0.3:
* Bug in Timestamp.weekday`() was returning incorrect results
before '0000-02-29'
* Fixed performance regression in merging on datetime-like columns
* Fixed regression when DataFrame.to_string() creates extra space
for string dtypes
* Bug in DataFrame.convert_dtype() and Series.convert_dtype()
when trying to convert ArrowDtype with dtype_backend="nullable_numpy"
* Bug in RangeIndex.union() when using sort=True with another
RangeIndex
* Bug in Series.reindex() when expanding a non-nanosecond datetime
or timedelta
* Bug in read_csv() when defining dtype with bool[pyarrow] for
the "c" and "python" engines
* Bug in Series.str.split() and Series.str.rsplit() with expand=True
* Bug in indexing methods (e.g. DataFrame.__getitem__()) where
taking the entire DataFrame/Series would raise an OverflowError
when Copy on Write was enabled the length of the array was over
the maximum size a 32-bit integer can hold
* Bug when constructing a DataFrame with columns of an ArrowDtype
with a pyarrow.dictionary type that reindexes the data
* Bug when indexing a DataFrame or Series with an Index with a
timestamp ArrowDtype would raise an AttributeError
- drop pandas-fix-tests.patch (upstream)
* Thu Jun 22 2023 Guillaume GARDET <guillaume.gardet@opensuse.org>
- Fix tests on aarch64:
* pandas-fix-tests.patch
* Sun Jun 11 2023 Johannes Kastl <kastl@b1-systems.de>
- do not use %elif for python-numpy dependency condition
* Wed Jun 07 2023 Ben Greiner <code@bnavigator.de>
- Increase minimum memory constraints for tests
* Sat May 27 2023 Ben Greiner <code@bnavigator.de>
- Update to 2.0.2
[#]# Fixed regressions
* Fixed performance regression in GroupBy.apply() (GH53195)
* Fixed regression in merge() on Windows when dtype is np.intc
(GH52451)
* Fixed regression in read_sql() dropping columns with duplicated
column names (GH53117)
* Fixed regression in DataFrame.loc() losing MultiIndex name when
enlarging object (GH53053)
* Fixed regression in DataFrame.to_string() printing a backslash
at the end of the first row of data, instead of headers, when
the DataFrame doesn’t fit the line width (GH53054)
* Fixed regression in MultiIndex.join() returning levels in wrong
order (GH53093)
[#]# Bug fixes