diff --git a/pandas/tests/series/methods/test_replace.py b/pandas/tests/series/methods/test_replace.py index 18ad275083022..1188c9452520c 100644 --- a/pandas/tests/series/methods/test_replace.py +++ b/pandas/tests/series/methods/test_replace.py @@ -675,3 +675,18 @@ def test_replace_value_none_dtype_numeric(self, val): result = ser.replace(val, None) expected = pd.Series([1, None], dtype=object) tm.assert_series_equal(result, expected) + + def test_replace_change_dtype_series(self): + # GH#25797 + df = pd.DataFrame.from_dict({"Test": ["0.5", True, "0.6"]}) + df["Test"] = df["Test"].replace([True], [np.nan]) + expected = pd.DataFrame.from_dict({"Test": ["0.5", np.nan, "0.6"]}) + tm.assert_frame_equal(df, expected) + + df = pd.DataFrame.from_dict({"Test": ["0.5", None, "0.6"]}) + df["Test"] = df["Test"].replace([None], [np.nan]) + tm.assert_frame_equal(df, expected) + + df = pd.DataFrame.from_dict({"Test": ["0.5", None, "0.6"]}) + df["Test"] = df["Test"].fillna(np.nan) + tm.assert_frame_equal(df, expected)