From e7e24c7b7c41de7a16d19ff6d12eaebf8d9fdbf3 Mon Sep 17 00:00:00 2001 From: Brock Date: Mon, 13 Oct 2025 16:15:36 -0700 Subject: [PATCH] ERR: improve exception message for Series.replace --- pandas/core/generic.py | 4 ++-- pandas/tests/series/methods/test_replace.py | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pandas/core/generic.py b/pandas/core/generic.py index 0154087b18399..6d703c398f055 100644 --- a/pandas/core/generic.py +++ b/pandas/core/generic.py @@ -7627,8 +7627,8 @@ def replace( # Operate column-wise if self.ndim == 1: raise ValueError( - "Series.replace cannot use dict-like to_replace " - "and non-None value" + "Series.replace cannot specify both a dict-like " + "'to_replace' and a 'value'" ) mapping = { col: (to_rep, value) for col, to_rep in to_replace.items() diff --git a/pandas/tests/series/methods/test_replace.py b/pandas/tests/series/methods/test_replace.py index f7383dd967cbe..5134ba445352b 100644 --- a/pandas/tests/series/methods/test_replace.py +++ b/pandas/tests/series/methods/test_replace.py @@ -486,7 +486,9 @@ def test_replace_only_one_dictlike_arg(self, fixed_now_ts): ser = pd.Series([1, 2, "A", fixed_now_ts, True]) to_replace = {0: 1, 2: "A"} value = "foo" - msg = "Series.replace cannot use dict-like to_replace and non-None value" + msg = ( + "Series.replace cannot specify both a dict-like 'to_replace' and a 'value'" + ) with pytest.raises(ValueError, match=msg): ser.replace(to_replace, value)