From 360c9a5e96f32b452736e33dea2b4a35aa1c6054 Mon Sep 17 00:00:00 2001 From: arredond Date: Wed, 21 Apr 2021 14:58:28 +0200 Subject: [PATCH 1/3] BUG: GH35865 - int cast to str with colon setitem --- pandas/tests/indexing/test_coercion.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pandas/tests/indexing/test_coercion.py b/pandas/tests/indexing/test_coercion.py index 7642f78076dcb..9237593bb7050 100644 --- a/pandas/tests/indexing/test_coercion.py +++ b/pandas/tests/indexing/test_coercion.py @@ -258,6 +258,13 @@ def test_setitem_series_timedelta64(self, val, exp_dtype): ) self._assert_setitem_series_conversion(obj, val, exp, exp_dtype) + def test_setitem_series_colon(self): + # GH35865 - int casted to str when internally calling np.array(ser.values) + ser = pd.Series(["a", 1]) + ser[:] = list(ser.values) + + assert ser[1] == 1 + def _assert_setitem_index_conversion( self, original_series, loc_key, expected_index, expected_dtype ): From 8b86d6fda73df3c52674268a3aeb7552d118d7e6 Mon Sep 17 00:00:00 2001 From: arredond Date: Wed, 21 Apr 2021 16:59:33 +0200 Subject: [PATCH 2/3] improve test name and assert via pd._testing --- pandas/tests/indexing/test_coercion.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pandas/tests/indexing/test_coercion.py b/pandas/tests/indexing/test_coercion.py index 9237593bb7050..e58c3e4c7f940 100644 --- a/pandas/tests/indexing/test_coercion.py +++ b/pandas/tests/indexing/test_coercion.py @@ -258,12 +258,13 @@ def test_setitem_series_timedelta64(self, val, exp_dtype): ) self._assert_setitem_series_conversion(obj, val, exp, exp_dtype) - def test_setitem_series_colon(self): + def test_setitem_series_no_coercion_from_values_list(self): # GH35865 - int casted to str when internally calling np.array(ser.values) - ser = pd.Series(["a", 1]) - ser[:] = list(ser.values) + ser1 = pd.Series(["a", 1]) + ser2 = pd.Series(["a", 1]) + ser2[:] = list(ser2.values) - assert ser[1] == 1 + tm.assert_series_equal(ser1, ser2) def _assert_setitem_index_conversion( self, original_series, loc_key, expected_index, expected_dtype From e7a73e8dc30fab54e70410a2adde617832b3d02d Mon Sep 17 00:00:00 2001 From: arredond Date: Sun, 25 Apr 2021 23:24:24 +0200 Subject: [PATCH 3/3] change test variable names --- pandas/tests/indexing/test_coercion.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pandas/tests/indexing/test_coercion.py b/pandas/tests/indexing/test_coercion.py index e58c3e4c7f940..585dbd338e965 100644 --- a/pandas/tests/indexing/test_coercion.py +++ b/pandas/tests/indexing/test_coercion.py @@ -260,11 +260,12 @@ def test_setitem_series_timedelta64(self, val, exp_dtype): def test_setitem_series_no_coercion_from_values_list(self): # GH35865 - int casted to str when internally calling np.array(ser.values) - ser1 = pd.Series(["a", 1]) - ser2 = pd.Series(["a", 1]) - ser2[:] = list(ser2.values) + ser = pd.Series(["a", 1]) + ser[:] = list(ser.values) - tm.assert_series_equal(ser1, ser2) + expected = pd.Series(["a", 1]) + + tm.assert_series_equal(ser, expected) def _assert_setitem_index_conversion( self, original_series, loc_key, expected_index, expected_dtype