Skip to content

Commit aeebff4

Browse files
authored
REF: Share Index.delete (#43934)
1 parent 4276939 commit aeebff4

File tree

2 files changed

+8
-12
lines changed

2 files changed

+8
-12
lines changed

pandas/core/indexes/base.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -2495,6 +2495,7 @@ def is_all_dates(self) -> bool:
24952495
)
24962496
return self._is_all_dates
24972497

2498+
@final
24982499
@cache_readonly
24992500
def _is_multi(self) -> bool:
25002501
"""
@@ -6299,7 +6300,13 @@ def delete(self: _IndexT, loc) -> _IndexT:
62996300
>>> idx.delete([0, 2])
63006301
Index(['b'], dtype='object')
63016302
"""
6302-
res_values = np.delete(self._data, loc)
6303+
values = self._values
6304+
if isinstance(values, np.ndarray):
6305+
# TODO(__array_function__): special casing will be unnecessary
6306+
res_values = np.delete(values, loc)
6307+
else:
6308+
res_values = values.delete(loc)
6309+
63036310
# _constructor so RangeIndex->Int64Index
63046311
return self._constructor._simple_new(res_values, name=self.name)
63056312

pandas/core/indexes/extension.py

-11
Original file line numberDiff line numberDiff line change
@@ -198,17 +198,6 @@ def __getitem__(self, key):
198198

199199
# ---------------------------------------------------------------------
200200

201-
def delete(self, loc):
202-
"""
203-
Make new Index with passed location(-s) deleted
204-
205-
Returns
206-
-------
207-
new_index : Index
208-
"""
209-
arr = self._data.delete(loc)
210-
return type(self)._simple_new(arr, name=self.name)
211-
212201
def repeat(self, repeats, axis=None):
213202
nv.validate_repeat((), {"axis": axis})
214203
result = self._data.repeat(repeats, axis=axis)

0 commit comments

Comments
 (0)