|
1 | 1 | import builtins |
2 | 2 | from _typeshed import Incomplete, Unused |
3 | | -from collections.abc import Callable, Collection, Sequence |
| 3 | +from collections.abc import Callable, Collection |
4 | 4 | from typing import Any, ClassVar, Final, Literal, NoReturn, SupportsIndex, TypeVar, overload |
5 | 5 | from typing_extensions import Self, TypeAlias, deprecated |
6 | 6 |
|
7 | 7 | import numpy as np |
8 | 8 | import pandas as pd |
9 | 9 | from numpy.typing import ArrayLike, DTypeLike, NDArray |
| 10 | +from pandas._typing import ScalarIndexer, SequenceIndexer, TakeIndexer |
10 | 11 | from pandas.api.extensions import ExtensionArray, ExtensionDtype |
11 | 12 | from pyproj import CRS, Transformer |
12 | 13 | from shapely import Geometry |
@@ -68,15 +69,9 @@ class GeometryArray(ExtensionArray): |
68 | 69 | def __len__(self) -> int: ... |
69 | 70 | # np.integer[Any] because precision is not important |
70 | 71 | @overload |
71 | | - def __getitem__(self, idx: int | np.integer[Any]) -> BaseGeometry: ... # Always 1-D, doesn't accept tuple |
| 72 | + def __getitem__(self, idx: ScalarIndexer) -> BaseGeometry: ... # Always 1-D, doesn't accept tuple |
72 | 73 | @overload |
73 | | - def __getitem__( |
74 | | - self, idx: slice | Sequence[SupportsIndex] | NDArray[np.bool_] | NDArray[np.integer[Any]] |
75 | | - ) -> GeometryArray: ... |
76 | | - @overload |
77 | | - def __getitem__( |
78 | | - self, idx: int | np.integer[Any] | slice | Sequence[int] | NDArray[np.bool_] | NDArray[np.integer[Any]] |
79 | | - ) -> BaseGeometry | GeometryArray: ... |
| 74 | + def __getitem__(self, idx: SequenceIndexer) -> GeometryArray: ... |
80 | 75 | def __setitem__( |
81 | 76 | self, key, value: _ArrayOrGeom | pd.DataFrame | pd.Series[Any] # Cannot use pd.Series[BaseGeometry] |
82 | 77 | ) -> None: ... |
@@ -222,17 +217,15 @@ class GeometryArray(ExtensionArray): |
222 | 217 | @property |
223 | 218 | def ndim(self) -> Literal[1]: ... |
224 | 219 | def copy(self, *args: Unused, **kwargs: Unused) -> GeometryArray: ... |
225 | | - def take( |
226 | | - self, indices: Sequence[SupportsIndex] | NDArray[np.integer], allow_fill: bool = False, fill_value: Geometry | None = None |
227 | | - ) -> GeometryArray: ... |
228 | | - def fillna( |
| 220 | + def take(self, indices: TakeIndexer, allow_fill: bool = False, fill_value: Geometry | None = None) -> GeometryArray: ... |
| 221 | + def fillna( # type: ignore[override] |
229 | 222 | self, |
230 | 223 | value: Geometry | GeometryArray | None = None, |
231 | 224 | method: Literal["backfill", "bfill", "pad", "ffill"] | None = None, |
232 | 225 | limit: int | None = None, |
233 | 226 | copy: bool = True, |
234 | 227 | ) -> GeometryArray: ... |
235 | | - @overload |
| 228 | + @overload # type: ignore[override] |
236 | 229 | def astype(self, dtype: GeometryDtype, copy: bool = True) -> GeometryArray: ... |
237 | 230 | @overload |
238 | 231 | def astype(self, dtype: ExtensionDtype | Literal["string"], copy: bool = True) -> ExtensionArray: ... # type: ignore[overload-overlap] |
|
0 commit comments