index.pyi 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. import numpy as np
  2. from pandas._typing import npt
  3. from pandas import MultiIndex
  4. from pandas.core.arrays import ExtensionArray
  5. multiindex_nulls_shift: int
  6. class IndexEngine:
  7. over_size_threshold: bool
  8. def __init__(self, values: np.ndarray) -> None: ...
  9. def __contains__(self, val: object) -> bool: ...
  10. # -> int | slice | np.ndarray[bool]
  11. def get_loc(self, val: object) -> int | slice | np.ndarray: ...
  12. def sizeof(self, deep: bool = ...) -> int: ...
  13. def __sizeof__(self) -> int: ...
  14. @property
  15. def is_unique(self) -> bool: ...
  16. @property
  17. def is_monotonic_increasing(self) -> bool: ...
  18. @property
  19. def is_monotonic_decreasing(self) -> bool: ...
  20. @property
  21. def is_mapping_populated(self) -> bool: ...
  22. def clear_mapping(self): ...
  23. def get_indexer(self, values: np.ndarray) -> npt.NDArray[np.intp]: ...
  24. def get_indexer_non_unique(
  25. self,
  26. targets: np.ndarray,
  27. ) -> tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]]: ...
  28. class MaskedIndexEngine(IndexEngine):
  29. def __init__(self, values: object) -> None: ...
  30. def get_indexer_non_unique(
  31. self, targets: object
  32. ) -> tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]]: ...
  33. class Float64Engine(IndexEngine): ...
  34. class Float32Engine(IndexEngine): ...
  35. class Complex128Engine(IndexEngine): ...
  36. class Complex64Engine(IndexEngine): ...
  37. class Int64Engine(IndexEngine): ...
  38. class Int32Engine(IndexEngine): ...
  39. class Int16Engine(IndexEngine): ...
  40. class Int8Engine(IndexEngine): ...
  41. class UInt64Engine(IndexEngine): ...
  42. class UInt32Engine(IndexEngine): ...
  43. class UInt16Engine(IndexEngine): ...
  44. class UInt8Engine(IndexEngine): ...
  45. class ObjectEngine(IndexEngine): ...
  46. class DatetimeEngine(Int64Engine): ...
  47. class TimedeltaEngine(DatetimeEngine): ...
  48. class PeriodEngine(Int64Engine): ...
  49. class BoolEngine(UInt8Engine): ...
  50. class MaskedFloat64Engine(MaskedIndexEngine): ...
  51. class MaskedFloat32Engine(MaskedIndexEngine): ...
  52. class MaskedComplex128Engine(MaskedIndexEngine): ...
  53. class MaskedComplex64Engine(MaskedIndexEngine): ...
  54. class MaskedInt64Engine(MaskedIndexEngine): ...
  55. class MaskedInt32Engine(MaskedIndexEngine): ...
  56. class MaskedInt16Engine(MaskedIndexEngine): ...
  57. class MaskedInt8Engine(MaskedIndexEngine): ...
  58. class MaskedUInt64Engine(MaskedIndexEngine): ...
  59. class MaskedUInt32Engine(MaskedIndexEngine): ...
  60. class MaskedUInt16Engine(MaskedIndexEngine): ...
  61. class MaskedUInt8Engine(MaskedIndexEngine): ...
  62. class MaskedBoolEngine(MaskedUInt8Engine): ...
  63. class StringObjectEngine(ObjectEngine):
  64. def __init__(self, values: object, na_value) -> None: ...
  65. class BaseMultiIndexCodesEngine:
  66. levels: list[np.ndarray]
  67. offsets: np.ndarray # ndarray[uint64_t, ndim=1]
  68. def __init__(
  69. self,
  70. levels: list[np.ndarray], # all entries hashable
  71. labels: list[np.ndarray], # all entries integer-dtyped
  72. offsets: np.ndarray, # np.ndarray[np.uint64, ndim=1]
  73. ) -> None: ...
  74. def get_indexer(self, target: npt.NDArray[np.object_]) -> npt.NDArray[np.intp]: ...
  75. def _extract_level_codes(self, target: MultiIndex) -> np.ndarray: ...
  76. class ExtensionEngine:
  77. def __init__(self, values: ExtensionArray) -> None: ...
  78. def __contains__(self, val: object) -> bool: ...
  79. def get_loc(self, val: object) -> int | slice | np.ndarray: ...
  80. def get_indexer(self, values: np.ndarray) -> npt.NDArray[np.intp]: ...
  81. def get_indexer_non_unique(
  82. self,
  83. targets: np.ndarray,
  84. ) -> tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]]: ...
  85. @property
  86. def is_unique(self) -> bool: ...
  87. @property
  88. def is_monotonic_increasing(self) -> bool: ...
  89. @property
  90. def is_monotonic_decreasing(self) -> bool: ...
  91. def sizeof(self, deep: bool = ...) -> int: ...
  92. def clear_mapping(self): ...