From de3df9c2a0a66d5ab8aa70ff1e0356f372aa50a6 Mon Sep 17 00:00:00 2001 From: kubaszkliniarz Date: Mon, 17 Nov 2025 08:34:57 +0000 Subject: [PATCH 1/3] test: add for allow duplicate labels false --- pandas/tests/frame/methods/test_rename_axis.py | 14 ++++++++++++++ pandas/tests/frame/methods/test_set_axis.py | 14 ++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/pandas/tests/frame/methods/test_rename_axis.py b/pandas/tests/frame/methods/test_rename_axis.py index dd4a77c6509b8..8e19d109a5d63 100644 --- a/pandas/tests/frame/methods/test_rename_axis.py +++ b/pandas/tests/frame/methods/test_rename_axis.py @@ -28,6 +28,20 @@ def test_rename_axis_inplace(self, float_frame): assert no_return is None tm.assert_frame_equal(result, expected) + def test_rename_axis_with_allows_duplicate_labels_false(self): + # GH#44958 + # Test that rename_axis() works correctly when allows_duplicate_labels=False + df = DataFrame([[1, 2], [3, 4]], columns=["a", "b"]).set_flags( + allows_duplicate_labels=False + ) + + # Test renaming index (axis=0) with allows_duplicate_labels=False + result = df.rename_axis("idx", axis=0) + expected = DataFrame( + [[1, 2], [3, 4]], index=Index([0, 1], name="idx"), columns=["a", "b"] + ).set_flags(allows_duplicate_labels=False) + tm.assert_frame_equal(result, expected) + def test_rename_axis_raises(self): # GH#17833 df = DataFrame({"A": [1, 2], "B": [1, 2]}) diff --git a/pandas/tests/frame/methods/test_set_axis.py b/pandas/tests/frame/methods/test_set_axis.py index 7b75bcf4f348d..6daf903a9a8b7 100644 --- a/pandas/tests/frame/methods/test_set_axis.py +++ b/pandas/tests/frame/methods/test_set_axis.py @@ -112,6 +112,20 @@ def obj(self): ) return df + def test_set_axis_with_allows_duplicate_labels_false(self): + # GH#44958 + # Test that set_axis() works correctly when allows_duplicate_labels=False + df = DataFrame([[1, 2], [3, 4]], columns=["a", "b"]).set_flags( + allows_duplicate_labels=False + ) + + # Test setting index with allows_duplicate_labels=False + result = df.set_axis(labels=["x", "y"], axis=0) + expected = DataFrame( + [[1, 2], [3, 4]], index=["x", "y"], columns=["a", "b"] + ).set_flags(allows_duplicate_labels=False) + tm.assert_frame_equal(result, expected) + class TestSeriesSetAxis(SharedSetAxisTests): @pytest.fixture From 77a0b35237517cb0a8cbcc961ffbe9591f5e4070 Mon Sep 17 00:00:00 2001 From: kubaszkliniarz Date: Mon, 17 Nov 2025 13:03:12 +0000 Subject: [PATCH 2/3] remove redundant comments --- pandas/tests/frame/methods/test_rename_axis.py | 2 -- pandas/tests/frame/methods/test_set_axis.py | 2 -- 2 files changed, 4 deletions(-) diff --git a/pandas/tests/frame/methods/test_rename_axis.py b/pandas/tests/frame/methods/test_rename_axis.py index 8e19d109a5d63..66f21ba5a2487 100644 --- a/pandas/tests/frame/methods/test_rename_axis.py +++ b/pandas/tests/frame/methods/test_rename_axis.py @@ -30,12 +30,10 @@ def test_rename_axis_inplace(self, float_frame): def test_rename_axis_with_allows_duplicate_labels_false(self): # GH#44958 - # Test that rename_axis() works correctly when allows_duplicate_labels=False df = DataFrame([[1, 2], [3, 4]], columns=["a", "b"]).set_flags( allows_duplicate_labels=False ) - # Test renaming index (axis=0) with allows_duplicate_labels=False result = df.rename_axis("idx", axis=0) expected = DataFrame( [[1, 2], [3, 4]], index=Index([0, 1], name="idx"), columns=["a", "b"] diff --git a/pandas/tests/frame/methods/test_set_axis.py b/pandas/tests/frame/methods/test_set_axis.py index 6daf903a9a8b7..743113150af01 100644 --- a/pandas/tests/frame/methods/test_set_axis.py +++ b/pandas/tests/frame/methods/test_set_axis.py @@ -114,12 +114,10 @@ def obj(self): def test_set_axis_with_allows_duplicate_labels_false(self): # GH#44958 - # Test that set_axis() works correctly when allows_duplicate_labels=False df = DataFrame([[1, 2], [3, 4]], columns=["a", "b"]).set_flags( allows_duplicate_labels=False ) - # Test setting index with allows_duplicate_labels=False result = df.set_axis(labels=["x", "y"], axis=0) expected = DataFrame( [[1, 2], [3, 4]], index=["x", "y"], columns=["a", "b"] From be1e99409370fc813df340f7ae8dd053d655fbe7 Mon Sep 17 00:00:00 2001 From: kubaszkliniarz Date: Mon, 17 Nov 2025 13:17:51 +0000 Subject: [PATCH 3/3] add check_flags=False to assert --- pandas/tests/frame/methods/test_rename_axis.py | 4 ++-- pandas/tests/frame/methods/test_set_axis.py | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/pandas/tests/frame/methods/test_rename_axis.py b/pandas/tests/frame/methods/test_rename_axis.py index 66f21ba5a2487..feb83524cc2bb 100644 --- a/pandas/tests/frame/methods/test_rename_axis.py +++ b/pandas/tests/frame/methods/test_rename_axis.py @@ -37,8 +37,8 @@ def test_rename_axis_with_allows_duplicate_labels_false(self): result = df.rename_axis("idx", axis=0) expected = DataFrame( [[1, 2], [3, 4]], index=Index([0, 1], name="idx"), columns=["a", "b"] - ).set_flags(allows_duplicate_labels=False) - tm.assert_frame_equal(result, expected) + ) + tm.assert_frame_equal(result, expected, check_flags=False) def test_rename_axis_raises(self): # GH#17833 diff --git a/pandas/tests/frame/methods/test_set_axis.py b/pandas/tests/frame/methods/test_set_axis.py index 743113150af01..12f81588e81bf 100644 --- a/pandas/tests/frame/methods/test_set_axis.py +++ b/pandas/tests/frame/methods/test_set_axis.py @@ -119,10 +119,8 @@ def test_set_axis_with_allows_duplicate_labels_false(self): ) result = df.set_axis(labels=["x", "y"], axis=0) - expected = DataFrame( - [[1, 2], [3, 4]], index=["x", "y"], columns=["a", "b"] - ).set_flags(allows_duplicate_labels=False) - tm.assert_frame_equal(result, expected) + expected = DataFrame([[1, 2], [3, 4]], index=["x", "y"], columns=["a", "b"]) + tm.assert_frame_equal(result, expected, check_flags=False) class TestSeriesSetAxis(SharedSetAxisTests):