From 0321ee428df0922e987362932de7bf191ea0778c Mon Sep 17 00:00:00 2001 From: Arnaud Chanoine Date: Tue, 18 Apr 2023 14:33:01 +0000 Subject: [PATCH 1/2] Add non-regression test for GH-33828 --- pandas/tests/frame/indexing/test_setitem.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pandas/tests/frame/indexing/test_setitem.py b/pandas/tests/frame/indexing/test_setitem.py index 049874a4dd46f..52b3e6e965c0c 100644 --- a/pandas/tests/frame/indexing/test_setitem.py +++ b/pandas/tests/frame/indexing/test_setitem.py @@ -1251,3 +1251,19 @@ def test_setitem_column_update_inplace(self, using_copy_on_write): df[label][label] = 1 # original dataframe not updated assert np.all(values[np.arange(10), np.arange(10)] == 0) + + @pytest.mark.parametrize( + "dtype", + [ + "int64", + "Int64", + ], + ) + def test_setitem_iloc_with_numpy_array(self, dtype): + # GH-33828 + df = DataFrame({"a": np.ones(3)}, dtype=dtype) + df.iloc[np.array([0]), np.array([0])] = np.array([[2]]) + + expected = DataFrame({"a": [2, 1, 1]}, dtype=dtype) + + tm.assert_frame_equal(df, expected) From 2d65966244d50238d043e272eed756b759c96d13 Mon Sep 17 00:00:00 2001 From: Arnaud Chanoine Date: Tue, 18 Apr 2023 14:36:50 +0000 Subject: [PATCH 2/2] Reformat some lines --- pandas/tests/frame/indexing/test_setitem.py | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/pandas/tests/frame/indexing/test_setitem.py b/pandas/tests/frame/indexing/test_setitem.py index 52b3e6e965c0c..1b2164ae7ba7b 100644 --- a/pandas/tests/frame/indexing/test_setitem.py +++ b/pandas/tests/frame/indexing/test_setitem.py @@ -1252,18 +1252,11 @@ def test_setitem_column_update_inplace(self, using_copy_on_write): # original dataframe not updated assert np.all(values[np.arange(10), np.arange(10)] == 0) - @pytest.mark.parametrize( - "dtype", - [ - "int64", - "Int64", - ], - ) + @pytest.mark.parametrize("dtype", ["int64", "Int64"]) def test_setitem_iloc_with_numpy_array(self, dtype): # GH-33828 df = DataFrame({"a": np.ones(3)}, dtype=dtype) df.iloc[np.array([0]), np.array([0])] = np.array([[2]]) expected = DataFrame({"a": [2, 1, 1]}, dtype=dtype) - tm.assert_frame_equal(df, expected)