diff --git a/pandas/tests/series/methods/test_replace.py b/pandas/tests/series/methods/test_replace.py index 6a8dacfda5e78..68a3844acc338 100644 --- a/pandas/tests/series/methods/test_replace.py +++ b/pandas/tests/series/methods/test_replace.py @@ -651,3 +651,15 @@ def test_replace_regex_dtype_series(self, regex): expected = pd.Series([1]) result = series.replace(to_replace="0", value=1, regex=regex) tm.assert_series_equal(result, expected) + + def test_replace_different_int_types(self): + # GH#45311 + labs = pd.Series([1, 1, 1, 0, 0, 2, 2, 2]).astype(np.int32) + + maps = pd.Series([np.int64(0), np.int64(2), np.int64(1)]) + map_dict = {old: new for (old, new) in zip(maps.values, maps.index)} + + result = labs.replace(map_dict) + expected = labs.replace({0: 0, 2: 1, 1: 2}) + + tm.assert_series_equal(result, expected)