From 154252a79080afb5f906261db48c09527e211ca1 Mon Sep 17 00:00:00 2001 From: Wes McKinney Date: Mon, 8 Apr 2013 18:13:50 -0700 Subject: [PATCH] BUG: test case showing why assigning to dtype is unsafe --- pandas/tests/test_series.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pandas/tests/test_series.py b/pandas/tests/test_series.py index dc036a933e2fe..3abcee52f181d 100644 --- a/pandas/tests/test_series.py +++ b/pandas/tests/test_series.py @@ -1127,12 +1127,21 @@ def test_where(self): self.assertRaises(ValueError, s.__setitem__, tuple([[[True, False]]]), [0,2,3]) self.assertRaises(ValueError, s.__setitem__, tuple([[[True, False]]]), []) + + s = Series(np.arange(10), dtype=np.int32) + mask = s < 5 + s[mask] = range(5) + expected = Series(np.arange(10), dtype=np.int32) + assert_series_equal(s, expected) + self.assertEquals(s.dtype, expected.dtype) + # GH3235 s = Series(np.arange(10)) mask = s < 5 s[mask] = range(5) - expected = Series(np.arange(10),dtype='float64') - assert_series_equal(s,expected) + expected = Series(np.arange(10)) + assert_series_equal(s, expected) + self.assertEquals(s.dtype, expected.dtype) s = Series(np.arange(10)) mask = s > 5