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
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
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
U
®ý°d˜íã@s2ddlmZmZddlZddlZddlmZmZmZddl    m
Z
m Z m Z m Z mZmZmZmZmZmZddlmZddlmZddlmZddlmZdd    „Zd
d „Zej  d d de !dg¡g¡dd„ƒZ"ej  deddedddeedddedƒdg¡dd„ƒZ#ej  dddg¡d d!„ƒZ$ej  deddeddg¡d"d#„ƒZ%ej  deddedddg¡d$d%„ƒZ&d&d'„Z'ej  d(d)d*d*d+d+d+gd*d*d*d+d+gd+d*d*d*d+gd+d+d*d*d*gd+d+d+d*d*ggfd,d*d+d+d+d+gd*d*d+d+d+gd+d*d*d+d+gd+d+d*d*d+gd+d+d+d*d*ggfd-d*d*d+d+d+gd+d*d*d+d+gd+d+d*d*d+gd+d+d+d*d*gd+d+d+d+d*ggfd.d*d+d+d+d+gd+d*d+d+d+gd+d+d*d+d+gd+d+d+d*d+gd+d+d+d+d*ggfg¡d/d0„ƒZ(ej  d1d2d-d3d3d3gfd2d)d3d3d3gfd2d,d3d3d3gfd2d.d3d3d3gfd4d-d3d d gfd4d)d3d3d3gfd4d,d5d3d3gfd4d.d5d d gfg¡d6d7„ƒZ)ej  d1d8d-d9d9d9d9d9d9ddgfd8d,ddd9d9d9d9d9d9gfd8d)d9d9d:d:d:d:d9d9gfd8d.ddddddddgfg¡d;d<„ƒZ*d=d>„Z+d?d@„Z,ej  dAd.d,g¡dBdC„ƒZ-ej  dDdEdFg¡dGdH„ƒZ.ej  dDdEdFg¡dIdJ„ƒZ/ej  dKdLdMg¡ej  dNdEd-dOdddddd9dd:dPg
fdEd)dOddddddd9dd:g
fdEd.ej0dddddd9dd:dPg
fdEd,ej0ddddddd9dd:g
fdFd-dOdddd9dd:dPdQdRg
fdFd)dOdddd9dd:dPdQdRg
fdFd.ej0ddddd9dd:dPdQg
fdFd,ej0ddddd9dd:dPdQg
fg¡dSdT„ƒƒZ1dUdV„Z2ej  dNdEd-ej0dddddd9dej0ej0g
fdEd)ej0ddddddd9dej0g
fdEd.ej0ej0ddddd9dej0ej0g
fdEd,ej0ej0dddddd9dej0g
fdFd-ej0dddd9dd:d:ej0ej0g
fdFd)ej0dddd9dd:d:d:ej0g
fdFd.ej0ej0dddd9dd:ej0ej0g
fdFd,ej0ej0dddd9dd:d:ej0g
fg¡dWdX„ƒZ3ej  dYd-ddZdddd9dd:dPdQg
fd)ddZdd[d\d]d^d_d`dag
fd.ej0ddZd[d\d]d^d_d`dag
fd,ej0ddZdddd9dd:dPg
fg¡dbdc„ƒZ4ej  dddedg¡dfdg„ƒZ5dhdi„Z6djdk„Z7dldm„Z8dndo„Z9dpdq„Z:drds„Z;dtdu„Z<dvdw„Z=ej  dxd*dygdPdzgdRd{gd|gd}d~gdd€gddgdd‚gd}dƒgd„d…gd†dygdd…gdRd‚gd}d~gd:d‡gdˆgd:d‰gd}dŠgdd‹gdŒdˆgdd{gd}dzgd„d€gdPdˆgd9d‹gd9d~gd}dgd„dŠgddŽgddgdd{gd}d~gd„d‡gdPd‹gd€gdd~gdd‘gdfd+ej0gddygddzgdRd{gd|gd}d~gdd€gddgdd‚gd}dƒgd„d…gd†dygdd…gdRd‚gd}d~gd:d‡gdˆgd:d‰gd}dŠgdd‹gdŒdˆgdd{gd}dzgd„d€gdPdˆgd9d‹gd9d~gd}dgd„dŠgddŽgddgdd{gd}d~gd„d‡gdPd‹gd€gdd~gd’fg¡d“d”„ƒZ>d•d–„Z?d—d˜„Z@d™dš„ZAej  d›e
dddgd9dd:gdœœƒdgd9gdœœdgfddgd9dgdœœddgfdddgd9dd:gdœœdddgfgddfe
dddgd9dd:gdœœƒdgd9gdœœdgfddgd9dgdœœddgfddgdd:gdœœddgfgddfe
dddgd9dd:gdœœƒdgd9gdœœdgfddgd9dgdœœddgfddgdd:gdœœddgfgddfe
dddgd9dd:gdœœƒdgd9gdœœdgfdgdgdœœdgfdgd:gdœœdgfgddfe
dddgd9dd:gdœœƒdgd9gdœœdgfdgdgdœœdgfdgd:gdœœdgfgddfe
dgd9gdœœƒgddfe
dgd9gdœœƒgddfe
ƒigfgddfe
dej0dgej0dd:gdœœƒd5gej0gdœœdgfdej0gej0dgdœœddgfdej0dgej0dd:gdœœdddgfgddfg    ¡ddž„ƒZBej  dŸdgd9gdœœdgfddgd9dgdœœddgfddgdd:gdœœddgfgd8fdgd9gdœœdgfddgd9dgdœœddgfdddgd9dd:gdœœdddgfgdfdgd9gdœœdgfdgdgdœœdgfdgd:gdœœdgfgd fg¡d¡d¢„ƒZCd£d¤„ZDej  d¥e dddgƒdgdgfddgddgfdddgdddgfgddfe dddgƒdgdgfddgddgfdddgdddgfgddfe dddgƒdgdgfddgddgfddgddgfgddfe dddgƒdgdgfddgddgfddgddgfgddfe dddgƒdgdgfdgdgfdgdgfgddfe dddgƒdgdgfdgdgfdgdgfgddfe ddgƒdgdgfddgddgfgddfe gd¦d§gddfg¡d¨d©„ƒZEej  dªdgdgdgdgd9gged«dd¬d­ed®dd¬d­ed¯dd¬d­ed°dd¬d­ed±dd¬d­gd fdgddgddgddgdd9gged«dd¬d­ed«dd¬d­ed®dd¬d­ed¯dd¬d­ed°dd¬d­gd8fdgddgdddgdddgddd9gged«dd¬d­ed«dd¬d­ed«dd¬d­ed®dd¬d­ed¯dd¬d­gdfg¡d²d³„ƒZFej  d´dµdie jGd¶d¶d·d·d·gddgd¸fd¹dºie jGd¶d»d¼d½d¾gdºdgd¸fg¡d¿dÀ„ƒZHej  dÁdOd g¡dÂdăZIdÄdńZJdÆdDŽZKdÈdɄZLdÊd˄ZMej  dÌdÍdÎdÏdÐdÑg¡dÒdӄƒZNdÔdՄZOej  dÖd×ed؃edكg¡dÚdۄƒZPdÜd݄ZQej  dÞedßdàdádâdãfedßdädådâdæfg¡ej  dçdEej0dddddd9dd:g    fdFej0ddddd9dd:dPg    fdèej0dddddPdRdéd†g    fg¡dêd넃ƒZRdìdí„ZSejjTeƒreƒ peƒdîdïej  dðdñddòddZdZddgfdóddôddõdõdödgfdñddòdZddZddgfdóddôdõddõdödgfg¡d÷dø„ƒƒZUdùdú„ZVej  dûdñdèdüdýdþdEdFg¡dÿd„ƒZWej  d1d4d-d5d3dd3gfd4d,dOd5d3dgfd4d)d5d3ddgfd4d.dOd5d d3gfd2d-d5d3ddgfd2d,d5d3ddgfd2d)d5d3ddgfd2d.d5d3ddgfg¡dd„ƒZXej  ddd5d5d5d5gfdd d3d3d gfg¡dd    „ƒZYej  d
dñeZd ƒd eZd ƒd ddddgfdüeZd ƒdaeZd ƒdddddgfdèeZd ƒdeZd ƒd‹ddd‡dgfdýeZd ƒdeZd ƒdddddgfdþeZd ƒdeZd ƒd d!d"d#d$gfg¡d%d&„ƒZ[ej  dÞddddd9gdfed'd¬dd(d8fg¡d)d*„ƒZ\d+d,„Z]ej  dûdýdþg¡d-d.„ƒZ^ej  d/dýd d0dOd1gfdþd2d3d4d5gfg¡d6d7„ƒZ_d8d9„Z`ej  ddd:g¡d;d<„ƒZad=d>„Zbd?d@„Zcej  dAddBdCdCdDdEgfddFdFdGdHgfg¡dIdJ„ƒZddKdL„ZedMdN„ZfdOdP„ZgdQdR„Zhej  ddddŒd’g¡ej  dûdEdFdSg¡ej  dTd*d+g¡ej  dUd*d+g¡ej  dVdWdXdYg¡dZd[„ƒƒƒƒƒZid\d]„Zjej  d^dOd_d`dZdg¡ej  dadbdcdddedfg¡ej  dgd5d d3d2dddhgdid5d3d2dd ddhgdOej0djej0dkgej0ej0ej0ej0gej0d_ej0dldkdZgdZgej0dmdngg¡dodp„ƒƒƒZkdqdr„Zldsdt„Zmdudv„Zndwdx„Zodydz„Zpd{d|„Zqej  d}dd~dgd’dŒdŒejrddddgddej0d€ddd‚ddƒdggd’dŒdŒej0dŒdddgddej0d€dddd‚d„dggej0dd:dPdddgddej0gdddd…dggddPdPdPej0ejrd9dddg
ddej0gdd…dgej0gd9dƒdggddPdPdPej0ejrdPdddg
ddej0gdd…dgej0gd9d†dggddPgd9ddej0gdd…gd:gddPdej0dPddPgddej0dd…gdgdd…ggg¡d‡dˆ„ƒZsd‰dŠ„Ztd‹dŒ„ZuddŽ„Zvej  dddg¡ej  dd*d+g¡d‘d’„ƒƒZwej  d“exeyg¡d”d•„ƒZzej  dddg¡ej  dd*d+g¡ej  d“exeyg¡d–d—„ƒƒƒZ{dS(˜é)ÚdatetimeÚ    timedeltaN)Úis_platform_armÚis_platform_macÚis_platform_power)
Ú    DataFrameÚ DatetimeIndexÚ
MultiIndexÚSeriesÚ    TimedeltaÚ    TimestampÚ
date_rangeÚ period_rangeÚ to_datetimeÚ to_timedelta)Ú BaseIndexer)ÚVariableOffsetWindowIndexer)Ú BusinessDaycCs@tddddtjdgiƒ}|| d¡ ¡|jddd ¡dS)NÚBrééé©Ú min_periods)rÚnpÚnanÚrollingÚsum©Údf©r úWd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/window/test_rolling.pyÚtest_doc_string"sr"c    Csr|tdƒƒj}|dƒ|dd|ddd|dddd|ddd    dd
}tjt|d |d ƒW5QRXdS) Nérr©Úwindowr©r%rT©r%rÚcenterFz&window must be an integer 0 or greater©Úmatchéÿÿÿÿ)ÚrangerÚpytestÚraisesÚ
ValueError)Úframe_or_seriesÚcÚmsgr r r!Útest_constructor)s
 r3Úwç@Úfoorc    Csš|tdƒƒj}d ddg¡}tjt|d||dW5QRXd}tjt|d|d|d    W5QRXd
}tjt|d|dd |d W5QRXdS) Nr#ú|zwindow must be an integerz=passed window foo is not compatible with a datetimelike indexr)r$zmin_periods must be an integerrr&zcenter must be a booleanrr')r,rÚjoinr-r.r/)r0r4r1r2r r r!Útest_invalid_constructor=sþÿr9r%é)ÚdaysÚ3Dz
2015-12-25r#©Úperiodsr)ÚindexÚoffsetc    CsHtt d¡tddddd}tjtdd|jdd    d
W5QRXdS) Né
ú
2015-12-24ÚD©r>Úfreq©r?z,step is not supported with frequency windowsr)r<r:©Ústep)rrÚaranger r-r.ÚNotImplementedErrorr)r%rr r r!Ú test_freq_window_not_implementedUs  þÿrKÚaggÚcovÚcorrc    Cs@ttdƒƒjddd}tjtddt||ƒƒW5QRXdS)NrrrGzstep not implementedr))rr,rr-r.rJÚgetattr)rLÚrollr r r!Ú&test_step_not_implemented_for_cov_corrlsrQcCs’d}tdt |¡itd|ddd}t ddgt d    d
d ¡¡}|j|d  ¡}td|itd|ddd}t ||¡| d ¡ ¡}t ||¡dS)NrAÚvaluerBrCrDrFççð?ç@ç;@r:r$r<)    rrrIr ÚappendrrÚtmÚassert_frame_equal)r%ÚnrÚ expected_dataÚresultÚexpectedr r r!Ú&test_constructor_with_timedelta_windowts  þ þ r^c
Csœd}tdt |¡itd|ddd}tdt tjdgt dd    d
¡¡itd|ddd}|j|d d  ¡}|j|d d jt|d }t     
||¡t     
||¡dS)NrArRz
2017-08-08rCrDrFrTrUrVr:rr&)Úraw) rrrIr rWÚNaNrrÚapplyrXrY)r%r_rZrr]Zresult_roll_sumZresult_roll_genericr r r!Ú0test_constructor_timedelta_window_and_minperiodsˆs  þ þ rbcCs„|}tddddddgiƒ}tddddddgitddd    d
}t|jd|dd |ƒƒ}t|jd |dd |ƒƒjd d}t ||¡dS)NÚArrrr:rÚ2020r#r=rF©ÚclosedrÚ2DT©Údrop)rr rOrÚ reset_indexrXrY)rfÚarithmetic_win_operatorsÚ    func_nameZdf_fixedÚdf_timer\r]r r r!Útest_closed_fixedšs"þþýrnzclosed, window_selectionsZbothTFÚleftÚrightZneithercs–|‰tddddddgitddd    d
‰td‡‡fd d „|Dƒitddd    d
}ˆd kr`ddi}ni}tˆjd|dddˆƒf|Ž}tj||dddS)NrcrSrTr5rUç@rdr#r=rFcs"g|]}tˆdj|ˆƒƒ‘qS)rc)rOÚiloc)Ú.0Ús©rmrlr r!Ú
<listcomp>ãsz9test_datetimelike_centered_selections.<locals>.<listcomp>ÚsemÚddofrrgrT)rfrr(F©Z check_dtype)rr rOrrXrY)rfZwindow_selectionsrkr]Úkwargsr\r rur!Ú%test_datetimelike_centered_selections¬s&1
ÿ
þ
þýr{zwindow,closed,expectedÚ3srUZ2srTcCsXtdƒtdƒtdƒg}|dddg|d}|j||dd ¡}|||d}t ||¡dS)Nz20130101 09:00:01z20130101 09:00:02rrFT©rfr()r rrrXÚ assert_equal©r%rfr]r0r?rr\r r r!Ú,test_datetimelike_centered_offset_covers_allôsý r€rgréc    Cs^tddddddddgƒ}|dgd|td}|||td}|j|d|d     ¡}t ||¡dS)
2020-01-01ú
2020-01-02ú
2020-01-03ú
2020-01-04ré©r?ÚdtypeT)r(rf)rÚfloatrrrXr~rr r r!Ú+test_datetimelike_nonunique_index_centerings øÿ rŠcCsRttdƒtddddd}|jdddd     ¡}td
d d g|jd}t ||¡dS) Nr:r‚rC©ÚstartrEr>rFrgrTr'çà?çø?r)r
r,r rÚmeanr?rXÚassert_series_equal©rtr\r]r r r!Ú!test_even_number_window_alignment3sr’cCsºddddddddg}td|itddt|ƒdd}|rLdd    d
d    d d    d d    g}ntjdd    dd    d
d    d g}t|dgtddt|ƒdd dd|…}|jt|ƒdd||d}| ¡}t ||¡dS)NrrZ
binary_colr‚Úminr‹rFgUUUUUUå?rçš™™™™™Ù?g£å@µmÛ?g._x%Iâ?)Úcolumnsr?ro)r%rfrr(rH)    rr ÚlenrrrrrXrY)r(rHÚdatarr[r]rr\r r r!Útest_closed_fixed_binary_colAs0þýüÿr˜rfcCs`|}tt d¡tddddd}|jd|d}t||ƒƒ}ttjgd|jd}t     ||¡dS)    Nr#Ú2000rgrD©r—r?Ú1D©rfrF)
r
rrIr rrOrr?rXr)rfrkrlÚserrPr\r]r r r!Útest_closed_empty[s  ržÚfuncr“ÚmaxcCsJtdgtdddd}t|jddd|ƒƒ}t |ttjg|jd    ¡dS)
Nrr™rr=ršÚ10DrorœrF)    r
r rOrrXrrrr?)rŸrr\r r r!Útest_closed_one_entrygsr¢cCsŒtdddgdddgdœtdddd}t|jdd    d
d jd d d|ƒƒ}tjdddg|jgdd}tt    j
dt    j
g|d d}t   ||¡dS)Nrrr:©rcrr™r=ršrcF)Úsortrr¡rorœ)rcN)ZarraysÚnames)r—r?Úname) rr rOÚgroupbyrr    Z from_arraysr?r
rrrXr)rŸrr\Zexp_idxr]r r r!Útest_closed_one_entry_groupbyos
þÿr¨Ú input_dtypeÚintr‰zfunc,closed,expectedrSér†é    cCsTtt d¡ |¡tdddd}t|jd|d|ƒƒ}t||jd}t     ||¡dS)NrAr™r=ršr<rœrF)
r
rrIÚastyper rOrr?rXr)r©rŸrfr]rr\r r r!Útest_closed_min_max_datetime~s
þr®c    Csrtt d¡tdddd}|j|jddgd}|jdd    d
 ¡}ttjd d d d dddg|jd}t     
||¡dS)NrAr™r=ršrr#rFr<rorœrrr:rr) r
rrIr rir?rr“rrXr)rr\r]r r r!Útest_closed_uneven˜s
 r¯cCsntt d¡tdddd}| d¡}tj||jdd…<t|jdd|d    |ƒƒ}t||jd
}t     
||¡dS) NrAr™r=ršr‰éýÿÿÿr<r)rrfrF) r
rrIr r­rr?rOrrXr)rŸrfr]rr\r r r!Útest_closed_min_max_minp£s 
r±zclosed,expectedrrŽg@g @g@g@g@g@cCsdtt d¡tdddd}|jd|d}t||jd}| ¡}t ||¡|     d¡}t ||¡dS)    NrAr™r=ršr<rœrFr)
r
rrIr rr?ÚmedianrXrÚquantile)rfr]rrPr\r r r!Útest_closed_median_quantile»s  
r´ÚrollerÚ1scCsXtƒ}tƒ |¡ ¡}t ||¡ttgƒd}ttgƒd |¡ ¡}t ||¡dS)NrF)rrrrXrYr)rµr]r\r r r!Útests_empty_df_rollingÑs  r·cCsVttjtjtjgƒ}tt d¡ƒ d¡}| ¡}t ||¡| d¡}t ||¡dS)Nr:r皙™™™™¹?)    r
rrrIrr²rXrr³)r]rPr\r r r!Ú!test_empty_window_median_quantileàs  
r¹cCsbttjgƒ}|jddd ¡}tdgƒ}t ||¡|jddd ¡}ttjgƒ}t ||¡dS)NrrrrS)r
rrrrrXr©Úxr\r]r r r!Útest_missing_minp_zeroìs 
  r¼cCsTttjgdtddddgƒd}|jtdƒdd     ¡}td
|jd}t     ||¡dS) Nrz
2017-01-01z
2017-01-04z
2017-01-06z
2017-01-07rFZ2drrrS)
r
rrrrr rr?rXrrºr r r!Útest_missing_minp_zero_variableús
þr½cCsjtjddgdddggddgd}tt d    ¡|d
}| d ¡ ¡}t |j    |j    ¡|j
j dddgksft ‚dS) NrcrÚCrCÚEÚ1Ú2©r¥)rAr©r•r:) r    Z from_productrrÚonesrrMrXZassert_index_equalr•r?r¥ÚAssertionError)Úcolsrr\r r r!Útest_multi_index_namess
 rÇcCsztt d¡ƒ}| |¡}|dkr8tdd„tdƒDƒƒ}n ttjgddgdgd    ƒ}|jd
|d  ¡}t     ||¡dS) N)rAércSs$i|]}|tjgddgd“qS)rrUr†)rr©rsÚir r r!Ú
<dictcomp>sz)test_rolling_axis_sum.<locals>.<dictcomp>rÈrrUérAr:©Úaxis)
rrrÄÚ_get_axis_numberr,rrrrXrY©Ú
axis_framerrÎr]r\r r r!Útest_rolling_axis_sums
 rÒcCs‚ttdƒtdƒdœƒ}| |¡}|dkrDtdddgdddgdœƒ}ntdddgdddgdœƒ}|jd|dd ¡}t ||¡dS)    Nr:)r»Úy©rr?rTr5rr)rÎr)rr,rÏrÚcountrXrYrÐr r r!Útest_rolling_axis_counts
rÖcCs\t ddtjddg¡}|jddt|ƒ d¡ ¡}ttjdtjtjdgƒ}t ||¡dS)Nrr:r#F)Úwriterr)    rÚarrayrZsetflagsr
rrrXr)Zarrr\r]r r r!Útest_readonly_array-s
 rÙc    Csœ|}tdd„tddd|dDƒƒ}|dkrB|jjd|d     ¡j}n|jd|d     ¡}td
d„tdd d|d Dƒd d„tddd|dDƒ–ƒ}t ||¡dS)NcSsi|]}|dgd“qS)rrr rÉr r r!rË:sz)test_rolling_datetime.<locals>.<dictcomp>z    2019-8-01z
2019-08-03rC)rEÚtzrÔrgrÍcSsi|]}|dgd“qS)rTrr rÉr r r!rËBsÿr)r>rErÚcSsi|]}|dgd“qS)r5rr rÉr r r!rËFsÿz    2019-8-02z    2019-8-03)rr ÚTrrrXrY)rÑZtz_naive_fixturerÚrr\r]r r r!Útest_rolling_datetime6s"ÿþþûÿ rÜzcenter, expected_datagV@g@X@g€X@gÀX@égÀW@ég@W@g@V@gX@g€W@ég€V@é gÀV@gÀU@gW@gÀT@g€U@rAg@U@gS@g@T@ég@S@rÈc
Csªt ¡}t||tdƒdd}tjjdd}|jddt|ƒd}t    ||d    œƒ}|j
d
d d |j d dd|dd  d¡}|  d
¡}| d¡}t||dd}    t ||    ¡dS)NimrC)rEi¥)Úseedréd)ÚhighÚsize)ÚDateColÚmetricræT)ZinplaceZ21Drro)r%rrfr(rçr )r?r¦)rÚnowr rrÚrandomZ RandomStateÚrandintr–rZ    set_indexrrLÚrenameZ
_with_freqr
rXr)
r(r[Z
date_todayr;Znprr—rr\r?r]r r r!Útest_rolling_window_as_stringOs[ÿþ
 
rìcCsVtdddddgdgd}|djdddd ¡}td    d
d
d
d    gdd }t ||¡dS) NrrrÚarÃr:T)r(rrTr5©r¦)rrr r
rXr©rr\r]r r r!Útest_min_periods1½srðcCs@|tdƒƒjddd ¡}|tjtjdddgƒ}t ||¡dS)Nr#r:rrU)r,rrÕrrrXr~)r0r\r]r r r!Ú#test_rolling_count_with_min_periodsÅsrñcCsTdddtjdddg}ddd    dddd    g}||ƒjdd
d  ¡}||ƒ}t ||¡dS) Nrrr:rr#rrTr5rUrr)rrrrÕrXr~)r0ÚvaluesZexpected_countsr\r]r r r!Ú7test_rolling_count_default_min_periods_with_null_valuesÌs
rózdf,expected,window,min_periodsr£cCs<dd„|Dƒ}t||j||dƒD]\}}t ||¡q"dS)NcSsg|]\}}t||d‘qS©rF)r©rsròr?r r r!rvsz/test_iter_rolling_dataframe.<locals>.<listcomp>r)ÚziprrXrY)rr]r%rÚactualr r r!Útest_iter_rolling_dataframe×sFrøzexpected,windowr›csntdddddgdddddgtd    dd
d d œƒ‰‡fd d„|Dƒ}t|ˆj|ddƒD]\}}t ||¡qTdS)Nrrr:rr#rr«r†z
2016-01-01rC©rŒr>rE©rcrr¾cs&g|]\}}t|ˆj|dfd‘qS)r¾rF)rÚlocrõrr r!rvJsz2test_iter_rolling_on_dataframe.<locals>.<listcomp>r¾)Úon)rr rörrXrY)r]r%r÷r rr!Útest_iter_rolling_on_dataframe#s   ýÿ
ÿrýcsrtdddgdddgdœƒ‰tˆ d¡ d¡ƒ}‡fdd    „dgddgdgfDƒ}t||ƒD]\}}t ||¡qXdS)
Nr»rÓrrr©ríÚbrícsg|]}ˆj|dgf‘qS)r)rr)rsÚidxrr r!rvUsz<test_iter_rolling_on_dataframe_unordered.<locals>.<listcomp>)rÚlistr§rrörXrY)ÚresultsÚ    expectedsr\r]r rr!Ú(test_iter_rolling_on_dataframe_unorderedQs
 rz ser,expected,window, min_periodsÚint64©rˆcCs<dd„|Dƒ}t||j||dƒD]\}}t ||¡q"dS)NcSsg|]\}}t||d‘qSrô©r
rõr r r!rv}sz,test_iter_rolling_series.<locals>.<listcomp>r)rörrXr)rr]r%rr÷r r r!Útest_iter_rolling_seriesZs#rzexpected,expected_index,windowr‚rCrDrƒr„r…z
2020-01-05cCsXttdƒtddddd}dd„t||ƒDƒ}t|| |¡ƒD]\}}t ||¡q>dS)Nr#r‚rCrùrFcSsg|]\}}t||d‘qSrôr)rsròrr r r!rv­sz.test_iter_rolling_datetime.<locals>.<listcomp>)r
r,r rörrXr)r]Zexpected_indexr%rr÷r r r!Útest_iter_rolling_datetimeƒs (ÿr    zgrouping,_indexÚlevel)rr)rrrÂÚbyÚX)rr)rr)r:r)rrcCs„dd„}tdtdƒidddddgd}tddd    d
d d gi|d}d |krV|jddd}|jf|Ž d¡j||dd}t ||¡dS)NcWs(t|ƒdkrtdƒ‚|\}}| ¡|S)Nrz The function needs two arguments)r–r/r)ÚargsrØZscaler r r!Ú
scaled_sumÉs z4test_rolling_positional_argument.<locals>.scaled_sumr r#rrršrSrrTrŽr5r Úignore)r•Úerrors)r)r_r )rr,rir§rrarXrY)ÚgroupingÚ_indexr_rrr]r\r r r!Ú test_rolling_positional_argumentµsrÚaddc    CsŒtdd|ddgitdƒtdƒtdƒgd}| d¡ ¡jd    d
d d  ¡}tdd dd}tdtjtjtjddddgi|d}t     
||¡dS)NrcgVUUUUU%Cç€z19700101 09:00:00z19700101 09:00:03z19700101 09:00:06rFr¶r|ror:rer«ÚSrDgUUUUUU%CgÇqÇqCgÇqÇq CrS) rr ZresampleZffillrrr rrrXrY)rrr\Údatesr]r r r!Ú*test_rolling_numerical_accuracy_kahan_meanÙs0ýþ    ÿùÿ ôrcCsXtddddddgdgd}|d d¡ ¡}ttjtjddddgdd}t ||¡dS)    Ng°rh‘í|@g'1¬Zú¿rSr»rÃr:gsh‘í|?á?rî)rrrr
rrrXrrïr r r!Ú)test_rolling_numerical_accuracy_kahan_sumùsrcCs^tdddd tdgƒ¡}tj t|ƒ¡}td|i|d}| d¡     ¡}t
  ||dg¡dS)Nr‚rƒZ60s©rŒÚendrEr„r—rF) r rWrrréÚrandr–rrrrXrY)r?r—rr\r r r!Ú$test_rolling_numerical_accuracy_jumpsÿrcCs8tddddgtddƒd}| d¡ ¡}t ||¡dS)Ng›(¶@ŠS ?ga2U0*©3?rz
1999-02-03z
1999-02-06ršr)r
r rrrXr)rtr\r r r!Ú,test_rolling_numerical_accuracy_small_values s 
þrc Csptdddd}ttdƒ|tjd}d|d<| d¡ ¡}ttjtjtjtjd    d    d    d
d d g
|d }t     ||¡dS)Nz
2015-01-01rArCrD)r—r?rˆgТ†¿»ûÆrr#gÚ¦kÌ/ÖÆç@ç@ç@rF)
r r
r,rÚfloat64rrrrXr)rÚdsr\r]r r r!Ú(test_rolling_numerical_too_large_numberss&ö ór$)rŸrR)rr5)r rT)r“rT)rrT)r²rTcCsltdddgdddgd}d|d<t|jdddd|ƒƒ}tddg||g||gd    œddgd
}t ||¡dS) Nrrrírÿr1)r?r•rT©r%rrΩrírÿr1rF)rrOrrXrY)rŸrRrr\r]r r r!Ú test_rolling_mixed_dtypes_axis_1/sþr'c
Cs¦tddddtjtjtjgdddtjtjtjtjgdddtjdtjdggƒ}|jdddd ¡}tdd    d
d d d d gdd    d
d
d
d
d
gdd d d ddd ggƒ}t ||¡dS)Nrrrrr«r•r%rSrTrUr!r5rqr )rrrrrrXrYrïr r r!Útest_rolling_axis_one_with_nan?sýÿýÿr(rRÚtestz
2019-12-31z1 days 06:05:01.00003cCsLtdddgiƒ}||d<|jdddd ¡}tdddgiƒ}t ||¡dS)Nrírrrÿr%rTr5)rrrrXrY)rRrr\r]r r r!Ú&test_rolling_axis_1_non_numeric_dtypesSs
r*cCs€tddgddgddgdœƒ}tdtjgddgd    d
gdœƒ}|jdd dd  ¡}t ||¡|jjdd d  ¡j}t ||¡dS)Nrrr#r«r†rúrTrg&@ç*@r)rr%rÎ)rr%)rrrrrrXrYrÛ)rr]r\r r r!Útest_rolling_on_df_transposed`s  r,)r?r%z2020-01-01 08:00z2020-01-01 08:08rÛrZ2Tz2020-01-01 12:00Z30TZ1h)rŸròré c
CsPtddddddddd    g    |d
}t|j|d d |ƒƒ}t||d
}t ||¡dS) Nrrrr:rr#rr«r†rFrorœ)r
rOrrXr)r?r%rŸròr#r\r]r r r!Útest_rolling_period_indexks r.cCs^|dddgƒ}|jddd ¡}t|tƒr8t|djƒ}ttjgdgdƒ}t     ||¡dS)NrrrrgÍ;fž æ?)
rrwÚ
isinstancerr
ròrrrXr)r0Úobjr\r]r r r!Útest_rolling_semˆs 
r1zGH 38921)Úreason)rŸÚ third_valueròÚvarg|Øê›ÐîFÚstdg>g¤ßfoCgPï˜pž æ?g»¹øÛž ö?cCs\tdd|ddddgƒ}t| d¡|ƒƒ}ttjg|ƒ}t ||¡t |dk|dk¡dS)Nlÿ;á rrr:r©r
rOrrrrXr)rŸr3ròr#r\r]r r r!Ú!test_rolling_var_numerical_issues’s
 r7cCsttjtjddddddddg
tjtjddddddddg
dœt tdƒd    ftdƒd
ftd ƒd    ftd ƒd
ftd ƒd    ftd ƒd
ftd ƒd    ftd ƒd
ftdƒd    ftdƒd
fg
¡d}tdddddgdddddgdœtdƒtd ƒtd ƒtd ƒtdƒgd}|jdd ¡}t     ||¡dS)Ngþÿÿÿÿÿï?gð¿rTg6µ<AìòÔ¿gð?gáÿÿÿÿÿï?)rrcz20130101 09:00:00rrcz20130102 09:00:02z20130103 09:00:03z20130105 09:00:05z20130106 09:00:06rFrrrrr:r«rr¬Z3dr$)
rrrr    Ú from_tuplesr rrNrXrY)ÚexprÚresr r r!Ú,test_timeoffset_as_window_parameter_for_corrªsbö öó
 
 
 
 
 
 
 
 
 
öÿå+ûþ r;ÚmethodrÚskewÚkurtcCs¦tdt dd¡diƒ}td|dddd…i|jddd…d}t|jdd    |ƒƒ}t|jdd    |ƒƒ}t |jddd…dd
…|jd d…¡ ¡d ks¢t    ‚dS) zf
    Make sure that decreasing indices give the same results as increasing indices.
 
    GH 36933
    ròiñÿÿÿrArNr+rFr#r$éüÿÿÿrgê-™—q=)
rrrIr?rOrÚabsròr rÅ)r<rZ
df_reverseZ
increasingZ
decreasingr r r!Útest_rolling_decreasing_indicesçs
*rArr c Csžtdddd}|tdƒ|d}|tdƒ|ddd…d}|||d}|||ddd…d}|j||dd     ¡}    |j||dd     ¡}
t |    |¡t |
|¡dS)
zV
    Ensure that a symmetrical inverted index return same result as non-inverted.
    rdrr¶rDrFNr+Tr})r r,rrrXr~) r%rfr]r0r?Zdf_incZdf_decZ expected_incZ expected_decZ
result_incZ
result_decr r r!Ú(test_rolling_decreasing_indices_centered÷s  rBzwindow,expectedÚ1nsZ3nscCsVtdddd}|ddddg|td}|||td}|j||dd ¡}t ||¡dS)    NrdrrCrDrr‡Tr})r r‰rrrXr~rr r r!Ú)test_rolling_center_nanosecond_resolutions
 
rDzmethod,expectedrg€E@g¯µ÷©ª
a@gÀE@gÖÇCßݽW@gÀf@gàs@g€5@g¥„`UU"@r+g€1@g>@g€K@g€a@g/àe†²æ?g8j…é{ Ú?göì¹LM‚ï?gô4`ôií?g
+TTýë?g­ùñ—õê?g %”bøîâ¿gOq&à ð¿gzCen@¯¿gk±=ôáCпgÀ~é—~é׿gf`8gÕÝ¿cCsxddddddddg}tdt t|ƒ¡diƒ}Gdd„dtƒ}|d|d}t| |¡|ƒƒ}td|iƒ}t ||¡d    S)
    Make sure the (rare) branch of non-monotonic indices is covered by a test.
 
    output from 1.1.3 is assumed to be the expected output. Output of sum/mean has
    manually been verified.
 
    GH 36933.
    TFròrc@seZdZdd„ZdS)z1test_rolling_non_monotonic.<locals>.CustomIndexerc    Ssltj|tjd}tj|tjd}t|ƒD]:}|j|rLd||<|d||<q(|||<||j||<q(||fS)Nrrr)rÚemptyrr,Ú use_expandingÚ window_size)    ÚselfZ
num_valuesrr(rfrHrŒrrÊr r r!Úget_window_boundsks 
zCtest_rolling_non_monotonic.<locals>.CustomIndexer.get_window_boundsN)Ú__name__Ú
__module__Ú __qualname__rIr r r r!Ú CustomIndexerjsrMr)rGrFN)    rrrIr–rrOrrXrY)r<r]rFrrMZindexerr\r r r!Útest_rolling_non_monotonic)s>  rNz
2001-01-01)rEr>cCsftdddddg|d}| ¡}d|jdd…<| |¡ |¡}ttjtjdddg|d}t ||¡dS)    Nrrr:rr#rFrSr)    r
ÚcopyrrrrNrrrXÚassert_almost_equal)r?r%r»rÓr\r]r r r!Ú!test_rolling_corr_timedelta_index~s     rQc
Cs¬dtjddtjgdddddgdœ}t|ƒ}|jd    d
d jddd  ¡}td dddddgitddtjgdddddggdddddgdddddggd    dgdd}t ||¡dS)NZg1Zg2rrrr:r)ÚgrouprrRF)ZdropnarrrSr5rUrTrqrÂrF)    rrrr§rrr    rXrY)r—rr\r]r r r!Ú!test_groupby_rolling_nan_includeds"ýørScCs`ttj d¡ƒ}| ¡}t| d¡|ƒƒ}t ||¡|d}t| d¡|ƒƒ}t ||¡dS)NrAr:iPÃ)    r
rrérrOrOrrXr)r<rZser_copyr]r\r r r!Ú*test_rolling_skew_kurt_numerical_stability¥s rT)r<rògŠä+”Xë?gJ_9ïÿÿ?rqg˜¿BæÊ ô¿g333333ó¿gÍ >°ãÿ@cCsLtdddddddgƒ}t| d¡|ƒƒ}ttjgd|ƒ}t ||¡dS)NiÀÆ-rrr:riçr6)r<ròrtr\r]r r r!Ú(test_rolling_skew_kurt_large_value_range±s    rUc    Cs4tjtddttdƒƒjdddW5QRXdS)Nz!method must be 'table' or 'singler)rr6)r<)r-r.r/r
r,rr r r r!Útest_invalid_methodÀsrVÚ1dcCs¢tdddd}|tddƒ|d}|jddd     ¡}|tjdd
g|d}t ||¡|jddd …jddd     ¡}tddd d}|tjd d
g|d}t ||¡dS)Nr‚r„rWrrrrFrorœrr+z-1dr:)    r r,rrrrrXr~rr)r%r0rr0r\r]r r r!Ú.test_rolling_descending_date_order_with_offsetÅs rXcCs\tddddgƒ}| d¡ ¡}ttjtjddgƒ}tj||dddt |dk|dk¡dS)Nr«r#r:çUUUUUUõ?rçV瞯Ò<©ZatolZrtol)r
rr4rrrXrr‘r r r!Ú,test_rolling_var_floating_artifact_precisionÔs
r\cCsBtdddgƒ}| d¡ ¡}ttjddgƒ}tj||ddddS)NgQö؎¢>g 4PSªÈ¡>rgÌ[³¸^>>rZr[)r
rr5rrrXrr‘r r r!Útest_rolling_std_small_valuesßsýÿr]zstart, exp_values縅ëQ¸ž?gX9´Èv¾?gºI +‡†?gË¡E¶óý„?çü©ñÒMbP?gú~j¼t“X?ç›<#‹    n?cCs˜tdddtjddtjtjtjtjtjtjddgƒ}|ddddtjtjddg}t|tt|t|ƒ|ƒƒd    }|j|d…jd
d d  ¡}t     
||¡dS) Nr^r_çü©ñÒMb`?çü©ñÒMb€?ç{®Gázt?皙™™™™É?r`g=
×£p=º?rFr#rr) rrr`rr,r–rrrrrXrY)rŒZ
exp_valuesrròr]r\r r r!Ú3test_rolling_mean_all_nan_window_floating_artifactsísB    òÿø
þrecCsPtdddtjtjtjgƒ}|jddd ¡}tdddd    dd
gƒ}t ||¡dS) Nrarbrcr:rrg{®Gáz„?g¸…ëQ¸Ž?g9´Èv¾ŸŠ?rS)rrr`rrrXrYrïr r r!Ú2test_rolling_sum_all_nan_window_floating_artifactssrfcCs6ttdƒƒ}| d¡ ¡}ttjgƒ}t ||¡dS)Nrr)r
r,rr“rrrXrr‘r r r!Útest_rolling_zero_window#s  rgcCsdttdƒtddƒdœ|d}ttjgdtdddƒdœ|d}|jddd     ¡}tj||d
d dS) Nr#rAér£rrÈrrrÍFry)rr,rrrrrXrY)Zfloat_numpy_dtyperr]r\r r r!Útest_rolling_float_dtype+sþricCsÐtt d¡ dd¡tdƒd dddd    d
d d d dddœ
¡}|jdddd ¡}ttdddƒtdddƒtdddƒtdddƒtdddƒtdddƒtdddƒtdddƒtdddƒtdddƒdœ
dd}t     
||¡dS)Né(rrAZ
abcdefghijrÃÚfloat16Úfloat32r"Zint8Úint16Úint32Zuint8Zuint16Zuint32Zuint64)
rírÿr1ÚdÚeÚfÚgÚhrÊÚjrrr%rr:r#rr«r†r) rrrIÚreshaperr­rr“r,rXrYrïr r r!Útest_rolling_numeric_dtypes6s:öÿ
 
 
 
 
 
 
 
 
 
ö órvZaverageÚpctÚ    ascendingÚ    test_dataÚdefaultÚ
duplicatesÚnansc        s°d}|dkr ttj |¡d}nN|dkr>ttj d|¡d}n0|dkrnttj ddd    tjtjtj g|¡d}| |¡ ‡‡‡fd
d „¡}| |¡j    ˆˆˆd }t
  ||¡dS) NrÈrz)r—r{r:r|rTçÐ?çè?cs|jˆˆˆdjdS)N©r<rwrxr+)Úrankrr)r»©rxr<rwr r!Ú<lambda>józtest_rank.<locals>.<lambda>r) r
rrérÚchoicerÚinfrrar€rXr)    r%r<rwrxryÚlengthrr]r\r rr!Ú    test_rankYs ÿ
ÿr‡cCszd}d}td|dd}ttj ||¡ |df¡|d}|jdd    d
gd d }tj|d ddgd d }t     |j
t  |¡¡dS)NrAr#Z20100101rrDr+rFr}rr~rrÍéé2éK) r rrrérrur³Z
percentilerXrPròrØ)ÚrowÚcolrrZ df_quantileZ np_percentiler r r!Ú#test_rolling_quantile_np_percentileqs"rr³r¸gÍÌÌÌÌÌÜ?Ú interpolationZlinearÚlowerZhigherZnearestZmidpointr—r!g @rdr”g333333Ó?gffffffæ?g333333ã?cCsXt|ƒ}| ||¡}|jdd ||¡jd}t |¡rHt |¡sTt‚n ||ksTt‚dS)Nrrr+)r
r³Z    expandingrrrÚisnanrÅ)r³rŽr—rtZq1Zq2r r r!Ú+test_rolling_quantile_interpolation_optionss  
r‘c    CsPt d¡}t|ƒ}d}tjt|d"|jt|ƒddjdddW5QRXdS)    Nr#z(Interpolation 'invalid' is not supportedr)rrrÚinvalid)rŽ)    rrIr
r-r.r/rr–r³)r—rtr2r r r!Útest_invalid_quantile_values
 
r“c    Cs tdddddgƒ}d}tjt|d| d¡ d    ¡W5QRXd
}tjt|d| d¡ d ¡W5QRXd }tjt|d| d¡ d ¡W5QRXdS)NrSr¸rgÍÌÌÌÌÌì?rTz#quantile value -0.1 not in \[0, 1\]r)r:gš™™™™™¹¿z#quantile value 10.0 not in \[0, 1\]g$@zmust be real number, not strr6)r
r-r.r/rr³Ú    TypeError)rr2r r r!Útest_rolling_quantile_param¦sr•cCsªtdddddgƒ}|jddd ¡}ttjgdƒ}t ||¡|jdddjd    d
}td gdƒ}t ||¡ttjtjd d dgƒjd dd ¡}t |d¡s¦t‚dS)NrTr5rUrqrrrr#r)rxrSr:rr)    r
rr5rrrXrrrÅ)Úvalsr\r]r r r!Útest_rolling_std_1obsµs  $r—cCsjtdddddgƒ}|jdd ¡}t |dd…¡ ¡s<t‚|jdd ¡}t |dd…¡ ¡sft‚dS)Nge>¸¸ÁR?g¨R¨z1Ò2?r:r$r)Úspan)r
rr5rÚisfiniteÚallrÅZewmrþr r r!Útest_rolling_std_neg_sqrtÄsûÿ    r›c    Cs4tjtddttdƒƒjdddW5QRXdS)Nzstep must be an integerr)rrr6rG©r-r.r/rr,rr r r r!Útest_step_not_integer_raisesÙsrc    Cs4tjtddttdƒƒjdddW5QRXdS)Nzstep must be >= 0r)rrr+rGrœr r r r!Útest_step_not_positive_raisesÞsržròrr]r‰g«ªªªªª@@g@D@çUUUUUUÕ?gUUUUUU8@rYgUUUUUU@cCs~t|ƒ}t|ƒ}|j||d ¡}t ||¡t |dk|dk¡|j||d ¡}t |t |¡¡t |dk|dk¡dS)Nrr)r
rr4rXrr5rÚsqrt)ròr%rr]ÚsrZ
result_varZ
result_stdr r r!Ú'test_rolling_var_same_value_count_logicãs2     r¢cCsdtdddddddgƒ}| d¡}| ¡}|dd…dk ¡s@t‚| ¡}|dd…dk ¡s`t‚dS)NrŸrrr:r°)r
rrršrÅr©r¡Úrr\r r r!Ú(test_rolling_mean_sum_floating_artifacts-s 
r¥cCsdtdddddddgƒ}| d¡}| ¡}|dd…dk ¡s@t‚| ¡}|dd…dk ¡s`t‚dS)NrŸrréþÿÿÿr°)r
rr=ršrÅr>r£r r r!Ú)test_rolling_skew_kurt_floating_artifacts8s 
r§c    Cs |}tdgdddœƒ}|d t¡|d<|jddd}t||ƒ}||d}|rVdd    gndd    dg}|| |g¡jd
d  t¡}t|j    ƒ|kst
‚t   ||¡dS) Nrrr:r&r1r©Ú numeric_onlyrírÿTrh) rr­ÚobjectrrOrLrjr‰rr•rÅrXrY)    rkr©ÚkernelrrÚopr\r•r]r r r!Útest_numeric_only_frameCs
 
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) Nrrr:r&r1r rr©rírÿ)rr­rªrrOr‰rXrY)r«r©r®rÚargrr¬r\r•Zdf2Úarg2Úrolling2Úop2r]r r r!Ú test_numeric_only_corr_cov_frameSs
 
r³rˆc
    Csœ|}tdg|d}|jddd}t||ƒ}|rh|tkrhd|›d}tjt|d||dW5QRXn0||d}| |g¡jd    d
     t
¡}    t   ||    ¡dS) NrrrrúRolling.ú  does not implement numeric_onlyr)r¨Trh) r
rrOrªr-r.rJrLrjr­r‰rXr)
rkr©rˆr«rrr¬r2r\r]r r r!Útest_numeric_only_seriesis
 
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) Nrrr:rr rr´rµr)r©) r
rrOrªr-r.rJr­r‰rXr)r«r®r©rˆrr¯rr¬r2r\Zser2r°r±r²r]r r r!Ú!test_numeric_only_corr_cov_serieszs
 
 
r·)|rrÚnumpyrr-Z pandas.compatrrrZpandasrrr    r
r r r rrrZpandas._testingZ_testingrXZpandas.api.indexersrZpandas.core.indexers.objectsrZpandas.tseries.offsetsrr"r3ÚmarkZ parametrizerØr9rKrQr^rbrnr{r€rŠr’r˜ržr¢r¨rr®r¯r±r´r·r¹r¼r½rÇrÒrÖrÙrÜrìrðrñrórørýrrr    r8rrrrrr$r'r(r*r,r.r1Zxfailr7r;rArBrDr‰rNrQrSrTrUrVrXr\r]rerfrgrirvr‡rr‘r“r•r—r›rržr…r¢r¥r§r­r³rªrªr¶r·r r r r!Ú<module>sj0    
 
ÿüþ
 
 
 
     ûþ      ûþ      ûþ      ûþáþ-
øþ
üþ    
 
 
 
øþ  " $"" $"øþ
üþ    
 
 
    ÿþýüûúùø    ÷
ö õ ô óòñðïîíìëêéèçæåäãâá à!ß"Þ#Ý$Üý+
ÿþýüûúùø    ÷
ö õ ô óòñðïîíìëêéèçæåäãâá à!ß"Þ#Ý$ÜýÕþY
 ýø ýø ýø ýø ýø
"ýøÊþD
ýú
ýú
ýúïþ
     ,ü ,ü (ü (ü22*äþ!
     û÷      û÷ $     û÷éþ&
 ÿþ ÿþùþ
 
 
 þ
þ
      þ þûþ ýþ 
þüþ     = øþ þþ
øþ(þ&þøþøþÝþ4!þþ
 þþ  þþ'   # ÿùþ           üüü*ü*ü
üüÛþ/