Wed Mar 6 18:56:35 2024 UTC (80d)
py-pandas: updated to 2.2.1

What窶冱 new in 2.2.1 (February 22, 2024)

These are the changes in pandas 2.2.1. See Release notes for a full changelog including other versions of pandas.

Enhancements

Added pyarrow pip extra so users can install pandas and pyarrow with pip with pip install pandas[pyarrow] (GH 54466)
Fixed regressions

Fixed memory leak in read_csv() (GH 57039)
Fixed performance regression in Series.combine_first() (GH 55845)
Fixed regression causing overflow for near-minimum timestamps (GH 57150)
Fixed regression in concat() changing long-standing behavior that always sorted the non-concatenation axis when the axis was a DatetimeIndex (GH 57006)
Fixed regression in merge_ordered() raising TypeError for fill_method="ffill" and how="left" (GH 57010)
Fixed regression in pandas.testing.assert_series_equal() defaulting to check_exact=True when checking the Index (GH 57067)
Fixed regression in read_json() where an Index would be returned instead of a RangeIndex (GH 57429)
Fixed regression in wide_to_long() raising an AttributeError for string columns (GH 57066)
Fixed regression in DataFrameGroupBy.idxmin(), DataFrameGroupBy.idxmax(), SeriesGroupBy.idxmin(), SeriesGroupBy.idxmax() ignoring the skipna argument (GH 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 (GH 57040)
Fixed regression in CategoricalIndex.difference() raising KeyError when other contains null values other than NaN (GH 57318)
Fixed regression in DataFrame.groupby() raising ValueError when grouping by a Series in some cases (GH 57276)
Fixed regression in DataFrame.loc() raising IndexError for non-unique, masked dtype indexes where result has more than 10,000 rows (GH 57027)
Fixed regression in DataFrame.loc() which was unnecessarily throwing 窶彿ncompatible dtype warning窶� when expanding with partial row indexer and multiple columns (see PDEP6) (GH 56503)
Fixed regression in DataFrame.map() with na_action="ignore" not being respected for NumPy nullable and ArrowDtypes (GH 57316)
Fixed regression in DataFrame.merge() raising ValueError for certain types of 3rd-party extension arrays (GH 57316)
Fixed regression in DataFrame.query() with all NaT column with object dtype (GH 57068)
Fixed regression in DataFrame.shift() raising AssertionError for axis=1 and empty DataFrame (GH 57301)
Fixed regression in DataFrame.sort_index() not producing a stable sort for a index with duplicates (GH 57151)
Fixed regression in DataFrame.to_dict() with orient='list' and datetime or timedelta types returning integers (GH 54824)
Fixed regression in DataFrame.to_json() converting nullable integers to floats (GH 57224)
Fixed regression in DataFrame.to_sql() when method="multi" is passed and the dialect type is not Oracle (GH 57310)
Fixed regression in DataFrame.transpose() with nullable extension dtypes not having F-contiguous data potentially causing exceptions when used (GH 57315)
Fixed regression in DataFrame.update() emitting incorrect warnings about downcasting (GH 57124)
Fixed regression in DataFrameGroupBy.idxmin(), DataFrameGroupBy.idxmax(), SeriesGroupBy.idxmin(), SeriesGroupBy.idxmax() ignoring the skipna argument (GH 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 (GH 57040)
Fixed regression in ExtensionArray.to_numpy() raising for non-numeric masked dtypes (GH 56991)
Fixed regression in Index.join() raising TypeError when joining an empty index to a non-empty index containing mixed dtype values (GH 57048)
Fixed regression in Series.astype() introducing decimals when converting from integer with missing values to string dtype (GH 57418)
Fixed regression in Series.pct_change() raising a ValueError for an empty Series (GH 57056)
Fixed regression in Series.to_numpy() when dtype is given as float and the data contains NaNs (GH 57121)
Fixed regression in addition or subtraction of DateOffset objects with millisecond components to datetime64 Index, Series, or DataFrame (GH 57529)

Bug fixes

Fixed bug in pandas.api.interchange.from_dataframe() which was raising for Nullable integers (GH 55069)
Fixed bug in pandas.api.interchange.from_dataframe() which was raising for empty inputs (GH 56700)
Fixed bug in pandas.api.interchange.from_dataframe() which wasn窶冲 converting columns names to strings (GH 55069)
Fixed bug in DataFrame.__getitem__() for empty DataFrame with Copy-on-Write enabled (GH 57130)
Fixed bug in PeriodIndex.asfreq() which was silently converting frequencies which are not supported as period frequencies instead of raising an error (GH 56945)


(adam)
diff -r1.58 -r1.59 pkgsrc/math/py-pandas/Makefile
diff -r1.26 -r1.27 pkgsrc/math/py-pandas/PLIST
diff -r1.40 -r1.41 pkgsrc/math/py-pandas/distinfo

cvs diff -r1.58 -r1.59 pkgsrc/math/py-pandas/Makefile (expand / switch to unified diff)

--- pkgsrc/math/py-pandas/Makefile 2024/01/24 16:31:15 1.58
+++ pkgsrc/math/py-pandas/Makefile 2024/03/06 18:56:35 1.59
@@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
1# $NetBSD: Makefile,v 1.58 2024/01/24 16:31:15 wiz Exp $ 1# $NetBSD: Makefile,v 1.59 2024/03/06 18:56:35 adam Exp $
2 2
3DISTNAME= pandas-2.2.0 3DISTNAME= pandas-2.2.1
4PKGNAME= ${PYPKGPREFIX}-${DISTNAME} 4PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
5CATEGORIES= math graphics python 5CATEGORIES= math graphics python
6MASTER_SITES= ${MASTER_SITE_PYPI:=p/pandas/} 6MASTER_SITES= ${MASTER_SITE_PYPI:=p/pandas/}
7 7
8MAINTAINER= bad@NetBSD.org 8MAINTAINER= bad@NetBSD.org
9HOMEPAGE= https://pandas.pydata.org/ 9HOMEPAGE= https://pandas.pydata.org/
10COMMENT= Python Data Analysis Library 10COMMENT= Python Data Analysis Library
11LICENSE= modified-bsd 11LICENSE= modified-bsd
12 12
13TOOL_DEPENDS+= ${PYPKGPREFIX}-cython>=0.29.33:../../devel/py-cython 13TOOL_DEPENDS+= ${PYPKGPREFIX}-cython>=0.29.33:../../devel/py-cython
14# Package directly expresses a meson minimum; we need higher to pick up our 14# Package directly expresses a meson minimum; we need higher to pick up our
15# multi-version build fixes. 15# multi-version build fixes.
16TOOL_DEPENDS+= meson>=1.2.2nb1:../../devel/meson 16TOOL_DEPENDS+= meson>=1.2.2nb1:../../devel/meson

cvs diff -r1.26 -r1.27 pkgsrc/math/py-pandas/PLIST (expand / switch to unified diff)

--- pkgsrc/math/py-pandas/PLIST 2024/01/20 08:18:55 1.26
+++ pkgsrc/math/py-pandas/PLIST 2024/03/06 18:56:35 1.27
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1@comment $NetBSD: PLIST,v 1.26 2024/01/20 08:18:55 adam Exp $ 1@comment $NetBSD: PLIST,v 1.27 2024/03/06 18:56:35 adam Exp $
2${PYSITELIB}/${WHEEL_INFODIR}/LICENSE 2${PYSITELIB}/${WHEEL_INFODIR}/LICENSE
3${PYSITELIB}/${WHEEL_INFODIR}/METADATA 3${PYSITELIB}/${WHEEL_INFODIR}/METADATA
4${PYSITELIB}/${WHEEL_INFODIR}/RECORD 4${PYSITELIB}/${WHEEL_INFODIR}/RECORD
5${PYSITELIB}/${WHEEL_INFODIR}/WHEEL 5${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
6${PYSITELIB}/${WHEEL_INFODIR}/entry_points.txt 6${PYSITELIB}/${WHEEL_INFODIR}/entry_points.txt
7${PYSITELIB}/pandas/__init__.py 7${PYSITELIB}/pandas/__init__.py
8${PYSITELIB}/pandas/__init__.pyc 8${PYSITELIB}/pandas/__init__.pyc
9${PYSITELIB}/pandas/__init__.pyo 9${PYSITELIB}/pandas/__init__.pyo
10${PYSITELIB}/pandas/_config/__init__.py 10${PYSITELIB}/pandas/_config/__init__.py
11${PYSITELIB}/pandas/_config/__init__.pyc 11${PYSITELIB}/pandas/_config/__init__.pyc
12${PYSITELIB}/pandas/_config/__init__.pyo 12${PYSITELIB}/pandas/_config/__init__.pyo
13${PYSITELIB}/pandas/_config/config.py 13${PYSITELIB}/pandas/_config/config.py
14${PYSITELIB}/pandas/_config/config.pyc 14${PYSITELIB}/pandas/_config/config.pyc
@@ -2214,26 +2214,29 @@ ${PYSITELIB}/pandas/tests/indexes/catego @@ -2214,26 +2214,29 @@ ${PYSITELIB}/pandas/tests/indexes/catego
2214${PYSITELIB}/pandas/tests/indexes/categorical/test_fillna.pyo 2214${PYSITELIB}/pandas/tests/indexes/categorical/test_fillna.pyo
2215${PYSITELIB}/pandas/tests/indexes/categorical/test_formats.py 2215${PYSITELIB}/pandas/tests/indexes/categorical/test_formats.py
2216${PYSITELIB}/pandas/tests/indexes/categorical/test_formats.pyc 2216${PYSITELIB}/pandas/tests/indexes/categorical/test_formats.pyc
2217${PYSITELIB}/pandas/tests/indexes/categorical/test_formats.pyo 2217${PYSITELIB}/pandas/tests/indexes/categorical/test_formats.pyo
2218${PYSITELIB}/pandas/tests/indexes/categorical/test_indexing.py 2218${PYSITELIB}/pandas/tests/indexes/categorical/test_indexing.py
2219${PYSITELIB}/pandas/tests/indexes/categorical/test_indexing.pyc 2219${PYSITELIB}/pandas/tests/indexes/categorical/test_indexing.pyc
2220${PYSITELIB}/pandas/tests/indexes/categorical/test_indexing.pyo 2220${PYSITELIB}/pandas/tests/indexes/categorical/test_indexing.pyo
2221${PYSITELIB}/pandas/tests/indexes/categorical/test_map.py 2221${PYSITELIB}/pandas/tests/indexes/categorical/test_map.py
2222${PYSITELIB}/pandas/tests/indexes/categorical/test_map.pyc 2222${PYSITELIB}/pandas/tests/indexes/categorical/test_map.pyc
2223${PYSITELIB}/pandas/tests/indexes/categorical/test_map.pyo 2223${PYSITELIB}/pandas/tests/indexes/categorical/test_map.pyo
2224${PYSITELIB}/pandas/tests/indexes/categorical/test_reindex.py 2224${PYSITELIB}/pandas/tests/indexes/categorical/test_reindex.py
2225${PYSITELIB}/pandas/tests/indexes/categorical/test_reindex.pyc 2225${PYSITELIB}/pandas/tests/indexes/categorical/test_reindex.pyc
2226${PYSITELIB}/pandas/tests/indexes/categorical/test_reindex.pyo 2226${PYSITELIB}/pandas/tests/indexes/categorical/test_reindex.pyo
 2227${PYSITELIB}/pandas/tests/indexes/categorical/test_setops.py
 2228${PYSITELIB}/pandas/tests/indexes/categorical/test_setops.pyc
 2229${PYSITELIB}/pandas/tests/indexes/categorical/test_setops.pyo
2227${PYSITELIB}/pandas/tests/indexes/conftest.py 2230${PYSITELIB}/pandas/tests/indexes/conftest.py
2228${PYSITELIB}/pandas/tests/indexes/conftest.pyc 2231${PYSITELIB}/pandas/tests/indexes/conftest.pyc
2229${PYSITELIB}/pandas/tests/indexes/conftest.pyo 2232${PYSITELIB}/pandas/tests/indexes/conftest.pyo
2230${PYSITELIB}/pandas/tests/indexes/datetimelike_/__init__.py 2233${PYSITELIB}/pandas/tests/indexes/datetimelike_/__init__.py
2231${PYSITELIB}/pandas/tests/indexes/datetimelike_/__init__.pyc 2234${PYSITELIB}/pandas/tests/indexes/datetimelike_/__init__.pyc
2232${PYSITELIB}/pandas/tests/indexes/datetimelike_/__init__.pyo 2235${PYSITELIB}/pandas/tests/indexes/datetimelike_/__init__.pyo
2233${PYSITELIB}/pandas/tests/indexes/datetimelike_/test_drop_duplicates.py 2236${PYSITELIB}/pandas/tests/indexes/datetimelike_/test_drop_duplicates.py
2234${PYSITELIB}/pandas/tests/indexes/datetimelike_/test_drop_duplicates.pyc 2237${PYSITELIB}/pandas/tests/indexes/datetimelike_/test_drop_duplicates.pyc
2235${PYSITELIB}/pandas/tests/indexes/datetimelike_/test_drop_duplicates.pyo 2238${PYSITELIB}/pandas/tests/indexes/datetimelike_/test_drop_duplicates.pyo
2236${PYSITELIB}/pandas/tests/indexes/datetimelike_/test_equals.py 2239${PYSITELIB}/pandas/tests/indexes/datetimelike_/test_equals.py
2237${PYSITELIB}/pandas/tests/indexes/datetimelike_/test_equals.pyc 2240${PYSITELIB}/pandas/tests/indexes/datetimelike_/test_equals.pyc
2238${PYSITELIB}/pandas/tests/indexes/datetimelike_/test_equals.pyo 2241${PYSITELIB}/pandas/tests/indexes/datetimelike_/test_equals.pyo
2239${PYSITELIB}/pandas/tests/indexes/datetimelike_/test_indexing.py 2242${PYSITELIB}/pandas/tests/indexes/datetimelike_/test_indexing.py

cvs diff -r1.40 -r1.41 pkgsrc/math/py-pandas/distinfo (expand / switch to unified diff)

--- pkgsrc/math/py-pandas/distinfo 2024/01/20 08:18:55 1.40
+++ pkgsrc/math/py-pandas/distinfo 2024/03/06 18:56:35 1.41
@@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
1$NetBSD: distinfo,v 1.40 2024/01/20 08:18:55 adam Exp $ 1$NetBSD: distinfo,v 1.41 2024/03/06 18:56:35 adam Exp $
2 2
3BLAKE2s (pandas-2.2.0.tar.gz) = d2d9e5a1536af4cbb1409e66f86a30b9e0825b48d094337fb0db399e5a44534a 3BLAKE2s (pandas-2.2.1.tar.gz) = fea4f7de834da1a55ea03f6b04a182b870ed49ecec60791a28b1bd5923a1b67c
4SHA512 (pandas-2.2.0.tar.gz) = 6de7f6941f08d412d5e6e3b33e7ad569afce4ade2eda9a68f2883e8ccefe8373212a1b80ac384e68522fb5a9c043de0b944b3920d07131ed6625363f2a4b0b5b 4SHA512 (pandas-2.2.1.tar.gz) = 8e6af4793d8b77e5c86a22c88f999dba63b1cc1954f5148bdb8c9b1bfe4e7fc5004de7d0f035b2d651f56c44b28ba4b0bd304f9c9122426cc37fb97596e13746
5Size (pandas-2.2.0.tar.gz) = 4390211 bytes 5Size (pandas-2.2.1.tar.gz) = 4395256 bytes
6SHA1 (patch-meson.build) = f802806a1ec2de5f466eb29c3037c54cbf9971b1 6SHA1 (patch-meson.build) = f802806a1ec2de5f466eb29c3037c54cbf9971b1
7SHA1 (patch-pandas___libs_window_aggregations.pyx) = 65e3ec2b165de00b23550a989c5eb77c81c759f3 7SHA1 (patch-pandas___libs_window_aggregations.pyx) = 65e3ec2b165de00b23550a989c5eb77c81c759f3