diff --git a/pandas/conftest.py b/pandas/conftest.py index f9c10a7758bd2..9db58c9a82dd3 100644 --- a/pandas/conftest.py +++ b/pandas/conftest.py @@ -706,6 +706,7 @@ def _create_mi_with_dt64tz_level(): "string-python": Index( pd.array([f"pandas_{i}" for i in range(10)], dtype="string[python]") ), + "mixed-int-string": Index([0, "a", 1, "b", 2, "c"]), } if has_pyarrow: idx = Index(pd.array([f"pandas_{i}" for i in range(10)], dtype="string[pyarrow]")) diff --git a/pandas/tests/base/test_misc.py b/pandas/tests/base/test_misc.py index 7819b7b75f065..afbce74d4af77 100644 --- a/pandas/tests/base/test_misc.py +++ b/pandas/tests/base/test_misc.py @@ -160,6 +160,10 @@ def test_searchsorted(request, index_or_series_obj): mark = pytest.mark.xfail(reason="complex objects are not comparable") request.applymarker(mark) + elif len({type(x) for x in obj}) > 1 and isinstance(obj, Index): + mark = pytest.mark.xfail(reason="np.searchsorted doesn't work on mixed types") + request.applymarker(mark) + max_obj = max(obj, default=0) index = np.searchsorted(obj, max_obj) assert 0 <= index <= len(obj)