ops.pyi 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. from typing import (
  2. Any,
  3. Callable,
  4. Iterable,
  5. Literal,
  6. TypeAlias,
  7. overload,
  8. )
  9. import numpy as np
  10. from pandas._typing import npt
  11. _BinOp: TypeAlias = Callable[[Any, Any], Any]
  12. _BoolOp: TypeAlias = Callable[[Any, Any], bool]
  13. def scalar_compare(
  14. values: np.ndarray, # object[:]
  15. val: object,
  16. op: _BoolOp, # {operator.eq, operator.ne, ...}
  17. ) -> npt.NDArray[np.bool_]: ...
  18. def vec_compare(
  19. left: npt.NDArray[np.object_],
  20. right: npt.NDArray[np.object_],
  21. op: _BoolOp, # {operator.eq, operator.ne, ...}
  22. ) -> npt.NDArray[np.bool_]: ...
  23. def scalar_binop(
  24. values: np.ndarray, # object[:]
  25. val: object,
  26. op: _BinOp, # binary operator
  27. ) -> np.ndarray: ...
  28. def vec_binop(
  29. left: np.ndarray, # object[:]
  30. right: np.ndarray, # object[:]
  31. op: _BinOp, # binary operator
  32. ) -> np.ndarray: ...
  33. @overload
  34. def maybe_convert_bool(
  35. arr: npt.NDArray[np.object_],
  36. true_values: Iterable | None = None,
  37. false_values: Iterable | None = None,
  38. convert_to_masked_nullable: Literal[False] = ...,
  39. ) -> tuple[np.ndarray, None]: ...
  40. @overload
  41. def maybe_convert_bool(
  42. arr: npt.NDArray[np.object_],
  43. true_values: Iterable = ...,
  44. false_values: Iterable = ...,
  45. *,
  46. convert_to_masked_nullable: Literal[True],
  47. ) -> tuple[np.ndarray, np.ndarray]: ...