From 35dab99c6f1cd801ee7eec02cb1fc2eecce324d7 Mon Sep 17 00:00:00 2001 From: srkds Date: Mon, 17 Apr 2023 22:35:28 +0530 Subject: [PATCH 1/3] TST: setitem preserving period[D] dtype --- pandas/tests/frame/indexing/test_setitem.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pandas/tests/frame/indexing/test_setitem.py b/pandas/tests/frame/indexing/test_setitem.py index 049874a4dd46f..252b63f387045 100644 --- a/pandas/tests/frame/indexing/test_setitem.py +++ b/pandas/tests/frame/indexing/test_setitem.py @@ -379,6 +379,15 @@ def test_setitem_complete_column_with_array(self): assert expected["d"].dtype == arr.dtype tm.assert_frame_equal(df, expected) + def test_setitem_periodd_dtype(self): + # GH 39763 + rng = period_range("2016-01-01", periods=9, freq="D", name="A") + df = DataFrame(rng) + expected = df.dtypes + df.iloc[:] = rng._na_value + result = df.dtypes + tm.assert_equal(result, expected) + @pytest.mark.parametrize("dtype", ["f8", "i8", "u8"]) def test_setitem_bool_with_numeric_index(self, dtype): # GH#36319 From 3455b61830a4e9cdc202cd5b1c87a0aa2887c5b6 Mon Sep 17 00:00:00 2001 From: srkds Date: Wed, 19 Apr 2023 08:09:12 +0530 Subject: [PATCH 2/3] compare dataframe --- pandas/tests/frame/indexing/test_setitem.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pandas/tests/frame/indexing/test_setitem.py b/pandas/tests/frame/indexing/test_setitem.py index 252b63f387045..cce691a35355a 100644 --- a/pandas/tests/frame/indexing/test_setitem.py +++ b/pandas/tests/frame/indexing/test_setitem.py @@ -382,11 +382,13 @@ def test_setitem_complete_column_with_array(self): def test_setitem_periodd_dtype(self): # GH 39763 rng = period_range("2016-01-01", periods=9, freq="D", name="A") - df = DataFrame(rng) - expected = df.dtypes - df.iloc[:] = rng._na_value - result = df.dtypes - tm.assert_equal(result, expected) + result = DataFrame(rng) + expected = DataFrame( + {"A": ["NaT", "NaT", "NaT", "NaT", "NaT", "NaT", "NaT", "NaT", "NaT"]}, + dtype="period[D]", + ) + result.iloc[:] = rng._na_value + tm.assert_frame_equal(result, expected) @pytest.mark.parametrize("dtype", ["f8", "i8", "u8"]) def test_setitem_bool_with_numeric_index(self, dtype): From 7f5ff848f2aa99f10ff0df68a36edf5e63de2103 Mon Sep 17 00:00:00 2001 From: srkds Date: Wed, 19 Apr 2023 08:31:14 +0530 Subject: [PATCH 3/3] change function name --- pandas/tests/frame/indexing/test_setitem.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/tests/frame/indexing/test_setitem.py b/pandas/tests/frame/indexing/test_setitem.py index cce691a35355a..d0f34488f815a 100644 --- a/pandas/tests/frame/indexing/test_setitem.py +++ b/pandas/tests/frame/indexing/test_setitem.py @@ -379,7 +379,7 @@ def test_setitem_complete_column_with_array(self): assert expected["d"].dtype == arr.dtype tm.assert_frame_equal(df, expected) - def test_setitem_periodd_dtype(self): + def test_setitem_period_d_dtype(self): # GH 39763 rng = period_range("2016-01-01", periods=9, freq="D", name="A") result = DataFrame(rng)