From 96515f8f59dc8fdfa5cb571f5fd61268054c63e7 Mon Sep 17 00:00:00 2001 From: Daniel Schmidt Date: Tue, 8 Feb 2022 08:47:06 +0100 Subject: [PATCH] TST: add test for Index.where (#32413) --- pandas/tests/indexes/numeric/test_indexing.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pandas/tests/indexes/numeric/test_indexing.py b/pandas/tests/indexes/numeric/test_indexing.py index 7081cbdfe6428..1c4cbd21a988e 100644 --- a/pandas/tests/indexes/numeric/test_indexing.py +++ b/pandas/tests/indexes/numeric/test_indexing.py @@ -424,6 +424,17 @@ def test_where_uint64(self): result = idx.putmask(~mask, other) tm.assert_index_equal(result, expected) + def test_where_infers_type_instead_of_trying_to_convert_string_to_float(self): + # GH 32413 + index = Index([1, np.nan]) + cond = index.notna() + other = Index(["a", "b"], dtype="string") + + expected = Index([1.0, "b"]) + result = index.where(cond, other) + + tm.assert_index_equal(result, expected) + class TestTake: @pytest.mark.parametrize("klass", [Float64Index, Int64Index, UInt64Index])