This package provides the [html] 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(