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
29
30
31
32
33
U
¬ý°d}ã
@s®dZddlmZddlZddlZddlmZejdddddd    dddd    dd
d œd d „ƒZ    ejdddddd    dddddœdd„ƒZ
ejddddddddd    d    ddœdd„ƒZ dS)zŽ
Numba 1D var 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, float, int, float])ÚvalÚnobsÚmean_xÚssqdm_xÚ compensationÚnum_consecutive_same_valueÚ
prev_valueÚreturnc CsŽt |¡s~||kr|d7}nd}|}|d7}||}||}||}    |    ||}|    }
|rf||
|7}nd}|||||7}||||||fS©Nér©ÚnpÚisnan) rrr    r
r r r Ú    prev_meanÚyÚtÚdelta©rúVd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/core/_numba/kernels/var_.pyÚadd_vars 
 
 
 rztuple[int, float, float, float])rrr    r
r rc    Cstt |¡sh|d8}|r`||}||}||}|||}|}|||8}|||||8}nd}d}||||fSrr)    rrr    r
r rrrrrrrÚ
remove_var0s
  rrz
np.ndarray)ÚvaluesÚstartÚendÚ min_periodsÚddofrc
Cs”t|ƒ}d}d}d}d}    d}
t|dƒ}t|ƒo4t|ƒ} tj|tjd} t|ƒD]>} || }|| }| dksp| s¶||}d}t||ƒD],}||}t|||||    ||ƒ\}}}}    }}q†nzt|| d|ƒD]$}||}t|||||
ƒ\}}}}
qÈt|| d|ƒD].}||}t|||||    ||ƒ\}}}}    }}q||krl||krl|dksX||kr^d}n |||}ntj    }|| | <| sNd}d}d}d}
qN| S)Nrgr)Zdtype)
ÚlenÚmaxrrÚemptyÚfloat64ÚrangerrÚnan)rrrrr ÚNrr    r
Zcompensation_addZcompensation_removeZis_monotonic_increasing_boundsÚoutputÚiÚsÚer r ÚjrÚresultrrrÚ sliding_varDsœ
ÿþ ùùúÿùùúr.)r) Ú__doc__Ú
__future__rZnumbaÚnumpyrZ!pandas.core._numba.kernels.sharedrZjitrrr.rrrrÚ<module>s  û