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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
U
®ý°dÌ­ã@s¢ddlZddlZddlmZmZmZmZmZm    Z    m
Z
ddl m Z ddlmZddlmZejdd„ƒZejdd„ƒZGd    d
„d
ƒZGd d „d ƒZGd d„dƒZdS)éN)Ú    DataFrameÚIndexÚ
MultiIndexÚSeriesÚ    TimestampÚ
date_rangeÚ to_datetime)Ú BaseIndexer)Ú get_groupbycCsPtddddddddddg
ddddddddddg
tdddd    d
d d d d dg
ƒdœƒS)z0Frame for testing times argument in EWM groupby.ÚaÚbÚcréééú
2020-01-01ú
2020-01-02ú
2020-01-10z
2020-01-22ú
2020-01-03z
2020-01-23ú
2020-01-04©ÚAÚBÚC)rr©rrúWd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/window/test_groupby.pyÚ times_frames$öÿýÿrcCs.tdgddgddgdt d¡dœƒS©    Nréré réé(©rr©rÚnpÚarangerrrrÚ
roll_frame+sr&c@sŽeZdZdd„Zdd„Zdd„Zej ddd    d
d d d dg¡dd„ƒZ    ej dddg¡dd„ƒZ
ej ddddddg¡dd„ƒZ ej dddgd d!gg¡d"d#„ƒZ ej ddd g¡d$d%„ƒZ ej ddd g¡d&d'„ƒZej d(d d)d)gd)d*ggfdd)d!gd!d)ggfg¡d+d,„ƒZd-d.„Zd/d0„Zej d1d)d2gd3d4gg¡d5d6„ƒZd7d8„Zd9d:„Zej d;d<d=d>g¡d?d@„ƒZdAdB„ZdCdD„ZdEdF„ZdGdH„Zej dId d
g¡dJdK„ƒZdLdM„ZdNdO„ZdPdQ„ZdRdS„Zej dTdUdVddWœfdXifg¡dYdZ„ƒZej d[d\d]id]fd\d^id_fg¡d`da„ƒZ ej dbd2d4g¡dcdd„ƒZ!dedf„Z"dgdh„Z#didj„Z$dkdl„Z%dmdn„Z&ej dodVdpdqd^d3d)d)d^d3d)d)gfdVdVdqd^d^d)d)d^d^d)d)gfd=d=dqd^d^d^d^d^d^d^d^gfd=d=drd^d^d^dsd^d^d^dsgfg¡dtdu„ƒZ'ej dve( )dwdxg¡dydzgg¡d{d|„ƒZ*d}d~„Z+ej dd€gdd‚dƒdƒd„gigd€d_ge,d…ƒe,d†ƒe,d…ƒe,d†ƒgd‚d„dƒd‡gdˆœgg¡d‰dŠ„ƒZ-d‹dŒ„Z.ddŽ„Z/dd„Z0d‘d’„Z1d“d”„Z2d^S)•Ú TestRollingc    Cs0d}tjt|d|jdddW5QRXdS)Nz4groupby\(\) got an unexpected keyword argument 'foo'©Úmatchrr)Úfoo)ÚpytestÚraisesÚ    TypeErrorÚgroupby)Úselfr&ÚmsgrrrÚ!test_groupby_unsupported_argument1sz-TestRolling.test_groupby_unsupported_argumentcCs¢| d¡}t|dd}|j dd„¡}| d¡ ¡j}t ||¡| d¡j ¡}t ||¡|j d¡ ¡}t ||¡|j |j¡ d¡ ¡}t ||¡dS)Nr©ÚbycSs| d¡ ¡S)Nr©ÚrollingÚmean©ÚxrrrÚ<lambda>:óz*TestRolling.test_getitem.<locals>.<lambda>r)    r.r
rÚapplyr5r6ÚtmÚassert_series_equalr)r/r&ÚgÚ    g_mutatedÚexpectedÚresultrrrÚ test_getitem6s
    zTestRolling.test_getitemcCsd| d¡}|jddd}t|dd}|j dd„¡}|j ¡}t ||¡|j ¡}t ||¡dS)Nrrr©Ú min_periodsr2cSs|jddd ¡S)NrrrC)r5Úcountr7rrrr9Mr:z3TestRolling.test_getitem_multiple.<locals>.<lambda>)r.r5r
rr;rEr<r=)r/r&r>Úrr?r@rArrrÚtest_getitem_multipleHs
 
 
z!TestRolling.test_getitem_multipleÚfÚsumr6ÚminÚmaxrEÚkurtÚskewcsr|jddd}|jdd}t|ˆƒƒ}| ‡fdd„¡}|jddd    }t |dtd
ƒg¡}||_t     
||¡dS) NrF©Ú
group_keysé©Úwindowcst| d¡ˆƒƒS©NrP©Úgetattrr5r7©rHrrr9fr:z*TestRolling.test_rolling.<locals>.<lambda>r©Zaxisr!© r.r5rUr;ÚdroprÚ from_arraysÚrangeÚindexr<Úassert_frame_equal©r/rHr&r>rFrAr@Úexpected_indexrrVrÚ test_rollingUs   zTestRolling.test_rollingÚstdÚvarcsv|jddd}|jdd}t|ˆƒdd}| ‡fdd    „¡}|jddd
}t |dtd ƒg¡}||_t     
||¡dS) NrFrNrPrQr©Zddofcst| d¡ˆƒddS)NrPrrcrTr7rVrrr9tr:z/TestRolling.test_rolling_ddof.<locals>.<lambda>rWr!rXr^rrVrÚtest_rolling_ddofns zTestRolling.test_rolling_ddofÚ interpolationÚlinearÚlowerÚhigherÚmidpointÚnearestcst|jddd}|jdd}|jdˆd}| ‡fdd    „¡}|jdd
d }t |dtd ƒg¡}||_t     
||¡dS) NrFrNrPrQ皙™™™™Ù?©recs| d¡jdˆdS)NrPrkrl)r5Úquantiler7rlrrr9…r:z3TestRolling.test_rolling_quantile.<locals>.<lambda>rrWr!) r.r5rmr;rYrrZr[r\r<r])r/rer&r>rFrAr@r_rrlrÚtest_rolling_quantile|s 
ÿz!TestRolling.test_rolling_quantilezf, expected_valÚcorrrÚcovçà?c
Csôttdƒdgddgddddddgddœƒ dd    g¡}ttdƒdddddgd
œƒ d    ¡}t|jd d  d¡|ƒ|ƒ}tjg|gdd}t|d gtj    dgddgddgddgdt
tddƒƒdgddd    gdd}t   ||¡dS)Né
rérrrP)ÚvalueÚidx1Úidx2rurv)rtrvr©Úlevelrté©Únames©Úcolumnsr\) rr[Ú    set_indexrUr.r5r$ÚnanrrZÚlistr<r])r/rHZ expected_valÚdfÚotherrAÚ expected_datar@rrrÚ/test_rolling_corr_cov_other_same_size_as_groupsŽs,,ÿþÿýúý z;TestRolling.test_rolling_corr_cov_other_same_size_as_groupscsVˆ d¡}|jdd}t|ˆƒˆƒ}‡‡fdd„}| |¡}tj|d<t ||¡dS)NrrPrQcst| d¡ˆƒˆƒSrSrTr7©rHr&rrÚfunc®szITestRolling.test_rolling_corr_cov_other_diff_size_as_groups.<locals>.func)r.r5rUr;r$rr<r]©r/rHr&r>rFrAr†r@rr…rÚ/test_rolling_corr_cov_other_diff_size_as_groups§s
 
 
z;TestRolling.test_rolling_corr_cov_other_diff_size_as_groupscsN| d¡}|jdd}t|jˆƒdd}‡fdd„}| |¡}t ||¡dS)NrrPrQT©Úpairwisecst|j d¡ˆƒddS)NrPTr‰)rUrr5r7rVrrr†¾sz8TestRolling.test_rolling_corr_cov_pairwise.<locals>.func)r.r5rUrr;r<r=r‡rrVrÚtest_rolling_corr_cov_pairwise·s 
 
z*TestRolling.test_rolling_corr_cov_pairwisezfunc, expected_valuesçð?ç@c Cs¾tddddgddddgddddgdœƒ}| d    ¡ d
¡}t||ƒƒ}tdtjg|ddtjgdtjg|ddtjgd œtjd d ddddddgd    ddgdd}t     ||¡dS)NÚg1Úg2rrrryrP©r r r r r)r r )rŽrr )rŽrr )rŽrr )rŽrr )rŽrr )rŽrr )rrr )rrr rz©r\)
rr.r5rUr$rrÚ from_tuplesr<r])r/r†Zexpected_valuesrZrolrAr@rrrÚtest_rolling_corr_cov_unorderedÄs4
 
 
ýÿ þø
õûz+TestRolling.test_rolling_corr_cov_unorderedcsx|jddd}|jdd}|jdd„ˆd}| ‡fd    d„¡}|jdd
d }t |dtd ƒg¡}||_t     ||¡dS) NrFrNrPrQcSs| ¡S©N©rIr7rrrr9ír:z0TestRolling.test_rolling_apply.<locals>.<lambda>©Úrawcs| d¡jdd„ˆdS)NrPcSs| ¡Sr”r•©Úyrrrr9îr:zBTestRolling.test_rolling_apply.<locals>.<lambda>.<locals>.<lambda>r–)r5r;r7r–rrr9îr:rrWr!)
r.r5r;rYrrZr[r\r<r])r/r—r&r>rFrAr@r_rr–rÚtest_rolling_applyès zTestRolling.test_rolling_applycCs®tdgddgddgddœƒ}| d¡}t dd    d
d d d g¡}ddg|_ttjddgddg|d}|jdd ¡}t     
||¡| ¡|jdd ¡}t     
||¡dS)Nr*rÚbarrryr"r)r›r)r›rP)r›rs)r*r)r*r)r*rç@rrr|rQ) rr.rr’r{r$rr5rIr<r])r/rr>Úmir@rArrrÚtest_rolling_apply_mutabilityös$
ÿ
 z)TestRolling.test_rolling_apply_mutabilityzexpected_value,raw_valueTçFcCspdd„}tdddgdddgdœƒ}| d¡j d¡j||d}t|gdtjd    ddgd
d d }t     ||¡dS) NcSstt|tjƒƒSr”)ÚintÚ
isinstancer$Zndarrayr7rrrÚ isnumpyarraysz6TestRolling.test_groupby_rolling.<locals>.isnumpyarrayrrr)Úidrtr£r–)©rr©rr©rrrzrt©r\Úname)
rr.rtr5r;rrr’r<r=)r/Zexpected_valueZ    raw_valuer¢rrAr@rrrÚtest_groupby_rolling sýz TestRolling.test_groupby_rollingc Csžttddƒƒ}| |¡jddd ¡}ttjgdt d¡d}t     
||¡ttddƒƒ}| |¡jddd ¡}ttjgd    t d
¡d}t     
||¡t d gdd gdtd ƒdœƒ}| d ¡jddd ¡}t tjdddtjtjddddtjg tjdd dgdd gd}t      ||¡t d gdd gdtdƒdœƒ}| d ¡jddd ¡}t tjdddtjtjdddtjg
tjdd dgdd gd}t      ||¡dS)NrryTr)ÚcenterrRrs)r¤©rr©rr©rPr)rsrPr‘rP)r¤r«r¬r­r r é ©r r rér é    ) ©r r©r r©r r©r r©r rP©r rs©r ry©r r°©r r ©r r±)r rrrz)r\r}rr)
r²r³r´rµr¶r·r¸r¹rºr») rr[r.r5r6r$rrr’r<r=rr])r/ZseriesrAr@rrrrÚ"test_groupby_rolling_center_centersH
þ 
þ "  òî " óïz.TestRolling.test_groupby_rolling_center_centercCsîttddƒdgddgdtdƒdœd    }| d
¡jdd d d dj ¡}tddddddddddg
dtj    dt
dƒfdt
dƒfdt
dƒfdt
dƒfdt
dƒfdt
dƒfdt
dƒfdt
dƒfdt
dƒfdt
dƒff
d
d gd d!}t   ||¡dS)"NrrÚgroup_1ryÚgroup_2rPrr)ÚDateÚgbrt)ÚdatarÀr¿Tr)ÚonrªrDrŒçø?rœg@ç@g @ç@ç@rtrrrz
2020-01-05z
2020-01-06z
2020-01-07z
2020-01-08z
2020-01-09rz©r¨r\) rrr[r.r5rtr6rrr’rr<r=©r/rrAr@rrrÚtest_groupby_rolling_center_on^s@ýÿ
ÿ
ÿ
 
 
 
 
 
 
 
 
 
ö óýz*TestRolling.test_groupby_rolling_center_onrDrsrPrc
Csòtdgddgdtdƒdœƒ}d}| d¡j|d|d     ¡}| ¡dd
g}d d d dddddddg
}dd„|Dƒ}td|dƒ}tjg|}|||d|…|}    |||d|…|}
tdgddgd|    |
dœƒ} t     
|| ¡dS)Nrrrrr)ÚgrouprÁrsrÊT)rªrDrÁrŒrÃrœrÄrç@g@rÅrÆç @cSsg|] }|d‘qS)g$@r©Ú.0r8rrrÚ
<listcomp>szGTestRolling.test_groupby_rolling_center_min_periods.<locals>.<listcomp>rr) rr[r.r5r6Z reset_indexrKr$rr<r]) r/rDrÚ window_sizerAZ
grp_A_meanZ
grp_B_meanZnum_nansZnansZgrp_A_expectedZgrp_B_expectedr@rrrÚ'test_groupby_rolling_center_min_periodss&"
ÿÿ ÿz3TestRolling.test_groupby_rolling_center_min_periodscCsÌtddddgddddgdd    d
d    gd œƒ}| d ¡d g d¡ ¡}ttjtjdtjgd gtjdd dgdd}t     ||¡| d ¡d  d¡ ¡}t
tjtjdtjgtjdd dgdd d}t  ||¡dS)NrrrrrœrÄrŒrrrérr r )r¤r«©rrr¬rzr|r§) rr.r5rKr$rrr’r<r]rr=rÈrrrÚtest_groupby_subselect_rollingœs."ÿÿý ÿûz*TestRolling.test_groupby_subselect_rollingcCs’Gdd„dtƒ}tddddddgd    id
gd d gd d gd d}| |j¡j|d    dd d ¡}| |j¡jd    d d ¡}t ||¡dS)Nc@seZdZddd„ZdS)zFTestRolling.test_groupby_rolling_custom_indexer.<locals>.SimpleIndexerrNcSsH|dkr|jnd}tj|tjdd}| ¡|j}|||dk<||fS)Nr©Údtyper)rÐr$r%Úint64Úcopy)r/Z
num_valuesrDrªÚclosedÚstepÚendÚstartrrrÚget_window_bounds¸s
 zXTestRolling.test_groupby_rolling_custom_indexer.<locals>.SimpleIndexer.get_window_bounds)rNNNN)Ú__name__Ú
__module__Ú __qualname__rÝrrrrÚ SimpleIndexer·s úrár rŒrœrÄrrËrrrsrrr‘)rÐrC©rRrD)r    rr.r\r5rIr<r])r/rárrAr@rrrÚ#test_groupby_rolling_custom_indexerµsÿ ÿÿz/TestRolling.test_groupby_rolling_custom_indexercCs¦ttdƒtdƒdddgtdƒgddœƒ}| d¡jdd    d
d d  ¡}ttjd dtjddgt    j
dtdƒfgddtdƒfgddd    gdd d}t   ||¡dS)Nryrrrú
2019-01-01©Úcolumn1Zcolumn2rÊÚdaterÊÚ1DrçÚleft©rÂrÙrærŸrœrŒrrzr§© rr[rr.r5rIrr$rrr’r<r=rÈrrrÚ'test_groupby_rolling_subset_with_closedÑs(
 üÿ    ÿÿýù    z3TestRolling.test_groupby_rolling_subset_with_closedcCs®ttdƒtdƒdddgtdƒgddœƒ}| d¡dd    gjd
d    d d d ¡}ttjd dtjddgt    j
dtdƒfgddtdƒfgddd    gddd}t   ||¡dS)NryrrrrärårÊrærçrèrérêrŸrœrŒrrzr§rërÈrrrÚ.test_groupby_subset_rolling_subset_with_closedés4
 üÿ
ÿÿÿÿýù    z:TestRolling.test_groupby_subset_rolling_subset_with_closedr†cCs~tdddgtjdddgddgdd    d
}t| |¡ d¡|ƒƒ}ttjtjd gtjd d dgd    ddgdd    d
}t     ||¡dS)Nrr)r r8)r r™)r ÚzÚ1Ú2rzr r§rœ)rr r8)rr r™)rr rî)
rrr’rUr.r5r$rr<r=)r/r†ZdsrAr@rrrÚ"test_groupby_rolling_index_changeds$ÿû ÿûz.TestRolling.test_groupby_rolling_index_changedcCsÞtdgiƒ}| d¡jdd ¡}|jdd}tjtgddtgddgddgd|_t     
||¡tggd    œƒ}| dd
g¡jdd ¡}|jdd
gd}tjtgddtgddtgddgdd
dgd|_t     
||¡dS) NÚs1rrQ©r}Úfloat64rÕr×rz)ròÚs2rõ) rr.r5rIrYrZ from_productrr\r<r])r/r@rArrrÚ test_groupby_rolling_empty_frames&  ÿ 
 
 
ýúz,TestRolling.test_groupby_rolling_empty_framec Cs6tddtddddƒgddtddddƒgdd    tddd
dƒgd dtddd dƒgd d    tddddƒggdddgd d¡}| d¡}| ¡|d<|jddd}| dd„¡}tddtddddƒdgddtddddƒdgd dtddd dƒdgdd    tddd
dƒdgd d    tddddƒdggddddgd ddg¡}t ||¡dS)Nrr½éãrr±rrÚZr¾rÚHryÚErr\rÊZ    eventTimeróZ count_to_dateZ10d©rÂcSs
|jdS)Nr)Úshape©rrrrr9Dr:z?TestRolling.test_groupby_rolling_string_index.<locals>.<lambda>rŒrœrÄ)    rrr~r.Zcumcountr5r;r<r])r/rÚgroupsZrolling_groupsrAr@rrrÚ!test_groupby_rolling_string_index4s6ûø    ÷
 û
ø    ÷
z-TestRolling.test_groupby_rolling_string_indexcCs|tddgddgdœƒjddd d¡ ¡}tt ddgddgg¡dd    gtjd
d gddgd d }|jdd}t     
||¡dS)Nrr)r*r›r*F)ÚsortrœrŒr›)rrr¥rzr|ró) rr.r5rJr$Úarrayrr’rYr<r])r/rAr@rrrÚtest_groupby_rolling_no_sortQsÿþÿý z(TestRolling.test_groupby_rolling_no_sortc CsÀttdƒtdƒdddgtddddœƒ}| d¡jd    d
d d d  ¡}ttjddtjddgd t    j
dt dƒfdt dƒfdt dƒfdt dƒfdt dƒfdt dƒfgdd
gdd}t   ||¡dS)NryrrrZ20190101)rÛÚperiodsrårÊZ3drçrérêrærŒz
2018-12-27z
2018-12-29z
2018-12-31z
2018-12-28z
2018-12-30rärzrÇ)rr[rr.r5rErr$rrr’rr<r=rÈrrrÚ$test_groupby_rolling_count_closed_onbs<
 
üÿ    
ÿÿÿ
 
 
 
 
 
ú÷ýz0TestRolling.test_groupby_rolling_count_closed_on)r†Úkwargsr5rrâÚ    expandingcCs¤tddgddgddgddgddggddgd}t| d¡|ƒf|Ž ¡}ttjgdtjdtjddgd    œtjd
d d d dgddgdd}|jdd}t     
||¡dS)Nr rrr rrórsgÿ••&¥ æ?r¯r²r³)r r)r r©r rPrzr‘) rrUr.Zsemr$rrr’rYr<r])r/r†rrrAr@rrrÚtest_groupby_rolling_sem‚s ÿ ÿþ z$TestRolling.test_groupby_rolling_sem)ÚrollingsÚkeyrÂr Nr\c    Cspttddtjgƒdddgdddgdœƒ}|dkr:| d¡}tjt|›d    d
| d ¡j    d |ŽW5QRXdS)Nz2020-06-01 12:00z2020-06-01 14:00rrrrr\r z values must not have NaTr(r Ú60min)r )
rrr$rr~r+r,Ú
ValueErrorr.r5)r/r    r
rrrrÚ"test_groupby_rolling_nans_in_index–sýÿ
z.TestRolling.test_groupby_rolling_nans_in_indexrOcCsŠdddgdddgg}tj|dd}tdddg|d}|jd    d
g|d  d¡ ¡}td d dgtjdddgd    d
d    d
gdd}t ||¡dS)NÚval1Úval2©rurvrzrrrr‘rurvrNrŒrœrÄ)rrrr)rrrr)    rrZrr.r5r6r’r<r=)r/rOÚarraysr\ÚsrAr@rrrÚtest_groupby_rolling_group_keys§sý
úþ z+TestRolling.test_groupby_rolling_group_keyscCs”dddgdddgg}tj|dd}tdddgtdƒdœ|d    }| d
d g¡ d¡ ¡}td d ddgitjdddgd
d d
dgdd    }t     ||¡dS)Nrrrrzrrrr"r‘rurrrŸrŒrœ)rrrr)rrrrrv)
rrZrr[r.r5r6r’r<r]©r/rr\rrAr@rrrÚ1test_groupby_rolling_index_level_and_column_label¾s ý
úþ z=TestRolling.test_groupby_rolling_index_level_and_column_labelc    Csdtt d¡ddgddœƒ}| d¡ d¡ ¡}tjdd    d
d d d ddgddgd}t     |j
|¡dS)NrÌrrrPr¯r rr¤r¦)rrP)rryr«rÓ)rrs)rr°rz) rr$r%r.r5r6rr’r<Úassert_index_equalr\©r/rrAr_rrrÚ)test_groupby_rolling_resulting_multiindexÒsþz5TestRolling.test_groupby_rolling_resulting_multiindexc Cs€tt d¡ddgdddddgddœƒ}| dd    g¡ d¡ ¡}tjd
d d d ddddddddg dd    dgd}t     |j
|¡dS)Ng(@rrryrrPrr r )rrr)rrrP)rrr )rrr)rrry)rrrr)rrr)rrrs)rrr±)rrPr)rrPr°)rrPr®rz) rr$r%r.r5rIrr’r<rr\rrrrÚ*test_groupby_rolling_resulting_multiindex2ßs&*ôñz6TestRolling.test_groupby_rolling_resulting_multiindex2c    Cs†tt d¡ddgdddddgddœƒ}|jddd    }| d
¡ d¡ ¡}tjd d d dddddgd
ddgd}t    j
|j |dddS)NrÌrrrPrrr T)Úappendr )rrr)rrr)rrPr)rryr)rrr)rrrP)rrsr)rr°rPrzÚequiv)Úexact) rr$r%r~r.r5r6rr’r<rr\rrrrÚ*test_groupby_rolling_resulting_multiindex3ös *ø
õ z6TestRolling.test_groupby_rolling_resulting_multiindex3cCsJ|jddd}| dd„¡j}|jdd}| dd„¡j}t ||¡dS)    NrFrNcSs| d¡ ¡SrS©r5rIr7rrrr9 r:zUTestRolling.test_groupby_rolling_object_doesnt_affect_groupby_apply.<locals>.<lambda>rPrQcSs| d¡ ¡SrSrr7rrrr9r:)r.r;r\r5r<r)r/r&r>r@Ú_rArrrÚ7test_groupby_rolling_object_doesnt_affect_groupby_apply
s
 zCTestRolling.test_groupby_rolling_object_doesnt_affect_groupby_apply)rRrDrÙr@rréÚrightrËc Cs´tddddddddgƒ}| ddddddddg¡j|||d     d
¡}ttj|d d tt ddg¡d
dddddddggd
d
d
d
ddddgd
dddddddggd d}t ||¡dS)NrrrrPrsryr°r )rRrDrÙrrôrÕ)ÚlevelsÚcodesr‘)    rr.r5rbr$rrr<r])r/rRrDrÙr@rrAZexpected_resultrrrÚtest_groupby_rolling_vars"
ÿþÿ  &þþz$TestRolling.test_groupby_rolling_varr})rÚ)rrrrcCs|tddggdddggdddggd|d}| d    ¡}|jjd
d }| d ¡}| ¡}d    |jksjt‚t     |j|¡dS) Nrrrrrrr rórT)ÚdeeprP)
rr.ÚobjrØr5rIr}ÚAssertionErrorr<r])r/r}rr>Z original_objrFrArrrÚtest_by_column_not_in_values+s2
 
z(TestRolling.test_by_column_not_in_valuescCsšddddgddddgg}tj|dd}tddd    d
d gi|d }|jd dd d¡ ¡}ttjdtjdgtj    ddddgdddgddd}t
  ||¡dS)NÚFalconÚParrotÚCaptiveÚWild)ÚAnimalÚTyperzz    Max Speedg`x@gàu@g>@g4@r‘rrwrg ‡@gI@)r*r*r,)r*r*r-)r+r+r,)r+r+r-r.r/r§) rrZrr.r5rIrr$rr’r<r=rrrrÚtest_groupby_level8s&
 
þüù    õ zTestRolling.test_groupby_levelzby, expected_datar£ÚnumçY@çÀb@çi@ú
2018-01-01ú
2018-01-02ç@o@)rçr1cs¸dddgdddgdddgdddgg}t|d    d
d gd ‰tˆd
ƒˆd
<ˆ d
g¡‰‡fd d„|Dƒ}ˆj|ddjddd ¡}d    ddddgi}| |¡t|ˆjd}t     ||¡dS)Nrr5r2r6r4rr3r7r£rçr1rócsg|]}tˆ|ƒ‘qSr)rU)rÎÚattrrýrrrÏnsz3TestRolling.test_as_index_false.<locals>.<listcomp>F)Zas_indexrrrâr‘)
rrr~r.r5r6Úupdater\r<r])r/r3rƒrÁZgp_byrAr@rrýrÚtest_as_index_falsePs$ü ÿ
þzTestRolling.test_as_index_falsec
CsÎt |¡j}d}t |dƒ|¡}d|d<d}t ||¡}tj|d<d|d<t||dœƒ d¡}| d¡djd    dd
     ¡}t
|dt   t dgd dg|dd t dgd dg|dd g¡d }    t ||    ¡dS)Néèrréÿÿÿÿg52·ô­DE)r\Úadl2r\r=rrrâiç)rÖr¨rÇ)r$rÖÚtypeÚrepeatrrr~r.r5r6rrrZrr<r=)
r/Zany_int_numpy_dtypeÚtypÚsizeÚidxÚvalZarrrrAr@rrrÚtest_nan_and_zero_endpoints{s4  
þÿûþÿý
z'TestRolling.test_nan_and_zero_endpointsc    sXddddg}d‰t‡fdd„|Dƒƒ}tjtdd    | d
¡jd d d W5QRXdS)Nrrrrr;cs(g|] }td|ˆƒ|dddœ‘qS)rré*)Útr8r ©rrÍ©ÚsecrrrÏ szBTestRolling.test_groupby_rolling_non_monotonic.<locals>.<listcomp>z.* must be monotonicr(r rFZ3s)rÂrR)rr+r,r r.r5)r/ZshuffledrrrHrÚ"test_groupby_rolling_non_monotonicšs ÿz.TestRolling.test_groupby_rolling_non_monotonicc CsÆdddgdddgdddgdddgd    d
dgd    d dgd    d dgd ddgd ddgd ddgg
}t|dddgd}t|dƒ|d<| d¡}| d¡ d¡ dd„¡}| d¡jdddd ¡}t     ||¡dS)NZDavidz1/1/2015édz1/5/2015iôz    5/30/2015é2z    7/25/2015ZRyanz1/4/2014z    1/19/2015z    3/31/2016ZJoez7/1/2015z9/9/2015z
10/15/2015r¨rçÚamount)rÁr}cSs| d¡d ¡S)NÚ180DrMrr7rrrr9Àr:z4TestRolling.test_groupby_monotonic.<locals>.<lambda>rNrû)
rrZ sort_valuesr~r.r;r5rIr<r=)r/rÁrr@rArrrÚtest_groupby_monotonic¥s,ö 
 
ÿþÿz"TestRolling.test_groupby_monotoniccCsŒtdddd}tdgddgddgd    t ||f¡t d
¡d œƒ}| d ¡ d ¡ dd„¡}| d ¡jdd dj     
¡}t   ||¡dS)Nz2016-01-01 09:30:00rr)rÜrÚfreqrrrrr r!rrrcSs| d¡d ¡S)NÚ4srr4r7rrrr9Õr:zJTestRolling.test_datelike_on_monotonic_within_each_group.<locals>.<lambda>rQrû) rrr$Z concatenater%r~r.r;r5rr6r<r=)r/Údatesrr@rArrrÚ,test_datelike_on_monotonic_within_each_groupÅs ýÿ    ÿz8TestRolling.test_datelike_on_monotonic_within_each_groupc    Csdtdgddgddd„dDƒdtdƒdœƒ}tjtd    d
| d ¡jd d dW5QRXdS)NrrrcSsg|]}t|ddƒ‘qS)rrG)rÎÚyearrrrrÏßszPTestRolling.test_datelike_on_not_monotonic_within_each_group.<locals>.<listcomp>)iäiår÷ryrz&Each group within B must be monotonic.r(rZ365Drrû)rr[r+r,r r.r5)r/rrrrÚ0test_datelike_on_not_monotonic_within_each_groupÚsýÿz<TestRolling.test_datelike_on_not_monotonic_within_each_group)3rÞrßràr1rBrGr+ÚmarkÚ parametrizer`rdrnr„rˆr‹r“ršržr©r¼rÉrÑrÔrãrìrírñrörÿrrrr rrrrrr r$rr’r)r0rr:rDrJrOrSrUrrrrr'0sÎ ùþ
 
 ÿ
 
 
 
&þ
 
A#
 
 þ
ÿ
 
 üþ    
ÿ
 
ü
ùþþþ
  r'c
@sšeZdZejdd„ƒZej ddddddd    d
g¡d d „ƒZej dd dg¡dd„ƒZ    ej ddddddg¡dd„ƒZ
ej dddg¡dd„ƒZ dd„Z dS) Ú TestExpandingcCs.tdgddgddgdt d¡dœƒSrr#)r/rrrÚframeèszTestExpanding.framerHrIr6rJrKrErLrMcsn|jddd}| ¡}t|ˆƒƒ}| ‡fdd„¡}|jddd}t |dtdƒg¡}||_t     
||¡dS)    NrFrNcst| ¡ˆƒƒSr”©rUrr7rVrrr9ôr:z.TestExpanding.test_expanding.<locals>.<lambda>rrWr!© r.rrUr;rYrrZr[r\r<r]©r/rHrYr>rFrAr@r_rrVrÚtest_expandingìs zTestExpanding.test_expandingrarbcsr|jddd}| ¡}t|ˆƒdd}| ‡fdd„¡}|jddd    }t |dtd
ƒg¡}||_t     
||¡dS) NrFrNrrccst| ¡ˆƒddS)NrrcrZr7rVrrr9r:z3TestExpanding.test_expanding_ddof.<locals>.<lambda>rrWr!r[r\rrVrÚtest_expanding_ddofüsz!TestExpanding.test_expanding_ddofrerfrgrhrirjcsp|jddd}| ¡}|jdˆd}| ‡fdd„¡}|jddd    }t |dtd
ƒg¡}||_t     
||¡dS) NrFrNrkrlcs| ¡jdˆdS)Nrkrl)rrmr7rlrrr9r:z7TestExpanding.test_expanding_quantile.<locals>.<lambda>rrWr!) r.rrmr;rYrrZr[r\r<r])r/rerYr>rFrAr@r_rrlrÚtest_expanding_quantile
s
ÿz%TestExpanding.test_expanding_quantilerorpc
s²ˆ d¡}| ¡}t|ˆƒˆƒ}‡‡fdd„}| |¡}ttddƒƒttddƒƒ}tj|j|df<tj|d<t     
||¡t|j ˆƒd    d
}‡fd d „}    | |    ¡}t      ||¡dS) Nrcst| ¡ˆƒˆƒSr”rZr7©rHrYrrÚfunc_0#sz5TestExpanding.test_expanding_corr_cov.<locals>.func_0ré=éHéqrTr‰cst|j ¡ˆƒddS)NTr‰)rUrrr7rVrrÚfunc_12sz5TestExpanding.test_expanding_corr_cov.<locals>.func_1) r.rrUr;r€r[r$rZilocr<r]rr=)
r/rHrYr>rFrArar@Znull_idxrerr`rÚtest_expanding_corr_covs
 
 
 
z%TestExpanding.test_expanding_corr_covcst|jddd}| ¡}|jdd„ˆd}| ‡fdd„¡}|jddd    }t |dtd
ƒg¡}||_t     ||¡dS) NrFrNcSs| ¡Sr”r•r7rrrr9=r:z4TestExpanding.test_expanding_apply.<locals>.<lambda>r–cs| ¡jdd„ˆdS)NcSs| ¡Sr”r•r˜rrrr9>r:zFTestExpanding.test_expanding_apply.<locals>.<lambda>.<locals>.<lambda>r–)rr;r7r–rrr9>r:rrWr!)
r.rr;rYrrZr[r\r<r])r/r—rYr>rFrAr@r_rr–rÚtest_expanding_apply8sz"TestExpanding.test_expanding_applyN) rÞrßràr+ÚfixturerYrVrWr]r^r_rfrgrrrrrXçs"
ÿ
 
 ÿ
 
rXc
@sžeZdZej ddddddggdejdd    d
ggd ejd d dggg¡dd„ƒZej ddejdddggdejd ddggg¡dd„ƒZ    dd„Z
dd„Z dd„Z dS) ÚTestEWMzmethod, expected_datar6rŸgUUUUUUå?g·mÛ¶mÛö?g""""""@rag»¹øÛž æ?g¦€´ÿÖî?gët ë©Õò?rbrqgnÛ¶mÛ¶í?g¾â+¾â+ö?cCshtdgdtdƒdœƒ}t| d¡jdd|ƒƒ}td|itjdd    d
d gddgd d }t ||¡dS)Nr rPr"rrŒ©Úcomrr²r³r´rµrzr‘)    rr[rUr.Úewmrr’r<r]©r/ÚmethodrƒrrAr@rrrÚ test_methodsHs
üùþ zTestEWM.test_methodsrorŒrrpgÒr ‡Ú¶í?gß¿yqâ+ö?csŽtdgdtdƒdœƒ}t| d¡jddˆƒƒ}td|itjdd    d
d gdddgd d }t ||¡| d¡     ‡fdd„¡}t ||¡dS)Nr rPr"rrŒrjr)r rr)r rr)r rr)r rrrzr‘cst|jddˆƒƒS)NrŒrj)rUrlr7©rnrrr9xr:z/TestEWM.test_pairwise_methods.<locals>.<lambda>)
rr[rUr.rlrr’r<r]r;rmrrprÚtest_pairwise_methodsbs üùþ zTestEWM.test_pairwise_methodsc Cs|d}| d¡}| d¡j||d ¡}tddddd    dd
d dd d g
itjddddddddddg
ddgdd}t ||¡dS)Nú23 daysrr©ÚhalflifeÚtimesrrŸgCusñ·=à?g;¬pËGRð?gÀZµkBšø?gÕ>(â?g8KÉrŠó?gÒ§Uô‡æä?gAó9w»ó?r²rµ)r ry)r r±)r rrr¹)r r)r rs)r r rzr‘)    Úpopr.rlr6rrr’r<r])r/rrtrurAr@rrrÚ
test_times{sB
öÿö óñzTestEWM.test_timescCsNd}| d¡}| d¡}|j||d ¡}|j||jd ¡}t ||¡dS)Nrrrrrs)rvr.rlr6Úvaluesr<r])r/rrtrurÀrAr@rrrÚtest_times_array¢s 
 
zTestEWM.test_times_arrayc    Cstdddddgtddddtdƒdœƒ}| d¡jd    d
d }| ¡}ttddddd gdd œtjdddddgttdƒƒgddgdd}t     
||¡|d ¡}t d gdtjdddddgtddddgdd
gddd}t      ||¡| ¡}t     
||¡dS)Nr r z2021-9-1rsrù)rrP)r£Ú    timestampr™r£Z1HrzrûrŒ)rzr™rzr‘r™r§) rrr[r.r5rErrZr€r<r]rr=)r/rÚgrprAZ expected_dfZexpected_seriesrrrÚ"test_dont_mutate_obj_after_slicing«s@  ýÿ þÿû        þû÷ z*TestEWM.test_dont_mutate_obj_after_slicingN) rÞrßràr+rVrWr$rrorqrwryr|rrrrriGs ýþ
"þ
'    ri)Únumpyr$r+ZpandasrrrrrrrZpandas._testingZ_testingr<Zpandas.api.indexersr    Zpandas.core.groupby.groupbyr
rhrr&r'rXrirrrrÚ<module>s&$       
 
>`