Skip to content

Commit 936da9e

Browse files
authored
DEPR: Remove NumericIndex from indexes/range.py (#51095)
1 parent a3fbfe3 commit 936da9e

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

pandas/core/indexes/range.py

+18-12
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import operator
55
from sys import getsizeof
66
from typing import (
7-
TYPE_CHECKING,
87
Any,
98
Callable,
109
Hashable,
@@ -46,13 +45,13 @@
4645
import pandas.core.common as com
4746
from pandas.core.construction import extract_array
4847
import pandas.core.indexes.base as ibase
49-
from pandas.core.indexes.base import maybe_extract_name
48+
from pandas.core.indexes.base import (
49+
Index,
50+
maybe_extract_name,
51+
)
5052
from pandas.core.indexes.numeric import NumericIndex
5153
from pandas.core.ops.common import unpack_zerodim_and_defer
5254

53-
if TYPE_CHECKING:
54-
from pandas import Index
55-
5655
_empty_range = range(0)
5756

5857

@@ -192,10 +191,10 @@ def _validate_dtype(cls, dtype: Dtype | None) -> None:
192191

193192
# --------------------------------------------------------------------
194193

195-
# error: Return type "Type[NumericIndex]" of "_constructor" incompatible with return
194+
# error: Return type "Type[Index]" of "_constructor" incompatible with return
196195
# type "Type[RangeIndex]" in supertype "Index"
197196
@cache_readonly
198-
def _constructor(self) -> type[NumericIndex]: # type: ignore[override]
197+
def _constructor(self) -> type[Index]: # type: ignore[override]
199198
"""return the class to use for construction"""
200199
return NumericIndex
201200

@@ -338,7 +337,7 @@ def inferred_type(self) -> str:
338337
# --------------------------------------------------------------------
339338
# Indexing Methods
340339

341-
@doc(NumericIndex.get_loc)
340+
@doc(Index.get_loc)
342341
def get_loc(self, key):
343342
if is_integer(key) or (is_float(key) and key.is_integer()):
344343
new_key = int(key)
@@ -379,21 +378,28 @@ def _get_indexer(
379378
locs[valid] = len(self) - 1 - locs[valid]
380379
return ensure_platform_int(locs)
381380

381+
@cache_readonly
382+
def _should_fallback_to_positional(self) -> bool:
383+
"""
384+
Should an integer key be treated as positional?
385+
"""
386+
return False
387+
382388
# --------------------------------------------------------------------
383389

384390
def tolist(self) -> list[int]:
385391
return list(self._range)
386392

387-
@doc(NumericIndex.__iter__)
393+
@doc(Index.__iter__)
388394
def __iter__(self) -> Iterator[int]:
389395
yield from self._range
390396

391-
@doc(NumericIndex._shallow_copy)
397+
@doc(Index._shallow_copy)
392398
def _shallow_copy(self, values, name: Hashable = no_default):
393399
name = self.name if name is no_default else name
394400

395401
if values.dtype.kind == "f":
396-
return NumericIndex(values, name=name, dtype=np.float64)
402+
return Index(values, name=name, dtype=np.float64)
397403
# GH 46675 & 43885: If values is equally spaced, return a
398404
# more memory-compact RangeIndex instead of Index with 64-bit dtype
399405
unique_diffs = unique_deltas(values)
@@ -409,7 +415,7 @@ def _view(self: RangeIndex) -> RangeIndex:
409415
result._cache = self._cache
410416
return result
411417

412-
@doc(NumericIndex.copy)
418+
@doc(Index.copy)
413419
def copy(self, name: Hashable = None, deep: bool = False):
414420
name = self._validate_names(name=name, deep=deep)[0]
415421
new_index = self._rename(name=name)

0 commit comments

Comments
 (0)