Skip to content

Commit a966f77

Browse files
committed
BUG: RecursionError when attempting to replace np.nan values (pandas-dev#45725)
1 parent a4fc217 commit a966f77

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

pandas/tests/frame/methods/test_replace.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -661,13 +661,12 @@ def test_replace_simple_nested_dict_with_nonexistent_value(self):
661661
result = df.replace({"col": {-1: "-", 1: "a", 4: "b"}})
662662
tm.assert_frame_equal(expected, result)
663663

664-
@pytest.mark.parametrize("dtype", [object])
665664
@pytest.mark.parametrize("to_replace, value", [(np.nan, pd.NA), (np.nan, None)])
666-
def test_replace_numpy_nan(self, dtype, to_replace, value):
665+
def test_replace_numpy_nan(self, to_replace, value):
667666
# GH#45725 ensure numpy.nan can be replaced with pandas.NA or None
668-
df = DataFrame({"A": [to_replace]}, dtype=dtype)
667+
df = DataFrame({"A": [to_replace]}, dtype=object)
669668
result = df.replace({to_replace: value})
670-
expected = DataFrame({"A": [value]}, dtype=dtype)
669+
expected = DataFrame({"A": [value]}, dtype=object)
671670
tm.assert_frame_equal(result, expected)
672671

673672
def test_replace_value_is_none(self, datetime_frame):

pandas/tests/series/methods/test_replace.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,12 @@ def test_replace_explicit_none(self):
3636
assert expected.iloc[-1] is None
3737
tm.assert_series_equal(result, expected)
3838

39-
@pytest.mark.parametrize("dtype", [object])
4039
@pytest.mark.parametrize("to_replace, value", [(np.nan, pd.NA), (np.nan, None)])
41-
def test_replace_numpy_nan(self, dtype, to_replace, value):
40+
def test_replace_numpy_nan(self, to_replace, value):
4241
# GH#45725 ensure numpy.nan can be replaced with pandas.NA or None
43-
ser = pd.Series([to_replace], dtype=dtype)
42+
ser = pd.Series([to_replace], dtype=object)
4443
result = ser.replace({to_replace: value})
45-
expected = pd.Series([value], dtype=dtype)
44+
expected = pd.Series([value], dtype=object)
4645
tm.assert_series_equal(result, expected)
4746
assert result.dtype == object
4847

0 commit comments

Comments
 (0)