diff --git a/pandas/tests/indexes/numeric/test_indexing.py b/pandas/tests/indexes/numeric/test_indexing.py index 5f2f8f75045bb..43dc1daf6f392 100644 --- a/pandas/tests/indexes/numeric/test_indexing.py +++ b/pandas/tests/indexes/numeric/test_indexing.py @@ -376,6 +376,18 @@ def test_where(self, klass, index): result = index.where(klass(cond)) tm.assert_index_equal(result, expected) + def test_maybe_cast_with_dtype(self): + # https://github.com/pandas-dev/pandas/issues/32413 + index = Index([1, np.nan]) + + cond = index.notna() + other = "a" + Index(range(2)).astype(str) + + fixed_index = index.where(cond, other) + + tm.assert_index_equal(other, Index(["a0", "a1"])) + tm.assert_index_equal(fixed_index, Index([1.0, "a1"])) + class TestTake: @pytest.mark.parametrize("klass", [Float64Index, Int64Index, UInt64Index])