Source code for graviti.dataframe.row.indexing

#!/usr/bin/env python3
#
# Copyright 2022 Graviti. Licensed under MIT License.
#

"""The implementation of the Graviti indexing related class."""

from typing import TYPE_CHECKING, Any, Iterable, Union, overload

if TYPE_CHECKING:
    from graviti.dataframe.row.series import Series as RowSeries


[docs]class RowSeriesILocIndexer: """Index class for RowSeries.iloc.""" def __init__(self, obj: "RowSeries") -> None: self.obj: "RowSeries" = obj # @overload # def __getitem__(self, key: Union[Iterable[bool], slice]) -> "RowSeries": # ... @overload def __getitem__(self, key: int) -> Any: ... @overload def __getitem__(self, key: Iterable[int]) -> "RowSeries": ... def __getitem__(self, key: Union[int, Iterable[int]]) -> Any: return self.obj._getitem_by_location(key) def __setitem__(self, key: int, value: Any) -> None: pass
[docs]class RowSeriesLocIndexer: """Index class for RowSeries.loc.""" def __init__(self, obj: "RowSeries") -> None: self.obj: "RowSeries" = obj # @overload # def __getitem__(self, key: Union[Iterable[bool], slice]) -> "RowSeries": # ... @overload def __getitem__(self, key: str) -> Any: ... @overload def __getitem__(self, key: Iterable[str]) -> "RowSeries": ... def __getitem__(self, key: Union[str, Iterable[str]]) -> Any: return self.obj[key] def __setitem__(self, key: str, value: Any) -> None: pass