hyb
2025-11-07 cadac0a99d87c53805a07f3b4ca7fd11e524fe4a
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
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
Ë
oñúhØã    óZ—ddlZddlZddlZddlmZmZddlmcm    Z
ddl Z ddl m Z mZmZmZmZddlmZddlmZej.ddgd„¬«d    „«Zej.dej2d
e
j4d
«¬ «gd „¬«d „«Zd„ZGd„d«ZGd„d«ZGd„d«Ze
j4d
«Gd„d««Z e
j4d
«Gd„de ««Z!Gd„de «Z"Gd„de!«Z#Gd„d«Z$Gd„d «Z%Gd!„d"«Z&y)#éN)ÚNumExprClobberingErrorÚUndefinedVariableError)Ú    DataFrameÚIndexÚ
MultiIndexÚSeriesÚ
date_range)ÚNUMEXPR_INSTALLEDÚpythonÚpandascó—|S©N©©Úxs úUH:\Change_password\venv_build\Lib\site-packages\pandas/tests/frame/test_query_eval.pyú<lambda>rs€¸1€ó)ÚparamsÚidscó—|jSr©Úparam©Úrequests rÚparserrs €à =‰=ÐrÚnumexpr)Úmarkscó—|Srrrs rrrs€!€rcó—|jSrrrs rÚenginer!s€ð
=‰=Ðrcó@—|dk7rtjd|›«yy)Nr zcannot evaluate with parser=)ÚpytestÚskip)rs rÚskip_if_no_pandas_parserr%%s#€Ø Ò܏ ‰ Ð2°6°(Ð;Õ<ðrcó—eZdZejd„«Zejd„«Zejd„«Zd„Zd„Z    d„Z
d„Z y)    Ú
TestCompatcó —tdgd¢i«S)NÚA©ééé©r©Úselfs rÚdfz TestCompat.df+s€ä˜#šyÐ)Ó*Ð*rcó&—||jdkDS)Nr©r)©r0r1s  rÚ    expected1zTestCompat.expected1/s€à"—$‘$˜‘(‰|Ðrcó —|jdzS©Nr+r3r4s  rÚ    expected2zTestCompat.expected23s€àt‰ta‰xˆrcó¤—|jd«}tj||«|jd«}tj||d¬«y)NúA>0úA+1F©Ú check_names©ÚqueryÚtmÚassert_frame_equalÚevalÚassert_series_equal©r0r1r5r8Úresults     rÚtest_query_defaultzTestCompat.test_query_default7s@€ð—‘˜%“ˆÜ
×јf iÔ0Ø—‘˜“ˆÜ
×јv y¸eÖDrcó¬—|jdd¬«}tj||«|jdd¬«}tj||d¬«y)Nr:©r!r;Fr<r>rDs     rÚtest_query_NonezTestCompat.test_query_None?sH€Ø—‘˜%¨Ó-ˆÜ
×јf iÔ0Ø—‘˜ tÓ,ˆÜ
×јv y¸eÖDrcó¬—|jdd¬«}tj||«|jdd¬«}tj||d¬«y)Nr:r rHr;Fr<r>rDs     rÚtest_query_pythonzTestCompat.test_query_pythonEsH€Ø—‘˜%¨Ó1ˆÜ
×јf iÔ0Ø—‘˜ xÓ0ˆÜ
×јv y¸eÖDrcóÊ—trU|jdd¬«}tj||«|j    dd¬«}tj
||d¬«yd}t jt|¬«5|jdd¬«ddd«t jt|¬«5|j    dd¬«ddd«y#1swYŒAxYw#1swYyxYw)    Nr:rrHr;Fr<z~'numexpr' is not installed or an unsupported version. Cannot use engine='numexpr' for query/eval if 'numexpr' is not installed©Úmatch)    r
r?r@rArBrCr#ÚraisesÚ ImportError)r0r1r5r8rEÚmsgs      rÚtest_query_numexprzTestCompat.test_query_numexprKsÂ€Ý Ø—X‘X˜e¨IXÓ6ˆFÜ × !Ñ ! &¨)Ô 4Ø—W‘W˜U¨9WÓ5ˆFÜ × "Ñ " 6¨9À%Ö Hð!ð ô
—‘œ{°#Ô6ñ 2Ø—‘˜ yÔ1÷ 2ä—‘œ{°#Ô6ñ 1Ø—‘˜ iÔ0÷ 1ð 1÷ 2ð 2ú÷ 1ð 1úsÁ9C Â0Cà CÃC"N) Ú__name__Ú
__module__Ú __qualname__r#Úfixturer1r5r8rFrIrKrRrrrr'r'*s_„Ø ‡^^ñ+óð+ð ‡^^ñóðð ‡^^ñóðòEòEò Eó 1rr'cóƗeZdZejj dddg«ejj dgd¢«d„««Zd„Zd„Zd    „Z    d
„Z
d „Z d „Z d „Z d„Zy)ÚTestDataFrameEvalÚnéi z op_str,op,rop))ú+Ú__add__Ú__radd__)ú-Ú__sub__Ú__rsub__)Ú*Ú__mul__Ú__rmul__)ú/Ú __truediv__Ú __rtruediv__có&—tdt|«td«¬«}d|jd<|j    «}tt j |j|«j|d«td«¬«}td|›d    «}td
|›d    «}    tj|    |«|d vr)t||«|«}    tj|    |«y|d vr)t||«|«}    tj|    |«yy) Nr+Úabcd©ÚindexÚcolumnsr,réÿÿÿÿ©rkzbase z dfzm )r[ra)r^rd) rÚrangeÚlistÚilocÚmeanÚnpÚtileÚvaluesÚreshaperBr@rAÚgetattr)
r0Úop_strÚopÚroprYr1ÚmÚbaseÚexpectedrEs
          rÚtest_opszTestDataFrameEval.test_ops_sù€ôq¤ a£´$°v³,Ô ?ˆØˆ‰‰
Ø G‰G‹IˆäÜ G‰GA—H‘H˜aÓ  × (Ñ (¨¨BÓ /¼¸f»ô
ˆô˜% ˜x sÐ+Ó,ˆô˜˜6˜( #Ð&Ó'ˆÜ
×јf hÔ/ð Ñ Ø$”W˜R “_ QÓ'ˆFÜ × !Ñ ! &¨(Õ 3ð:Ñ Ø%”W˜R Ó% aÓ(ˆFÜ × !Ñ ! &¨(Õ 3ðrcóp—tdtjjd«j    d«i«}tj
|j dddtj|j dd«z
}dtj|«z
j dd}tj||«y)Nr)r,i¨arér+é)
rrrÚrandomÚ default_rngÚstandard_normalÚnanrpÚisnanr@rA)r0r1r|rEs    rÚtest_dataframe_sub_numexpr_pathz1TestDataFrameEval.test_dataframe_sub_numexpr_path…sŒ€ô˜œRŸY™Y×2Ñ2°1Ó5×EÑEÀeÓLÐMÓ NˆÜ—v‘vˆ‰!ˆ Ø”r—x‘x §¡¨¨"  Ó.Ñ.ˆØ”b—h‘h˜r“lÑ"×(Ñ(¨¨2Ð.ˆÜ
×јf hÕ/rcó2—tgd¢gd¢dœ«}d}tjt|¬«5|j    d„«ddd«tjt|¬«5|j    d«ddd«y#1swYŒ?xYw#1swYyxYw)Nr*)ÚaÚbr‰©r)ÚBz%expr must be a string to be evaluatedrMcó —|jdk(S)Nr‰)r‹rs rrz6TestDataFrameEval.test_query_non_str.<locals>.<lambda>”s€˜qŸs™s c™z€réo©rr#rOÚ
ValueErrorr?©r0r1rQs   rÚtest_query_non_strz$TestDataFrameEval.test_query_non_strŽs{€ä šYª_Ñ=Ó >ˆà5ˆÜ ]‰]œ:¨SÔ 1ñ    +Ø H‰HÑ)Ô *÷    +ô]‰]œ:¨SÔ 1ñ    Ø H‰HSŒM÷    ð    ÷    +ð    +ú÷    ð    ús°BÁ&B ÂB
 Bcó¨—tdgd¢i«}d}tjt|¬«5|j    d«ddd«y#1swYyxYw)Nr)r*zexpr cannot be an empty stringrMÚrŽrs   rÚtest_query_empty_stringz)TestDataFrameEval.test_query_empty_string™sD€ä ˜šYÐ'Ó (ˆà.ˆÜ ]‰]œ:¨SÔ 1ñ    Ø H‰HRŒL÷    ÷    ñ    ús ­AÁAcó,—ttjjd«j    d«t d«¬«}ddi}ddi}|j d||g¬    «|d|dzk(sJ‚tj d||g¬    «|d|dzk(sJ‚y)
Nr,©é
r,Úabrmrˆr+r‰úa + b©Ú    resolvers)rrrrr‚rƒrorBÚpd)r0r1Údict1Údict2s    rÚtest_eval_resolvers_as_listz-TestDataFrameEval.test_eval_resolvers_as_list¡s›€ä Ü I‰I× !Ñ ! !Ó $× 4Ñ 4°WÓ =ÄtÈDÃzô
ˆðaˆØaˆØw‰ww¨5°%¨.ˆwÓ9¸UÀ3¹ZÈ%ÐPSÉ*Ñ=TÒTÐTÐT܏w‰ww¨5°%¨.Ô9¸UÀ3¹ZÈ%ÐPSÉ*Ñ=TÒTÐTÑTrcó—ttjjd«j    d«t d«¬«}ddi}|j d|g¬«}|d|d    |dzz}tj||«y)
Nr,r–r˜rmÚcz    a + b * cršrˆr‰)    rrrrr‚rƒrorBr@rC)r0r1rrEr|s     rÚtest_eval_resolvers_combinedz.TestDataFrameEval.test_eval_resolvers_combined«s{€ä Ü I‰I× !Ñ ! !Ó $× 4Ñ 4°WÓ =ÄtÈDÃzô
ˆðaˆð—‘˜°°Ó8ˆàc‘7˜R ™W u¨S¡zÑ1Ñ1ˆÜ
×јv xÕ0rcó”—tdddgi«}|jd«}tddgddgdœ«}tj||«y)NÚa1ÚYÚNzc = ((a1 == 'Y') & True)TF)r¤r¡)rrBr@rA)r0r1Úresr|s    rÚtest_eval_object_dtype_binopz.TestDataFrameEval.test_eval_object_dtype_binop¸sK€ä ˜˜s C˜jÐ)Ó *ˆØg‰gÐ0Ó1ˆÜ S¨# J°d¸E°]ÑCÓDˆÜ
×јc 8Õ,rcót—|dk(r1tjjd¬«}|j|«t    t j gd¢«t j gd¢«dœ«}|jd||¬«}tt j gd    ¢««}tj||«y)
Nrz/numexpr does not support extension array dtypes)Úreasonr*©rZré©rˆr‰za / b©r!r)gÐ?gš™™™™™Ù?çà?) r#ÚmarkÚxfailÚ applymarkerrrœÚarrayrBrr@rC)r0r!rrr°r1rEr|s        rÚtest_extension_array_evalz+TestDataFrameEval.test_extension_array_eval¿s€à YÒ Ü—;‘;×$Ñ$ØHð%óˆDð × Ñ  Ô %Ü œRŸX™X¢iÓ0´r·x±x    Ó7JÑKÓ LˆØ—‘˜¨¸Ó?ˆÜœ"Ÿ(™(Ò#5Ó6Ó7ˆÜ
×јv xÕ0rcó—tdgdgdœ«}|jd||¬«}tdg«}tj||«y)Nyð?@yð?ð?r­za/br®yø?à?)rrBrr@rC)r0r!rr1rEr|s      rÚtest_complex_evalz#TestDataFrameEval.test_complex_evalËsE€ä ˜f˜X¨V¨HÑ5Ó 6ˆØ—‘˜ v°fÓ=ˆÜ˜:˜,Ó'ˆÜ
×јv xÕ0rN)rSrTrUr#r°Ú parametrizer}r†r‘r”rŸr¢r¨r´r¶rrrrXrX]sq„à ‡[[×јS 1 d )Ó,Ø ‡[[×ÑØò    
óñ4óó-ð4ò80ò    òòUò 1ò-ò
1ó1rrXcó$—eZdZd„Zd„Zd„Zd„Zy)Ú TestDataFrameQueryWithMultiIndexcó¨—t|«tjjd«j    ddgd¬«}tjjd«j    ddgd¬«}t j ||gdd    g¬
«}ttjjd«jd «|¬ «}t|jjd«j|d¬ «}|jd||¬«}|jd||¬«}    ||dk(}
tj||
«tj|    |
«|jd||¬«}|jd||¬«}    ||dk7}
tj||
«tj|    |
«|jd||¬«}|jd||¬«}    ||j!dg«}
tj||
«tj|    |
«|jd||¬«}|jd||¬«}    ||j!dg«}
tj||
«tj|    |
«|jd||¬«}|jd||¬«}    ||j!dg«}
tj||
«tj|    |
«|jd||¬«}|jd||¬«}    ||j!dg«}
tj||
«tj|    |
«y)Nr,ÚredÚgreenr—©ÚsizeÚeggsÚhamÚcolorÚfood©Únamesr–©rj©rjÚnamezcolor == "red"©rr!z"red" == colorzcolor != "red"z"red" != colorzcolor == ["red"]z["red"] == colorzcolor != ["red"]z["red"] != colorz["red"] in colorz"red" in colorz["red"] not in colorz"red" not in color©r%rrrr‚ÚchoicerÚ from_arraysrrƒrrjÚget_level_valuesrtr?r@rAÚisin© r0rr!rˆr‰rjr1ÚindÚres1Úres2Úexps            rÚ test_query_with_named_multiindexzATestDataFrameQueryWithMultiIndex.test_query_with_named_multiindexÔsý€Ü  Ô(Ü I‰I× !Ñ ! !Ó $× +Ñ +¨U°GÐ,<À2Ð +Ó FˆÜ I‰I× !Ñ ! !Ó $× +Ñ +¨V°U¨OÀ"Ð +Ó EˆÜ×&Ñ&¨¨1 v°g¸vÐ5FÔGˆÜ ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓHÐPUÔ VˆÜØ H‰H× %Ñ % gÓ .× 5Ñ 5¸UÈô
ˆð
x‰xÐ(°ÀˆxÓGˆØx‰xÐ(°ÀˆxÓGˆØ˜‘шÜ
×јd CÔ(Ü
×јd CÔ(ðx‰xÐ(°ÀˆxÓGˆØx‰xÐ(°ÀˆxÓGˆØ˜‘шÜ
×јd CÔ(Ü
×јd CÔ(ðx‰xÐ*°6À&ˆxÓIˆØx‰xÐ*°6À&ˆxÓIˆØ—‘˜5˜'Ó"Ñ#ˆÜ
×јd CÔ(Ü
×јd CÔ(àx‰xÐ*°6À&ˆxÓIˆØx‰xÐ*°6À&ˆxÓIˆØ#—(‘(˜E˜7Ó#Ð#Ñ$ˆÜ
×јd CÔ(Ü
×јd CÔ(ðx‰xÐ*°6À&ˆxÓIˆØx‰xÐ(°ÀˆxÓGˆØ—‘˜5˜'Ó"Ñ#ˆÜ
×јd CÔ(Ü
×јd CÔ(àx‰xÐ.°vÀfˆxÓMˆØx‰xÐ,°VÀFˆxÓKˆØ#—(‘(˜E˜7Ó#Ð#Ñ$ˆÜ
×јd CÔ(Ü
×јd CÕ(rcóº —t|«tjjd«j    ddgd¬«}tjjd«j    ddgd¬«}t j ||g«}ttjjd«jd«|¬    «}t|jjd
«j|¬    «}|jd ||¬ «}|jd ||¬ «}    ||dk(}
tj||
«tj|    |
«|jd||¬ «}|jd||¬ «}    ||dk7}
tj||
«tj|    |
«|jd||¬ «}|jd||¬ «}    ||j!dg«}
tj||
«tj|    |
«|jd||¬ «}|jd||¬ «}    ||j!dg«}
tj||
«tj|    |
«|jd||¬ «}|jd||¬ «}    ||j!dg«}
tj||
«tj|    |
«|jd||¬ «}|jd||¬ «}    ||j!dg«}
tj||
«tj|    |
«t|jjd«j|¬    «}|jd||¬ «}|jd||¬ «}    ||dk(}
tj||
«tj|    |
«|jd||¬ «}|jd||¬ «}    ||dk7}
tj||
«tj|    |
«|jd||¬ «}|jd||¬ «}    ||j!dg«}
tj||
«tj|    |
«|jd||¬ «}|jd ||¬ «}    ||j!dg«}
tj||
«tj|    |
«|jd!||¬ «}|jd"||¬ «}    ||j!dg«}
tj||
«tj|    |
«|jd#||¬ «}|jd$||¬ «}    ||j!dg«}
tj||
«tj|    |
«y)%Nr,r»r¼r—r½r¿rÀr–rÅrúilevel_0 == "red"rÈz"red" == ilevel_0úilevel_0 != "red"z"red" != ilevel_0zilevel_0 == ["red"]z["red"] == ilevel_0zilevel_0 != ["red"]z["red"] != ilevel_0z["red"] in ilevel_0z"red" in ilevel_0z["red"] not in ilevel_0z"red" not in ilevel_0r+zilevel_1 == "eggs"z"eggs" == ilevel_1zilevel_1 != "eggs"z"eggs" != ilevel_1zilevel_1 == ["eggs"]z["eggs"] == ilevel_1zilevel_1 != ["eggs"]z["eggs"] != ilevel_1z["eggs"] in ilevel_1z"eggs" in ilevel_1z["eggs"] not in ilevel_1z"eggs" not in ilevel_1rÉrÎs            rÚ"test_query_with_unnamed_multiindexzCTestDataFrameQueryWithMultiIndex.test_query_with_unnamed_multiindexsJ€Ü  Ô(Ü I‰I× !Ñ ! !Ó $× +Ñ +¨U°GÐ,<À2Ð +Ó FˆÜ I‰I× !Ñ ! !Ó $× +Ñ +¨V°U¨OÀ"Ð +Ó EˆÜ×&Ñ&¨¨1 vÓ.ˆÜ ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓHÐPUÔ VˆÜR—X‘X×.Ñ.¨qÓ1×8Ñ8ÀÔFˆàx‰xÐ+°FÀ6ˆxÓJˆØx‰xÐ+°FÀ6ˆxÓJˆØ˜‘шÜ
×јd CÔ(Ü
×јd CÔ(ðx‰xÐ+°FÀ6ˆxÓJˆØx‰xÐ+°FÀ6ˆxÓJˆØ˜‘шÜ
×јd CÔ(Ü
×јd CÔ(ðx‰xÐ-°fÀVˆxÓLˆØx‰xÐ-°fÀVˆxÓLˆØ—‘˜5˜'Ó"Ñ#ˆÜ
×јd CÔ(Ü
×јd CÔ(àx‰xÐ-°fÀVˆxÓLˆØx‰xÐ-°fÀVˆxÓLˆØ#—(‘(˜E˜7Ó#Ð#Ñ$ˆÜ
×јd CÔ(Ü
×јd CÔ(ðx‰xÐ-°fÀVˆxÓLˆØx‰xÐ+°FÀ6ˆxÓJˆØ—‘˜5˜'Ó"Ñ#ˆÜ
×јd CÔ(Ü
×јd CÔ(àx‰xÐ1¸&ȈxÓPˆØx‰xÐ/¸ÀvˆxÓNˆØ#—(‘(˜E˜7Ó#Ð#Ñ$ˆÜ
×јd CÔ(Ü
×јd CÔ(ôR—X‘X×.Ñ.¨qÓ1×8Ñ8ÀÔFˆØx‰xÐ,°VÀFˆxÓKˆØx‰xÐ,°VÀFˆxÓKˆØ˜‘шÜ
×јd CÔ(Ü
×јd CÔ(ðx‰xÐ,°VÀFˆxÓKˆØx‰xÐ,°VÀFˆxÓKˆØ˜‘шÜ
×јd CÔ(Ü
×јd CÔ(ðx‰xÐ.°vÀfˆxÓMˆØx‰xÐ.°vÀfˆxÓMˆØ—‘˜6˜(Ó#Ñ$ˆÜ
×јd CÔ(Ü
×јd CÔ(àx‰xÐ.°vÀfˆxÓMˆØx‰xÐ.°vÀfˆxÓMˆØ#—(‘(˜F˜8Ó$Ð$Ñ%ˆÜ
×јd CÔ(Ü
×јd CÔ(ðx‰xÐ.°vÀfˆxÓMˆØx‰xÐ,°VÀFˆxÓKˆØ—‘˜6˜(Ó#Ñ$ˆÜ
×јd CÔ(Ü
×јd CÔ(àx‰xÐ2¸6È&ˆxÓQˆØx‰xÐ0¸ÈˆxÓOˆØ#—(‘(˜F˜8Ó$Ð$Ñ%ˆÜ
×јd CÔ(Ü
×јd CÕ(rcón—t|«tjjd«j    ddgd¬«}tj
d«}t j||g«}ddg|_ttjjd«jd«|¬«}|jd    ||¬
«}t|jjd«j|d¬ «}||d k(}    t!j"||    «|jd ||¬
«}t|jjd«j|d¬ «}||d k7}    t!j"||    «|jd||¬
«}t|jjd«j|¬«}||dk(}    t!j"||    «|jd||¬
«}t|jjd«j|¬«}||dk7}    t!j"||    «y)Nr,r»r¼r—r½Úratingr–rÅz rating == 1rÈrÆr+z rating != 1rÕrrÖ)r%rrrr‚rÊÚarangerrËrÄrrƒr?rrjrÌrtr@rA)
r0rr!rˆr‰rjr1r§rÏrÒs
          rÚ*test_query_with_partially_named_multiindexzKTestDataFrameQueryWithMultiIndex.test_query_with_partially_named_multiindex^sá€Ü  Ô(Ü I‰I× !Ñ ! !Ó $× +Ñ +¨U°GÐ,<À2Ð +Ó FˆÜ I‰Ib‹MˆÜ×&Ñ&¨¨1 vÓ.ˆØ˜XÐ&ˆŒ Ü ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓHÐPUÔ VˆØh‰h}¨V¸FˆhÓCˆÜØ H‰H× %Ñ % hÓ /× 6Ñ 6¸eÈ(ô
ˆð˜‘‰lˆÜ
×јc 3Ô'àh‰h}¨V¸FˆhÓCˆÜØ H‰H× %Ñ % hÓ /× 6Ñ 6¸eÈ(ô
ˆð˜‘‰lˆÜ
×јc 3Ô'àh‰hÐ*°6À&ˆhÓIˆÜR—X‘X×.Ñ.¨qÓ1×8Ñ8ÀÔFˆØ˜‘шÜ
×јc 3Ô'àh‰hÐ*°6À&ˆhÓIˆÜR—X‘X×.Ñ.¨qÓ1×8Ñ8ÀÔFˆØ˜‘шÜ
×јc 3Õ'rc ód—ttjd«tjt d«Dcgc] }t d«‘Œc}ddg¬«¬«}|j «}d„}|jj«}|j|||jd«||jd«|d    œ}|j«D]`\}}t|t«r|j||«rŒ+J‚t|t«rtj |||«ŒWt#d
«‚ycc}w) N©r—r-r,r—Úspamr¿rÃrÅcóV—|j|«}|j«}||_|Sr)rÌÚ    to_seriesrj)ÚmiÚlevelÚ level_valuesÚss    rràz]TestDataFrameQueryWithMultiIndex.test_query_multiindex_get_index_resolvers.<locals>.to_series†s,€Ø×.Ñ.¨uÓ5ˆLØ×&Ñ&Ó(ˆA؈AŒG؈Hr)rjrkrÞr¿Úclevel_0z object must be a Series or Index)rrrÚonesrrËrnÚ_get_index_resolversrkràrjÚitemsÚ
isinstancerÚis_rr@rCÚAssertionError)    r0Ú_r1r›ràÚ
col_seriesr|ÚkÚvs             rÚ)test_query_multiindex_get_index_resolverszJTestDataFrameQueryWithMultiIndex.test_query_multiindex_get_index_resolvers}s    €Ü Ü G‰GGÓ Ü×(Ñ(Ü$)¨!£HÖ-˜q”r•Ò-°f¸fÐ5Eôô
ˆð ×+Ñ+Ó-ˆ    ò    ð —Z‘Z×)Ñ)Ó+ˆ
à—X‘XØ!Ù˜bŸh™h¨Ó/Ù˜bŸh™h¨Ó/Ø"ñ 
ˆð—O‘OÓ%ò    I‰DˆAˆqܘ!œUÔ#Ø—u‘u˜X a™[Õ)Ð)Ð)ܘAœvÔ&Ü×&Ñ& q¨(°1©+Õ6ä$Ð%GÓHÐHñ     Iùò'.s¶D-N)rSrTrUrÓr×rÛrðrrrr¹r¹Ós„ò0)òdV)òp(ó>Irr¹có\—eZdZejd„«Zejd„«Zd„Zd„Zd„Z    d„Z
d„Z d„Z d    „Z d
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zej:j=ddej@gdejBgg«d„«Z"d„Z#d„Z$y) ÚTestDataFrameQueryNumExprPandascó—y©Nrrr/s rr!z&TestDataFrameQueryNumExprPandas.engineŸó€àrcó—y©Nr rr/s rrz&TestDataFrameQueryNumExprPandas.parser£ó€àrcó€—t|«ttjj    d«j d««}t dd¬«|d<t dd¬«|d<t d    d¬«|d
<|jd ||¬ «}||jd kd |jkz}tj||«y)Nr,©rr-ú1/1/2012r©ÚperiodsÚdates1ú1/1/2013Údates2ú1/1/2014Údates3z"@df.dates1 < 20130101 < @df.dates3r®Ú20130101) r%rrrrr‚rƒr    r?rþrr@rA©r0r!rr1r§Úexpecs      rÚ%test_date_query_with_attribute_accesszETestDataFrameQueryNumExprPandas.test_date_query_with_attribute_access§s«€Ü  Ô(Ü ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÓ HˆÜ! *°aÔ8ˆˆ8‰ Ü! *°aÔ8ˆˆ8‰ Ü! *°aÔ8ˆˆ8‰ ؏h‰hØ 0¸Èðó
ˆðB—I‘I 
Ñ*¨z¸B¿I¹IÑ/EÑFÑGˆÜ
×јc 5Õ)rcój—ttjjd«j    d««}t dd¬«|d<t dd¬«|d<t d    d¬«|d
<|j d ||¬ «}||jd kd |jkz}tj||«y)Nr,rúrûrrürþrÿrrrúdates1 < 20130101 < dates3r®r© rrrrr‚rƒr    r?rþrr@rArs      rÚ#test_date_query_no_attribute_accesszCTestDataFrameQueryNumExprPandas.test_date_query_no_attribute_access³sœ€Ü ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÓ HˆÜ! *°aÔ8ˆˆ8‰ Ü! *°aÔ8ˆˆ8‰ Ü! *°aÔ8ˆˆ8‰ ؏h‰hÐ3¸FÈ6ˆhÓRˆØB—I‘I 
Ñ*¨z¸B¿I¹IÑ/EÑFÑGˆÜ
×јc 5Õ)rcóª—d}ttjjd«j    |df««}t d|¬«|d<t d|¬«|d<t d    |¬«|d
<t j|jtjjd«j|«d kDdf<t j|jtjjd«j|«d kDd
f<|jd ||¬ «}||jdkd|jkz}tj||«y)Nr—r,r-rûrürþrÿrrrr¯rr®r©rrrrr‚rƒr    rœÚNaTÚlocr?rþrr@rA©r0r!rrYr1r§rs       rÚtest_date_query_with_NaTz8TestDataFrameQueryNumExprPandas.test_date_query_with_NaT¼s€Ø ˆÜ ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÀAÀÓGÓ HˆÜ! *°aÔ8ˆˆ8‰ Ü! *°aÔ8ˆˆ8‰ Ü! *°aÔ8ˆˆ8‰ ÜEGÇVÁVˆ‰Œry‰y×$Ñ$ QÓ'×.Ñ.¨qÓ1°CÑ7¸ÐAÑBÜEGÇVÁVˆ‰Œry‰y×$Ñ$ QÓ'×.Ñ.¨qÓ1°CÑ7¸ÐAÑB؏h‰hÐ3¸FÈ6ˆhÓRˆØB—I‘I 
Ñ*¨z¸B¿I¹IÑ/EÑFÑGˆÜ
×јc 5Õ)rcó‚—d}ttjjd«j    |df««}t d|¬«|d<t d|¬«|d<|j dd    d    ¬
«}|J‚|jd ||¬ «}||jd kd |jkz}tj||«y)Nr—r,r-rûrürþrrT©ÚinplaceÚdropúindex < 20130101 < dates3r®r© rrrrr‚rƒr    Ú    set_indexr?rjrr@rA©r0r!rrYr1Ú return_valuer§rs        rÚtest_date_index_queryz5TestDataFrameQueryNumExprPandas.test_date_index_queryÈsµ€Ø ˆÜ ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÀAÀÓGÓ HˆÜ! *°aÔ8ˆˆ8‰ Ü! *°aÔ8ˆˆ8‰ Ø—|‘| H°dÀ|ÓFˆ ØÐ#Ð#Ð#؏h‰hÐ2¸6È&ˆhÓQˆØB—H‘H˜zÑ)¨j¸2¿9¹9Ñ.DÑEÑFˆÜ
×јc 5Õ)rcóæ—d}ttjjd«j    |df««j dt i«}td|¬«|d<td|¬«|d    <tj|jd
<|jdd d ¬ «}|J‚|jd ||¬«}||jdkd|jkz}tj ||«y)Nr—r,r-rrûrürþrr©rrTrrr®r©rrrrr‚rƒÚastypeÚobjectr    rœr rprr?rjrr@rArs        rÚtest_date_index_query_with_NaTz>TestDataFrameQueryNumExprPandas.test_date_index_query_with_NaTÓsÚ€Ø ˆä ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÀAÀÓGÓ H× OÑ OØ ”ˆKó
ˆô" *°aÔ8ˆˆ8‰ Ü! *°aÔ8ˆˆ8‰ ÜŸ™ˆ‰‰ Ø—|‘| H°dÀ|ÓFˆ ØÐ#Ð#Ð#؏h‰hÐ2¸6È&ˆhÓQˆØB—H‘H˜zÑ)¨j¸2¿9¹9Ñ.DÑEÑFˆÜ
×јc 5Õ)rcóâ—d}i}td|¬«|d<td|¬«|d<t|«}tj|jt
j jd«j |«dkDdf<|jdd    d    ¬
«}|J‚|jd ||¬ «}||jj«d kd |jkz}tj||«y)Nr—rûrürþrrr,r¯Trrr®r)r    rrœr rrrrr‚rr?rjràrr@rA)    r0r!rrYÚdr1rr§rs             rÚ)test_date_index_query_with_NaT_duplicateszITestDataFrameQueryNumExprPandas.test_date_index_query_with_NaT_duplicatesâsÚ€Ø ˆØ ˆÜ  °QÔ7ˆˆ(‰ Ü  °QÔ7ˆˆ(‰ Ü q‹\ˆÜEGÇVÁVˆ‰Œry‰y×$Ñ$ QÓ'×.Ñ.¨qÓ1°CÑ7¸ÐAÑBØ—|‘| H°dÀ|ÓFˆ ØÐ#Ð#Ð#؏h‰hÐ3¸FÈ6ˆhÓRˆØB—H‘H×&Ñ&Ó(¨:Ñ5¸*ÀrÇyÁyÑ:PÑQÑRˆÜ
×јc 5Õ)rcóž—d}ttd|¬«tj|«dœ«}|j    d||¬«}t |«dk(sJ‚|j    d||¬«}t j||«d    }d
D]>}tjt|¬ «5|j    d |›d ||¬«ddd«Œ@y#1swYŒKxYw)Nr—rûrü)ÚdatesÚnondatezdates == nondaterÈrzdates != nondatez=Invalid comparison between dtype=datetime64\[ns\] and ndarray)ú<ú>ú<=ú>=rMzdates z nondate) rr    rrrÚr?Úlenr@rAr#rOÚ    TypeError)r0r!rrYr1rErQrxs        rÚtest_date_query_with_non_datez=TestDataFrameQueryNumExprPandas.test_date_query_with_non_dateïsÔ€Ø ˆÜ Ü  °QÔ7ÄBÇIÁIÈaÃLÑ Qó
ˆð—‘Ð,°VÀFÓKˆÜ6‹{˜aÒÐÐà—‘Ð,°VÀFÓKˆÜ
×јf bÔ)àNˆØ(ò    NˆBÜ—‘œy°Ô4ñ NØ—‘˜6 "  XÐ.°vÀfÔM÷ Nð Nñ    N÷ Nð Nús ÂCÃC     cóè—ttd«tdd«tdd«dœ«}d}tjt|¬«5|j d    ||¬
«ddd«y#1swYyxYw) Nr—r-é rZé)Úir[Úrzinvalid syntaxrMzi - +r®)rrnr#rOÚ SyntaxErrorr?)r0r!rr1rQs     rÚtest_query_syntax_errorz7TestDataFrameQueryNumExprPandas.test_query_syntax_errors]€Ü œU 2›Y¬U°1°b«\ÄÀaÈà ÑMÓ NˆØˆÜ ]‰]œ;¨cÔ 2ñ    <Ø H‰HW V°FˆHÔ ;÷    <÷    <ñ    <ús Á
A(Á(A1có¼—t|«ttjj    d«j d«t d«¬«}d\}}|jd||¬«}||j|jkD}tj||«|jd||¬«}|||jkD}tj||«tjtd    ¬
«5|jd ||¬«ddd«tjtd ¬
«5|jd ||¬«ddd«y#1swYŒBxYw#1swYyxYw)Nr,)ér,r˜rm)r+r,za > br®z@a > bú!local variable 'c' is not definedrMz @a > b > @czname 'c' is not definedz
@a > b > c)r%rrrrr‚rƒror?rˆr‰r@rAr#rOr)r0r!rr1rˆr‰r§r|s        rÚtest_query_scopez0TestDataFrameQueryNumExprPandas.test_query_scopes4€Ü  Ô(ä Ü I‰I× !Ñ ! !Ó $× 4Ñ 4°WÓ =ÄtÈDÃzô
ˆð‰ˆˆ1؏h‰hw v°fˆhÓ=ˆØb—d‘d˜RŸT™T‘k‘?ˆÜ
×јc 8Ô,àh‰hx¨°vˆhÓ>ˆØa˜"Ÿ$™$‘h‘<ˆÜ
×јc 8Ô,ô]‰]Ü "Ð*Mô
ñ    Bð H‰H]¨6¸&ˆHÔ A÷    Bô ]‰]Ô1Ð9RÔ Sñ    AØ H‰H\¨&¸ˆHÔ @÷    Að    A÷     Bð    Bú÷     Að    AúsÃ0EÄ(EÅEÅEcó —dx}}ttjjd«j    ||df¬«t d«¬«}t jtd¬«5|jd    ||¬
«ddd«y#1swYyxYw) Nr—r,r-r½Úabcrmzname 'sin' is not definedrMúsin > 5r®)
rrrrr‚Úintegersror#rOrr?)r0r!rrYrzr1s      rÚtest_query_doesnt_pickup_localz>TestDataFrameQueryNumExprPandas.test_query_doesnt_pickup_local sz€Øˆ
ˆˆAÜ Ü I‰I× !Ñ ! !Ó $× -Ñ -¨a°q¸!°fÐ -Ó =ÄtÈEÃ{ô
ˆô
]‰]Ô1Ð9TÔ Uñ    >Ø H‰HY v°fˆHÔ =÷    >÷    >ñ    >ús Á&BÂB cóF—dx}}ttjjd«j    ||df¬«t d«¬«}d|j _d}tjt|¬    «5|jd
||¬ «ddd«y#1swYyxYw) Nr—r,r-r½r:rmÚsinzVariables in expression.+rMr;r®) rrrrr‚r<rorjrÇr#rOrr?)r0r!rrYrzr1rQs       rÚtest_query_builtinz2TestDataFrameQueryNumExprPandas.test_query_builtin*s‰€Øˆ
ˆˆAÜ Ü I‰I× !Ñ ! !Ó $× -Ñ -¨a°q¸!°fÐ -Ó =ÄtÈEÃ{ô
ˆðˆ‰Œ Ø)ˆÜ ]‰]Ô1¸Ô =ñ    >Ø H‰HY v°fˆHÔ =÷    >÷    >ñ    >ús Á9BÂB có¶—ttjjd«j    d«gd¢¬«}t j |jd||¬«||j|jk«t j |jd||¬«||j|jz|j|jzkD«y)Nr,rÝ©rˆr‰r¡rmúa < br®z a + b > b * c) rrrrr‚rƒr@rAr?rˆr‰r¡©r0r!rr1s    rÚ
test_queryz*TestDataFrameQueryNumExprPandas.test_query5s¦€Ü Ü I‰I× !Ñ ! !Ó $× 4Ñ 4°WÓ =Âô
ˆô     ×ÑØ H‰HW V°FˆHÓ ;¸RÀÇÁÀrÇtÁtÁ ¹_ô    
ô     ×ÑØ H‰H_¨V¸FˆHÓ CØ ˆrt‰tb—d‘d‰{˜RŸT™T B§D¡D™[Ñ(Ñ )õ    
rcóà—ttjjd«j    dd¬«t t d«d¬«gd¢¬«}|jd    ||¬
«}||jd k|j|jkz}tj||«|jd ||¬
«}||j|jk}tj||«y) Nr,r—rÝr½Úblob©rÇrBriz(blob < 5) & (a < b)r®rzblob < b) rrrrr‚r<rrnr?rjrˆr‰r@rArs      rÚtest_query_index_with_namez:TestDataFrameQueryNumExprPandas.test_query_index_with_nameBsÃ€Ü Ü I‰I× !Ñ ! !Ó $× -Ñ -¨b°wÐ -Ó ?Üœ˜b›    ¨Ô/Ú#ô
ˆð
h‰hÐ-°fÀVˆhÓLˆØB—H‘H˜q‘L R§T¡T¨B¯D©D¡[Ñ1Ñ2ˆÜ
×јc 5Ô)àh‰hz¨&¸ˆhÓ@ˆØ2—8‘8˜bŸd™d‘?Ñ#ˆä
×јc 5Õ)rcó–—ttjjd«j    dd¬«t d«gd¢¬«}|j d||¬«}||j|jk}tj||«|j d    ||¬«}||jd
k}tj||«y) Nr,r—rÝr½rBriz    index < br®z    index < 5r) rrrrr‚r<rnr?rjr‰r@rArs      rÚtest_query_index_without_namez=TestDataFrameQueryNumExprPandas.test_query_index_without_nameQs¬€Ü Ü I‰I× !Ñ ! !Ó $× -Ñ -¨b°wÐ -Ó ?ܘ“)Ú#ô
ˆðh‰h{¨6¸&ˆhÓAˆØ2—8‘8˜bŸd™d‘?Ñ#ˆÜ
×јc 5Ô)ðh‰h{¨6¸&ˆhÓAˆØ2—8‘8˜a‘<Ñ ˆÜ
×јc 5Õ)rcóÖ—t|«ttjj    d«j d««}ttjj    d«j d««}||dkD|dkDz}|j d||¬«}tj||«tjd||¬«}tj||«tjd||¬«}||dkD|dkDz||dkDdkDz}tj||«tjd||¬«}|j d    ||¬«}tj||«y)
Nr,rúrz(@df > 0) & (@df2 > 0)r®zdf[df > 0 and df2 > 0]z)df[df > 0 and df2 > 0 and df[df > 0] > 0]zdf[(df>0) & (df2>0)]ú(@df>0) & (@df2>0)) r%rrrrr‚rƒr?r@rArœrB)r0r!rr1Údf2r|rEs       rÚtest_nested_scopez1TestDataFrameQueryNumExprPandas.test_nested_scopebs8€Ü  Ô(ä ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÓ HˆÜœŸ    ™    ×-Ñ-¨aÓ0×@Ñ@ÀÓHÓIˆØr˜A‘v #¨¡'Ñ*Ñ+ˆà—‘Ð2¸6È&ÓQˆÜ
×јf hÔ/ä—‘Ð1¸&ÈÔPˆÜ
×јf hÔ/ä—‘Ø 7ÀÈvô
ˆðr˜A‘v #¨¡'Ñ*¨b°°a±©j¸1©nÑ=Ñ>ˆÜ
×јf hÔ/ä—‘Ð/¸ÀvÔNˆØ—8‘8Ð0¸È8ÓOˆÜ
×јf hÕ/rcóú—ttjjd«j    d««}t j td¬«5|jd||¬«ddd«y#1swYyxYw)Nr,rúúname 'df' is not definedrMzdf > 0r®)    rrrrr‚rƒr#rOrr?rDs    rÚ*test_nested_raises_on_local_self_referencezJTestDataFrameQueryNumExprPandas.test_nested_raises_on_local_self_referenceys_€Ü ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÓ Hˆô]‰]Ô1Ð9SÔ Tñ    =Ø H‰HX f°VˆHÔ <÷    =÷    =ñ    =ús ÁA1Á1A:có¦—t|«ttjj    d«j d«t d«¬«}d}||j|k}|jd||¬«}tj||«||j|jk}|jd||¬«}tj||«y)    Nr,)édr—Ú
abcdefghijrmr+za < @br®rC) r%rrrrr‚rƒrorˆr?r@rAr‰)r0r!rr1r‰ÚexpectrEs       rÚtest_local_syntaxz1TestDataFrameQueryNumExprPandas.test_local_syntax€s®€Ü  Ô(ä Ü I‰I× !Ñ ! !Ó $× 4Ñ 4°YÓ ?ܘÓ&ô
ˆð ˆØB—D‘D˜1‘H‘ˆØ—‘˜(¨6¸&ÓAˆÜ
×јf fÔ-àB—D‘D˜2Ÿ4™4‘K‘ˆØ—‘˜'¨&¸Ó@ˆÜ
×јf fÕ-rcó—t|«td«}ttjj d«j dt|«f«|¬«}|jd||¬«}|j|jk|j|jkz|jj|j«z|jj|j«z}||}tj||«y)Nr:r,rTrmz!a < b < c and a not in b not in cr®)r%rorrrrr‚rƒr+r?rˆr‰r¡rÍr@rA)r0r!rÚcolsr1r§rÏrs        rÚtest_chained_cmp_and_inz7TestDataFrameQueryNumExprPandas.test_chained_cmp_and_insπÜ  Ô(ܐE‹{ˆÜ Ü I‰I× !Ñ ! !Ó $× 4Ñ 4°c¼3¸t»9Ð5EÓ FÐPTô
ˆðh‰hØ /¸Àvðó
ˆðt‰tb—d‘d‰{˜rŸt™t b§d¡d™{Ñ+¨r¯t©t¯y©y¸¿¹«Ð.>Ñ>À"Ç$Á$Ç)Á)ÈBÏDÉDÃ/ÐAQÑQˆØ3‘ˆÜ
×јc 5Õ)rcóØ—t|«ttjj    d«j dd¬«d¬«}ttjj    d«j dd¬«d¬«}t ||d    œ«}|j|jd
z
j|«}|jd ||¬ «}tj||«ttjj    d«j dd¬«d¬«}|j|d
z
j|«}|jd ||¬ «}tj||«y)Nr,r-ér½rˆrHr—r‰r­r+z
b - 1 in ar®z @b - 1 in a) r%rrrrr‚r<rrr‰rÍr?r@rA)r0r!rrˆr‰r1r|rEs        rÚtest_local_variable_with_inz;TestDataFrameQueryNumExprPandas.test_local_variable_with_ins€Ü  Ô(Ü ”2—9‘9×(Ñ(¨Ó+×4Ñ4°Q¸RÐ4Ó@ÀsÔ KˆÜ ”2—9‘9×(Ñ(¨Ó+×4Ñ4°R¸bÐ4ÓAÈÔ LˆÜ ˜Q QÑ'Ó (ˆà—6‘6˜2Ÿ4™4 !™8Ÿ/™/¨!Ó,Ñ-ˆØ—‘˜,¨v¸fÓEˆÜ
×јh¨Ô/ä ”2—9‘9×(Ñ(¨Ó+×4Ñ4°R¸bÐ4ÓAÈÔ LˆØ—6‘6˜1˜q™5Ÿ,™, q›/Ñ*ˆØ—‘˜-°¸vÓFˆÜ
×јh¨Õ/rcó´—t|«d}tdgd¢i«}|jd||¬«}||jdk(}t    j
||«y)Nr+rˆ)rˆrˆr‰r‰ú@cr_z    a == "@c"r®r_©r%rr?rˆr@rA)r0r!rr¡r1rEr|s       rÚtest_at_inside_stringz5TestDataFrameQueryNumExprPandas.test_at_inside_string¬sU€Ü  Ô(Ø ˆÜ ˜Ò=Ð>Ó ?ˆØ—‘˜+¨f¸VÓDˆØb—d‘d˜d‘lÑ#ˆÜ
×јf hÕ/rcóV—|j|j}}t|«ttj
j d«j d«td«¬«}tjtd¬«5|jd||¬«ddd«y#1swYyxYw)    Nr,r–r˜rmr7rMza == @cr®) r!rr%rrrrr‚ror#rOrr?rDs    rÚtest_query_undefined_localz:TestDataFrameQueryNumExprPandas.test_query_undefined_local´s€€ØŸ™ d§k¡kˆÜ  Ô(ä ”r—y‘y×,Ñ,¨QÓ/×6Ñ6°wÓ?ÌÈdËÔ TˆÜ ]‰]Ü "Ð*Mô
ñ    >ð H‰HY v°fˆHÔ =÷    >÷    >ñ    >ús ÂBÂB(có>—d}tjddd…}t|tjj    d«j |j «dœ«}d|j_|jd||¬«}||dd    kD}tj||«t|tjj    d«j |j «dœ«}|jd
||¬«}|j|j|jd    kD}tj||«t|tjj    d«j |j «d œ«}d |j_|jd ||¬«}||jd    kD}tj||«|jd||¬«}|j|j|jd    kD}tj||«y)Nr+r6éer,)rjr‰rjz    index > 5r®rz ilevel_0 > 5r­rˆza > 5)rrÚr_rrr‚rƒr¾rjrÇr?r@rArrˆ)r0r!rrYrˆr1rEr|s        rÚ:test_index_resolvers_come_after_columns_with_the_same_namezZTestDataFrameQueryNumExprPandas.test_index_resolvers_come_after_columns_with_the_same_name¾sµ€ð ˆÜ E‰E"S˜)Ñ ˆä ØœbŸi™i×3Ñ3°AÓ6×FÑFÀqÇvÁvÓNÑ Oó
ˆð ˆ‰Œ Ø—‘˜+¨f¸VÓDˆØb˜‘k A‘oÑ&ˆÜ
×јf hÔ/ä ØœbŸi™i×3Ñ3°AÓ6×FÑFÀqÇvÁvÓNÑ Oó
ˆð—‘˜.°ÀÓGˆØ—6‘6˜"Ÿ(™( 2§8¡8¨a¡<Ñ0Ñ1ˆÜ
×јf hÔ/ä ˜Q¤R§Y¡Y×%:Ñ%:¸1Ó%=×%MÑ%MÈaÏfÉfÓ%UÑVÓ WˆØˆ‰Œ Ø—‘˜'¨&¸Ó@ˆØb—d‘d˜Q‘h‘<ˆÜ
×јf hÔ/à—‘˜+¨f¸VÓDˆØ—6‘6˜"Ÿ(™( 2§8¡8¨a¡<Ñ0Ñ1ˆÜ
×јf hÕ/rzop, fú==ú!=cóÀ—d}ttjjd«j|«tjjd«j|«dœ«}tj|j
ddd…df<d|›d}|||j tj«}|j|||¬«}    tj|    |«y)Nr—r,r­rúa z infr®)
rrrrr‚Úinfrrˆr?r@rA)
r0rxÚfr!rrYr1Úqr|rEs
          rÚtest_infz(TestDataFrameQueryNumExprPandas.test_infÝs´€à ˆÜ ä—Y‘Y×*Ñ*¨1Ó-×4Ñ4°QÓ7Ü—Y‘Y×*Ñ*¨1Ó-×4Ñ4°QÓ7ñ ó
ˆô Ÿ™ˆ‰‰sˆsAˆv‰ØDˆMˆØ‘a˜Ÿ™œbŸf™f“oÑ&ˆØ—‘˜! F°6Ó:ˆÜ
×јf hÕ/rcó&—|}tddd|d¬«}t|¬«}t|¬«}|jd«}tj||«t|«}|j «jd«}tj||«y)Nz
2019-01-01Ú1dr—Útime)ÚstartÚfreqrýÚtzrÇrÅz"2018-01-03 00:00:00+00" < time)r    rr?r@rAÚ reset_index)r0Útz_aware_fixtureruÚdf_indexr|r1rEs       rÚtest_check_tz_aware_index_queryz?TestDataFrameQueryNumExprPandas.test_check_tz_aware_index_queryìsƒ€à ˆÜØ T°2¸"À6ô
ˆô 8Ô,ˆÜ ˜XÔ &ˆØ—‘Ð;Ó<ˆÜ
×јf hÔ/ä˜XÓ&ˆØ—‘Ó!×'Ñ'Ð(IÓJˆÜ
×јf hÕ/rc    óR—d}tdtjjd«j|«ztjjd«j|«dœ«}||dj    d«dk(}|j d||¬«}t j||«ttjtjjd«j|«d    ktjtjjd«j|««tjjd«j|«dœ«}||dj«}|j d
||¬«}t j||«y) Nr—r,r­rˆÚintrza.astype('int') == 0r®r¯z a.notnull()) rrrrr‚rr?r@rAÚwherer„rƒÚnotnull)r0r!rrYr1r|rEs       rÚtest_method_calls_in_queryz:TestDataFrameQueryNumExprPandas.test_method_calls_in_queryûsS€à ˆÜ àœŸ™×.Ñ.¨qÓ1×8Ñ8¸Ó;Ñ;Ü—Y‘Y×*Ñ*¨1Ó-×4Ñ4°QÓ7ñ ó
ˆð b˜‘g—n‘n UÓ+¨qÑ0Ñ1ˆØ—‘Ð0¸ÈÓOˆÜ
×јf hÔ/ä ä—X‘XÜ—I‘I×)Ñ)¨!Ó,×3Ñ3°AÓ6¸Ñ<Ü—F‘FÜ—I‘I×)Ñ)¨!Ó,×<Ñ<¸QÓ?óô
—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸aÓ@ñ  ó    
ˆðb˜‘g—o‘oÓ'Ñ(ˆØ—‘˜-°¸vÓFˆÜ
×јf hÕ/rN)%rSrTrUr#rVr!rrr
rrr r#r-r4r8r=r@rErIrKrOrRrWrZr]rarcrgr°r·ÚoperatorÚeqÚneroryr~rrrròròsç„à ‡^^ñóðð ‡^^ñóðò
*ò*ò
*ò    *ò *ò *òNò"<ò Aò4>ò    >ò 
ò *ò*ò"0ò.=ò.ò  *ò 0ò0ò>ò0ð> ‡[[×јW¨¨h¯k©kÐ':¸TÀ8Ç;Á;Ð<OÐ&PÓQñ 0óRð 0ò 0ó0rròcó~—eZdZejd„«Zejd„«Zd„Zd„Zd„Z    d„Z
d„Z d„Z d    „Z y
) ÚTestDataFrameQueryNumExprPythoncó—yrôrr/s rr!z&TestDataFrameQueryNumExprPython.enginerõrcó—y©Nr rr/s rrz&TestDataFrameQueryNumExprPython.parserrørcój—ttjjd«j    d««}t dd¬«|d<t dd¬«|d<t d    d¬«|d
<|j d ||¬ «}||jd kd |jkz}tj||«y)Nr,rúrûrrürþrÿrrrú)(dates1 < 20130101) & (20130101 < dates3)r®rr    rs      rr
zCTestDataFrameQueryNumExprPython.test_date_query_no_attribute_access!s£€Ü ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÓ HˆÜ! *°aÔ8ˆˆ8‰ Ü! *°aÔ8ˆˆ8‰ Ü! *°aÔ8ˆˆ8‰ ؏h‰hØ 7ÀÈvðó
ˆðB—I‘I 
Ñ*¨z¸B¿I¹IÑ/EÑFÑGˆÜ
×јc 5Õ)rcóª—d}ttjjd«j    |df««}t d|¬«|d<t d|¬«|d<t d    |¬«|d
<t j|jtjjd«j|«d kDdf<t j|jtjjd«j|«d kDd
f<|jd ||¬ «}||jdkd|jkz}tj||«y)Nr—r,r-rûrürþrÿrrrr¯rˆr®rr rs       rrz8TestDataFrameQueryNumExprPython.test_date_query_with_NaT,s€Ø ˆÜ ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÀAÀÓGÓ HˆÜ! *°aÔ8ˆˆ8‰ Ü! *°aÔ8ˆˆ8‰ Ü! *°aÔ8ˆˆ8‰ ÜEGÇVÁVˆ‰Œry‰y×$Ñ$ QÓ'×.Ñ.¨qÓ1°CÑ7¸ÐAÑBÜEGÇVÁVˆ‰Œry‰y×$Ñ$ QÓ'×.Ñ.¨qÓ1°CÑ7¸ÐAÑB؏h‰hØ 7ÀÈvðó
ˆðB—I‘I 
Ñ*¨z¸B¿I¹IÑ/EÑFÑGˆÜ
×јc 5Õ)rcó‚—d}ttjjd«j    |df««}t d|¬«|d<t d|¬«|d<|j dd    d    ¬
«}|J‚|jd ||¬ «}||jd kd |jkz}tj||«y)Nr—r,r-rûrürþrrTrú((index < 20130101) & (20130101 < dates3)r®rrrs        rrz5TestDataFrameQueryNumExprPython.test_date_index_query:s¼€Ø ˆÜ ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÀAÀÓGÓ HˆÜ! *°aÔ8ˆˆ8‰ Ü! *°aÔ8ˆˆ8‰ Ø—|‘| H°dÀ|ÓFˆ ØÐ#Ð#Ð#؏h‰hØ 6¸vÈfðó
ˆðB—H‘H˜zÑ)¨j¸2¿9¹9Ñ.DÑEÑFˆÜ
×јc 5Õ)rcóæ—d}ttjjd«j    |df««j dt i«}td|¬«|d<td|¬«|d    <tj|jd
<|jdd d ¬ «}|J‚|jd ||¬«}||jdkd|jkz}tj ||«y)Nr—r,r-rrûrürþrrrTrr‹r®rrrs        rr z>TestDataFrameQueryNumExprPython.test_date_index_query_with_NaTGsá€Ø ˆä ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÀAÀÓGÓ H× OÑ OØ ”ˆKó
ˆô" *°aÔ8ˆˆ8‰ Ü! *°aÔ8ˆˆ8‰ ÜŸ™ˆ‰‰ Ø—|‘| H°dÀ|ÓFˆ ØÐ#Ð#Ð#؏h‰hØ 6¸vÈfðó
ˆðB—H‘H˜zÑ)¨j¸2¿9¹9Ñ.DÑEÑFˆÜ
×јc 5Õ)rcó—d}ttjjd«j    |df««}t d|¬«|d<t d|¬«|d<t j|jtjjd«j|«d    kDdf<|jdd
d
¬ «}|J‚d }tjt|¬ «5|jd||¬«ddd«y#1swYyxYw)Nr—r,r-rûrürþrrr¯Trú"'BoolOp' nodes are not implementedrMrr®)rrrrr‚rƒr    rœr rrr#rOÚNotImplementedErrorr?)r0r!rrYr1rrQs       rr#zITestDataFrameQueryNumExprPython.test_date_index_query_with_NaT_duplicatesXs倨 ˆÜ ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÀAÀÓGÓ HˆÜ! *°aÔ8ˆˆ8‰ Ü! *°aÔ8ˆˆ8‰ ÜEGÇVÁVˆ‰Œry‰y×$Ñ$ QÓ'×.Ñ.¨qÓ1°CÑ7¸ÐAÑBØ—|‘| H°dÀ|ÓFˆ ØÐ#Ð#Ð#Ø3ˆÜ ]‰]Ô.°cÔ :ñ    PØ H‰HÐ0¸ÈˆHÔ O÷    P÷    Pñ    Pús ÃC=Ã=Dcó>—d}tjd||¬«}|dk(sJ‚ttjj d«j d««}ttjj d«j d««}d}tjt|¬«5|jd||¬«ddd«tjtd    ¬«5|jd
||¬«ddd«||d kD|d kDz}tjd ||¬«}tj||«||d kD|d kDz||d kDd kDz}tjd ||¬«}tj||«y#1swYŒÆxYw#1swYŒšxYw)Nr+zx + 1r®r,rúz5The '@' prefix is only supported by the pandas parserrMrMrQz(df>0) & (df2>0)rzdf[(df > 0) & (df2 > 0)]z+df[(df > 0) & (df2 > 0) & (df[df > 0] > 0)])rœrBrrrrr‚rƒr#rOr3r?rr@rA)    r0r!rrrEr1rNrQr|s             rrOz1TestDataFrameQueryNumExprPython.test_nested_scopedsy€à ˆÜ—‘˜¨¸Ô?ˆØ˜Š{Ј{ä ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÓ HˆÜœŸ    ™    ×-Ñ-¨aÓ0×@Ñ@ÀÓHÓIˆðGˆÜ ]‰]œ;¨cÔ 2ñ    IØ H‰HÐ)°&ÀˆHÔ H÷    Iô]‰]Ô1Ð9SÔ Tñ    GØ H‰HÐ'°¸vˆHÔ F÷    Gðr˜A‘v #¨¡'Ñ*Ñ+ˆÜ—‘Ð3¸FÈ6ÔRˆÜ
×јh¨Ô/àr˜A‘v #¨¡'Ñ*¨b°°a±©j¸1©nÑ=Ñ>ˆÜ—‘Ø 9À&ÐQWô
ˆô     ×јh¨Õ/÷    Ið    Iú÷    Gð    GúsÂ-FÃ%FÆFÆFcó4—tgd¢gd¢dœ«}d}tjt|¬«5|j    d«ddd«d}tjt|¬«5|j    d«ddd«y#1swYŒAxYw#1swYyxYw)    Nr*r«)ÚminÚmaxzMVariables in expression \"\(min\) == \(1\)\" overlap with builtins: \('min'\)rMzmin == 1zMVariables in expression \"\(max\) == \(1\)\" overlap with builtins: \('max'\)zmax == 1)rr#rOrr?)r0r1Úregex_to_matchs   rÚ+test_query_numexpr_with_min_and_max_columnszKTestDataFrameQueryNumExprPython.test_query_numexpr_with_min_and_max_columnssŽ€Ü šy²Ñ;Ó <ˆð 0ð    ô]‰]Ô1¸Ô Hñ    !Ø H‰HZÔ  ÷    !ð 0ð    ô]‰]Ô1¸Ô Hñ    !Ø H‰HZÔ  ÷    !ð    !÷    !ð    !ú÷    !ð    !ús°BÁ'BÂB ÂBN)rSrTrUr#rVr!rr
rrr r#rOr•rrrrƒrƒsT„à ‡^^ñóðð ‡^^ñóðò    *ò *ò *ò*ò"
Pò0ó6!rrƒcóZ—eZdZejd„«Zejd„«Zd„Zy)ÚTestDataFrameQueryPythonPandascó—yr†rr/s rr!z%TestDataFrameQueryPythonPandas.engine‘rørcó—yr÷rr/s rrz%TestDataFrameQueryPythonPandas.parser•rørcó2—dx}}ttjjd«j    ||df¬«t d«¬«}d|j _||j dkD}|jd    ||¬
«}tj||«y© Nr—r,r-r½r:rmr?rr;r®© rrrrr‚r<rorjrÇr?r@rA©r0r!rrYrzr1r|rEs        rr@z1TestDataFrameQueryPythonPandas.test_query_builtin™󄀨ˆ
ˆˆAÜ Ü I‰I× !Ñ ! !Ó $× -Ñ -¨a°q¸!°fÐ -Ó =ÄtÈEÃ{ô
ˆðˆ‰Œ ؐb—h‘h ‘lÑ#ˆØ—‘˜)¨F¸6ÓBˆÜ
×јh¨Õ/rN©rSrTrUr#rVr!rr@rrrr—r—ó5„Ø ‡^^ñóðð ‡^^ñóðó    0rr—cóZ—eZdZejd„«Zejd„«Zd„Zy)ÚTestDataFrameQueryPythonPythoncó—yr†rr/s rr!z%TestDataFrameQueryPythonPython.engine¦rørcó—yr†rr/s rrz%TestDataFrameQueryPythonPython.parserªrørcó2—dx}}ttjjd«j    ||df¬«t d«¬«}d|j _||j dkD}|jd    ||¬
«}tj||«yr›rœrs        rr@z1TestDataFrameQueryPythonPython.test_query_builtin®ržrNrŸrrrr¢r¢¥r rr¢c
óP—eZdZd„Zd„Zd„Zd„Zd„Zd„Ze    jjdde jgd    e jgd
e jgd e j gg«d „«Zd „Zd„Ze    jjdgd¢gd¢gd¢gd¢gd¢gd¢g«d„«Zy)ÚTestDataFrameQueryStringsc    óP—ttjjd«j    d«dg¬«}t t d««|d<||jdk(}|dk7rd}d    }|gdz|gdzz}|ddd
…}d \}    }
d|    g|
gzz} d } t|| |«D]U\}} }|›d | ›d |›}tjt| ¬«5|j|||d|ji¬«ddd«ŒWy|jd||¬«}tj||«|jd||¬«}tj||«tj|||jjdg««||jdk7}|jd||¬«}tj||«|jd||¬«}tj||«tj|||jjdg««y#1swYŒ…xYw)Nr,©r—r+r‰rmÚ
aabbccddeeÚstringsrˆr z"a"rl©rhriú$'(Not)?In' nodes are not implementedú rM)r!rÚ
local_dictz"a" == stringsr®zstrings == "a"zstrings != "a"z"a" != strings)rrrrr‚rƒrror«Úzipr#rOrr?r@rArÍ©r0rr!r1rVÚcolÚlstÚlhsÚrhsr€rÚopsrQrxÚexr§s                rÚtest_str_query_methodz/TestDataFrameQueryStrings.test_str_query_method»s€Ü ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓHÐSVÐRWÔ XˆÜœt LÓ1Ó2ˆˆ9‰ ؐB—J‘J #Ñ%Ñ&ˆà XÒ ØˆC؈Cà%˜!‘)˜s˜e a™iÑ'ˆCØ‘d˜d‘)ˆCà‰FˆBØ˜t˜r˜d‘{Ñ#ˆCØ9ˆCä # C¨¨cÓ 2ò ‘ R˜Øu˜A˜b˜T  3 %Ð(Ü—]‘]Ô#6¸cÔBñØ—H‘HØØ%Ø%Ø$-¨r¯z©zÐ#:ð    ô÷ðñ ð—(‘(Ð+°FÀ6(ÓJˆCÜ × !Ñ ! # vÔ .à—(‘(Ð+°FÀ6(ÓJˆCÜ × !Ñ ! # vÔ .Ü × !Ñ ! # r¨"¯*©*¯/©/¸3¸%Ó*@Ñ'AÔ Bà˜Ÿ
™
 cÑ)Ñ*ˆFØ—(‘(Ð+°FÀ6(ÓJˆCÜ × !Ñ ! # vÔ .à—(‘(Ð+°FÀ6(ÓJˆCÜ × !Ñ ! # vÔ .Ü × !Ñ ! # r¨2¯:©:¯?©?¸C¸5Ó+AÐ*AÑ'BÕ C÷+ñús à "HÈH%    có¢—ttjjd«j    d«dg¬«}t t d««|d<||jjddg«}|dk7rƒd}d    }|gdz|gdzz}|ddd
…}d \}    }
d|    g|
gzz} d } t|| |«D]H\}} }|›d | ›d |›}tjt| ¬«5|j|||¬«ddd«ŒJy|jd||¬«}tj||«|jd||¬«}tj||«||jjddg«}|jd||¬«}tj||«|jd||¬«}tj||«y#1swYŒ xYw)Nr,r©r‰rmrªr«rˆr z
["a", "b"]rlr¬r­r®rMr®zstrings == ["a", "b"]z["a", "b"] == stringszstrings != ["a", "b"]z["a", "b"] != strings)rrrrr‚rƒrror«rÍr°r#rOrr?r@rAr±s                rÚtest_str_list_query_methodz4TestDataFrameQueryStrings.test_str_list_query_methodäsÒ€Ü ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓHÐSVÐRWÔ XˆÜœt LÓ1Ó2ˆˆ9‰ ؐB—J‘J—O‘O S¨# JÓ/Ñ0ˆà XÒ ØˆC؈Cà%˜!‘)˜s˜e a™iÑ'ˆCØ‘d˜d‘)ˆCà‰FˆBØ˜t˜r˜d‘{Ñ#ˆCØ9ˆCä # C¨¨cÓ 2ò ?‘ R˜Øu˜A˜b˜T  3 %Ð(Ü—]‘]Ô#6¸cÔBñ?Ø—H‘H˜R¨°vHÔ>÷?ð?ñ ?ð
—(‘(Ð2¸6È&(ÓQˆCÜ × !Ñ ! # vÔ .à—(‘(Ð2¸6È&(ÓQˆCÜ × !Ñ ! # vÔ .à˜Ÿ™Ÿ™¨#¨s¨Ó4Ð4Ñ5ˆFà—(‘(Ð2¸6È&(ÓQˆCÜ × !Ñ ! # vÔ .à—(‘(Ð2¸6È&(ÓQˆCÜ × !Ñ ! # vÕ .÷?ñ?ús ÃGÇG    c    ó —ttd«td«tjj    d«j dd¬«tjj    d«j dd¬«dœ«}|d    k(r¿|j d
||¬ «}||jj|j«}tj||«|j d ||¬ «}||jj|j«|j|jkz}tj||«yd }tjt |¬«5|j d
||¬ «ddd«d}tjt |¬«5|j d ||¬ «ddd«y#1swYŒDxYw#1swYyxYw)NÚ aaaabbbbccccÚ aabbccddeeffr,ré r½é    ©rˆr‰r¡r"r za in brÈza in b and c < dr­rMrŽ)rrorrrr‚r<r?rˆrÍr‰r@rAr¡r"r#rOr)r0rr!r1r§rrQs       rÚtest_query_with_string_columnsz8TestDataFrameQueryStrings.test_query_with_string_columnss„€Ü ä˜.Ó)ܘ.Ó)Ü—Y‘Y×*Ñ*¨1Ó-×6Ñ6°q¸rÐ6ÓBÜ—Y‘Y×*Ñ*¨1Ó-×6Ñ6°q¸rÐ6ÓBñ     ó
ˆð XÒ Ø—(‘(˜8¨F¸6(ÓBˆCؐr—t‘t—y‘y §¡“Ñ'ˆEÜ × !Ñ ! # uÔ -à—(‘(Ð-°fÀV(ÓLˆCؐr—t‘t—y‘y §¡“¨"¯$©$°·±©+Ñ6Ñ7ˆEÜ × !Ñ ! # uÕ -à9ˆCÜ—‘Ô2¸#Ô>ñ AØ—‘˜¨&¸Ô@÷ Að8ˆCÜ—‘Ô2¸#Ô>ñ KØ—‘Ð+°FÀ6ÔJ÷ Kð K÷     Að Aú÷ Kð KúsÅ F8ÆGÆ8GÇG c    ó—ttd«td«tjj    d«j dd¬«tjj    d«j dd¬«dœ«}|j d    ||¬
«}||j|jk(}tj||«|j d ||¬
«}||j|jk7}tj||«y) Nr¼r½r,rr¾r½r¿rÀza == brÈza != b) rrorrrr‚r<r?rˆr‰r@rA)r0rr!r1r§rÒs      rÚtest_object_array_eq_nez1TestDataFrameQueryStrings.test_object_array_eq_ne!sÛ€Ü ä˜.Ó)ܘ.Ó)Ü—Y‘Y×*Ñ*¨1Ó-×6Ñ6°q¸rÐ6ÓBÜ—Y‘Y×*Ñ*¨1Ó-×6Ñ6°q¸rÐ6ÓBñ     ó
ˆðh‰hx¨°vˆhÓ>ˆØ—‘˜Ÿ™‘шÜ
×јc 3Ô'àh‰hx¨°vˆhÓ>ˆØ—‘˜Ÿ™‘шÜ
×јc 3Õ'rc    ó°—t|«tdd«Dcgc]}dD]
}d|›d|›‘Œ Œc}}dz}tddd    ¬
«}td dd    ¬
«}tt    j
dd «j d«||j|«d œ«}||jdk(}    |jd||¬«}
tj|    |
«ycc}}w)Nr+rZ)ÚloadÚexitzpage r®r,z2014-01-01 0:00:01Ú30sr¬)rtrýz2014-02-01 1:00:01é)ÚidÚeventÚ    timestampz "page 1 load"z'"page 1 load"' in eventrÈ) r%rnr    rrrrÚÚrepeatÚappendrÊr?r@rA) r0rr!rYÚactÚeventsÚstamps1Ústamps2r1r|r§s            rÚtest_query_with_nested_stringsz8TestDataFrameQueryStrings.test_query_with_nested_strings2sâ€Ü  Ô(ä',¨Q°£{÷
Ø"#Ð>Nò
Ø7:ˆeA3a˜uÒ ð
Ø ó
à ñˆôÐ1¸ÀqÔIˆÜÐ1¸ÀqÔIˆÜ ä—i‘i  1“o×,Ñ,¨QÓ/ØØ$Ÿ^™^¨GÓ4ñ ó
ˆðb—h‘h /Ñ1Ñ2ˆØh‰hÐ5¸fÈVˆhÓTˆÜ
×јh¨Õ,ùó
s›Ccó¶—t|«tgd¢gd¢dœ«}|jd||¬«}||jdk(}t    j
||«y)N)rˆr‰ú test & testr*r­za == "test & test"rÈrÔr`)r0rr!r1r§rs      rÚ(test_query_with_nested_special_characterzBTestDataFrameQueryStrings.test_query_with_nested_special_characterEsR€Ü  Ô(Ü Ò6ºYÑGÓ HˆØh‰hÐ+°FÀ6ˆhÓJˆØ2—4‘4˜=Ñ(Ñ)ˆÜ
×јc 5Õ)rzop, funcr'r(r)r*cóz—ttjjd«j    t d«d««}ttj |j««}t||dœ«}|jd|›d||¬«}|||jd«}    tj||    «y)    Nr,Úabcder6)ÚXr¥zX z "d"r®r") rrrrr‚rÊrorÚr¾rr?rØr@rA)
r0rr!rxÚfuncrˆr‰r1r§r|s
          rÚtest_query_lex_compare_stringsz8TestDataFrameQueryStrings.test_query_lex_compare_stringsLs”€ô ”2—9‘9×(Ñ(¨Ó+×2Ñ2´4¸³=À"ÓEÓ FˆÜ ”2—9‘9˜QŸV™VÓ$Ó %ˆÜ ˜Q QÑ'Ó (ˆàh‰h˜˜B˜4˜t}¨V¸FˆhÓCˆØ‘d˜2Ÿ4™4 “oÑ&ˆÜ
×јc 8Õ,rcóJ—d}tjjd«jddt    |«f¬«j t «}t||¬«}|jd||¬«}||j|jz}tj||«y)N)ÚbidÚbidsizeÚaskÚasksizer,r+r½rmz    bid & askr®) rrrr‚r<r+rÚboolrr?rÜrÞr@rA)r0rr!rkÚdatar1r§r|s        rÚ"test_query_single_element_booleansz<TestDataFrameQueryStrings.test_query_single_element_booleans^s†€Ø4ˆÜy‰y×$Ñ$ QÓ'×0Ñ0°¸!¼SÀ»\Ð9JÐ0ÓK×RÑRÔSWÓXˆÜ t WÔ -ˆØh‰h{¨6¸&ˆhÓAˆØb—f‘f˜rŸv™v‘oÑ&ˆÜ
×јc 8Õ,rcóº—t|«tgd¢gd¢dœ«}||jdk(}d}|jd||¬«}t    j
||«y)N)úBUD USräúIBM USrå)gÍÌÌÌÌl[@g®Gázn[@gš™™™™éf@g33333ëf@)ÚSymbolÚPriceräzSymbol == @symbrÈ)r%rrær?r@rA)r0rr!r1ÚeÚsymbr2s       rÚ!test_query_string_scalar_variablez;TestDataFrameQueryStrings.test_query_string_scalar_variablefs^€Ü  Ô(Ü âBÚ9ñ ó
ˆð ˆry‰y˜HÑ$Ñ %ˆØˆØ H‰HÐ&¨v¸fˆHÓ EˆÜ
×јa Õ#rÚin_list)NÚasdfÚghjk)rìNrí)rìríN)NNrì)rìNN)NNNcóò—d}d}t|«Dcic]\}}|dk(sŒ ||“Œ}}}td|id¬«}|jjd«|_td|id¬«}|j    d||¬    «}    ||ddk(}
|j    d
||¬    «} t j |    |«t j |    |
«t j |    | «t j |
| «ycc}}w) Nr r rìrˆÚstring©ÚdtypeÚint64z a == 'asdf'rÈz a <= 'asdf')Ú    enumeraterrjrr?r@rA) r0rërr!r1Úvaluer|Ú df_expectedr1rÐrÑÚres3s             rÚtest_query_string_null_elementsz9TestDataFrameQueryStrings.test_query_string_null_elementsssî€ðˆØˆÜ-6°wÓ-?×S¡  EÀ5ÈFÃ?Au‘HÐSˆÑSä  h °xÔ@ˆ Ø'×-Ñ-×4Ñ4°WÓ=ˆ ÔÜ ˜˜W~¨XÔ 6ˆØx‰x˜ ¨f¸VˆxÓDˆØ"S‘'˜VÑ#Ñ$ˆØx‰x˜ ¨f¸VˆxÓDˆÜ
×јd KÔ0Ü
×јd DÔ)Ü
×јd DÔ)Ü
×јd DÕ)ùóTs
“ C3¡C3N)rSrTrUr¸rºrÁrÃrÒrÕr#r°r·rÚltÚgtÚleÚgerÚrârêr÷rrrr§r§ºsƄò'DòR!/òFKò4(ò"-ò&*ð ‡[[×ÑØà (—+‘+Ð Ø (—+‘+Ð Ø 8—;‘;Ð Ø 8—;‘;Ð ð        
óñ-óð-ò-ò $ð ‡[[×ÑØâ "Ú "Ú "Ú  Ú  Ú ð     
ó
ñ*ó
ñ*rr§có„—eZdZejd„«Zd„Zd„Zejjdgd¢«d„«Z
y)ÚTestDataFrameEvalWithFramecó†—ttjjd«j    d«t d«¬«S)Nr,rÝr:rm)rrrrr‚rƒror/s rÚframez TestDataFrameEvalWithFrame.frame‘s2€äÜ I‰I× !Ñ ! !Ó $× 4Ñ 4°WÓ =ÄtÈEÃ{ô
ð    
rcóŠ—|jd||¬«}|j|jz}tj||«y)Nr™r®©rBrˆr‰r@rC©r0rÿrr!r§rVs      rÚtest_simple_exprz+TestDataFrameEvalWithFrame.test_simple_expr—s8€Øj‰j˜¨¸ˆjÓ?ˆØ—‘˜5Ÿ7™7Ñ"ˆÜ
×јs FÕ+rcóª—|jd||¬«}|j|jdk|jz}tj||«y)Nz a[a < 1] + br®r+rrs      rÚtest_bool_arith_exprz/TestDataFrameEvalWithFrame.test_bool_arith_exprœsE€Øj‰j˜°¸vˆjÓFˆØ—‘˜Ÿ™ 1™Ñ%¨¯©Ñ/ˆÜ
×јs FÕ+rrx)r[r^rardcó¼—tddgddgdœ«}d}tjt|¬«5|j    d|›d    ||¬
«ddd«y#1swYyxYw) Nr+r,r¡r"r­z:unsupported operand type\(s\) for .+: '.+' and '.+'|CannotrMrkz br®)rr#rOr,rB)r0rr!rxr1rQs      rÚ%test_invalid_type_for_operator_raisesz@TestDataFrameEvalWithFrame.test_invalid_type_for_operator_raises¡s[€ä ˜a ˜V¨3°¨*Ñ5Ó 6ˆØKˆä ]‰]œ9¨CÔ 0ñ    ?Ø G‰Gb˜˜˜BK¨°vˆGÔ >÷    ?÷    ?ñ    ?ús °AÁAN) rSrTrUr#rVrÿrrr°r·rrrrrýrýsH„Ø ‡^^ñ
óð
ò
,ò
,ð
 ‡[[×јTÒ#7Ó8ñ?ó9ñ?rrýcóž—eZdZejd„«Zd„Zd„Zd„Zd„Z    d„Z
d„Z d„Z d    „Z d
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zej>jAdgd¢«d„«Z!ej>jAddd g«ej>jAdgd¢«d!„««Z"d"„Z#y#)$Ú!TestDataFrameQueryBacktickQuotingc    #óôK—tidgd¢“dgd¢“dgd¢“dgd¢“d    gd
¢“d gd ¢“d gd¢“dgd¢“dgd¢“dgd¢“dgd¢“dgd¢“dgd¢“dgd¢“dgd¢“dgd ¢“d!gd"¢“gd#¢gd$¢gd%¢gd&¢gd'¢d(œ¥«–—y)­w)*zÄ
        Yields a dataframe with strings that may or may not need escaping
        by backticks. The last two columns cannot be escaped by backticks
        and should raise a ValueError.
        r)r*úB B)r-r,r+úC Cr«úC  C)rÈrZr-ÚC_C)ér¿r—úD_D D)é r+reúE.E)r¬r-rúF-F)rr+r—Ú1e1)r,rZrÚdef)r—rr,úA (x))rZr+r-zB(x))r+r+rzB (x))r,rÈrZõ  &^ :!€$?(} >    <++*''  )r,rr¬r“)r—rr+ú A)rZrÈr¿ú  ©r+r,r+)r¬r-r+)r¿r+r)rrÈr¬)r,rZr)rrÈr¿)zit'szthat'su☺zfoo#barr+Nr.r/s rr1z$TestDataFrameQueryBacktickQuoting.df«søèø€ôð Ø’Yð à’yð ð’yð ðš    ð     ð
’zð  ð šð  ð’yð ð’zð ð’yð ð’{ð ðšð ðš    ð ðšð ð/²    ð ð’Kð ð ’ið! ð"’ið# ò$"Ú#Ú Ú$Úò- ó
ó    
ùs‚A6A8cóh—|jd«}|d|dk}tj||«y)Nz    1 < `B B`r+r ©r?r@rA©r0r1r§rVs    rÚ#test_single_backtick_variable_queryzETestDataFrameQueryBacktickQuoting.test_single_backtick_variable_queryÍs2€Øh‰h{Ó#ˆØA˜˜5™    ‘MÑ"ˆÜ
×јc 6Õ*rcóz—|jd«}|d|dkd|dkz}tj||«y)Nz1 < `B B` and 4 < `C C`r+r rZr rrs    rÚ!test_two_backtick_variables_queryzCTestDataFrameQueryBacktickQuoting.test_two_backtick_variables_queryÒs@€Øh‰hÐ0Ó1ˆØQ˜˜E™‘] q¨2¨e©9¡}Ñ5Ñ6ˆÜ
×јc 6Õ*rcóh—|jd«}|d|dz}tj||«y)Nz    A + `B B`r)r ©rBr@rCrs    rÚ"test_single_backtick_variable_exprzDTestDataFrameQueryBacktickQuoting.test_single_backtick_variable_expr×ó2€Øg‰gkÓ"ˆØC‘˜2˜e™9Ñ$ˆÜ
×јs FÕ+rcóh—|jd«}|d|dz}tj||«y)Nz `B B` + `C C`r r r"rs    rÚ test_two_backtick_variables_exprzBTestDataFrameQueryBacktickQuoting.test_two_backtick_variables_exprÜs2€Øg‰goÓ&ˆØE‘˜R ™YÑ&ˆÜ
×јs FÕ+rcóh—|jd«}|d|dz}tj||«y)Nz    `C_C` + Arr)r"rs    rÚ test_already_underscore_variablezBTestDataFrameQueryBacktickQuoting.test_already_underscore_variableás2€Øg‰gkÓ"ˆØE‘˜R ™WÑ$ˆÜ
×јs FÕ+rcóh—|jd«}|d|dz}tj||«y)Nz C_C + `C C`rr r"rs    rÚtest_same_name_but_underscoresz@TestDataFrameQueryBacktickQuoting.test_same_name_but_underscoresæs2€Øg‰gmÓ$ˆØE‘˜R ™YÑ&ˆÜ
×јs FÕ+rcóh—|jd«}|d|dz}tj||«y)Nz A + `D_D D`r)rr"rs    rÚ!test_mixed_underscores_and_spaceszCTestDataFrameQueryBacktickQuoting.test_mixed_underscores_and_spacesës2€Øg‰gmÓ$ˆØC‘˜2˜g™;Ñ&ˆÜ
×јs FÕ+rcóh—|jd«}|d|dz}tj||«y)Nz    A + `C_C`r)rr"rs    rÚ'test_backtick_quote_name_with_no_spaceszITestDataFrameQueryBacktickQuoting.test_backtick_quote_name_with_no_spacesðr$rcót—|jd«}|d|dz|dz
}tj||«y)Nz`E.E` + `F-F` - Arrr)r"rs    rÚtest_special_charactersz9TestDataFrameQueryBacktickQuoting.test_special_charactersõs<€Øg‰gÐ)Ó*ˆØE‘˜R ™YÑ&¨¨C©Ñ0ˆÜ
×јs FÕ+rcóh—|jd«}|d|dz}tj||«y)Nz    A + `1e1`r)rr"rs    rÚtest_start_with_digitz7TestDataFrameQueryBacktickQuoting.test_start_with_digitúr$rcóh—|jd«}|d|dz}tj||«y)Nz    A + `def`r)rr"rs    rÚ test_keywordz.TestDataFrameQueryBacktickQuoting.test_keywordÿr$rcóh—|jd«}||ddkD}tj||«y)Nz`A` > 2r)r,rrs    rÚtest_unneeded_quotingz7TestDataFrameQueryBacktickQuoting.test_unneeded_quotings1€Øh‰hyÓ!ˆØBs‘G˜a‘K‘ˆÜ
×јc 6Õ*rcóh—|jd«}||ddkD}tj||«y)Nz `A (x)` > 2rr,rrs    rÚtest_parenthesisz2TestDataFrameQueryBacktickQuoting.test_parenthesis    s2€Øh‰h}Ó%ˆØBw‘K !‘OÑ$ˆÜ
×јc 6Õ*rcóh—|jd«}||ddkD}tj||«y)Nz`` > 5r“rrrs    rÚtest_empty_stringz3TestDataFrameQueryBacktickQuoting.test_empty_strings1€Øh‰hxÓ ˆØBr‘F˜Q‘J‘ˆÜ
×јc 6Õ*rcóh—|jd«}||ddkD}tj||«y)Nz
`C  C` > 5r rrrs    rÚtest_multiple_spacesz6TestDataFrameQueryBacktickQuoting.test_multiple_spacess2€Øh‰h|Ó$ˆØBv‘J ‘NÑ#ˆÜ
×јc 6Õ*rcóh—|jd«}|d|dz}tj||«y)Nz ` A` + `  `rrr"rs    rÚtest_start_with_spacesz8TestDataFrameQueryBacktickQuoting.test_start_with_spacess2€Øg‰gmÓ$ˆØD‘˜B˜t™HÑ$ˆÜ
×јs FÕ+rcóh—|jd«}||ddkD}tj||«y)Nu"`  &^ :!€$?(} >    <++*''  ` > 4rrZrrs    rÚtest_lots_of_operators_stringz?TestDataFrameQueryBacktickQuoting.test_lots_of_operators_strings6€Øh‰hÐ;Ó<ˆØBÐ5Ñ6¸Ñ:Ñ;ˆÜ
×јc 6Õ*rcóŠ—d}tjt|¬«5|jd«ddd«y#1swYyxYw)Nz(module 'pandas' has no attribute 'thing'rMz    @pd.thing)r#rOÚAttributeErrorrB)r0r1Úmessages   rÚtest_missing_attributez8TestDataFrameQueryBacktickQuoting.test_missing_attribute"s6€Ø<ˆÜ ]‰]œ>°Ô 9ñ    !Ø G‰GKÔ  ÷    !÷    !ñ    !úó    ž9¹AcóŠ—d}tjt|¬«5|jd«ddd«y#1swYyxYw)Nú6(Could not convert ).*( to a valid Python identifier.)rMz`it's` > `that's`©r#rOr3r?rs   rÚtest_failing_quotez4TestDataFrameQueryBacktickQuoting.test_failing_quote's7€ØGˆÜ ]‰]œ;¨cÔ 2ñ    *Ø H‰HÐ(Ô )÷    *÷    *ñ    *úrEcóŠ—d}tjt|¬«5|jd«ddd«y#1swYyxYw)NrGrMu    `☺` > 4rHrs   rÚ$test_failing_character_outside_rangezFTestDataFrameQueryBacktickQuoting.test_failing_character_outside_range,s6€ØGˆÜ ]‰]œ;¨cÔ 2ñ    "Ø H‰H[Ô !÷    "÷    "ñ    "úrEcóŠ—d}tjt|¬«5|jd«ddd«y#1swYyxYw)NzFailed to parse backticksrMz `foo#bar` > 4rHrs   rÚtest_failing_hashtagz6TestDataFrameQueryBacktickQuoting.test_failing_hashtag1s6€Ø)ˆÜ ]‰]œ;¨cÔ 2ñ    &Ø H‰H_Ô %÷    &÷    &ñ    &úrEcó6—d„}|g}|jd«tjtd¬«5|jd«ddd«tjtd¬«5|jd«ddd«y#1swYŒ?xYw#1swYyxYw)zí
        Only attributes and variables ('named functions') can be called.
        .__call__() is not an allowed attribute because that would allow
        calling anything.
        https://github.com/pandas-dev/pandas/pull/32460
        có—yr7r)rìs rrÙzNTestDataFrameQueryBacktickQuoting.test_call_non_named_expression.<locals>.func>s€Ørz@func()z"Only named functions are supportedrMz @funcs[0]()Nz@funcs[0].__call__())rBr#rOr,)r0r1rÙÚfuncss    rÚtest_call_non_named_expressionz@TestDataFrameQueryBacktickQuoting.test_call_non_named_expression6s„€ò    ðˆà
‰    Ôä ]‰]œ9Ð,PÔ Qñ    #Ø G‰GMÔ "÷    #ô]‰]œ9Ð,PÔ Qñ    ,Ø G‰GÐ*Ô +÷    ,ð    ,÷    #ð    #ú÷    ,ð    ,ús³BÁ(BÂB ÂBcó—tddgddggddg|¬«}trtnd}tj|«5|j d«}ddd«tgd    ¢gd
¢ggd ¢|¬«}tj |«y#1swYŒ6xYw) Nr+r,r-rZrˆr‰©rkrñz    c = b - ar)r-rZr+rB©rr
ÚRuntimeWarningr@Úassert_produces_warningrBrA)r0Úany_numeric_ea_and_arrow_dtyper1ÚwarningrEr|s      rÚtest_ea_dtypesz0TestDataFrameQueryBacktickQuoting.test_ea_dtypesKs‹€ä ؐˆVa˜VÐ  s¨C jÐ8Vô
ˆõ%6•.¸4ˆÜ × 'Ñ '¨Ó 0ñ    *Ø—W‘W˜[Ó)ˆF÷    *äÚ š    Ð "Ú#Ø0ô
ˆô
     ×јf hÕ/÷    *ð    *úó ºBÂB
có—tddgddggddgd¬«}trtnd}tj|«5|j d    «}ddd«tgd
¢gd ¢ggd ¢d¬«}tj |«y#1swYŒ6xYw) Nr+r,r-rZrˆr‰ÚFloat64rSz    c = b - 1r)r-rZr-rBrT)r0r1rXrEr|s     rÚtest_ea_dtypes_and_scalarz;TestDataFrameQueryBacktickQuoting.test_ea_dtypes_and_scalarZsƒ€ä ˜˜A˜  A Ð'°#°s°À9Ô MˆÝ$5•.¸4ˆÜ × 'Ñ '¨Ó 0ñ    *Ø—W‘W˜[Ó)ˆF÷    *äÚ š    Ð "ªOÀ9ô
ˆô     ×јf hÕ/÷     *ð    *úrZc    ó—tddgddggddg|¬«}|jd«}ttddg|¬    «tddg|¬    «tddg|d
j¬    «d œ«}t    j
||«y) Nr+r,r-rZrˆr‰rSz    c = 2 - 1rðr¡rB)rrBrrñr@rA)r0rWr1rEr|s     rÚ#test_ea_dtypes_and_scalar_operationzETestDataFrameQueryBacktickQuoting.test_ea_dtypes_and_scalar_operationesŒ€ä ؐˆVa˜VÐ  s¨C jÐ8Vô
ˆð—‘˜Ó%ˆÜä˜Q ˜FÐ*HÔIܘQ ˜FÐ*HÔIܘQ ˜F¨&°©+×*;Ñ*;Ô<ñ ó
ˆô     ×јf hÕ/rrñ)ròÚInt64úint64[pyarrow]cóp—|dk(rtjd«tdtddg|¬«i«}dh}|dk(r trt
nd}t j|«5|jd«}ddd«tdtdg|dg¬    «i«}t j|«y#1swYŒ;xYw)
NraÚpyarrowrˆr+r,rðr`z    a in @ref©rñrj)
r#Ú importorskiprrr
rUr@rVr?rA)r0rñr1ÚrefrXrEr|s       rÚtest_query_ea_dtypesz6TestDataFrameQueryBacktickQuoting.test_query_ea_dtypests©€à Ð$Ò $Ü × Ñ      Ô *ä ˜œV Q¨ F°%Ô8Ð9Ó :ˆØˆcˆØ$)¨WÒ$4Õ9J•.ÐPTˆÜ × 'Ñ '¨Ó 0ñ    +Ø—X‘X˜kÓ*ˆF÷    +ä˜c¤6¨1¨#°UÀ1À#Ô#FÐGÓHˆÜ
×јf hÕ/÷    +ð    +ús Á B,Â,B5r!r rc    óä—|dk(rtnd}|dk(rtstjd«|dk(rtjd«t t gd¢d¬«t gd¢|¬«d    œ«}tj|«5|jd
|¬ «}ddd«t t d d gddd g¬«t d d g|dd g¬«d    œ«}tj|«y#1swYŒNxYw)Nrznumexpr not installedrarc)r+r+r,r`rð)r+r,r,rŠzA == BrHr+r,rrd) rUr
r#r$rerrr@rVr?rA)r0rñr!rXr1rEr|s       rÚ!test_query_ea_equality_comparisonzCTestDataFrameQueryBacktickQuoting.test_query_ea_equality_comparisonsâ€ð%+¨iÒ$7•.¸TˆØ YÒ Õ'8Ü K‰KÐ/Ô 0Ø Ð$Ò $Ü × Ñ      Ô *Ü Üš¨'Ô2¼    ÐQVÔ9WÑ Xó
ˆô× 'Ñ '¨Ó 0ñ    7Ø—X‘X˜h¨vXÓ6ˆF÷    7ää˜Q ˜F¨'¸!¸Q¸Ô@ܘQ ˜F¨%¸¸1°vÔ>ñ ó
ˆô      ×јf hÕ/÷    7ð    7ús ÂC&Ã&C/có
—tjjd«}tdtjddgd¬«it
¬«}|j d«}tdgit
¬«}tj||«y)NÚUTCrˆT)Úutcrðza > @now)    rœÚ    TimestampÚnowrÚ to_datetimerr?r@rA)r0rnr1rEr|s     rÚtest_all_nat_in_objectz8TestDataFrameQueryBacktickQuoting.test_all_nat_in_object—sd€äl‰l×јuÓ%ˆÜ ˜œRŸ^™^¨T°4¨L¸dÔCÐDÌFÔ SˆØ—‘˜*Ó%ˆÜ˜c 2˜Y¬fÔ5ˆÜ
×јf hÕ/rN)$rSrTrUr#rVr1rr r#r&r(r*r,r.r0r2r4r6r8r:r<r>r@rDrIrKrMrQrYr]r_r°r·rgrirprrrr    r    ªs„Ø ‡^^ñ
óð
òB+ò
+ò
,ò
,ò
,ò
,ò
,ò
,ò
,ò
,ò
,ò
+ò
+ò
+ò
+ò
,ò
+ò
!ò
*ò
"ò
&ò
,ò* 0ò    0ò 0ð ‡[[×јWÒ&JÓKñ
0óLð
0ð ‡[[×јX¨°)Ð'<Ó=Ø ‡[[×јWÒ&JÓKñ0óLó>ð0ó(0rr    )'rÚnumpyrrr#Ú pandas.errorsrrÚpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdr rœrrrrr    Úpandas._testingÚ_testingr@Úpandas.core.computation.checkr
rVrrÚ
skip_if_nor!r%r'rXr¹ròrƒr—r¢r§rýr    rrrú<module>r{sTðÛãÛ ÷÷*Ð)ã÷õõÝ;ð€‡˜ (Ð+±Ô=ñó>ðð€‡Ø lf—l‘l 9°M°B·M±MÀ)Ó4LÔMÐ NÙôñó    ðò=÷
01ñ01÷fs1ñs1÷lGIñGIðT€‡ˆyÓ÷v0ðv0óðv0ðr €‡ˆyÓôu!Ð&Eóu!óðu!ôp0Ð%Dô0ô*0Ð%Dô0÷*S*ñS*÷l?ñ?÷4s0òs0r