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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Ë
nñúhXãó—dZddlmZddlmZmZddlZddlmZddl    Z
erddl m Z ddl mZejddd    ¬
«                                                        dd „«Zejddd    ¬
«                                        dd „«Zejddd    ¬
«                                                dd „«Ze                                        dd„«Zejddd    ¬
«                                                dd„«Zy)zŽ
Numba 1D sum kernels that can be shared by
* Dataframe / Series
* groupby
* rolling / expanding
 
Mirrors pandas/_libs/window/aggregation.pyx
é)Ú annotations)Ú TYPE_CHECKINGÚAnyN)Úregister_jitable)Únpt)Úis_monotonic_increasingTF)ÚnopythonÚnogilÚparallelcóŠ—tj|«s(|dz }||z
}||z}||z
|z
}|}||k(r|dz }nd}|}|||||fS©Né©ÚnpÚisnan)ÚvalÚnobsÚsum_xÚ compensationÚnum_consecutive_same_valueÚ
prev_valueÚyÚts        úRH:\Change_password\venv_build\Lib\site-packages\pandas/core/_numba/kernels/sum_.pyÚadd_sumrsm€ô 8‰8CŒ=Ø ‰    ˆØ ,Ñ ˆØ A‰IˆØ˜5‘y 1‘}ˆ Øˆà *Ò Ø &¨!Ñ +Ñ &à)*Ð &؈
à ˜ Ð&@À*Ð LÐLócój—tj|«s|dz}| |z
}||z}||z
|z
}|}|||fSr r)rrrrrrs      rÚ
remove_sumr3sL€ô 8‰8CŒ=Ø ‰    ˆØ ˆD<Ñ ˆØ A‰IˆØ˜5‘y 1‘}ˆ ØˆØ ˜ Ð $Ð$rc
óþ—|j}tj}|jdk(rd}t    |«}d}d}    d}
d} g} t |«xr t |«} tj ||¬«}t|«D]û}||}||}|dk(s| s4||}d}t||«D]}||}t|||    |
||«\}}    }
}}Œn`t||dz
|«D]}||}t|||    | «\}}    } Œt||dz
|«D]}||}t|||    |
«\}}    }
}}Œ|dcxk(r|k(rnnd}n5||k\r|k\r|z}n%|    }n"|}|jdk(r| j|«|||<| rŒöd}d}    d} Œý|| fS)NÚir©Údtyper) r"rÚnanÚkindÚlenrÚemptyÚrangerrÚappend)ÚvaluesÚ result_dtypeÚstartÚendÚ min_periodsr"Úna_valÚNrrÚcompensation_addÚcompensation_removeÚna_posÚis_monotonic_increasing_boundsÚoutputr ÚsÚerrÚjrÚresults                       rÚ sliding_sumr9@s €ð L‰L€Eä—V‘V€FØ ‡zzSÒØˆä ˆE‹
€AØ €DØ €EØÐØÐØ €Fä%<Ø ó&ò&'ä
! #Ó
&ð#ôX‰Xa˜|Ô ,€Fä 1‹Xò@$ˆØ !‰HˆØ ‰FˆØ Š6Ñ7Ø ™ˆJØ)*Ð &ä˜1˜a“[ò Ø˜Q‘iôØØØØ$Ø.Øó ñ ØØØ$Ø.Ùñ ô"˜5  Q¡™<¨Ó+ò Ø˜Q‘iÜ3=ؘ˜uÐ&9ó4Ñ0eÑ0ð ô ˜3˜q 1™u™: qÓ)ò Ø˜Q‘iôØØØØ$Ø.Øó ñ ØØØ$Ø.Ùð ð" 1Ô #˜ Õ #؉FØ [Ò  Ø)¨TÒ1Ø# dÑ*‘à‘àˆF؏z‰z˜SÒ Ø— ‘ ˜aÔ àˆˆq‰    â-؈D؈EØ"#Ñ ðA@$ðD 6ˆ>Ðrc    ó<—t|«}tj|tj¬«}tj||j¬«}tj|tj¬«}tj||j¬«}tj||¬«}    t |«D]Z}
||
} ||
} | dkrŒ|    | } || }|| }|| }|| }t | || |||«\}} }}}| |    | <||| <||| <||| <||| <Œ\|    ||||fS)Nr!r)r%rÚzerosÚint64r"r'r)r)r*ÚlabelsÚngroupsr/Únobs_arrÚcomp_arrÚconsecutive_countsÚ    prev_valsr4r Úlabrrrr0rrs                  rÚgrouped_kahan_sumrD¡sD€ô     ˆF‹ €Aäx‰x˜¤r§x¡xÔ0€H܏x‰x˜ v§|¡|Ô4€HÜŸ™ '´·±Ô:ÐÜ—‘˜¨¯ © Ô5€IÜ X‰Xg \Ô 2€Fä 1‹Xò ˆØQ‰iˆØQ‰iˆà Š7Ø às‘ ˆØ˜‰}ˆØ# C™=ÐØ%7¸Ñ%<Ð"ؘs‘^ˆ
ô Ø Ø Ø Ø Ø &Ø ó 
ñ     
Ø Ø Ø Ø &Ø ðˆˆs‰ Ø"<И3ÑØ#ˆ    #‰Ø(ˆ‰ ؈Š ðA ðB 8˜XÐ'9¸9Ð DÐDrcóԗg}t||||«\}}}}    }
t|«D]A} || } |    | } |
| }|| }| |k\r| | k\r|| z}n|}n|}|j| «||| <ŒC||fS)N)rDr'r()r)r*r=r>r-r2r4r?r@rArBrCrrrrr8s                 rÚ grouped_sumrFÖs©€ð€Fä@Qؐ ˜f góAÑ=€FˆHhР2°Iô
W‹~ò ˆØ˜‰}ˆØ%7¸Ñ%<Ð"ؘs‘^ˆ
ؐs‘ ˆØ ;Ò Ø)¨TÒ1Ø# dÑ*‘à‘àˆFØ M‰M˜#Ô ØˆˆsŠ ð ð 6ˆ>Ðr)rrrÚintrrrrrrGrrÚreturnztuple[int, Any, Any, int, Any])
rrrrGrrrrrHztuple[int, Any, Any]) r)ú
np.ndarrayr*únp.dtyper+rIr,rIr-rGrHútuple[np.ndarray, list[int]])
r)rIr*rJr=únpt.NDArray[np.intp]r>rGrHzWtuple[np.ndarray, npt.NDArray[np.int64], np.ndarray, npt.NDArray[np.int64], np.ndarray]) r)rIr*rJr=rLr>rGr-rGrHrK)Ú__doc__Ú
__future__rÚtypingrrÚnumbaÚnumba.extendingrÚnumpyrÚpandas._typingrÚ!pandas.core._numba.kernels.sharedrÚjitrrr9rDrF©rrú<module>rWsêðñõ#÷ó
 Ý,ÛáÝ"åE𠀇D ¨uÔ5ðMØ     ðMà
ðMð ðMðð    Mð
!$ð Mð ð Mð$òMó6ðMð0 €‡D ¨uÔ5ð    %Ø     ð    %Øð    %Ø #ð    %Ø36ð    %àò    %ó6ð    %𠀇D ¨uÔ5ð\Ø ð\àð\ð ð\ð
ð    \ð
ð \ð "ò \ó6ð\ð@ð1EØ ð1Eàð1Eð !ð1Eðð    1Eð
ò 1Eóð1Eðh €‡D ¨uÔ5ðØ ðàðð !ððð    ð
ð ð "ò ó6ñr