From a33fcfddedb31816a6308de6038ec74fb71d7739 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Thu, 17 Mar 2022 12:00:16 +0000 Subject: [PATCH] Revert " BUG: RecursionError when attempting to replace np.nan values (#45725) (#45749)" This reverts commit d0a687c0891fbd2ec4aee9c91df4ffae0a4fd62a. --- pandas/core/internals/blocks.py | 1 - pandas/tests/frame/methods/test_replace.py | 15 --------------- pandas/tests/series/methods/test_replace.py | 17 ----------------- 3 files changed, 33 deletions(-) diff --git a/pandas/core/internals/blocks.py b/pandas/core/internals/blocks.py index 69f66973d0954..cdf2c47ad3f60 100644 --- a/pandas/core/internals/blocks.py +++ b/pandas/core/internals/blocks.py @@ -568,7 +568,6 @@ def replace( # go through replace_list values = self.values - value = self._standardize_fill_value(value) # GH#45725 if isinstance(values, Categorical): # TODO: avoid special-casing diff --git a/pandas/tests/frame/methods/test_replace.py b/pandas/tests/frame/methods/test_replace.py index 2eb300a8905b8..d8cd477cdcff8 100644 --- a/pandas/tests/frame/methods/test_replace.py +++ b/pandas/tests/frame/methods/test_replace.py @@ -661,21 +661,6 @@ def test_replace_simple_nested_dict_with_nonexistent_value(self): result = df.replace({"col": {-1: "-", 1: "a", 4: "b"}}) tm.assert_frame_equal(expected, result) - def test_replace_numpy_nan(self, nulls_fixture): - # GH#45725 ensure numpy.nan can be replaced with all other null types - to_replace = np.nan - value = nulls_fixture - dtype = object - df = DataFrame({"A": [to_replace]}, dtype=dtype) - expected = DataFrame({"A": [value]}, dtype=dtype) - - result = df.replace({to_replace: value}).astype(dtype=dtype) - tm.assert_frame_equal(result, expected) - - # same thing but different calling convention - result = df.replace(to_replace, value).astype(dtype=dtype) - tm.assert_frame_equal(result, expected) - def test_replace_value_is_none(self, datetime_frame): orig_value = datetime_frame.iloc[0, 0] orig2 = datetime_frame.iloc[1, 0] diff --git a/pandas/tests/series/methods/test_replace.py b/pandas/tests/series/methods/test_replace.py index 7177648df27ce..77c9cf4013bd7 100644 --- a/pandas/tests/series/methods/test_replace.py +++ b/pandas/tests/series/methods/test_replace.py @@ -36,23 +36,6 @@ def test_replace_explicit_none(self): assert expected.iloc[-1] is None tm.assert_series_equal(result, expected) - def test_replace_numpy_nan(self, nulls_fixture): - # GH#45725 ensure numpy.nan can be replaced with all other null types - to_replace = np.nan - value = nulls_fixture - dtype = object - ser = pd.Series([to_replace], dtype=dtype) - expected = pd.Series([value], dtype=dtype) - - result = ser.replace({to_replace: value}).astype(dtype=dtype) - tm.assert_series_equal(result, expected) - assert result.dtype == dtype - - # same thing but different calling convention - result = ser.replace(to_replace, value).astype(dtype=dtype) - tm.assert_series_equal(result, expected) - assert result.dtype == dtype - def test_replace_noop_doesnt_downcast(self): # GH#44498 ser = pd.Series([None, None, pd.Timestamp("2021-12-16 17:31")], dtype=object)