zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
U
®ý°d[ã@sddlZddlZddlmZmZmZmZddlm    Z
dd„Z dd„Z dd„Z d    d
„Zd d „Zd d„Zej de d¡ d¡ d¡eddddedddd d¡g¡ej dddg¡dd„ƒƒZdd„Zdd„Zdd „Zej d!d"d#d$d%g¡d&d'„ƒZd(d)„Zej d*d+eed,ƒed-d.ƒd/d.d0d1d2gd3œed4gd5eejgd,d6gd,d7d8d9d:d;gd3œƒgd<eejgd,d=gd,d>d?d@dAdBgd3œƒgg¡dCdD„ƒZdEdF„Z dGdH„Z!ej dIdJdKdLdMgdNgdJdKdKdOgdPgg¡dQdR„ƒZ"dSdT„Z#dUdV„Z$dWdX„Z%ej dYeejdZd[gƒdPdNejd\dZgfeejdZd[gƒdPdPejd\dZgfeejdZd[gƒdNdNejd\d]gfeejdZd[gƒdNdPejd\d]gfedZejd[gƒdPdNd^ejdZgfedZejd[gƒdPdPd\ejdZgfedZejd[gƒdNdNd^ejd]gfedZejd[gƒdNdPd\ejd]gfeejdZejejd[ejgƒdPdNejd_ejejdZejgfeejdZejejd[ejgƒdPdPejd\ejejdZejgfeejdZejejd[ejgƒdNdNejd_ejejd]ejgfeejdZejejd[ejgƒdNdPejd\ejejd]ejgfedZejd[d`gƒdPdNd_ejd\dZgfedZejd[d`gƒdPdPd^ejd\dZgfedZejd[d`gƒdNdNd_ejdadbgfedZejd[d`gƒdNdPd^ejdad]gfg¡dcdd„ƒZ&dedf„Z'dgdh„Z(ej did+d5d<g¡djdk„ƒZ)ej dddlg¡ej dmd+d<d5g¡dndo„ƒƒZ*ej dmdpdqg¡drds„ƒZ+ej dddldg¡ej dmdpdqg¡dtdu„ƒƒZ,ej dmdpdqg¡dvdw„ƒZ-ej dmd<d5d+g¡dxdy„ƒZ.ej dmd<d5d+g¡dzd{„ƒZ/d|d}„Z0d~d„Z1d€d„Z2ej d‚dpdqg¡dƒd„„ƒZ3d…d†„Z4ej d‡dqdpg¡ej dˆdPdNg¡d‰dŠ„ƒƒZ5ej d‹e6e7g¡dŒd„ƒZ8ej d‡dqdpg¡ej dˆdPdNg¡ej d‹e6e7g¡dŽd„ƒƒƒZ9dS)éN)Ú    DataFrameÚ DatetimeIndexÚSeriesÚ
date_rangecCs0tddddtjdgiƒ}||jdd ¡dS)NÚBréééçà?©Úcom)rÚnpÚnanÚewmÚmean©Údf©rúSd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/window/test_ewm.pyÚtest_doc_string src
Cs€|tdƒƒj}|dd|dd|dd|dd|ddd    |ddd
|ddd d }tjt|d |dddW5QRXtjt|d |dddW5QRXtjt|d |dddW5QRXd}tjt|d |ddW5QRXd}tjt|d |ddW5QRXd}tjt|d |ddW5QRXd}dD]*}tjt|d ||dW5QRXqPdS)Nér
r çø?©Úspan©Úalphagè?©Úhalflife©r r)rr ©rrú8comass, span, halflife, and alpha are mutually exclusive©Úmatch©r r©rr)rrú comass must satisfy: comass >= 0çà¿úspan must satisfy: span >= 1ú#halflife must satisfy: halflife > 0rú"alpha must satisfy: 0 < alpha <= 1)r&r)ÚrangerÚpytestÚraisesÚ
ValueError)Zframe_or_seriesÚcÚmsgrrrrÚtest_constructors8
 
 
 
   r0c    Cs<d}tjt|d ttdƒƒjt d¡dW5QRXdS)Nz%times must be datetime64\[ns\] dtype.r!r©Útimes)r+r,r-rr*rr Úarange©r/rrrÚ!test_ewma_times_not_datetime_type>sr5c    CsBd}tjt|d&ttdƒƒjt d¡ d¡dW5QRXdS)Nz,times must be the same length as the object.r!rr    údatetime64[ns]r1©    r+r,r-rr*rr r3Úastyper4rrrÚtest_ewma_times_not_same_lengthDsr9c    CsDd}tjt|d(ttdƒƒjdt d¡ d¡dW5QRXdS)Nz/halflife must be a timedelta convertible objectr!rrr6©rr2r7r4rrrÚ#test_ewma_halflife_not_correct_typeJsr;c    Cs6d}tjt|dttdƒƒj|dW5QRXdS)NzKhalflife can only be a timedelta convertible argument if times is not None.r!rr)r+r,r-rr*r)Úhalflife_with_timesr/rrrÚ test_ewma_halflife_without_timesPsr=r2é
z datetime64[D]r6Ú2000ÚD©ÚfreqZperiodsÚUTCÚ min_periodsrcCs`|}t d¡}tj|ddd…<td|iƒ}|j|||d ¡}|jd|d ¡}t ||¡dS)Nç$@rÚA©rrDr2çð?)rrD)r r3rrrrÚtmÚassert_frame_equal)r<r2rDrÚdatarÚresultÚexpectedrrrÚ"test_ewma_with_times_equal_spacingVs
 
 rNcCs^|}d}tdddgƒ |¡}t d¡}t|ƒ}|j||d ¡}tddd    gƒ}t ||¡dS)
Nz23 daysz
2020-01-01z2020-01-10T00:04:05z2020-02-23T05:00:23ér:çgÐÇþE(â?gÁ *‡M¹ø?)    rÚ tz_localizer r3rrrrIrJ)Ztz_aware_fixtureÚtzrr2rKrrLrMrrrÚ%test_ewma_with_times_variable_spacingisÿþ
rSc    CsDttdƒƒ}tdgƒ}tjtdd|jd||dW5QRXdS)NrZNaTz$Cannot convert NaT values to integerr!皙™™™™¹?)r rr2)rr*rr+r,r-r)r<Úserr2rrrÚtest_ewm_with_nat_raisesvs 
rVcCst|}t d¡}tj|ddd…<tdddd}t||dœƒ}|j||dd     ¡}|jd
d d     ¡}t ||¡dS) NrErr?r@r>rA©rFrr:rFrHr)    r r3rrrrrrIÚassert_series_equal)r<rrKr2rrLrMrrrÚtest_ewm_with_times_getitem~s
rYÚargr rrrcsn|dd|d|i}ttdƒtdƒdœƒjf|މ‡fdd„ˆjDƒ}ˆd}‡fdd„|jDƒ}||ksjt‚dS)    NrÚadjustÚ    ignore_narWcsi|]}|tˆ|ƒ“qSr©Úgetattr©Ú.0Úattr©rrrÚ
<dictcomp>sz8test_ewm_getitem_attributes_retained.<locals>.<dictcomp>rFcsi|]}|tˆ|ƒ“qSrr]r_rbrrrc‘s)rr*rÚ _attributesÚAssertionError)rZr[r\ÚkwargsrMZ    ewm_slicerLrrbrÚ$test_ewm_getitem_attributes_retainedŠs rgc    Cs@tjtdd(ttdƒƒjddtddddd    W5QRXdS)
Nz)times is not supported with adjust=False.r!rrTFr?r@rA)r[r2)r+r,ÚNotImplementedErrorrr*rrrrrrÚ#test_ewma_times_adjust_false_raises•sÿ  ÿrizfunc, expectedrrr    é    gZôPÛ¶@gÓø…W’$%@gd~$I(@g7ûå¶m+@©rrr©ÚdtypeZstdgɬÞávø@g‡§WÊ2„@g.äÜÈ@gÿ>だ@g ‰°áé…@g›äGüŠõ@Úvarg2@g—=Ô¶m5@égˁjÛ¶@@gÎþ@¹m[D@gg Ü¶mH@cCsPttdƒtddƒtdddƒdœ|d}|jd    d
d }t||ƒƒ}t ||¡dS) Nréé r>érrkrlr
r)rZaxis)rr*rr^rIrJ)ÚfuncrMZfloat_numpy_dtyperÚerLrrrÚtest_float_dtype_ewmaŸs'ÿ ruc    CsLtt d¡tdddddœƒ}tjtdd|jd    d
d d W5QRXdS) NrEr?r@r>rA)rFÚtime_colztimes must be datetime64r!z1 dayrrvrG)rr r3rr+r,r-rrrrrÚtest_times_string_col_raisesÏs
ÿrwc    Cs<ttdƒƒjddd}tjtdd| ¡W5QRXdS)NrF©r r[z
sum is notr!)rr*rr+r,rhÚsum)rKrrrÚ(test_ewm_sum_adjust_false_notimplementedØsrzzexpected_data, ignorerEg@g@g€&@Fg)@TcCs<tddtjdgƒ}|jd|d ¡}t|ƒ}t ||¡dS)Nr>rr
)rr\)rr rrryrIrX)Z expected_dataÚignorerKrLrMrrrÚ test_ewm_sumÞsr|cCsFtt d¡ƒ}d|d<|jddd ¡ ¡}t |d¡dksBt‚dS)NièrrédF)rr[g{®Gáz„?)rr ÚzerosrrryÚabsre)ÚvalsrLrrrÚtest_ewma_adjustësrcCsZtddddgƒ}|r&tddddgƒ}ntddd    d
gƒ}|jd||d  ¡}t ||¡dS) NrHç@g@g @gš™™™™™ù?gʍ"k å@gYÂÚ;±@gR×ÚûTUõ?góSÇ@g    ßû´—@©r r[r\)rrrrIrX)r[r\ÚsrMrLrrrÚtest_ewma_casesòs r…cCs¤tdgtjgddgƒ}|jdd ¡}t |tdgt|ƒƒ¡ttjgddgtjgddgƒ}|jdd ¡}t |ttjgddgdƒ¡dS)NrHrr rr    )rr rrrrIrXÚlen)r„rLrrrÚtest_ewma_nan_handlings (r‡zs, adjust, ignore_na, wrHg@Y@gVUUUUUå?gUUUUUUÕ?gÇqÇqÜ?gj/¡½„öÒ?gI@gÇqÇqÌ?g|    í%´—Ð?cCsl| |¡ ¡t|ƒ ¡jdd}|jd||d ¡}t ||¡|dkrh|jd|d ¡}t ||¡dS)NZffill)Úmethodr‚rƒFrx)ÚmultiplyZcumsumrZfillnarrrIrX)r„r[r\ÚwrMrLrrrÚtest_ewma_nan_handling_cases
s " r‹cCs’tj d¡}t dd¡}tj||<t|ƒ}|jdd ¡}|jdd ¡}|jdd     ¡}|jd
d  ¡}t     ||¡t     ||¡t     ||¡dS) Nr}rré(gŽVÎÕRÀã?rg¿Æ·CØã?r g‚_ãÛ!ì@rgXlWYíç?r)
r ÚrandomÚrandnr3ÚNaNrrrrIrX)ÚarrÚlocsr„ÚaÚbr.ÚdrrrÚtest_ewm_alphažs  
  r•c    Csètj d¡}t dd¡}tj||<t|ƒ}d}tjt|d|j    ddW5QRX|j    dd|j    d    dd
}tjt|d|j    dd W5QRXtjt|d|j    dd W5QRXtjt|d|j    d d W5QRX|j    d d |j    dd d}tjt|d|j    ddW5QRXtjt|d|j    ddW5QRX|j    d    dd}tjt|d|j    ddW5QRXtjt|d|j    ddW5QRX|j    d    d|j    d dtjt|d|j    ddW5QRXdS)Nr}rrrŒr%r!gš™™™™™¹¿r rPrTr'rgÍÌÌÌÌÌì?rHgš™™™™™ñ?r(rr)r)
r rrŽr3rrr+r,r-r)rr‘r„r/rrrÚtest_ewm_domain_checks®sB  
       r–rˆcCs4tgtjd}| d¡}t||ƒƒ}t ||¡dS)NrlrO)rr Úfloat64rr^rIÚassert_almost_equal)rˆr€rrLrrrÚtest_ew_empty_series×s
 r™rÚnamecCs¦tj d¡}tj|dd…<tj|dd…<t|ƒ}t|jddd|ƒƒ}|dd… ¡ ¡s^t    ‚|dd… ¡ 
¡rvt    ‚t|jd|d|ƒƒ}|dkrÆ|dd… ¡ ¡s¬t    ‚|dd… ¡ 
¡röt    ‚n0|dd… ¡ ¡sÞt    ‚|dd… ¡ 
¡röt    ‚ttt djd|d|ƒƒ}t   |td    d¡ttd
gƒjd|d |ƒƒ}|dkr^t   |td
gƒ¡nt   |ttjgƒ¡ttt d¡ƒjdd |ƒƒ}|jtjks¢t    ‚dS) Né2r>éöÿÿÿr©r rDrqrrlr—rH)rDr)r rrŽrrr^rZisnaÚallreÚanyÚobjectrIrXr3rmZfloat_)rDršrr„rLZresult2rrrÚtest_ew_min_periodsàs* 
r¡ZcovZcorrcCs¢ttj d¡tdƒd}|dd…tj d¡}tj|dd…<tj|jdd…<t|jddd    |ƒ|ƒ}t     |j
dd
…¡  ¡s‚t ‚t     |j
d
d…¡  ¡ržt ‚dS) Nr›©Úindexré0r>rœrrrré)rr rrŽr*rÚilocr^rÚisnanÚvaluesržrerŸ)ršrFrrLrrrÚtest_ewm_corr_cov sr©cCs ttj d¡tdƒd}|dd…tj d¡}tj|dd…<tj|jdd…<t|jd|d|ƒ|ƒ}t     |j
dd    …¡  ¡s‚t ‚t     |j
d    d…¡  ¡ržt ‚tgtjd
}t|jd|d|ƒ|ƒ}t ||¡ttd gƒjd|d|ƒtd gƒƒ}t |ttjgƒ¡dS) Nr›r¢rr¤r>rœrrrrqrlrH)rr rrŽr*rr¦r^rr§r¨ržrerŸr—rIrX)ršrDrFrrLÚemptyrrrÚtest_ewm_corr_cov_min_periodss ÿr«c    Cshttj d¡tdƒd}tj|dd…<d}tjt|d&t    |j
ddd|ƒtj d¡ƒW5QRXdS)    Nr›r¢r>z#other must be a DataFrame or Seriesr!rrrr) rr rrŽr*rr+r,r-r^r)ršrFr/rrrÚ*test_different_input_array_raise_exception4s
r¬cCs&t|jdd|ƒƒ}t|tƒs"t‚dS©Nr>r )r^rÚ
isinstancerre)ÚseriesršZ series_resultrrrÚtest_ewma_series?sr°cCs&t|jdd|ƒƒ}t|tƒs"t‚dSr­)r^rr®rre)ÚframeršZ frame_resultrrrÚtest_ewma_frameEsr²c    Cs†|jdd ¡}|jdd ¡}t ||¡d}tjt|d|jdddW5QRXd}tjt|d| ¡ ¡W5QRXdS)    Nç#@r rrrr r!rú1Must pass one of comass, span, halflife, or alpha©rrrIr˜r+r,r-©r¯rFrr/rrrÚtest_ewma_span_com_argsKs r·c    CsÔ|jdd ¡}|jdd ¡}t ||¡d}tjt|d|jddd    W5QRXtjt|d|jd
dd W5QRXtjt|d|jd
ddd W5QRXd }tjt|d| ¡W5QRXdS)Ng ‘ñHŽÝ+@r rErr r!rrr›r$r³)r r)r rrr´rµr¶rrrÚtest_ewma_halflife_argXs r¸c    Csª|}d}tjt|d| ¡W5QRXd}tjt|d|jdddW5QRXtjt|d|jdddW5QRXtjt|d|jdddW5QRXdS)    Nr´r!r rEr
r#)rrr)r+r,r-r)r¯r„r/rrrÚtest_ewm_alpha_arghsr¹rscCsnt|jddd|ƒƒ}|jtdƒdfdf}|j d¡|_t|djddd|ƒ|dƒ}tj||dddS)Nr>r©rrDrF)Z check_names)r^rÚlocÚslicer£Z    droplevelrIrX)rsr±rLrMrrrÚtest_ewm_pairwise_cov_corrxs
 r½c    Csª|}tdgdddœƒ}|d t¡|d<|jddd}t||dƒ}|dk    r¦||d}|r`dd    gndd    dg}|| |g¡jd
d  t¡}t|j    ƒ|ksšt
‚t   ||¡dS) NrrrO©r’r“r.r.rº©Ú numeric_onlyr’r“T©Zdrop) rr8r rr^ÚaggÚ reset_indexÚfloatÚlistÚcolumnsrerIrJ)    Úarithmetic_win_operatorsrÀÚkernelrrÚoprLrÆrMrrrÚtest_numeric_only_frames 
rÊrÈÚuse_argcCsÄtdddgdddœƒ}|d t¡|d<|r2|fnd}|jddd}t||ƒ}||d|iŽ}|rhd    d
gnd    d
dg}|| t¡}    |rŠ|    fnd}
|    jddd} t| |ƒ} | |
d|iŽ} t || ¡dS) NrrrOr¾r.rrºrÀr’r“)rr8r rr^rÄrIrJ)rÈrÀrËrrZrrÉrLrÆZdf2Úarg2Úewm2Úop2rMrrrÚ test_numeric_only_corr_cov_frame’s
 
rÏrmc
    Csª|}tdg|d}|jddd}t||dƒ}|dkr8dS|rv|tkrvd|›d}tjt|d||dW5QRXn0||d}| |g¡jd    d
     t
¡}    t   ||    ¡dS) NrrlrrºúExponentialMovingWindow.ú  does not implement numeric_onlyr!r¿TrÁ) rrr^r r+r,rhrÂrÃr8rÄrIrX)
rÇrÀrmrÈrUrrÉr/rLrMrrrÚtest_numeric_only_series¨s   
rÒc    CsÖtdddg|d}|r|fnd}|jddd}t||ƒ}|rz|tkrzd|›d}tjt|d    ||d
|iŽW5QRXnX||d
|iŽ}    | t¡}
|rœ|
fnd} |
jddd} t| |ƒ} | | d
|iŽ}t     
|    |¡dS) NrrrOrlrrºrÐrÑr!rÀ) rrr^r r+r,rhr8rÄrIrX)rÈrËrÀrmrUrZrrÉr/rLZser2rÌrÍrÎrMrrrÚ!test_numeric_only_corr_cov_series¼s
 
 
rÓ):Únumpyr r+ZpandasrrrrZpandas._testingZ_testingrIrr0r5r9r;r=ÚmarkZ parametrizer3r8rQrNrSrVrYrgrir*rÄrrurwrzr|rr…r‡r‹r•r–r™r¡r©r«r¬r°r²r·r¸r¹r½rÊrÏÚintr rÒrÓrrrrÚ<module>s¦ + ýþ
 
 
 
 ýúþ 
 ýÿþ 
 ýÿþêþ$
    þ
    
 
ü
ü
ü
ü
ü
ü
ü
üüüúüúüüü üü üü üü‡þ    
)
 )