algos.pyi 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443
  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_uint16_uint16(
  158. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  159. ) -> None: ...
  160. def take_1d_uint32_uint32(
  161. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  162. ) -> None: ...
  163. def take_1d_uint64_uint64(
  164. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  165. ) -> None: ...
  166. def take_1d_int64_float64(
  167. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  168. ) -> None: ...
  169. def take_1d_float32_float32(
  170. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  171. ) -> None: ...
  172. def take_1d_float32_float64(
  173. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  174. ) -> None: ...
  175. def take_1d_float64_float64(
  176. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  177. ) -> None: ...
  178. def take_1d_object_object(
  179. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  180. ) -> None: ...
  181. def take_1d_bool_bool(
  182. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  183. ) -> None: ...
  184. def take_1d_bool_object(
  185. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  186. ) -> None: ...
  187. def take_2d_axis0_int8_int8(
  188. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  189. ) -> None: ...
  190. def take_2d_axis0_int8_int32(
  191. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  192. ) -> None: ...
  193. def take_2d_axis0_int8_int64(
  194. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  195. ) -> None: ...
  196. def take_2d_axis0_int8_float64(
  197. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  198. ) -> None: ...
  199. def take_2d_axis0_int16_int16(
  200. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  201. ) -> None: ...
  202. def take_2d_axis0_int16_int32(
  203. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  204. ) -> None: ...
  205. def take_2d_axis0_int16_int64(
  206. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  207. ) -> None: ...
  208. def take_2d_axis0_int16_float64(
  209. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  210. ) -> None: ...
  211. def take_2d_axis0_int32_int32(
  212. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  213. ) -> None: ...
  214. def take_2d_axis0_int32_int64(
  215. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  216. ) -> None: ...
  217. def take_2d_axis0_int32_float64(
  218. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  219. ) -> None: ...
  220. def take_2d_axis0_int64_int64(
  221. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  222. ) -> None: ...
  223. def take_2d_axis0_int64_float64(
  224. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  225. ) -> None: ...
  226. def take_2d_axis0_uint16_uint16(
  227. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  228. ) -> None: ...
  229. def take_2d_axis0_uint32_uint32(
  230. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  231. ) -> None: ...
  232. def take_2d_axis0_uint64_uint64(
  233. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  234. ) -> None: ...
  235. def take_2d_axis0_float32_float32(
  236. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  237. ) -> None: ...
  238. def take_2d_axis0_float32_float64(
  239. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  240. ) -> None: ...
  241. def take_2d_axis0_float64_float64(
  242. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  243. ) -> None: ...
  244. def take_2d_axis0_object_object(
  245. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  246. ) -> None: ...
  247. def take_2d_axis0_bool_bool(
  248. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  249. ) -> None: ...
  250. def take_2d_axis0_bool_object(
  251. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  252. ) -> None: ...
  253. def take_2d_axis1_int8_int8(
  254. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  255. ) -> None: ...
  256. def take_2d_axis1_int8_int32(
  257. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  258. ) -> None: ...
  259. def take_2d_axis1_int8_int64(
  260. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  261. ) -> None: ...
  262. def take_2d_axis1_int8_float64(
  263. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  264. ) -> None: ...
  265. def take_2d_axis1_int16_int16(
  266. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  267. ) -> None: ...
  268. def take_2d_axis1_int16_int32(
  269. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  270. ) -> None: ...
  271. def take_2d_axis1_int16_int64(
  272. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  273. ) -> None: ...
  274. def take_2d_axis1_int16_float64(
  275. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  276. ) -> None: ...
  277. def take_2d_axis1_int32_int32(
  278. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  279. ) -> None: ...
  280. def take_2d_axis1_int32_int64(
  281. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  282. ) -> None: ...
  283. def take_2d_axis1_int32_float64(
  284. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  285. ) -> None: ...
  286. def take_2d_axis1_int64_int64(
  287. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  288. ) -> None: ...
  289. def take_2d_axis1_uint16_uint16(
  290. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  291. ) -> None: ...
  292. def take_2d_axis1_uint32_uint32(
  293. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  294. ) -> None: ...
  295. def take_2d_axis1_uint64_uint64(
  296. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  297. ) -> None: ...
  298. def take_2d_axis1_int64_float64(
  299. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  300. ) -> None: ...
  301. def take_2d_axis1_float32_float32(
  302. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  303. ) -> None: ...
  304. def take_2d_axis1_float32_float64(
  305. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  306. ) -> None: ...
  307. def take_2d_axis1_float64_float64(
  308. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  309. ) -> None: ...
  310. def take_2d_axis1_object_object(
  311. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  312. ) -> None: ...
  313. def take_2d_axis1_bool_bool(
  314. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  315. ) -> None: ...
  316. def take_2d_axis1_bool_object(
  317. values: np.ndarray, indexer: npt.NDArray[np.intp], out: np.ndarray, fill_value=...
  318. ) -> None: ...
  319. def take_2d_multi_int8_int8(
  320. values: np.ndarray,
  321. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  322. out: np.ndarray,
  323. fill_value=...,
  324. ) -> None: ...
  325. def take_2d_multi_int8_int32(
  326. values: np.ndarray,
  327. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  328. out: np.ndarray,
  329. fill_value=...,
  330. ) -> None: ...
  331. def take_2d_multi_int8_int64(
  332. values: np.ndarray,
  333. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  334. out: np.ndarray,
  335. fill_value=...,
  336. ) -> None: ...
  337. def take_2d_multi_int8_float64(
  338. values: np.ndarray,
  339. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  340. out: np.ndarray,
  341. fill_value=...,
  342. ) -> None: ...
  343. def take_2d_multi_int16_int16(
  344. values: np.ndarray,
  345. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  346. out: np.ndarray,
  347. fill_value=...,
  348. ) -> None: ...
  349. def take_2d_multi_int16_int32(
  350. values: np.ndarray,
  351. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  352. out: np.ndarray,
  353. fill_value=...,
  354. ) -> None: ...
  355. def take_2d_multi_int16_int64(
  356. values: np.ndarray,
  357. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  358. out: np.ndarray,
  359. fill_value=...,
  360. ) -> None: ...
  361. def take_2d_multi_int16_float64(
  362. values: np.ndarray,
  363. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  364. out: np.ndarray,
  365. fill_value=...,
  366. ) -> None: ...
  367. def take_2d_multi_int32_int32(
  368. values: np.ndarray,
  369. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  370. out: np.ndarray,
  371. fill_value=...,
  372. ) -> None: ...
  373. def take_2d_multi_int32_int64(
  374. values: np.ndarray,
  375. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  376. out: np.ndarray,
  377. fill_value=...,
  378. ) -> None: ...
  379. def take_2d_multi_int32_float64(
  380. values: np.ndarray,
  381. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  382. out: np.ndarray,
  383. fill_value=...,
  384. ) -> None: ...
  385. def take_2d_multi_int64_float64(
  386. values: np.ndarray,
  387. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  388. out: np.ndarray,
  389. fill_value=...,
  390. ) -> None: ...
  391. def take_2d_multi_float32_float32(
  392. values: np.ndarray,
  393. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  394. out: np.ndarray,
  395. fill_value=...,
  396. ) -> None: ...
  397. def take_2d_multi_float32_float64(
  398. values: np.ndarray,
  399. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  400. out: np.ndarray,
  401. fill_value=...,
  402. ) -> None: ...
  403. def take_2d_multi_float64_float64(
  404. values: np.ndarray,
  405. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  406. out: np.ndarray,
  407. fill_value=...,
  408. ) -> None: ...
  409. def take_2d_multi_object_object(
  410. values: np.ndarray,
  411. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  412. out: np.ndarray,
  413. fill_value=...,
  414. ) -> None: ...
  415. def take_2d_multi_bool_bool(
  416. values: np.ndarray,
  417. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  418. out: np.ndarray,
  419. fill_value=...,
  420. ) -> None: ...
  421. def take_2d_multi_bool_object(
  422. values: np.ndarray,
  423. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  424. out: np.ndarray,
  425. fill_value=...,
  426. ) -> None: ...
  427. def take_2d_multi_int64_int64(
  428. values: np.ndarray,
  429. indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]],
  430. out: np.ndarray,
  431. fill_value=...,
  432. ) -> None: ...