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
U
®ý°d5^ã@sœddlZddlZddlmZmZmZmZmZm    Z    m
Z
ddl m Z ddlmZejdd„ƒZejdd„ƒZGdd    „d    ƒZej d
d d gd dgg¡dd„ƒZdS)éN)Ú    DataFrameÚIndexÚ
MultiIndexÚNaTÚSeriesÚ    TimestampÚ
date_range)ÚoffsetscCs"ttddddtdƒdœƒ d¡S)NÚ20130101éÚs©ÚperiodsÚfreq©ÚAÚBr)rrÚrangeÚ    set_index©rrúad:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/window/test_timeseries_window.pyÚregulars
ÿþrcCs8tdtdƒiƒ}tdƒtdƒtdƒtdƒtdƒg|_|S)Nrr ú20130101 09:00:00ú20130101 09:00:02ú20130101 09:00:03ú20130101 09:00:05ú20130101 09:00:06)rrrÚindex)ÚdfrrrÚraggedsûrc@s¤eZdZdd„Zdd„Zej dde     d¡g¡dd    „ƒZ
ej dd
e  d¡d g¡d d „ƒZ ej ddde  dddg¡g¡dd„ƒZdd„Zdd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Z d7d8„Z!d9d:„Z"d;d<„Z#d=d>„Z$ej d?d@dAdBgdCfd@dDdBgdEdFgfd@dGdBgdEdHgfdIdAdBgdCfdIdDdBgdEdFgfdIdGdBgdEdHgfdAdAdBgdCfdAdDdBgdEdFgfdAdGdBgdEdHgfdJdAdBgdCfdJdDdBgdEdFgfdJdGdBgdEdHgfdKdAdBgdCfdKdDdBgdEdFgfdKdGdBgdEdHgfg¡dLdM„ƒZ%ej dNdOdDdPdQdRdSdTdUdAdGg
¡dVdW„ƒZ&dXdY„Z'dZd[„Z(d\d]„Z)d^d_„Z*d`da„Z+dbS)cÚ TestRollingTScCsPtddddtjdgitdƒtdƒtdƒtd    ƒtd
ƒgd }|| d ¡ ¡dS) Nrrééérrrrr©rÚ2s)rÚnpÚnanrÚrollingÚsum©ÚselfrrrrÚtest_doc_string*sûþ
zTestRollingTS.test_doc_stringc    Cs\d}tjt|d|jddW5QRXd}tjt|d| ¡jddW5QRXdS)Nz@passed window foobar is not compatible with a datetimelike index©ÚmatchÚfoobar©Úwindowúwindow must be an integer)ÚpytestÚraisesÚ
ValueErrorr(Ú reset_index)r+rÚmsgrrrÚtest_invalid_window_non_int8s z)TestRollingTS.test_invalid_window_non_intrZ2MSr"c    Cs.d}tjt|d|j|dW5QRXdS)Nz-\<2 \* MonthBegins\> is a non-fixed frequencyr-r0©r3r4r5r()r+rrr7rrrÚtest_invalid_window_nonfixedBsz*TestRollingTS.test_invalid_window_nonfixedÚ1DZ2mscCs|j|ddS)Nr0)r()r+rrrrrÚtest_valid_windowIszTestRollingTS.test_valid_windowÚminpçð?Zfoor!éc    Cs0d}tjt|d|jd|dW5QRXdS)NzQlocal variable 'minp' referenced before assignment|min_periods must be an integerr-r;©r1Ú min_periodsr9)r+r=rr7rrrÚtest_invalid_minpMsÿzTestRollingTS.test_invalid_minpc    Cs¢|}d}tjt|d|jdddW5QRX| ¡}tdt|ƒd|d<|jd    dd ¡d
}tjt|d|jd    d dW5QRX|jd    ddj ¡dS) NzSinvalid on specified as foobar, must be a column \(of DataFrame\), an Index or Noner-r%r/)r1Úonr
©rÚCZ2dr2r)    r3r4r5r(ÚcopyrÚlenr)r)r+rrr7rrrÚtest_onWsÿzTestRollingTS.test_oncCsbttddddtdƒdœƒ}|jjs(t‚|jddd ¡| d¡}|j    jsPt‚| d¡ ¡dS)    Nr
r r r rr%r©rC)
rrrrÚis_monotonic_increasingÚAssertionErrorr(r)rrr*rrrÚtest_monotonic_onosÿ 
 zTestRollingTS.test_monotonic_onc    Cs¶ttddddtdƒdœƒ}| d¡}|j ¡}|d|d<||_|jjrNt‚d    }tj    t
|d
|  d ¡  ¡W5QRX|  ¡}d }tj    t
|d
|j d dd   ¡W5QRXdS)Nr
r r r rrr?rzindex values must be monotonicr-r%zNinvalid on specified as A, must be a column \(of DataFrame\), an Index or NonerI)rrrrrZto_listrJrKr3r4r5r(r)r6)r+rZnon_monotonic_indexr7rrrÚtest_non_monotonic_on|s ÿ
 
  ÿz#TestRollingTS.test_non_monotonic_oncCsÎttdƒtdddddœƒ}tdƒtdƒtdƒtdƒtd    ƒg|d
<| d
¡ d ¡j ¡jd d }|jd d
dj ¡}t     
||¡| d
¡ d ¡dg ¡ ¡dd
g}|jd d
ddg ¡}t      ||¡dS)Nr rÚ3sr )rrErrrrrr%T)ÚdroprIr) rrrrrr(rr)r6ÚtmÚassert_series_equalÚassert_frame_equal)r+rÚexpectedÚresultrrrÚ test_frame_on•s ÿû         $ÿzTestRollingTS.test_frame_onc
Cstdddddgdddtjdgttdƒtdƒtdƒtd    ƒtd
ƒgƒd œd d dgd}tdddddgdddtjdg|d d œd d dgd}|jdd d ¡}|}t ||¡t    dddtjdgdd}|jdd dj
 ¡}t  ||¡|d dd g}|jdd dd dd g ¡}t ||¡dS)Nrr!r"r?r#rrrrr)rrrErrEr)Úcolumnsçér%rI)Úname) rr&r'rrr(r)rPrRrrrQ)r+rZ    expected1rTrSrrrÚtest_frame_on2µs6 ûÿý ò$þ  zTestRollingTS.test_frame_on2cCsæ| ¡}tdddd|_|jddd ¡}|jdd ¡}t ||¡tddd    d|_|jddd ¡}|jd    dd ¡}t ||¡|jddd ¡}|jd    dd ¡}t ||¡|jdd ¡}|jd    d ¡}t ||¡dS)
Nr
r ÚDr r!r@r;r0Z2D)rFrrr(r)rPrR©r+rrrSrTrrrÚtest_basic_regularÙs   z TestRollingTS.test_basic_regularcCsd|}|jddd ¡}| d¡ ¡}t ||¡|jddd ¡}|jddd ¡}t ||¡dS)Nr"r!©rAr%)r(r)rPrRr\rrrÚtest_min_periodsîs zTestRollingTS.test_min_periodsc    Csdtddgditdƒtdƒtdƒtdƒtdƒgd    }d
}tjt|d |jd d dW5QRX| ¡}dddddg|d<|jd dd ¡}t     ||¡| d ¡ ¡}t     ||¡| ¡}dddddg|d<|jd dd ¡}t     ||¡| ¡}t
j ddddg|d<|jd dd ¡}t     ||¡| ¡}t
j dddt
j g|d<|jd dd ¡}t     ||¡dS)Nrr!r z20130101 09:00:01rrz20130101 09:00:04rr$z3closed must be 'right', 'left', 'both' or 'neither'r-r%Zblabla)r1Úclosedr>r"Úright)r`r?ZbothÚleftZneither) rrr3r4r5r(rFr)rPrRr&r')r+rrr7rSrTrrrÚ test_closedûs< ûþ     zTestRollingTS.test_closedcCsÐ|}|jddd ¡}| ¡}dddddg|d<t ||¡|jd    dd ¡}| ¡}ddddd
g|d<t ||¡|jd    dd ¡}| ¡}tjtjdtjd
g|d<t ||¡|jd dd ¡}| ¡}dddd d
g|d<t ||¡|jd d  ¡}| ¡}dddd d
g|d<t ||¡|jddd ¡}| ¡}dddddg|d<t ||¡|jddd ¡}| ¡}tjtjdddg|d<t ||¡|jddd ¡}| ¡}dddddg|d<t ||¡dS)NÚ1sr!r@rWr"r?r#rr%rXrNr r0Z4séé    Ú5sé
)r(r)rFrPrRr&r'©r+rrrTrSrrrÚtest_ragged_sum&sB       zTestRollingTS.test_ragged_sumcCsx|}|jddd ¡}| ¡}dddddg|d<t ||¡|jd    dd ¡}| ¡}ddd
d d g|d<t ||¡dS© Nrdr!r@rWr"r?r#rr%çø?ç@ç @)r(ÚmeanrFrPrRrirrrÚtest_ragged_meanPs zTestRollingTS.test_ragged_meancCsx|}|jddd ¡}| ¡}dddddg|d<t ||¡|jd    dd ¡}| ¡}ddd
d d g|d<t ||¡dSrk)r(ÚmedianrFrPrRrirrrÚtest_ragged_median\s z TestRollingTS.test_ragged_mediancCs||}|jddd d¡}| ¡}dddddg|d    <t ||¡|jd
dd d¡}| ¡}ddd d d g|d    <t ||¡dS)Nrdr!r@çà?rWr"r?r#rr%rlrmrn)r(ÚquantilerFrPrRrirrrÚtest_ragged_quantilehs z"TestRollingTS.test_ragged_quantilecCsö|}|jdddjdd}| ¡}dgd|d<t ||¡|jdddjdd}| ¡}tjgd|d<t ||¡|jd    ddjdd}| ¡}dgd
gd |d<t ||¡|jd ddjdd}| ¡}tjd dddg|d<t ||¡dS)Nrdr!r@r©ZddofrWr rrNrsr#rgg»¹øÛž æ?r>gÊPSé§ô?)r(ÚstdrFrPrRr&r'rirrrÚtest_ragged_stdts"   zTestRollingTS.test_ragged_stdcCsö|}|jdddjdd}| ¡}dgd|d<t ||¡|jdddjdd}| ¡}tjgd|d<t ||¡|jd    ddjdd}| ¡}dgd
gd |d<t ||¡|jd ddjdd}| ¡}tjd dddg|d<t ||¡dS)Nrdr!r@rrvrWr rrNgÐ?r#rgrsr>gªªªªªªú?)r(ÚvarrFrPrRr&r'rirrrÚtest_ragged_varŠs"   zTestRollingTS.test_ragged_varcCs~|}|jddd ¡}| ¡}tjgd|d<t ||¡|jddd ¡}| ¡}tjgddddg|d<t ||¡dS)    NrNr!r@r rrgr"rW)r(ÚskewrFr&r'rPrRrirrrÚtest_ragged_skew s zTestRollingTS.test_ragged_skewcCsz|}|jddd ¡}| ¡}tjgd|d<t ||¡|jddd ¡}| ¡}tjgddg|d<t ||¡dS)    NrNr!r@r rrgr#g333333ó¿)r(ÚkurtrFr&r'rPrRrirrrÚtest_ragged_kurt¬s zTestRollingTS.test_ragged_kurtcCsÖ|}|jddd ¡}| ¡}dddddg|d<t ||¡|}|jdd ¡}t ||¡|jddd ¡}| ¡}dddddg|d<t ||¡|jddd ¡}| ¡}tjtjdtjdg|d<t ||¡dS)    Nrdr!r@r>rr0r%r")r(ÚcountrFrPrRr&r'rirrrÚtest_ragged_count¸s    zTestRollingTS.test_ragged_countcCsüttddddddddd    gd
œƒ d ¡}| d ¡ ¡}| ¡}ddddd    g|d <t ||¡ttdddddd    dd    dgd
œƒ d ¡}t ||¡| d¡ ¡}| ¡}dd    ddd    g|d <t ||¡| d¡ ¡}| ¡}dd    dddg|d <t ||¡dS)Nr
r r r rWr!r"r?r#rrrdrr%g@rg)rrrr(ÚminrFrPrR©r+rrTrSrrrÚtest_regular_minÍs.ÿþ ÿþ  zTestRollingTS.test_regular_mincCs°|}|jddd ¡}| ¡}dddddg|d<t ||¡|jd    dd ¡}| ¡}dddddg|d<t ||¡|jd
dd ¡}| ¡}dd d ddg|d<t ||¡dS) Nrdr!r@rWr"r?r#rr%rgr)r(rrFrPrRrirrrÚtest_ragged_minås  zTestRollingTS.test_ragged_mincCsšd}tdtj |¡itd|ddd}|jddd     ¡}| d
¡ ¡}||d k ¡ ¡s^t    ‚|jd dd     ¡}| d ¡ ¡}||d k ¡ ¡s–t    ‚dS)Ni'rr
r r r$r"r!r^r%g{®Gáz„?éÈZ200s)
rr&ÚrandomZrandnrr(rÚallÚboolrK)r+ÚNZdfprSrTrrrÚ test_perf_min÷s ÿzTestRollingTS.test_perf_mincCs°|}|jddd ¡}| ¡}dddddg|d<t ||¡|jd    dd ¡}| ¡}dddddg|d<t ||¡|jd
dd ¡}| ¡}dddddg|d<t ||¡dS) Nrdr!r@rWr"r?r#rr%rg)r(ÚmaxrFrPrRrirrrÚtest_ragged_maxs  zTestRollingTS.test_ragged_maxzfreq, op, result_dataÚmsrrWrhrorfgÇqÇqÌ?r‹g@r Úhr[cCsntdd|›dd}td|dd}tj|jd<d    |jd
<t|jd |›d |ƒƒ}t||d }t ||¡dS)Nz2018-1-1 01:00:00Ú1rh)ÚstartrrrÚfloat)ÚdatarZdtyper!r"éÿÿÿÿÚ10r0)r’r)    rrr&r'ZilocÚgetattrr(rPrQ)r+rÚopZ result_datarr rTrSrrrÚtest_freqs_opss 
 zTestRollingTS.test_freqs_opsÚfr)rrqrwryr}r{cCsh|d}|jdd}|jdd}t||ƒƒ}t||ƒƒ}t ||¡| d¡}| d¡}t ||¡dS)Nr"r!r0rdrs)r(r•rPrRrt)r+r˜rrZerÚrrTrSrrrÚtest_all7s     
 
zTestRollingTS.test_allcs‚|‰tdt d¡itddddd}| dd¡}|jd    d
}t|ˆƒƒ}‡fd d „}| |jj    ¡ 
|¡j d dd}t   ||¡dS)Nré2r
ÚHr r$ú09:00ú16:00Z5Hr0cs"| dd¡}t|jdddˆƒƒS)Nrržr r!r^)Ú between_timer•r()Úx©r˜rrÚ
agg_by_dayfs z+TestRollingTS.test_all2.<locals>.agg_by_dayrT)ÚlevelrO)rr&ÚarangerrŸr(r•ÚgroupbyrÚdayÚapplyr6rPrR)r+Zarithmetic_win_operatorsrZdftr™rTr¢rSrr¡rÚ    test_all2Ts ÿ    ÿzTestRollingTS.test_all2cCsÞtdddd}tt t|ƒ¡|d}| d¡ ¡}ttjgdgt|ƒd|d}t     ||¡|jd    dd
 ¡}t     ||¡| d ¡ ¡}ttjdgd gt|ƒd    |d}t     ||¡|jd dd
 ¡}t     ||¡dS)Nz
2017-01-01éZ1hr r$Z2hrsr!r"r^Z3hr>r?)
rrr&r¤rGr(Zcovr'rPrQ)r+ÚidxÚssrTrSZ    expected2rrrÚtest_rolling_cov_offsetps"  $ z%TestRollingTS.test_rolling_cov_offsetcCsttdƒtdƒtdƒtdƒtdƒg}tddddd    d
gi|d }| d ¡ ¡}tdd d dddgi|d }t ||¡dS)Nz20190101 09:00:30z20190101 09:00:27z20190101 09:00:20z20190101 09:00:18z20190101 09:00:10Úcolumnr?r#r rer$rgrmg@ç@)rrr(rrPrR)r+rrrTrSrrrÚ test_rolling_on_decreasing_index„sûz.TestRollingTS.test_rolling_on_decreasing_indexcCs>tdgigd}| d¡ ¡}tdgigd}t ||¡dS)Nr­r$rg)rr(rrPrRr‚rrrÚtest_rolling_on_empty“sz#TestRollingTS.test_rolling_on_emptycCsztdtdƒitjtdddtdƒgddgd    d
}|jd |j d¡d  ¡}tdd dddddgi|jd
}t     
||¡dS)Nr­reZ20190101r?rDr"ÚdateÚseq)Únamesr$Z10drIrWr>rmr®g$@g.@) rrrZ from_productrr(rZget_level_valuesr)rPrRr‚rrrÚ!test_rolling_on_multi_index_levelšs
ÿþÿz/TestRollingTS.test_rolling_on_multi_index_levelN),Ú__name__Ú
__module__Ú __qualname__r,r8r3ÚmarkÚ parametrizer    Z
MonthBeginr:ZDayr<r&ÚarrayrBrHrLrMrUrZr]r_rcrjrprrrurxrzr|r~r€rƒr„rŠrŒr—ršr¨r¬r¯r°r´rrrrr &sŠ
 
 
 
      $ +*     ñþ
öþ
r z    msg, axisr­r!rc    Cshtdƒtg}|dkrdnd|i}tt d¡f|Ž}tjt|›dd|jd|d         ¡W5QRXdS)
NZ2020r!rVrr"z values must not have NaTr-r[)Úaxis)
rrrr&Zeyer3r4r5r(ro)r7r»rªÚkwargsrrrrÚtest_nat_axis_error©s
 r½)Únumpyr&r3ZpandasrrrrrrrZpandas._testingZ_testingrPZpandas.tseriesr    Zfixturerrr r¸r¹r½rrrrÚ<module>s $