Skip to content

Commit 3aa3e8f

Browse files
jbrockmendelluckyvs1
authored andcommitted
TYP: ExtensionIndex (pandas-dev#38783)
1 parent 277d941 commit 3aa3e8f

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

pandas/core/arrays/_mixins.py

+8-2
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ def __repr__(self) -> str:
325325
# ------------------------------------------------------------------------
326326
# __array_function__ methods
327327

328-
def putmask(self, mask, value):
328+
def putmask(self: NDArrayBackedExtensionArrayT, mask: np.ndarray, value) -> None:
329329
"""
330330
Analogue to np.putmask(self, mask, value)
331331
@@ -343,7 +343,9 @@ def putmask(self, mask, value):
343343

344344
np.putmask(self._ndarray, mask, value)
345345

346-
def where(self, mask, value):
346+
def where(
347+
self: NDArrayBackedExtensionArrayT, mask: np.ndarray, value
348+
) -> NDArrayBackedExtensionArrayT:
347349
"""
348350
Analogue to np.where(mask, self, value)
349351
@@ -361,3 +363,7 @@ def where(self, mask, value):
361363

362364
res_values = np.where(mask, self._ndarray, value)
363365
return self._from_backing_data(res_values)
366+
367+
def delete(self: NDArrayBackedExtensionArrayT, loc) -> NDArrayBackedExtensionArrayT:
368+
res_values = np.delete(self._ndarray, loc)
369+
return self._from_backing_data(res_values)

pandas/core/indexes/extension.py

+4-5
Original file line numberDiff line numberDiff line change
@@ -333,19 +333,18 @@ class NDArrayBackedExtensionIndex(ExtensionIndex):
333333
def _get_engine_target(self) -> np.ndarray:
334334
return self._data._ndarray
335335

336-
def delete(self, loc):
336+
def delete(self: _T, loc) -> _T:
337337
"""
338338
Make new Index with passed location(-s) deleted
339339
340340
Returns
341341
-------
342342
new_index : Index
343343
"""
344-
new_vals = np.delete(self._data._ndarray, loc)
345-
arr = self._data._from_backing_data(new_vals)
344+
arr = self._data.delete(loc)
346345
return type(self)._simple_new(arr, name=self.name)
347346

348-
def insert(self, loc: int, item):
347+
def insert(self: _T, loc: int, item) -> _T:
349348
"""
350349
Make new Index inserting new item at location. Follows
351350
Python list.append semantics for negative values.
@@ -371,7 +370,7 @@ def insert(self, loc: int, item):
371370
return type(self)._simple_new(new_arr, name=self.name)
372371

373372
@doc(Index.where)
374-
def where(self, cond, other=None):
373+
def where(self: _T, cond: np.ndarray, other=None) -> _T:
375374
res_values = self._data.where(cond, other)
376375
return type(self)._simple_new(res_values, name=self.name)
377376

0 commit comments

Comments
 (0)