56 lines
1.5 KiB
Python
56 lines
1.5 KiB
Python
|
from typing import TypeVar
|
||
|
|
||
|
from pandas.core.indexes.api import Index
|
||
|
from typing_extensions import TypeAlias
|
||
|
|
||
|
from pandas._libs.indexing import _NDFrameIndexerBase
|
||
|
from pandas._typing import (
|
||
|
MaskType,
|
||
|
Scalar,
|
||
|
ScalarT,
|
||
|
)
|
||
|
|
||
|
_IndexSliceTuple: TypeAlias = tuple[
|
||
|
Index | MaskType | Scalar | list[ScalarT] | slice | tuple[Scalar, ...], ...
|
||
|
]
|
||
|
|
||
|
_IndexSliceUnion: TypeAlias = slice | _IndexSliceTuple
|
||
|
|
||
|
_IndexSliceUnionT = TypeVar(
|
||
|
"_IndexSliceUnionT", bound=_IndexSliceUnion # pyrefly: ignore
|
||
|
)
|
||
|
|
||
|
class _IndexSlice:
|
||
|
def __getitem__(self, arg: _IndexSliceUnionT) -> _IndexSliceUnionT: ...
|
||
|
|
||
|
IndexSlice: _IndexSlice
|
||
|
|
||
|
class IndexingMixin:
|
||
|
@property
|
||
|
def iloc(self) -> _iLocIndexer: ...
|
||
|
@property
|
||
|
def loc(self) -> _LocIndexer: ...
|
||
|
@property
|
||
|
def at(self) -> _AtIndexer: ...
|
||
|
@property
|
||
|
def iat(self) -> _iAtIndexer: ...
|
||
|
|
||
|
class _NDFrameIndexer(_NDFrameIndexerBase):
|
||
|
axis = ...
|
||
|
def __call__(self, axis=...): ...
|
||
|
def __getitem__(self, key): ...
|
||
|
def __setitem__(self, key, value) -> None: ...
|
||
|
|
||
|
class _LocationIndexer(_NDFrameIndexer):
|
||
|
def __getitem__(self, key): ...
|
||
|
|
||
|
class _LocIndexer(_LocationIndexer): ...
|
||
|
class _iLocIndexer(_LocationIndexer): ...
|
||
|
|
||
|
class _ScalarAccessIndexer(_NDFrameIndexerBase):
|
||
|
def __getitem__(self, key): ...
|
||
|
def __setitem__(self, key, value) -> None: ...
|
||
|
|
||
|
class _AtIndexer(_ScalarAccessIndexer): ...
|
||
|
class _iAtIndexer(_ScalarAccessIndexer): ...
|