diff --git a/pandas/core/indexes/base.py b/pandas/core/indexes/base.py index 43939e415c583..0099149286e14 100644 --- a/pandas/core/indexes/base.py +++ b/pandas/core/indexes/base.py @@ -523,6 +523,9 @@ def _simple_new(cls, values, name=None, dtype=None, **kwargs): **kwargs)._ndarray_values if isinstance(values, (ABCSeries, cls)): + # Index._data must always be an ndarray. + # This is no-copy for when _values is an ndarray, + # which should be always at this point. values = np.asarray(values._values) result = object.__new__(cls)