algos.pyi 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416
  1. from typing import Any
  2. import numpy as np
  3. from pandas._typing import npt
  4. class Infinity:
  5. def __eq__(self, other) -> bool: ...
  6. def __ne__(self, other) -> bool: ...
  7. def __lt__(self, other) -> bool: ...
  8. def __le__(self, other) -> bool: ...
  9. def __gt__(self, other) -> bool: ...
  10. def __ge__(self, other) -> bool: ...
  11. class NegInfinity:
  12. def __eq__(self, other) -> bool: ...
  13. def __ne__(self, other) -> bool: ...
  14. def __lt__(self, other) -> bool: ...
  15. def __le__(self, other) -> bool: ...
  16. def __gt__(self, other) -> bool: ...
  17. def __ge__(self, other) -> bool: ...
  18. def unique_deltas(
  19. arr: np.ndarray, # const int64_t[:]
  20. ) -> np.ndarray: ... # np.ndarray[np.int64, ndim=1]
  21. def is_lexsorted(list_of_arrays: list[npt.NDArray[np.int64]]) -> bool: ...
  22. def groupsort_indexer(
  23. index: np.ndarray, # const int64_t[:]
  24. ngroups: int,
  25. ) -> tuple[
  26. np.ndarray, # ndarray[int64_t, ndim=1]
  27. np.ndarray, # ndarray[int64_t, ndim=1]
  28. ]: ...
  29. def kth_smallest(
  30. arr: np.ndarray, # numeric[:]
  31. k: int,
  32. ) -> Any: ... # numeric
  33. # ----------------------------------------------------------------------
  34. # Pairwise correlation/covariance
  35. def nancorr(
  36. mat: npt.NDArray[np.float64], # const float64_t[:, :]
  37. cov: bool = ...,
  38. minp: int | None = ...,
  39. ) -> npt.NDArray[np.float64]: ... # ndarray[float64_t, ndim=2]
  40. def nancorr_spearman(
  41. mat: npt.NDArray[np.float64], # ndarray[float64_t, ndim=2]
  42. minp: int = ...,
  43. ) -> npt.NDArray[np.float64]: ... # ndarray[float64_t, ndim=2]
  44. # ----------------------------------------------------------------------
  45. def validate_limit(nobs: int | None, limit=...) -> int: ...
  46. def get_fill_indexer(
  47. mask: npt.NDArray[np.bool_],
  48. limit: int | None = None,
  49. ) -> npt.NDArray[np.intp]: ...
  50. def pad(
  51. old: np.ndarray, # ndarray[numeric_object_t]
  52. new: np.ndarray, # ndarray[numeric_object_t]
  53. limit=...,
  54. ) -> npt.NDArray[np.intp]: ... # np.ndarray[np.intp, ndim=1]
  55. def pad_inplace(
  56. values: np.ndarray, # numeric_object_t[:]
  57. mask: np.ndarray, # uint8_t[:]
  58. limit=...,
  59. ) -> None: ...
  60. def pad_2d_inplace(
  61. values: np.ndarray, # numeric_object_t[:, :]
  62. mask: np.ndarray, # const uint8_t[:, :]
  63. limit=...,
  64. ) -> None: ...
  65. def backfill(
  66. old: np.ndarray, # ndarray[numeric_object_t]
  67. new: np.ndarray, # ndarray[numeric_object_t]
  68. limit=...,
  69. ) -> npt.NDArray[np.intp]: ... # np.ndarray[np.intp, ndim=1]
  70. def backfill_inplace(
  71. values: np.ndarray, # numeric_object_t[:]
  72. mask: np.ndarray, # uint8_t[:]
  73. limit=...,
  74. ) -> None: ...
  75. def backfill_2d_inplace(
  76. values: np.ndarray, # numeric_object_t[:, :]
  77. mask: np.ndarray, # const uint8_t[:, :]
  78. limit=...,
  79. ) -> None: ...
  80. def is_monotonic(
  81. arr: np.ndarray, # ndarray[numeric_object_t, ndim=1]
  82. timelike: bool,
  83. ) -> tuple[bool, bool, bool]: ...
  84. # ----------------------------------------------------------------------
  85. # rank_1d, rank_2d
  86. # ----------------------------------------------------------------------
  87. def rank_1d(
  88. values: np.ndarray, # ndarray[numeric_object_t, ndim=1]
  89. labels: np.ndarray | None = ..., # const int64_t[:]=None
  90. is_datetimelike: bool = ...,
  91. ties_method=...,
  92. ascending: bool = ...,
  93. pct: bool = ...,
  94. na_option=...,
  95. mask: npt.NDArray[np.bool_] | None = ...,
  96. ) -> np.ndarray: ... # np.ndarray[float64_t, ndim=1]
  97. def rank_2d(
  98. in_arr: np.ndarray, # ndarray[numeric_object_t, ndim=2]
  99. axis: int = ...,
  100. is_datetimelike: bool = ...,
  101. ties_method=...,
  102. ascending: bool = ...,
  103. na_option=...,
  104. pct: bool = ...,
  105. ) -> np.ndarray: ... # np.ndarray[float64_t, ndim=1]
  106. def diff_2d(
  107. arr: np.ndarray, # ndarray[diff_t, ndim=2]
  108. out: np.ndarray, # ndarray[out_t, ndim=2]
  109. periods: int,
  110. axis: int,
  111. datetimelike: bool = ...,
  112. ) -> None: ...
  113. def ensure_platform_int(arr: object) -> npt.NDArray[np.intp]: ...
  114. def ensure_object(arr: object) -> npt.NDArray[np.object_]: ...
  115. def ensure_float64(arr: object) -> npt.NDArray[np.float64]: ...
  116. def ensure_int8(arr: object) -> npt.NDArray[np.int8]: ...
  117. def ensure_int16(arr: object) -> npt.NDArray[np.int16]: ...
  118. def ensure_int32(arr: object) -> npt.NDArray[np.int32]: ...
  119. def ensure_int64(arr: object) -> npt.NDArray[np.int64]: ...
  120. def ensure_uint64(arr: object) -> npt.NDArray[np.uint64]: ...
  121. def take_1d_int8_int8(
  122. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  123. ) -> None: ...
  124. def take_1d_int8_int32(
  125. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  126. ) -> None: ...
  127. def take_1d_int8_int64(
  128. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  129. ) -> None: ...
  130. def take_1d_int8_float64(
  131. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  132. ) -> None: ...
  133. def take_1d_int16_int16(
  134. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  135. ) -> None: ...
  136. def take_1d_int16_int32(
  137. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  138. ) -> None: ...
  139. def take_1d_int16_int64(
  140. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  141. ) -> None: ...
  142. def take_1d_int16_float64(
  143. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  144. ) -> None: ...
  145. def take_1d_int32_int32(
  146. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  147. ) -> None: ...
  148. def take_1d_int32_int64(
  149. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  150. ) -> None: ...
  151. def take_1d_int32_float64(
  152. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  153. ) -> None: ...
  154. def take_1d_int64_int64(
  155. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  156. ) -> None: ...
  157. def take_1d_int64_float64(
  158. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  159. ) -> None: ...
  160. def take_1d_float32_float32(
  161. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  162. ) -> None: ...
  163. def take_1d_float32_float64(
  164. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  165. ) -> None: ...
  166. def take_1d_float64_float64(
  167. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  168. ) -> None: ...
  169. def take_1d_object_object(
  170. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  171. ) -> None: ...
  172. def take_1d_bool_bool(
  173. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  174. ) -> None: ...
  175. def take_1d_bool_object(
  176. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  177. ) -> None: ...
  178. def take_2d_axis0_int8_int8(
  179. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  180. ) -> None: ...
  181. def take_2d_axis0_int8_int32(
  182. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  183. ) -> None: ...
  184. def take_2d_axis0_int8_int64(
  185. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  186. ) -> None: ...
  187. def take_2d_axis0_int8_float64(
  188. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  189. ) -> None: ...
  190. def take_2d_axis0_int16_int16(
  191. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  192. ) -> None: ...
  193. def take_2d_axis0_int16_int32(
  194. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  195. ) -> None: ...
  196. def take_2d_axis0_int16_int64(
  197. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  198. ) -> None: ...
  199. def take_2d_axis0_int16_float64(
  200. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  201. ) -> None: ...
  202. def take_2d_axis0_int32_int32(
  203. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  204. ) -> None: ...
  205. def take_2d_axis0_int32_int64(
  206. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  207. ) -> None: ...
  208. def take_2d_axis0_int32_float64(
  209. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  210. ) -> None: ...
  211. def take_2d_axis0_int64_int64(
  212. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  213. ) -> None: ...
  214. def take_2d_axis0_int64_float64(
  215. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  216. ) -> None: ...
  217. def take_2d_axis0_float32_float32(
  218. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  219. ) -> None: ...
  220. def take_2d_axis0_float32_float64(
  221. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  222. ) -> None: ...
  223. def take_2d_axis0_float64_float64(
  224. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  225. ) -> None: ...
  226. def take_2d_axis0_object_object(
  227. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  228. ) -> None: ...
  229. def take_2d_axis0_bool_bool(
  230. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  231. ) -> None: ...
  232. def take_2d_axis0_bool_object(
  233. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  234. ) -> None: ...
  235. def take_2d_axis1_int8_int8(
  236. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  237. ) -> None: ...
  238. def take_2d_axis1_int8_int32(
  239. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  240. ) -> None: ...
  241. def take_2d_axis1_int8_int64(
  242. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  243. ) -> None: ...
  244. def take_2d_axis1_int8_float64(
  245. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  246. ) -> None: ...
  247. def take_2d_axis1_int16_int16(
  248. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  249. ) -> None: ...
  250. def take_2d_axis1_int16_int32(
  251. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  252. ) -> None: ...
  253. def take_2d_axis1_int16_int64(
  254. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  255. ) -> None: ...
  256. def take_2d_axis1_int16_float64(
  257. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  258. ) -> None: ...
  259. def take_2d_axis1_int32_int32(
  260. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  261. ) -> None: ...
  262. def take_2d_axis1_int32_int64(
  263. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  264. ) -> None: ...
  265. def take_2d_axis1_int32_float64(
  266. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  267. ) -> None: ...
  268. def take_2d_axis1_int64_int64(
  269. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  270. ) -> None: ...
  271. def take_2d_axis1_int64_float64(
  272. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  273. ) -> None: ...
  274. def take_2d_axis1_float32_float32(
  275. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  276. ) -> None: ...
  277. def take_2d_axis1_float32_float64(
  278. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  279. ) -> None: ...
  280. def take_2d_axis1_float64_float64(
  281. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  282. ) -> None: ...
  283. def take_2d_axis1_object_object(
  284. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  285. ) -> None: ...
  286. def take_2d_axis1_bool_bool(
  287. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  288. ) -> None: ...
  289. def take_2d_axis1_bool_object(
  290. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  291. ) -> None: ...
  292. def take_2d_multi_int8_int8(
  293. values: np.ndarray,
  294. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  295. out: np.ndarray,
  296. fill_value=...,
  297. ) -> None: ...
  298. def take_2d_multi_int8_int32(
  299. values: np.ndarray,
  300. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  301. out: np.ndarray,
  302. fill_value=...,
  303. ) -> None: ...
  304. def take_2d_multi_int8_int64(
  305. values: np.ndarray,
  306. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  307. out: np.ndarray,
  308. fill_value=...,
  309. ) -> None: ...
  310. def take_2d_multi_int8_float64(
  311. values: np.ndarray,
  312. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  313. out: np.ndarray,
  314. fill_value=...,
  315. ) -> None: ...
  316. def take_2d_multi_int16_int16(
  317. values: np.ndarray,
  318. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  319. out: np.ndarray,
  320. fill_value=...,
  321. ) -> None: ...
  322. def take_2d_multi_int16_int32(
  323. values: np.ndarray,
  324. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  325. out: np.ndarray,
  326. fill_value=...,
  327. ) -> None: ...
  328. def take_2d_multi_int16_int64(
  329. values: np.ndarray,
  330. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  331. out: np.ndarray,
  332. fill_value=...,
  333. ) -> None: ...
  334. def take_2d_multi_int16_float64(
  335. values: np.ndarray,
  336. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  337. out: np.ndarray,
  338. fill_value=...,
  339. ) -> None: ...
  340. def take_2d_multi_int32_int32(
  341. values: np.ndarray,
  342. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  343. out: np.ndarray,
  344. fill_value=...,
  345. ) -> None: ...
  346. def take_2d_multi_int32_int64(
  347. values: np.ndarray,
  348. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  349. out: np.ndarray,
  350. fill_value=...,
  351. ) -> None: ...
  352. def take_2d_multi_int32_float64(
  353. values: np.ndarray,
  354. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  355. out: np.ndarray,
  356. fill_value=...,
  357. ) -> None: ...
  358. def take_2d_multi_int64_float64(
  359. values: np.ndarray,
  360. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  361. out: np.ndarray,
  362. fill_value=...,
  363. ) -> None: ...
  364. def take_2d_multi_float32_float32(
  365. values: np.ndarray,
  366. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  367. out: np.ndarray,
  368. fill_value=...,
  369. ) -> None: ...
  370. def take_2d_multi_float32_float64(
  371. values: np.ndarray,
  372. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  373. out: np.ndarray,
  374. fill_value=...,
  375. ) -> None: ...
  376. def take_2d_multi_float64_float64(
  377. values: np.ndarray,
  378. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  379. out: np.ndarray,
  380. fill_value=...,
  381. ) -> None: ...
  382. def take_2d_multi_object_object(
  383. values: np.ndarray,
  384. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  385. out: np.ndarray,
  386. fill_value=...,
  387. ) -> None: ...
  388. def take_2d_multi_bool_bool(
  389. values: np.ndarray,
  390. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  391. out: np.ndarray,
  392. fill_value=...,
  393. ) -> None: ...
  394. def take_2d_multi_bool_object(
  395. values: np.ndarray,
  396. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  397. out: np.ndarray,
  398. fill_value=...,
  399. ) -> None: ...
  400. def take_2d_multi_int64_int64(
  401. values: np.ndarray,
  402. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  403. out: np.ndarray,
  404. fill_value=...,
  405. ) -> None: ...