diff --git a/pandas/_testing.py b/pandas/_testing.py index 73b1dcf31979f..964c8d4d3d61a 100644 --- a/pandas/_testing.py +++ b/pandas/_testing.py @@ -834,7 +834,9 @@ def _get_ilevel_values(index, level): # skip exact index checking when `check_categorical` is False if check_exact and check_categorical: if not left.equals(right): - diff = np.sum((left.values != right.values).astype(int)) * 100.0 / len(left) + diff = ( + np.sum((left._values != right._values).astype(int)) * 100.0 / len(left) + ) msg = f"{obj} values are different ({np.round(diff, 5)} %)" raise_assert_detail(obj, msg, left, right) else: diff --git a/pandas/core/indexes/base.py b/pandas/core/indexes/base.py index 2101893d39dc9..70696a0991c90 100644 --- a/pandas/core/indexes/base.py +++ b/pandas/core/indexes/base.py @@ -27,7 +27,7 @@ from pandas._libs.lib import is_datetime_array, no_default from pandas._libs.tslibs import IncompatibleFrequency, OutOfBoundsDatetime, Timestamp from pandas._libs.tslibs.timezones import tz_compare -from pandas._typing import AnyArrayLike, Dtype, DtypeObj, Label, Shape, final +from pandas._typing import AnyArrayLike, ArrayLike, Dtype, DtypeObj, Label, Shape, final from pandas.compat.numpy import function as nv from pandas.errors import DuplicateLabelError, InvalidIndexError from pandas.util._decorators import Appender, cache_readonly, doc @@ -1164,7 +1164,7 @@ def to_series(self, index=None, name=None): if name is None: name = self.name - return Series(self.values.copy(), index=index, name=name) + return Series(self._values.copy(), index=index, name=name) def to_frame(self, index: bool = True, name=None): """ @@ -4036,7 +4036,7 @@ def _wrap_joined_index( # Uncategorized Methods @property - def values(self) -> np.ndarray: + def values(self) -> ArrayLike: """ Return an array representing the data in the Index. @@ -4055,7 +4055,7 @@ def values(self) -> np.ndarray: Index.array : Reference to the underlying data. Index.to_numpy : A NumPy array representing the underlying data. """ - return self._data.view(np.ndarray) + return self._data @cache_readonly @doc(IndexOpsMixin.array) @@ -5322,7 +5322,7 @@ def _maybe_cast_slice_bound(self, label, side: str_t, kind): # wish to have special treatment for floats/ints, e.g. Float64Index and # datetimelike Indexes # reject them, if index does not contain label - if (is_float(label) or is_integer(label)) and label not in self.values: + if (is_float(label) or is_integer(label)) and label not in self._values: raise self._invalid_indexer("slice", label) return label diff --git a/pandas/core/indexes/category.py b/pandas/core/indexes/category.py index e2a7752cf3f0d..bf4047ddf29b1 100644 --- a/pandas/core/indexes/category.py +++ b/pandas/core/indexes/category.py @@ -357,11 +357,6 @@ def _format_with_header(self, header: List[str], na_rep: str = "NaN") -> List[st def inferred_type(self) -> str: return "categorical" - @property - def values(self): - """ return the underlying data, which is a Categorical """ - return self._data - @doc(Index.__contains__) def __contains__(self, key: Any) -> bool: # if key is a NaN, check if any NaN is in self. diff --git a/pandas/core/indexes/interval.py b/pandas/core/indexes/interval.py index 23363e2c6e32a..1416f3afd60b3 100644 --- a/pandas/core/indexes/interval.py +++ b/pandas/core/indexes/interval.py @@ -348,13 +348,6 @@ def __contains__(self, key: Any) -> bool: def _multiindex(self) -> MultiIndex: return MultiIndex.from_arrays([self.left, self.right], names=["left", "right"]) - @cache_readonly - def values(self) -> IntervalArray: - """ - Return the IntervalIndex's data as an IntervalArray. - """ - return self._data - def __array_wrap__(self, result, context=None): # we don't want the superclass implementation return result