zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
U
¬ý°dªã    @s¦dZddlmZddlZddlZddlmZejdddddd    ddd    dd
d œd d „ƒZ    ejdddddd    ddddœdd„ƒZ
ejdddddddd    ddœdd„ƒZ dS)zŽ
Numba 1D sum kernels that can be shared by
* Dataframe / Series
* groupby
* rolling / expanding
 
Mirrors pandas/_libs/window/aggregation.pyx
é)Ú annotationsN)Úis_monotonic_increasingTF)ZnopythonZnogilÚparallelÚfloatÚintz$tuple[int, float, float, int, float])ÚvalÚnobsÚsum_xÚ compensationÚnum_consecutive_same_valueÚ
prev_valueÚreturncCsZt |¡sL|d7}||}||}|||}|}||krD|d7}nd}|}|||||fS©Né©ÚnpÚisnan)rrr    r
r r ÚyÚt©rúVd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/core/_numba/kernels/sum_.pyÚadd_sums    
 
rztuple[int, float, float])rrr    r
r cCs>t |¡s4|d8}| |}||}|||}|}|||fSrr)rrr    r
rrrrrÚ
remove_sum*s
 
 rz
np.ndarray)ÚvaluesÚstartÚendÚ min_periodsr c    Cs~t|ƒ}d}d}d}d}t|ƒo&t|ƒ}    tj|tjd}
t|ƒD]6} || } || } | dksb|    s¤|| }d}t| | ƒD](}||}t||||||ƒ\}}}}}qxnpt|| d| ƒD] }||}t||||ƒ\}}}q¶t|| d| ƒD](}||}t||||||ƒ\}}}}}qê|dkr,|kr6nnd}n*||krZ||krT||}n|}ntj}||
| <|    s@d}d}d}q@|
S)Nrg)Zdtyper)    ÚlenrrÚemptyÚfloat64ÚrangerrÚnan)rrrrÚNrr    Zcompensation_addZcompensation_removeZis_monotonic_increasing_boundsÚoutputÚiÚsÚer r ÚjrÚresultrrrÚ sliding_sum7sÿþ úúûÿ úúû
 
 
r)) Ú__doc__Ú
__future__rZnumbaÚnumpyrZ!pandas.core._numba.kernels.sharedrZjitrrr)rrrrÚ<module>s