ops.pyi 1.2 KB

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