12345678910111213141516171819202122232425 |
- cdef class NDFrameIndexerBase:
- """
- A base class for _NDFrameIndexer for fast instantiation and attribute access.
- """
- cdef public:
- str name
- object obj, _ndim
- def __init__(self, name: str, obj):
- self.obj = obj
- self.name = name
- self._ndim = None
- @property
- def ndim(self) -> int:
- # Delay `ndim` instantiation until required as reading it
- # from `obj` isn't entirely cheap.
- ndim = self._ndim
- if ndim is None:
- ndim = self._ndim = self.obj.ndim
- if ndim > 2:
- raise ValueError(
- "NDFrameIndexer does not support NDFrame objects with ndim > 2"
- )
- return ndim
|