zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
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
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
U
­ý°djoã@s,dZddlmZmZmZmZddlmZddlmZm    Z    ddl
Z
ddl Z ddl Z ddl ZddlZddlmZddlmZmZmZmZmZmZmZddlmZdd    lmZdd
lmZddl Z!ddl"m#Z$dd l%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,dd l-m.Z.ej/d ddZ0ddl1m2Z2ddl3m4Z4ej5e$j6e7ddd„ƒZ8ej5dd„ƒZ9ej5dd„ƒZ:ej5ddgddd„ƒZ;ej5dd„ƒZ<ej5dd„ƒZ=ej5d d!„ƒZ>ej5d"d#„ƒZ?ej5d$d%„ƒZ@Gd&d'„d'e.jAƒZBGd(d)„d)e.jCƒZDGd*d+„d+e.jEƒZFGd,d-„d-e.jGƒZHGd.d/„d/e.jIƒZJGd0d1„d1e.jKƒZLGd2d3„d3e.jMƒZNGd4d5„d5e.jOƒZPGd6d7„d7e.jQƒZRGd8d9„d9e.jSƒZTGd:d;„d;e.jUƒZVGd<d=„d=e.jWƒZXGd>d?„d?e.jYƒZZGd@dA„dAe.j[ƒZ\GdBdC„dCe.j]ƒZ^GdDdE„dEe.j_ƒZ`GdFdG„dGe.jaƒZbGdHdI„dIe.jcƒZdGdJdK„dKe.jeƒZfGdLdM„dMƒZgdNdO„ZhdPdQ„Ziejj kdRdSdTdUdVdWg¡ejj kdXdYdYdYgg¡dZd[„ƒƒZlejjjkd\ddd]d]d^d^gdd^ggdddd]d^d^gdgggd_d`gdadbdc„ƒZmddde„Znejj kdfe0 o¡epge0 odg¡epge0 q¡epge0 r¡e7ge0 se0 t¡¡euge0 ve0 t¡¡euge0 we0 x¡e0 t¡¡eyge0 ze0 t¡e0 t¡¡egg¡dhdi„ƒZ{djdk„Z|dldm„Z}dndo„Z~dpdq„Zdrds„Z€dtdu„Zdvdw„Z‚dxdy„Zƒdzd{„Z„d|d}„Z…d~d„Z†d€d„Z‡ejj kd‚ejˆej‰fdƒg¡d„d…„ƒZŠd†d‡„Z‹dˆd‰„ZŒdŠd‹„ZejjjŽedŒddŽd„ƒZejjjŽeddd‘d’„ƒZd“d”„Z‘d•d–„Z’ejj kd—d˜d™g¡dšd›„ƒZ“dœd„Z”ejj kdždŸd gd¡d¢gd£d¤gg¡d¥d¦„ƒZ•d§d¨„Z–ejj kd©dªd«dd«d¬dggd­d¬dd«d«dggdªd«d¬d«d¬d¬ggd®d«dd¬d¬dggd¯d¬dd¬d«dggg¡d°d±„ƒZ—d²d³„Z˜ejj kd´dµdªdd¬dggdµd¶d«d«d«ggd·d¶d¬d«d¬ggd·d¸dd¬dggg¡d¹dº„ƒZ™ejj kd»d—e  šd¶¡gd¼e7gd½d«gd¾d¿gg¡dÀdÁ„ƒZ›ejj kdÂdÃdÄdÅd«dÆdggdÃdÄd¿d«dÇdggdÈdÄdÅd¬dÉdggg¡dÊd˄ƒZœdÌd̈́ZejjjžedÎeŸdύdÐdфƒZ ejj kdÒdªd«dd¬dggd­d¬dd«dggd¸d¬dd«dggdªd«d¬d¬d¬ggd®d«dd¬dggd¯d¬dd«dggg¡dÓdԄƒZ¡ejj kdÒd˜d«dd¬dggdÕd¬dd«dggd¸d¬dd«dggdªd«d¬d¬d¬ggd™d«dd¬dggd¯d¬dd«dggg¡dÖdׄƒZ¢ejj kdØdªddddge0 £¡gd¸d¿dÙd]dge0 t¡gg¡dÚdۄƒZ¤dÜd݄Z¥ejj kdÞd¿d¶dßdggdÅdàdßdggd]dàddggdádÃddggd^dddggg¡dâd㄃Z¦ejjjždäe§dύdåd愃Z¨ejj kdçdd]ddªdggdd]d¿dªdggd¿dÙd¿d¸dggg¡dèd鄃Z©ejj kdêd¿d]dÄdëdggdd]dÄdìdggdd]ddídggg¡dîdZªejj kdðdñdòd¬gdódòd«gdôdõd¬gdödõd«gd÷død¬gdùdød«gdúdûd¬gdüdûd«gdôdýd¬gdþdýd«gdÿdd¬gddd«gddd¬gddd«gddd¬gddd«gdd    d¬gd
d    d«gg¡d d „ƒZ«ejj kd ddgddgddgdTdgddgddgg¡dd„ƒZ¬dd„Z­ejj kddddgddĐdgd dd!gd dĐd"gd#dd$gd#dĐd%gg¡d&d'„ƒZ®ejj kd(d)d˜g¡d*d+„ƒZ¯ejj kd(d,d˜g¡d-d.„ƒZ°ejj kd/d0d1g¡ejj kd2d3d4gd5d6gg¡d7d8„ƒƒZ±ejj kd¾dd¿g¡d9d:„ƒZ²ejj kd;d<d=g¡ejj kd>ddgd¿d^gg¡d?d@„ƒƒZ³ejj kdAdBdCg¡dDdE„ƒZ´ejj kd>ddgd¿d^gg¡dFdG„ƒZµdHdI„Z¶dJdK„Z·dLdM„Z¸dNdO„Z¹dPdQ„ZºdRdS„Z»dTdU„Z¼ejj kdVdWdXdYdZg¡d[d\„ƒZ½d]d^„Z¾ejj kd_d`dagdbd]gdcdgdddgdedgdfd]gdgd]gdhdÙgdid^gej¿djd«ejjjžeeŸdkdldmdndogdpd¿gdqdrgdsd¿gdtdugdvedad¿d]ƒgdwedÙd^dudoƒgg¡dxdy„ƒZÀejj kdVdXdWg¡dzd{„ƒZÁejj kd|dd}d~g¡dd€„ƒZdd‚„ZÐdƒd„„ZÄejj kd;d…d†d‡g¡dˆd‰„ƒZÅejj kd;d…d†d‡g¡dАd‹„ƒZÆejjjžedŒdejj kddސddd‘d’d“d”g¡ejj kd;d…d†d‡g¡d•d–„ƒƒƒZǐd—d˜„ZȐd™dš„Zɐd›dœ„ZÊejj kdVdXdWg¡ddž„ƒZËejj kdŸd edadِd¡dِd¢gd£e! Ìd¤¡gg¡d¥d¦„ƒZÍejj kd§d¬d«g¡d¨d©„ƒZÎejj kddªd«g¡d¬d­„ƒZϐd®d¯„ZÐejj kd°e$jÑe$jÒ¡d±d²„ƒZÓejjjžed³e0jÔdύd´dµ„ƒZÕdS(¶ag
This file contains a minimal set of tests for compliance with the extension
array interface test suite, and should contain no other tests.
The test suite for the full functionality of the array is located in
`pandas/tests/arrays/`.
The tests in this file are inherited from the BaseExtensionTests, and only
minimal tweaks should be applied to get the tests passing (by overwriting a
parent method).
Additional tests should either be added to one of the BaseExtensionTests
classes (if they are relevant for the extension interface for all dtypes), or
be added to the array-specific tests in `pandas/tests/arrays/`.
é)ÚdateÚdatetimeÚtimeÚ    timedelta)ÚDecimal)ÚBytesIOÚStringION)Úlib)ÚPY311Úis_ci_environmentÚis_platform_windowsÚpa_version_under7p0Úpa_version_under8p0Úpa_version_under9p0Úpa_version_under11p0)ÚPerformanceWarning)Úis_any_int_dtype)ÚCategoricalDtypeType)Ú is_bool_dtypeÚis_float_dtypeÚis_integer_dtypeÚis_numeric_dtypeÚis_signed_integer_dtypeÚis_string_dtypeÚis_unsigned_integer_dtype)ÚbaseZpyarrowz7.0.0)Z
minversion)ÚArrowExtensionArray)Ú
ArrowDtype)ÚparamsÚidscCs t|jdS)N)Ú pyarrow_dtype)rÚparam)Úrequest©r#úXd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/extension/test_arrow.pyÚdtypeBsr%c    Cs||j}tj |¡rBddgddgddgddgddg}n,tj |¡r~ddgddgddgddgd    d
g}nðtj |¡rºd d gddgd dgddgd dg}n´tj |¡röd d gddgdd gddgd dg}nxtj |¡rLtdƒtdƒgddgtdƒtdƒgddgtdƒtdƒg}n"tj     |¡rºt
dd d ƒt
dddƒgddgt
dd d ƒt
dd d ƒgddgt
dddƒt
dddƒg}n´tj  |¡r<t dd d d d d d ƒt dd d d d d d ƒgddgt dd d d ƒt dd d d ƒgddgt dd d ƒt dd d ƒg}n2tj  |¡r’td ƒtd d ƒgddgtdƒtd ƒgddgtdƒtdƒg}nÜtj |¡ròtdd ƒtd dƒgddgtd d ƒtd d ƒgddgtd dƒtdd ƒg}n|tj |¡r.dd gddgdd!gddgd"d#g}n@tj |¡rjd$d%gddgd&d'gddgd(d)g}nt‚tj||d*S)+NTFéé,çð?çgÀgð¿çà?gàX@éréþÿÿÿéÿÿÿÿécéÚ1ú0.0z-2.0z-1.0z0.5z33.123éæéÏé ééäiöÿÿÿé
éÚaÚbÚ2ú!ú>óaóbó1ó2ó!ó>©r%)r ÚpaÚtypesÚ
is_booleanÚ is_floatingÚis_signed_integerÚis_unsigned_integerÚ
is_decimalrÚis_daterÚ is_timestamprÚ is_durationrÚis_timerÚ    is_stringÚ    is_binaryÚNotImplementedErrorÚpdÚarray)r%Úpa_dtypeÚdatar#r#r$rVGsŒ 0 0 0 0ÿþýüÿÿþýüÿ*ÿþýüÿÿþýüÿÿþýüÿ..rVcCst|ƒ d|dg¡S)zLength-2 array with [NA, Valid]Nr©ÚtypeÚ_from_sequence)rVr#r#r$Ú data_missingƒsrZ)rcCs |jdkr|S|jdkr|SdS)zParametrized fixture returning 'data' or 'data_missing' integer arrays.
 
    Used to test dtype conversion with and without missing values.
    rVrZN)r!)r"rVrZr#r#r$Úall_data‰s
 
r[c    Cs¾|j}tj |¡r"d}d}d}n~tj |¡r>d}d}d}nbtj |¡rZd}d}d}nFtj |¡rvd}d}d    }n*tj |¡r¨td
d d ƒ}td ddƒ}tdddƒ}nøtj     |¡rät
d
ddddddƒ}t
dddƒ}t
ddddƒ}n¼tj  |¡rt dƒ}t dƒ}t ddƒ}n’tj  |¡r<tddƒ}tdd ƒ}td d ƒ}ndtj |¡rXd}d}d}nHtj |¡rtd}d}d}n,tj |¡rœtdƒ}tdƒ}tdƒ}nt‚tj||dd||||g|dS)z˜
    Data for factorization, grouping, and unique tests.
 
    Expected to be like [B, B, NA, NA, A, A, B, C]
 
    Where A < B < C and NA is missing
    FTgš™™™™™ñ¿r)gš™™™™™ñ?r-rr+r7r3r4r5iÚr2r6r&r9r:Úcr>r?ócz-1.1r1z1.1NrD)r rErFrGrHrIrJrLrrMrrNrrOrrPrQrKrrRrSrT)r%rUÚAÚBÚCr#r#r$Údata_for_grouping•s^              
 
 
racCs t|ƒ |d|d|dg¡S)zn
    Length-3 array with a known sort order.
 
    This should be three items [B, C, A] with
    A < B < C
    rér&rW©rar#r#r$Údata_for_sortingÐsÿrdcCs t|ƒ |d|d|dg¡S)z{
    Length-3 array with a known sort order.
 
    This should be three items [B, NA, A] with
    A < B and NA missing.
    rr/r&rWrcr#r#r$Údata_missing_for_sortingÝsÿrecCs:|jj}tj |¡s tj |¡r6tjdgd|jdS|S)z3Length-100 array in which all the elements are two.r/édrD)r%r rErFÚ
is_integerrHrSrT©rVrUr#r#r$Ú data_for_twosêsricCstjS)z6The scalar missing value for this type. Default 'None')rSÚNAr#r#r#r$Úna_valueôsrkcseZdZ‡fdd„Z‡ZS)ÚTestBaseCastingcsB|jj}tj |¡r2|j tjj    d|›dd¡t
ƒ  |¡dS)NzFor z .astype(str) decodes.©Úreason) r%r rErFrQÚnodeÚ
add_markerÚpytestÚmarkÚxfailÚsuperÚtest_astype_str©ÚselfrVr"rU©Ú    __class__r#r$ruûs 
ÿÿzTestBaseCasting.test_astype_str)Ú__name__Ú
__module__Ú __qualname__ruÚ __classcell__r#r#rxr$rlúsrlcs4eZdZ‡fdd„Zdd„Zdd„Zdd„Z‡ZS)    ÚTestConstructorscsb|jj}tj |¡s tj |¡rRtj |¡r2d}n
d|›}|j tj    j
|d¡t ƒ  |¡dS)Nz1ArrowDtype(pa.string()) != StringDtype('pyarrow')ú$pyarrow.type_for_alias cannot infer rm) r%r rErFrPrKrorprqrrrsrtÚtest_from_dtype)rwrVr"rUrnrxr#r$r€s 
ÿÿz TestConstructors.test_from_dtypecCsdt|ƒ |j¡}t ||¡t|jtjƒs.t‚t|ƒ |j     ¡¡}t ||¡t|jtjƒs`t‚dS©N)
rXrYÚ_dataÚtmÚassert_extension_array_equalÚ
isinstancerEZ ChunkedArrayÚAssertionErrorÚcombine_chunks©rwrVÚresultr#r#r$Útest_from_sequence_pa_arrays   z,TestConstructors.test_from_sequence_pa_arrayc    Cs2tjtddtjdgt ¡dW5QRXdS)NzConverting strings to©Úmatchz12-1rD)rqÚraisesrRrÚ_from_sequence_of_stringsrEZmonth_day_nano_interval)rwr"r#r#r$Ú*test_from_sequence_pa_array_notimplemented!s
ÿz;TestConstructors.test_from_sequence_pa_array_notimplementedcCs|jj}tj |¡r:| d¡r:ts:|j t    j
j dd¡nzt rxtj  |¡sVtj |¡rx|j t    j
j tjd|›d¡n<tj |¡r´|jdk    r´tƒr´tƒr´|j t    j
j tjdd¡|j t ¡¡}t|ƒj||jd}t ||¡| ¡}t|ƒj||jd}t ||¡dS)Nz
time64[ns]z&Nanosecond time parsing not supported.rmz pyarrow doesn't support parsing ©rrnú_TODO: Set ARROW_TIMEZONE_DATABASE environment variable on CI to path to the tzdata for pyarrow.rD)r%r rErFZ    is_time64Úequalsr
rorprqrrrsrrNrKÚArrowNotImplementedErrorrMÚtzr r Ú ArrowInvalidr‚ÚcastÚstringrXrŽrƒr„r‡)rwrVr"rUZpa_arrayr‰r#r#r$Ú&test_from_sequence_of_strings_pa_array's@ÿÿ
ÿ
ÿþÿ ýÿ     z7TestConstructors.test_from_sequence_of_strings_pa_array)rzr{r|r€rŠrr˜r}r#r#rxr$r~s  r~c@s eZdZdS)ÚTestGetitemTestsN©rzr{r|r#r#r#r$r™Lsr™c@sHeZdZdd„Zej dddg¡dd„ƒZej dddg¡dd    „ƒZd
S) ÚTestBaseAccumulateTestscCsdt||ƒ|d}|jjdkr0| d¡}| d¡}| d¡}t| d¡|ƒ|d}|j||dddS)N©ÚskipnaÚmúint64[pyarrow]ÚFloat64F)Z check_dtype)Úgetattrr%ÚkindÚastypeÚassert_series_equal)rwÚserÚop_namerr‰Úexpectedr#r#r$Úcheck_accumulateQs 
 
 
z(TestBaseAccumulateTests.check_accumulaterTFc    Csz|jj}tj |¡s,tj |¡s,tj |¡rB|dkrBtsBt     d¡|}t
  |¡}t  t ¡t||ƒ|dW5QRXdS)NÚcumsumz1These work, are tested by test_accumulate_series.rœ)r%r rErFrgrHrNrrqÚskiprSÚSeriesrrRr¡)rwrVÚall_numeric_accumulationsrÚpa_typer¦r¥r#r#r$Útest_accumulate_series_raises]s 
þ
ý
üúù    
 
 z5TestBaseAccumulateTests.test_accumulate_series_raisesc    Cs$|jj}|}t |¡}d}tj |¡s2tj |¡r@|dkr~d}n>tj |¡rftj     |¡sf|dkr~d}ntj     |¡r~|dkr~d}|rŒt
  d¡|dks˜t rÌ|j jjr¬t
  d¡|j t
jj|›dtd    ¡nF|dkrtj |¡sðtj |¡r|j t
jj|›d
|›td    ¡| |||¡dS) NF)r©ÚcumprodTr¯z]These should *not* work, we test in test_accumulate_series_raises that these correctly raise.r©zpyarrow xfail slowz not implemented©rnrz not implemented for )r%r rSr«rErFrPrQÚ is_temporalrNrqrªrÚconfigÚoptionZ    skip_slowrorprrrsrRrGrKr¨)    rwrVr¬rr"r­r¦r¥Zdo_skipr#r#r$Útest_accumulate_seriesqsL
 ÿ 
 
þÿ
 
ÿ
ÿ þÿz.TestBaseAccumulateTests.test_accumulate_seriesN)    rzr{r|r¨rqrrÚ parametrizer®r´r#r#r#r$r›Ps
 
r›csReZdZdd„Zej dddg¡‡fdd„ƒZej dd    d
d g¡d d „ƒZ‡Z    S)ÚTestBaseNumericReducecCsž|jj}|dkrt||ƒƒ}nt||ƒ|d}tj |¡rFt d¡n"tj |¡s^tj     |¡rh| 
d¡}|dkr~t||ƒƒ}nt||ƒ|d}t   ||¡dS)NÚcountrœzApandas boolean data with NA does not fully support all reductionsr ) r%r r¡rErFrGrqrªrgrHr£rƒZassert_almost_equal)rwr¥r¦rrUr‰r§r#r#r$Ú check_reduce£s ÿ
z"TestBaseNumericReduce.check_reducerTFc     sf|jj}|}t |¡}d}tj |¡rJ|dkrJtj |¡rD|dkrDqnd}n$tj |¡sbtj     |¡rn|dkrnd}|s¬d|›d}    t
j t |    dt ||ƒ|d    W5QRXdSt
jjt |›d
tj›d |›d }
|d krä|j |
¡nn|dkrtrtj |¡r|j |
¡nB|dkr.tr.|j |
¡n$tj |¡rR|dkrR|j |
¡tƒ |||¡dS)NT)ÚsumÚvarÚskewÚkurtÚprod)r¹F)    r¹ÚmeanÚmedianr½ÚstdÚsemrºr»r¼zdoes not support reduction 'ú'r‹rœú is not implemented in pyarrow=ú for r>r»r¼>rºr¿rÀrÁ>rºr¿rÀrÁ)r%r rSr«rErFr±rNrPrQrqrÚ    TypeErrorr¡rrrsÚ __version__rorpr rKrrGrtÚtest_reduce_series) rwrVZall_numeric_reductionsrr"rUÚopnamer¥Z should_workÚmsgÚ
xfail_markrxr#r$rǶsL
 
ÿ
ÿþ  ýÿþ
ý z(TestBaseNumericReduce.test_reduce_seriesÚtypÚint64Zuint64Úfloat64cCs,tjddg|›dd ¡}|dks(t‚dS)Nr+r/ú    [pyarrow]rDçø?)rSr«r¿r†)rwrËr‰r#r#r$Útest_median_not_approximateýsz1TestBaseNumericReduce.test_median_not_approximate)
rzr{r|r¸rqrrrµrÇrÐr}r#r#rxr$r¶¢s
Fr¶c@s&eZdZej dddg¡dd„ƒZdS)ÚTestBaseBooleanReducerTFc     CsÆ|jj}tjjt|›dtj›d|›d}tj     |¡sBtj 
|¡rN|j   |¡|}t  |¡}    tj |¡r¢tj |¡s¢tjtddt|    |ƒ|dW5QRXdSt|    |ƒ|d}
|
|dkksÂt‚dS)NrÃrÄrzdoes not support reductionr‹rœÚany)r%r rqrrrsrÅrErÆrFrPrQrorprSr«r±rNrr¡r†) rwrVÚall_boolean_reductionsrrkr"rUrÊr¦r¥r‰r#r#r$rÇsý 
z(TestBaseBooleanReduce.test_reduce_seriesN)rzr{r|rqrrrµrÇr#r#r#r$rÑsrÑcsReZdZ‡fdd„Z‡fdd„Zej dddg¡‡fdd    „ƒZ‡fd
d „Z    ‡Z
S) ÚTestBaseGroupbycs@|jj}tj |¡r0|j tjj    |›dd¡t
ƒ  |¡dS©Nú" only has 2 unique possible valuesrm) r%r rErFrGrorprqrrrsrtÚtest_groupby_extension_no_sort©rwrar"rUrxr#r$r×(s ÿÿz.TestBaseGroupby.test_groupby_extension_no_sortcs@|jj}tj |¡r0|j tjj    |›dd¡t
ƒ  |¡dSrÕ) r%r rErFrGrorprqrrrsrtÚ test_groupby_extension_transformrØrxr#r$rÙ2s ÿÿz0TestBaseGroupby.test_groupby_extension_transformÚas_indexTFcsD|jj}tj |¡r2|j tjj    t
|›dd¡t ƒ  ||¡dS)NrÖr) r%r rErFrGrorprqrrrsÚ
ValueErrorrtÚtest_groupby_extension_agg)rwrÚrar"rUrxr#r$rÜ<s þÿz*TestBaseGroupby.test_groupby_extension_aggc s¤t|jƒr”t ddddddddg|ddddddddgdœ¡}t dg¡}tjtdd| d    ¡     ¡j
W5QRX| d    ¡j    d
d j
}t   ||¡n t ƒ |¡dS) Nr+r/ér&)r^r_r`r`zdoes not supportr‹r^T)Z numeric_only)rr%rSÚ    DataFrameZIndexrqrrÅÚgroupbyr¹ÚcolumnsrƒZassert_index_equalrtÚtest_in_numeric_groupby)rwraÚdfr§r‰rxr#r$ráHs
ýÿ z'TestBaseGroupby.test_in_numeric_groupby) rzr{r|r×rÙrqrrrµrÜrár}r#r#rxr$rÔ's
 
 
 rÔcsTeZdZ‡fdd„Z‡fdd„Z‡fdd„Zdd„Z‡fd    d
„Z‡fd d „Z‡Z    S) Ú TestBaseDtypecs@|jj}tj |¡r0tr0|j tj    j
t dd¡t ƒ  |¡dS)Nz,decimal string repr affects numpy comparisonr)r%r rErFrKrrorprqrrrsrÛrtÚtest_check_dtypervrxr#r$rä\sþÿzTestBaseDtype.test_check_dtypec    sz|j}tj |¡r0|j tjjt    d|›d¡tj 
|¡rjd}tj t |d|  |j¡W5QRXdStƒ |¡dS)Nrrz6string\[pyarrow\] should be constructed by StringDtyper‹)r rErFrKrorprqrrrsrRrPrrÅÚconstruct_from_stringÚnamertÚ#test_construct_from_string_own_name)rwr%r"rUrÉrxr#r$rçgs þÿ z1TestBaseDtype.test_construct_from_string_own_namecsb|j}tj |¡r(t|ƒ |j¡r^t‚n6tj |¡rR|j     
t j j td|›d¡tƒ |¡dS)Nrr)r rErFrPrXZis_dtyperær†rKrorprqrrrsrRrtÚtest_is_dtype_from_name©rwr%r"rUrxr#r$rè{s  þÿz%TestBaseDtype.test_is_dtype_from_namec    Cs0d}tjt|dt|ƒ d¡W5QRXdS)Nz*'another_type' must end with '\[pyarrow\]'r‹Z another_type)rqrrÅrXrå)rwr%rÉr#r#r$Ú.test_construct_from_string_another_type_raisesŠsz<TestBaseDtype.test_construct_from_string_another_type_raisescs˜|j}tj |¡sltj |¡sltj |¡r>|jdksl|jdk    sltj |¡rT|jdksltj     |¡sltj 
|¡rˆ|j   t jj|›dd¡tƒ |¡dS)NÚnszB does not have associated numpy dtype findable by find_common_typerm)r rErFrLrOrMÚunitr”rNrQrKrorprqrrrsrtÚtest_get_common_dtyperérxr#r$rís2
ÿ
þ
üûû
ùù
ø    
÷ þÿz#TestBaseDtype.test_get_common_dtypecs0|j}tj |¡r t|ƒs,t‚n tƒ |¡dSr)r rErFrPrr†rtÚtest_is_not_string_type)rwr%rUrxr#r$rî¦s z%TestBaseDtype.test_is_not_string_type)
rzr{r|rärçrèrêrírîr}r#r#rxr$rã[s    rãc@s eZdZdS)Ú TestBaseIndexNršr#r#r#r$rï®srïcs,eZdZejjddd‡fdd„ƒZ‡ZS)ÚTestBaseInterfacez6GH 45419: pyarrow.ChunkedArray does not support views.F©rnÚruncstƒ |¡dSr)rtÚ    test_view©rwrVrxr#r$ró³szTestBaseInterface.test_view)rzr{r|rqrrrsrór}r#r#rxr$rð²s
ÿrðcs$eZdZdd„Z‡fdd„Z‡ZS)ÚTestBaseMissingc    Csv|| ¡}|d}| |¡}||k    s,t‚| ||¡t t¡|jdd}W5QRX||k    sft‚| ||¡dS)NrZbackfill)Úmethod)ÚisnaZfillnar†r„rƒZassert_produces_warningr)rwrVZvalidr‰r#r#r$Útest_fillna_no_op_returns_copy»s
    z.TestBaseMissing.test_fillna_no_op_returns_copyc    s2tjt|dk    ddtƒ ||¡W5QRXdS)NF)Zcheck_stacklevel)rƒZmaybe_produces_warningrrtÚtest_fillna_series_method)rwrZZ fillna_methodrxr#r$rùÇs ÿz)TestBaseMissing.test_fillna_series_method)rzr{r|rørùr}r#r#rxr$rõºs rõc@s eZdZdS)ÚTestBasePrintingNršr#r#r#r$rúÎsrúcs,eZdZejjddd‡fdd„ƒZ‡ZS)ÚTestBaseReshapingú5GH 45419: pyarrow.ChunkedArray does not support viewsFrñcstƒ |¡dSr)rtÚtest_transposerôrxr#r$rýÓsz TestBaseReshaping.test_transpose)rzr{r|rqrrrsrýr}r#r#rxr$rûÒs
ÿrûcs,eZdZejjddd‡fdd„ƒZ‡ZS)ÚTestBaseSetitemrüFrñcstƒ |¡dSr)rtÚtest_setitem_preserves_viewsrôrxr#r$rÿÛsz,TestBaseSetitem.test_setitem_preserves_views)rzr{r|rqrrrsrÿr}r#r#rxr$rþÚs
ÿrþc@s&eZdZej dddg¡dd„ƒZdS)ÚTestBaseParsingÚenginer\Úpythonc    Cs(|jj}tj |¡r.|j tjj    t
dd¡n€tj  |¡r\|j tjj    t d|›dd¡nRtj  |¡rŒ|jdkrŒ|j tjj    tdd¡n"tj |¡r®|j tjj    dd¡t d    tj|t|jƒd
i¡}|jd tjd }tj |¡ròt|ƒ}nt|ƒ}tj|d    t|jƒi|d }|}| ||¡dS)NzGH 47534rzParameterized types z not supported.)Úusrëz1https://github.com/pandas-dev/pandas/issues/49767z)CSV parsers don't correctly handle binaryrmZ
with_dtyperDF)ÚindexZna_rep)r%r)r%r rErFrGrorprqrrrsrÅrKrRrMrìrÛrQrSrÞr«ÚstrZto_csvÚnpÚnanrrZread_csvÚassert_frame_equal)    rwrrVr"rUrâZ
csv_outputr‰r§r#r#r$Ú test_EA_typesãsF ÿ 
þÿþÿ  ÿ 
 ÿzTestBaseParsing.test_EA_typesN)rzr{r|rqrrrµr    r#r#r#r$râsrcseZdZ‡fdd„Z‡ZS)ÚTestBaseUnaryOpscsD|jj}tj |¡s4|j tjj    tj
d|›d¡t ƒ  |¡dS)Nz$pyarrow.compute.invert does support r) r%r rErFrGrorprqrrrsr“rtÚ test_invertrvrxr#r$r 
s þÿzTestBaseUnaryOps.test_invert)rzr{r|r r}r#r#rxr$r
    sr
c s´eZdZej dddg¡‡fdd„ƒZdd„Zdd    „Z‡fd
d „Z    ej d d ddddde
j fdde
j fddg¡‡fdd„ƒZ ‡fdd„Z dZ‡fdd„Z‡fdd„Zdd „Z‡ZS)!ÚTestBaseMethodsÚperiodsr+r,c    sV|jj}tj |¡rD|dkrD|j tjj    tj
d|›d|›dd¡t ƒ  ||¡dS)Nr+z
diff with z  and periods=z will overflowr) r%r rErFrJrorprqrrrsr•rtÚ    test_diff)rwrVr r"rUrxr#r$rsýÿzTestBaseMethods.test_diffcCs.|dd…}| ¡}|jtt ¡ƒks*t‚dS)Nr7)Ú value_countsr%rrErÌr†rˆr#r#r$Ú'test_value_counts_returns_pyarrow_int64%s z7TestBaseMethods.test_value_counts_returns_pyarrow_int64cCs‚|dd… ¡}t || ¡¡}tj||jd}|jdd ¡}tjdt    |ƒgt    |ƒ|j
dd}|  d¡}|  ||¡dS)    Nr7rDT)Ú    normalizer+Z
proportion)rræzdouble[pyarrow]) ÚuniquerrTr÷rSr«r%rZ
sort_indexÚlenrr£r¤)rwrVr"Úvaluesr¥r‰r§r#r#r$Ú test_value_counts_with_normalize+sÿ
z0TestBaseMethods.test_value_counts_with_normalizecsv|jj}tj |¡r2|j tjj    |›dd¡n0tj 
|¡rbt rb|j tjj    d|›tj d¡t ƒ |||¡dS)NrÖrmúNo pyarrow kernel for r°)r%r rErFrGrorprqrrrsrKr r“rtÚtest_argmin_argmax)rwrdrerkr"rUrxr#r$r9s ÿÿþÿz"TestBaseMethods.test_argmin_argmaxzop_name, skipna, expected)ÚidxmaxTr)ÚidxminTr/)ÚargmaxTr)ÚargminTr/rFr)rFr-)rFr-csR|jj}tj |¡r<tr<|r<|j tj    j
d|›tj d¡t ƒ  ||||¡dS)Nrr°)r%r rErFrKr rorprqrrrsr“rtÚtest_argreduce_series)rwrer¦rr§r"rUrxr#r$rLsþÿÿz%TestBaseMethods.test_argreduce_seriescs@|jj}tj |¡r0|j tjj    |›dd¡t
ƒ  |¡dSrÕ) r%r rErFrGrorprqrrrsrtÚtest_factorizerØrxr#r$rhs ÿÿzTestBaseMethods.test_factorizez bool[pyarrow]c        s´t|dƒƒjj}tj |¡rPtjjt    |›d|›d}|j
  |¡t ƒ  |¡n`tj |¡r¤|dƒ\}}t |¡}t |¡}t t    ¡| |dd„¡W5QRXn t ƒ  |¡dS)Nr+z cannot be added to rr/cSs||Srr#)Úx1Zx2r#r#r$Ú<lambda>†óz2TestBaseMethods.test_combine_add.<locals>.<lambda>)Únextr%r rErFrNrqrrrsrÅrorprtÚtest_combine_addr±rSr«rÚcombine)    rwZ data_repeatedr"rUrrZ
orig_data1Z
orig_data2Ús1Ús2rxr#r$r"ts  þ   
 
 z TestBaseMethods.test_combine_addcsB|jj}tj |¡r0|j tjj    |›dd¡t
ƒ  ||¡dSrÕ) r%r rErFrGrorprqrrrsrtÚtest_searchsorted)rwrdÚ    as_seriesr"rUrxr#r$r&‹s ÿÿz!TestBaseMethods.test_searchsortedcCst |¡ t |¡¡st‚dSr)rSr«r’r†rôr#r#r$Útest_basic_equals•sz!TestBaseMethods.test_basic_equals)rzr{r|rqrrrµrrrrrrrrZ_combine_le_expected_dtyper"r&r(r}r#r#rxr$r s.  
 
øþ 
 
r csteZdZeZedd„ƒZdd„Zdd„Zdd„Z    d    d
„Z
d d „Z ‡fd d„Z ‡fdd„Z dd„Z‡fdd„Z‡ZS)ÚTestBaseArithmeticOpscKsŠt|tjƒr:|jdd…dfjj}|jdd…dfjj}n|jj}|jj}tj |¡sbtj |¡rv|     d¡}|     d¡}t
j ||f|ŽdS)Nrzfloat[pyarrow]) r…rSrÞÚilocr%r rErFrKr£rƒÚ assert_equal)ÚclsÚleftÚrightÚkwargsZ left_pa_typeZ right_pa_typer#r#r$r+s 
 
z"TestBaseArithmeticOps.assert_equalcCs4| d¡}|dkrdd„S|dkr*dd„St |¡S)NÚ_ZrtruedivcSs t ||¡Sr)rÚdivide©ÚxÚyr#r#r$r°r z8TestBaseArithmeticOps.get_op_from_name.<locals>.<lambda>Z    rfloordivcSs t ||¡Sr)rZ floor_divider2r#r#r$r²r )ÚstriprƒÚget_op_from_name)rwr¦Z short_opnamer#r#r$r6¬s 
z&TestBaseArithmeticOps.get_op_from_namec Csìtj ||||¡}d}t|tjƒrNd}|jdd…df}|jdd…dfj}n
|}|j}t     |j
¡}tj   |j ¡rª|jj}    t |ƒttfkr–|    dkr–d}    | d|    ›d¡}n | |j¡}t |j
ƒ|ƒ}
|rÞtj|
|j|jd}n
t |
¡}|S)    NFTr)ÚsÚmsrz    duration[ú])rrà)rÚBaseArithmeticOpsTestsÚ_combiner…rSrÞr*r%rErTZ_valuesrFrNrXr rìrrr–rràr«) rwÚobjÚotherÚopr§Z    was_frameZ expected_dataZoriginal_dtypeZ pa_expectedrìZ pd_expectedr#r#r$Ú_patch_combine¶s0   ÿ
z$TestBaseArithmeticOps._patch_combinecCs.t o,|dkrtj |¡p,|dko,tj |¡S)N©Ú__add__Ú__radd__©Ú__sub__Ú__rsub__)rrErFrNr±)rwrÈrUr#r#r$Ú_is_temporal_supportedÜs
ÿ
üz,TestBaseArithmeticOps._is_temporal_supportedcCs~| ||¡}|dkrt}n`|r$d}nV|dkrJtj |¡sDtj |¡rJd}n0tj |¡svtj |¡svtj |¡svtj    }nd}|S)N>Ú__rmod__Ú__mod__r@)
rFrRrErFrPrQrHrgrKr“)rwrÈrUÚarrow_temporal_supportedÚexcr#r#r$Ú_get_scalar_exceptionäs( 
ÿ
ÿ
ÿ
þ
ýz+TestBaseArithmeticOps._get_scalar_exceptioncCsd}| ||¡}|dkrVtj |¡s<tj |¡s<tj |¡rVtsVtjj    d|›d}n¶|rxtjj    t
|›d|›dd}n”|dkr°tj |¡s˜tj |¡r°ts°tjj    tj dd}n\|d    krÜtj |¡rÜtsÜtjj    tj dd}n0|d
kr tj |¡r tr tjj    tj d d}|S) NÚ__rpow__z<GH#29997: 1**pandas.NA == 1 while 1**pyarrow.NA == NULL for rmz  not supported betweenpd.NA and z Python scalarrÚ __rfloordiv__z divide by 0Ú __rtruediv__Ú__pow__z'Invalid decimal function: power_checked) rFrErFrHrgrKr rqrrrsrÅr•)rwrÈrUrrrIr#r#r$Ú_get_arith_xfail_markerûsj ÿ
ý
ü
ûù    þýÿ
þ
þýþÿ
þýþÿ
þýþz-TestBaseArithmeticOps._get_arith_xfail_markercs®|jj}|dkr2tj |¡s(tj |¡r2t d¡| ||¡|_    | 
||¡}|dk    r`|j   |¡|dkrttj  |¡sŒtj |¡sŒtj |¡rœ| td|j¡tƒ ||¡dS©NrGz%Skip testing Python string formattingÚ __floordiv__r;)r%r rErFrPrQrqrªrKZseries_scalar_excrProrprgrNrMÚsetattrr)r?rtÚtest_arith_series_with_scalar©rwrVÚall_arithmetic_operatorsr"Ú monkeypatchrUrrrxr#r$rT5s0
ÿ
ÿ
ÿ  þ
ý
û
ú
z3TestBaseArithmeticOps.test_arith_series_with_scalarcs®|jj}|dkr2tj |¡s(tj |¡r2t d¡| ||¡|_    | 
||¡}|dk    r`|j   |¡|dkrttj  |¡sŒtj |¡sŒtj |¡rœ| td|j¡tƒ ||¡dSrQ)r%r rErFrPrQrqrªrKZframe_scalar_excrProrprgrNrMrSr)r?rtÚtest_arith_frame_with_scalarrUrxr#r$rXTs0
ÿ
ÿ
ÿ  þ
ý
û
ú
z2TestBaseArithmeticOps.test_arith_frame_with_scalarc
Cs|jj}| ||¡|_|dkrNtj |¡rNtsN|j     t
j j tj d|›d¡| ||¡}|dk    rn|j     |¡|}t |¡}t tj|jdgt|ƒ|jd¡}    tj |¡sÚtj |¡rÂ|dksÚtj |¡sÚtj |¡rê| td|j¡|j|||    |jddS)    NrCzJImplemented pyarrow.compute.subtract_checked which raises on overflow for rrrD)Ú __truediv__rNr;)rJ)r%r rKZseries_array_excrErFrJr rorprqrrrsr•rPrSr«rTr*rrHrgrNrMrSr)r?Z check_opname)
rwrVrVr"rWrUrrr¦r¥r=r#r#r$Útest_arith_series_with_arrayssJÿÿÿ
úù    ýÿ
 
&
ÿ
ýü
ú
ù    z2TestBaseArithmeticOps.test_arith_series_with_arrayc    sÔ|jj}tj |¡r^tj |¡s^t |¡}tr4d}nd}t    j
t |d||W5QRXdSt rntj |¡sztj  |¡rš|j t    jjt d|›d¡n*| d¡rÄ|j t    jjtjd|›d¡tƒ |¡dS)Nz7Function add_checked has no kernel matching input typesú9Function 'add_checked' has no kernel matching input typesr‹z add_checked not implemented for rZint8zraises on overflow for )r%r rErFr±rNrSr«r rqrrRrrGrorprrrsr’r•rtÚ$test_add_series_with_extension_array)rwrVr"rUr¥rÉrxr#r$r\¥s4
 
ÿþÿ
þÿz:TestBaseArithmeticOps.test_add_series_with_extension_array)rzr{r|rRZ
divmod_excÚ classmethodr+r6r?rFrKrPrTrXrZr\r}r#r#rxr$r)šs
 
&:  2r)c@s8eZdZdd„Zdd„Zej ddddg¡d    d
„ƒZd S) ÚTestBaseComparisonOpsc
 
Cst |¡}t tj|jdgt|ƒ|jd¡}|jdkrŽ|||ƒ}|d|ksTt‚|d|ksdt‚| ||¡}||d<||d<|     ||¡n‚d}z|||ƒ}Wn&t
k
rÆ}    z|    }W5d}    ~    XYnX|dkrê| ||¡}|     ||¡n&t   t |ƒ¡| ||¡W5QRXdS)NrrD)ÚeqÚneééa)rSr«rTr*rr%rzr†r#r¤Ú    ExceptionrqrrX)
rwrVÚ comparison_oprkr¥r=r‰r§rJÚerrr#r#r$Útest_compare_arrayÌs(
&
 
  z(TestBaseComparisonOps.test_compare_arrayc    Cs*tjtdd||tƒƒW5QRXdS)Nz'.* not implemented for <class 'object'>r‹)rqrrRÚobject)rwrVrdr#r#r$Útest_invalid_other_compìs
ÿz-TestBaseComparisonOps.test_invalid_other_compÚ masked_dtypeÚbooleanZInt64r c    CsŠdddg}tj||d}tj|| ¡›dd}|||ƒ}|tjtjtjfkrZdddg}n
dddg}tj|tt     ¡ƒd}t
  ||¡dS)Nr+rrDrÎFT) rSr«ÚlowerÚoperatorÚltÚgtr`rrEÚbool_rƒr¤)    rwrirdrVÚ
ser_maskedÚser_par‰Úexpr§r#r#r$Útest_comp_masked_numpyós
 
 
z,TestBaseComparisonOps.test_comp_masked_numpyN)    rzr{r|rfrhrqrrrµrsr#r#r#r$r^Ës r^c @sˆeZdZdZdd„Zej dddddgfej    dddgfddddgfe
  d¡dddgfddddgfe
  d¡dddgfg¡dd    „ƒZ d
d „Z ej dddddgfej    dddgfddddgfddddgfe
  d¡dddgfe
  d¡dddgfg¡d d „ƒZdd„Zej dddddgfej    dddgfddddgfe
  d¡dddgfe
  d¡dddgfg¡dd„ƒZej dddgddgddgg¡dd„ƒZdS)ÚTestLogicalOpsz1Various Series and DataFrame logical ops methods.c
CsÜtjdgddgddgddd}tjdddgddd}||B}tjdddddddddg    dd}t ||¡||B}t ||¡t |tjdgddgddgddd¡t |tjdddgddd¡dS©NTrÝFúboolean[pyarrow]rD©rSr«rƒr¤©rwr9r:r‰r§r#r#r$Útest_kleene_ors$(þ  &þÿzTestLogicalOps.test_kleene_orzother, expectedNTFcCsjtjdddgdd}||B}tj|dd}t ||¡||B}t ||¡t |tjdddgdd¡dS©NTFrvrDrw©rwr=r§r9r‰r#r#r$Útest_kleene_or_scalars   ÿz$TestLogicalOps.test_kleene_or_scalarc
CsÜtjdgddgddgddd}tjdddgddd}||@}tjdddddddddg    dd}t ||¡||@}t ||¡t |tjdgddgddgddd¡t |tjdddgddd¡dSrurwrxr#r#r$Útest_kleene_and4s$(þ  &þÿzTestLogicalOps.test_kleene_andcCsjtjdddgdd}||@}tj|dd}t ||¡||@}t ||¡t |tjdddgdd¡dSrzrwr{r#r#r$Útest_kleene_and_scalarJs   ÿz%TestLogicalOps.test_kleene_and_scalarc
CsÜtjdgddgddgddd}tjdddgddd}||A}tjdddddddddg    dd}t ||¡||A}t ||¡t |tjdgddgddgddd¡t |tjdddgddd¡dSrurwrxr#r#r$Útest_kleene_xorcs$(þ  &þÿzTestLogicalOps.test_kleene_xorcCsjtjdddgdd}||A}tj|dd}t ||¡||A}t ||¡t |tjdddgdd¡dSrzrwr{r#r#r$Útest_kleene_xor_scalarys   ÿz%TestLogicalOps.test_kleene_xor_scalarzop, expÚ__and__Ú__or__Ú__xor__cCs`dddg}tj|dd}tj|dd}t||ƒ|ƒ}tj|ddgtt ¡ƒd}t ||¡dS)NTFrjrDrv)rSr«r¡rrErorƒr¤)rwr>rrrVrprqr‰r§r#r#r$Útest_logical_masked_numpy‘s
 
z(TestLogicalOps.test_logical_masked_numpy)rzr{r|Ú__doc__ryrqrrrµrSrjrror|r}r~rr€r„r#r#r#r$rtsX   úþ
   úþ
  ûþ
 
ýþrtc    Csrtjtddt d¡W5QRXt d¡}tt dd¡ƒ}||ksJt‚tjtddt d¡W5QRXdS)NzPassing pyarrow typer‹z#not_a_real_dype[s, tz=UTC][pyarrow]ztimestamp[s, tz=UTC][pyarrow]r7ÚUTCzdecimal(7, 2)[pyarrow])rqrrRrrårEÚ    timestampr†)r%r§r#r#r$ÚFtest_arrowdtype_construct_from_string_type_with_unsupported_parameters£s
 rˆc    Cs8d}d}tjt|dtjtdƒ|dW5QRXdS)Nzint64[pyarrow]foobar[pyarrow]zYPassing pyarrow type specific parameters \(\[pyarrow\]\) in the string is not supported\.r‹rÝrD)rqrrRrSr«Úrange)ÚinvalidrÉr#r#r$Ú;test_arrowdtype_construct_from_string_type_only_one_pyarrow°s
ÿr‹Ú interpolationZlinearrkÚhigherZnearestZmidpointÚquantiler*c     CsN|jj}| dddg¡}t |¡}tj |¡sFtj |¡sFtj     |¡r‚t
rPd}nd}t j tj |d|j||dW5QRXdStj |¡sÞtj |¡sÞtj |¡r¬t
s¬n2tj |jj¡r¾n |j t jjtj d|›d¡| dddg¡}t |¡}|j||d}tj |¡rÆ|dkrÆ|jr>d    |j›d
|j›d }nd    |j›d }| |¡}    |    j||d}
|d kr–|jd kr†|
jdd}
||
ksÂt‚n,|jd kr®|
j  d ¡}
t! "||
 |j¡¡dS|d krä||dksJt‚nftj| ddg¡d d gd}
tj |¡s*tj |¡s*tj |¡r>|
 d¡}
| d¡}t! "||
¡dS)Nrz;Function quantile has no kernel matching input types \(.*\)z=Function 'quantile' has no kernel matching input types \(.*\)r‹)ÚqrŒz&quantile not supported by pyarrow for r)rkrzM8[z, r9r*rF)Úwarn)rúfloat64[pyarrow])#r%r ÚtakerSr«rErFrPrQrGr rqrr“rŽrgrHrKr±r‚rXrorprrrsrMr”rìr£Ú to_pydatetimer†ÚdtÚfloorrƒr¤) rVrŒrŽr"rUr¥rÉr‰Zpd_dtypeZser_npr§r#r#r$Ú test_quantile»sz
 
ÿ
þ
ý
ÿ
þ
ýýþÿ
 
 
 
 
ÿ
þ
ý
 
r–ztake_idx, exp_idxr/r&Z
multi_modeZ single_mode)rcCs@| |¡}t |¡}|jdd}t | |¡¡}t ||¡dS)NT©Zdropna)r’rSr«Úmoderƒr¤)raZtake_idxZexp_idxrVr¥r‰r§r#r#r$Útest_mode_dropna_true s
 
 
 r™cCsxtjdd|dg|jd}|jdd}tjdg|jd}t ||¡tjd|dg|jd}|jdd}t ||¡dS)NrrDFr—)rSr«r%r˜rƒr¤)rVZ    more_nansr‰r§r#r#r$Útest_mode_dropna_false_mode_nas   ršzarrow_dtype, expected_typeécCst|ƒj|kst‚dSr)rrXr†)Z arrow_dtypeÚ expected_typer#r#r$Útest_arrow_dtype_type$srcCsjtt dddg¡ƒ}t|ƒs t‚tjj |¡s2t‚t     t
t |ƒƒ¡}||}|t   |¡}t ||¡dS)NTF)rrErTrr†rSÚcoreÚcommonZis_bool_indexerr«r‰rrZasarrayrƒr¤)rVr7r‰r§r#r#r$Útest_is_bool_dtype7s r cCsJ|jj}tj |¡s,tj |¡s,tj |¡r:t|ƒsFt‚n t|ƒrFt‚dSr)    r%r rErFrHrgrKrr†©rVr­r#r#r$Útest_is_numeric_dtypeBs
ÿ
þ
ýr¢cCs2|jj}tj |¡r"t|ƒs.t‚n t|ƒr.t‚dSr)r%r rErFrgrr†r¡r#r#r$Útest_is_integer_dtypeOs r£cCs2|jj}tj |¡r"t|ƒs.t‚n t|ƒr.t‚dSr)r%r rErFrgrr†r¡r#r#r$Útest_is_any_integer_dtypeXs r¤cCs2|jj}tj |¡r"t|ƒs.t‚n t|ƒr.t‚dSr)r%r rErFrIrr†r¡r#r#r$Útest_is_signed_integer_dtypeas r¥cCs2|jj}tj |¡r"t|ƒs.t‚n t|ƒr.t‚dSr)r%r rErFrJrr†r¡r#r#r$Útest_is_unsigned_integer_dtypeis r¦cCs2|jj}tj |¡r"t|ƒs.t‚n t|ƒr.t‚dSr)r%r rErFrHrr†r¡r#r#r$Útest_is_float_dtypeqs r§cCslt |¡}| d¡}t |¡}t |¡}t|ƒt|ƒks<t‚t |¡}t     ||¡t |¡}t     ||¡dS)Nr/)
rSr«ÚheadÚpickleÚdumpsrr†Úloadsrƒr¤)rVr§Zexpected_slicedZ full_pickledZsliced_pickledr‰Z result_slicedr#r#r$Útest_pickle_roundtripys
 
 
 
 
 
r¬cCsH|j ¡j}| |j¡}t|jtƒr(t‚t|jtƒs8t‚t     ||¡dSr)
r‚Ú    to_pandasrTr£r%r…rr†rƒr„)rVZpd_arrayr‰r#r#r$Útest_astype_from_non_pyarrow‰s
  r®cCs6t dg¡}| d¡}tjdgdd}t ||¡dS)Nz1.0r‘r(rD)rSr«r£rƒr¤©r¥r‰r§r#r#r$Ú&test_astype_float_from_non_pyarrow_str’s 
r°cCst| ¡}|jj}tj |¡s(tj |¡r8t t    |ƒ¡}n t |j¡}|j
rd|  t ¡}t j|t  |¡<t ||¡dSr)Úto_numpyr‚rXrErFrNrMrrTÚlistZ_hasnar£rgrSrjr÷rƒÚassert_numpy_array_equal)rVr‰r­r§r#r#r$Útest_to_numpy_with_defaultsšs 
r´cCsTddg}tj|dd}| ¡}tjdtjgtd}t|dtƒsDt‚t     
||¡dS)Nr+rŸrDr) rSrTr±rrjrgr…Úintr†rƒr³)rVÚarrr‰r§r#r#r$Útest_to_numpy_int_with_na«s r·z na_val, exp)r+r+cCsHtjtjtjgdd}|jd|d}tj|gddd}t ||¡dS)Nú null[pyarrow]rDrÍ)r%rkr/©rSrTrjr±rrƒr³)Zna_valrrr¶r‰r§r#r#r$Útest_to_numpy_null_arrayµsrºcCsHtjtjtjgdd}|jdd}tjtjgddd}t ||¡dS)Nr¸rDr/rgr¹)r¶r‰r§r#r#r$Ú!test_to_numpy_null_array_no_dtype¾s r»cCs´| ¡}| ¡}|d|dd…<ttj|dgt|ƒ|jjdƒ}t ||¡| ¡}|ddd…|dd…<|ddd…}t ||¡| ¡}|     ¡|dd…<|}t ||¡dS)Nr©rXr-)
ÚcopyrrErTrr‚rXrƒr„Útolist)rVÚorigr‰r§r#r#r$Útest_setitem_null_sliceÆsÿ  rÀc    Cs˜|jj}tj |¡s tj |¡r.d}t}d}n@tj |¡sRtj |¡sRtj     |¡rbd}tj
}d}n d}t}d}t j ||d||dd…<W5QRXdS)Né{zInvalid value '123' for dtypeÚfoozCould not convertzInvalid value 'foo' for dtyper‹) r‚rXrErFrPrQrÅrgrHrGr•rqr)rVr­Z
fill_valuererÉr#r#r$Útest_setitem_invalid_dtypeÜs&
ÿ
þ
ýrÃzreturns object with 7.0rmcCsvtjt d¡t d¡gt ¡d}|jt ¡tt ¡ƒijd}tj    t d¡t d¡gtt ¡ƒd}t
  ||¡dS)Nz
2019-12-31r¼©Z types_mapperrD) rErTrSÚ    TimestampÚdate32r­rZdate64Úgetr«rƒr¤)Z
date_arrayr‰r§r#r#r$Ú&test_from_arrow_respecting_given_dtypeósÿÿ
þrÈzdoesn't raise with 7c    CsTtjddgt ¡d}tjtjdd$|jt ¡tt ¡ƒij    dW5QRXdS)NrÏç@r¼zFloat value 1.5 was truncatedr‹rÄ)
rErTrÍrqrr•r­rrÌrÇ)rTr#r#r$Ú-test_from_arrow_respecting_given_dtype_unsafesrÊcCsd}tjdddtjg|d}| d¡}tjdddtjg|d}t ||¡tjd    tjd
g|d}| d ¡}tjd tjd g|d}t ||¡dS)Nr‘r)g®Gáz®ó?g{®Gáz@rDr+g333333ó?gÍÌÌÌÌÌ@gš™™™™Ù^@g¤p=
×cL@r-g^@gN@)rSr«rjÚroundrƒr¤)r%r¥r‰r§r#r#r$Ú
test_round    s
 
rÌc    Cs^|\}}}| dddg¡}tj|d<|r2t |¡}d}tjt|d| |¡W5QRXdS)Nr/rr+r-zOsearchsorted requires array to be sorted, which is impossible with NAs present.r‹)r’rSrjr«rqrrÛZ searchsorted)rdr'r:r\r9r¶rÉr#r#r$Ú test_searchsorted_with_na_raisess
 
 
ÿrÍÚpatÚabcz    a[a-z]{2}cCsPtjddgtt ¡ƒd}|j |¡}tjddgtt ¡ƒd}t     ||¡dS)NrÏrDr+)
rSr«rrEr—rr·Úint32rƒr¤)rÎr¥r‰r§r#r#r$Útest_str_count(s rÑc    CsHtjddgtt ¡ƒd}tjtdd|jj    dddW5QRXdS)NrÏrDz    count notr‹r+©Úflags)
rSr«rrEr—rqrrRrr·©r¥r#r#r$Ú test_str_count_flags_unsupported0srÕzside, str_funcr-Úrjustr.ÚljustZbothÚcentercCsbtjddgtt ¡ƒd}|jjd|dd}tjtd|ƒddƒdgtt ¡ƒd}t     ||¡dS)Nr9rDrÝr3)ÚwidthÚsideZfillchar)
rSr«rrEr—rÚpadr¡rƒr¤)rÚZstr_funcr¥r‰r§r#r#r$Ú test_str_pad6s
ÿrÜc    CsHtjddgtt ¡ƒd}tjtdd|j     ddd¡W5QRXdS)Nr9rDzInvalid side: foor‹rÝrÂr3)
rSr«rrEr—rqrrÛrrÛrÔr#r#r$Útest_str_pad_invalid_sideBsrÝzpat, case, na, regex, expÚabFTZAbz    a[a-z]{1}z    A[a-z]{1}cCsTtjddgtt ¡ƒd}|jj||||d}tj|tt ¡ƒd}t     ||¡dS)NrÏrD)ÚcaseÚnaÚregex)
rSr«rrEr—rÚcontainsrorƒr¤)rÎrßràrárrr¥r‰r§r#r#r$Útest_str_containsHs rãc    CsHtjddgtt ¡ƒd}tjtdd|jj    dddW5QRXdS)NrÏrDz contains notr‹r9r+rÒ)
rSr«rrEr—rqrrRrrârÔr#r#r$Ú#test_str_contains_flags_unsupportedYsräzside, pat, na, expÚ
startswithr:ÚendswithZbccCsTtjddgtt ¡ƒd}t|j|ƒ||d}tj|tt ¡ƒd}t     ||¡dS)NrÏrD)rà©
rSr«rrEr—r¡rrorƒr¤)rÚrÎràrrr¥r‰r§r#r#r$Útest_str_start_ends_with_s
rèz arg_name, argÚreplrßrÓr+c    CsZtjddgtt ¡ƒd}ddddœ}|||<tjtdd|jj    f|ŽW5QRXdS)    NrÏrDr:r3T)rÎrérázreplace is not supportedr‹)
rSr«rrEr—rqrrRrÚreplace)Zarg_nameÚargr¥r/r#r#r$Útest_str_replace_unsupportedos
 rìzpat, repl, n, regex, expr9r3r-ZxbxcZxbacz[a-b]ZxxxccCsTtjddgtt ¡ƒd}|jj||||d}tj|tt ¡ƒd}t ||¡dS)NZabacrD)Únrá)    rSr«rrEr—rrêrƒr¤)rÎrérírárrr¥r‰r§r#r#r$Útest_str_replace{s    rîc    CsHtjddgtt ¡ƒd}tjtdd|j     ddg¡W5QRXdS)NrÏrDz repeat is notr‹r+r/)
rSr«rrEr—rqrrRrÚrepeatrÔr#r#r$Útest_str_repeat_unsupportedŠsrðzUnsupported for pyarrow < 7r°cCsPtjddgtt ¡ƒd}|j d¡}tjddgtt ¡ƒd}t ||¡dS)NrÏrDr/Zabcabc)    rSr«rrEr—rrïrƒr¤r¯r#r#r$Útest_str_repeats rñzpat, case, na, expcCsRtjddgtt ¡ƒd}|jj|||d}tj|tt ¡ƒd}t     ||¡dS©NrÏrD)rßrà©
rSr«rrEr—rrŒrorƒr¤©rÎrßràrrr¥r‰r§r#r#r$Útest_str_matchœs rõZAbccCsRtjddgtt ¡ƒd}|jj|||d}tj|tt ¡ƒd}t     ||¡dSròrórôr#r#r$Útest_str_fullmatch®s rözsub, start, end, exp, exp_typrÝcCsNtjddgtt ¡ƒd}|jj|||d}tj|t|ƒd}t ||¡dS)NrÏrD)ÚstartÚend)    rSr«rrEr—rÚfindrƒr¤)Úsubr÷rørrZexp_typr¥r‰r§r#r#r$Ú test_str_findÀsrûc    CsHtjddgtt ¡ƒd}tjtdd|jj    dddW5QRXdS)NrÏrDzfind not implementedr‹rÞr+)r÷)
rSr«rrEr—rqrrRrrùrÔr#r#r$Útest_str_find_notimplementedËsrüzi, expÚer\éýÿÿÿcCsNtjdddgtt ¡ƒd}|j |¡}tj|tt ¡ƒd}t ||¡dS)NrÏÚderD)    rSr«rrEr—rrÇrƒr¤)Úirrr¥r‰r§r#r#r$Ú test_str_getÑs  rz=TODO: StringMethods._validate should support Arrow list typescCsZt tt tdƒtdƒdg¡ƒ¡}|j d¡}tjdddgtt     ¡ƒd}t
  ||¡dS)NrÏÚ123ú=za=b=cz1=2=3rD) rSr«rrErTr²rÚjoinrr—rƒr¤r¯r#r#r$Ú test_str_joinâs" rzstart, stop, step, expcCsPtjddgtt ¡ƒd}|j |||¡}tj|tt ¡ƒd}t ||¡dS©NÚabcdrD)    rSr«rrEr—rÚslicerƒr¤)r÷ÚstopÚsteprrr¥r‰r§r#r#r$Útest_str_sliceís    r zstart, stop, repl, expZaxcdZxcdZcdcCsPtjddgtt ¡ƒd}|j |||¡}tj|tt ¡ƒd}t ||¡dSr)    rSr«rrEr—rZ slice_replacerƒr¤)r÷r    rérrr¥r‰r§r#r#r$Útest_str_slice_replaceüs    r zvalue, method, expZa1cÚisalnumz!|,ZaaaÚisalphaz!!!uÙ Ú    isdecimalz~!r;Úisdigitú~ÚislowerZaaArÚ    isnumericZ11Iú ÚisspaceÚzThe ThatÚistitlezthe ThatZAAAÚisupperZAAccCsRtj|dgtt ¡ƒd}t|j|ƒƒ}tj|dgtt ¡ƒd}t     ||¡dS)NrDrç)Úvaluerörrr¥r‰r§r#r#r$Útest_str_is_functions srz method, expÚ
capitalizezAbc defÚtitlezAbc DefÚswapcasezAbC Defzabc defÚupperzABC DEFÚcasefoldcCsRtjddgtt ¡ƒd}t|j|ƒƒ}tj|dgtt ¡ƒd}t ||¡dS)NzaBc dEFrD©    rSr«rrEr—r¡rrƒr¤)rörrr¥r‰r§r#r#r$Útest_str_transform_functions)s r!cCsNtjddgtt ¡ƒd}|j ¡}tjddgtt ¡ƒd}t     ||¡dS)NrrDr&)
rSr«rrEr—rrrÐrƒr¤r¯r#r#r$Ú test_str_len;s
r"zmethod, to_strip, valr5z abc ZxabcxÚlstripz abcZxabcÚrstripzabc ZabcxcCsVtj|dgtt ¡ƒd}t|j|ƒ|d}tjddgtt ¡ƒd}t ||¡dS)NrD)Úto_striprÏr )rör%Úvalr¥r‰r§r#r#r$Útest_str_stripBs r'r&Zabc123cCsPtj|dgtt ¡ƒd}|j d¡}tjddgtt ¡ƒd}t ||¡dS©NrDrrÏ)    rSr«rrEr—rZ removesuffixrƒr¤©r&r¥r‰r§r#r#r$Útest_str_removesuffixTs r*Z123abccCsPtj|dgtt ¡ƒd}|j d¡}tjddgtt ¡ƒd}t ||¡dSr()    rSr«rrEr—rZ removeprefixrƒr¤r)r#r#r$Útest_str_removeprefix\s r+ÚerrorsÚignoreÚstrictz encoding, expÚutf8sabcÚutf32sÿþabccCsRtjddgtt ¡ƒd}|j ||¡}tj|dgtt ¡ƒd}t     ||¡dS©NrÏrD)
rSr«rrEr—rÚencodeÚbinaryrƒr¤)r,Úencodingrrr¥r‰r§r#r#r$Útest_str_encodeds    r5cCs`tjdddgtt ¡ƒd}|jjd|d}tjdggdgtt t ¡¡ƒd}t     ||¡dS)NrÏZefgrDr:rÒ)
rSr«rrEr—rÚfindallÚlist_rƒr¤)rÓr¥r‰r§r#r#r$Útest_str_findallss$r8rörÚrindexz
start, endc    Cs†tjddgtt ¡ƒd}t|j|ƒd||ƒ}tjddgtt ¡ƒd}t     ||¡t
j t ddt|j|ƒd||ƒW5QRXdS)NÚabcbarDr\r/zsubstring not foundr‹rÂ) rSr«rrEr—r¡rrÌrƒr¤rqrrÛ)rör÷rør¥r‰r§r#r#r$Útest_str_r_index{s      r;ÚformÚNFCÚNFKCcCs>tjddgtt ¡ƒd}|j |¡}| ¡}t     ||¡dSr1)
rSr«rrEr—rrr½rƒr¤)r<r¥r‰r§r#r#r$Útest_str_normalizes r?cCsXtjdddgtt ¡ƒd}|j d||¡}tjdddgtt ¡ƒd}t     ||¡dS)Nr:rÂrDr\r/r-)
rSr«rrEr—rÚrfindrÌrƒr¤)r÷rør¥r‰r§r#r#r$Útest_str_rfind•srAcCsTtjddgtt ¡ƒd}|j ddi¡}tjddgtt ¡ƒd}t ||¡dS)Nr:rDrbr:Zbbcbb)    rSr«rrEr—rÚ    translaterƒr¤r¯r#r#r$Útest_str_translate£srCcCsPtjddgtt ¡ƒd}|j d¡}tjddgtt ¡ƒd}t ||¡dS)Nr:rDrÝzabc
ba)    rSr«rrEr—rÚwraprƒr¤r¯r#r#r$Ú test_str_wrapªs rEcCsltjdddgtt ¡ƒd}|j ¡}tjdddgdddgdddggtt ¡ƒdddgd    }t     
||¡dS)
Nza|bza|crDTFr9r:r\)r%rà) rSr«rrEr—rZ get_dummiesrÞrorƒrr¯r#r#r$Útest_get_dummies±s
 
ýrFcCstjddgtt ¡ƒd}|j d¡}tjdddgdddggtt ¡ƒd}t     ||¡|jjddd}t t
t  dddgdg¡ƒ¡}t  ||¡|j  d¡}tjdddgdddggtt ¡ƒd}t     ||¡|jj ddd}t t
t  dddgdg¡ƒ¡}t  ||¡dS)    Nr:rDr:r9ZcbaF)ÚexpandrÏ)rSr«rrEr—rÚ    partitionrÞrƒrrrTr¤Ú
rpartitionr¯r#r#r$Útest_str_partition¼s& 
ÿ   
ÿ rJc    Cs(tjdddgtt ¡ƒd}|j d¡}t tt dddgdddgdg¡ƒ¡}t     
||¡|jjddd    }t tt dd
gdd
gdg¡ƒ¡}t     
||¡|jjd d d }t tt ddgddgdg¡ƒ¡}t     
||¡|jjd d d d}t  tt dddg¡ƒtt dddg¡ƒdœ¡}t      ||¡dS)NÚa1cbcbÚa2cbcbrDr\Úa1r:Úa2r+©ríZbcbz[1-2]T)rár9Zcbcb)rárG©rr+) rSr«rrEr—rÚsplitrrTrƒr¤rÞrr¯r#r#r$Útest_str_splitÓs. ÿ ÿ ÿ þÿrRc    Csêtjdddgtt ¡ƒd}|j d¡}t tt dddgdddgdg¡ƒ¡}t     
||¡|jjddd    }t tt d
dgd dgdg¡ƒ¡}t     
||¡|jjddd d }t  tt d
d dg¡ƒtt dddg¡ƒdœ¡}t      ||¡dS)NrKrLrDr\rMr:rNr+rOZa1cbZa2cbT)rírGrP) rSr«rrEr—rÚrsplitrrTrƒr¤rÞrr¯r#r#r$Útest_str_rsplitòs$ ÿ ÿ þÿrTc    CsDtjddgtt ¡ƒd}tjtdd|j     d¡W5QRXdS)NrÏrDz,str.extract not supported with pd.ArrowDtyper‹z[ab](\d))
rSr«rrEr—rqrrRrÚextractrÔr#r#r$Útest_str_unsupported_extract     s ÿrVrìrërr8r7cCsFddg}t |¡}tj||d}ttjddg|dƒ}t ||¡dS)NZ1000ÚNaTrDièr¼)rEÚdurationrrŽrTrƒr„)rìÚstringsr­r‰r§r#r#r$Ú#test_duration_from_strings_with_nat    s
 
rZc    Cs>|jj}tj |¡s:tjtddt     |¡j
W5QRXdS)Nz2Can only use .dt accessor with datetimelike valuesr‹) r%r rErFr±rqrÚAttributeErrorrSr«r”rhr#r#r$Útest_unsupported_dt    s ÿr\zprop, expectedÚyearéçÚdayZ day_of_weekZ    dayofweekÚweekdayZ day_of_yearZ    dayofyearÚhourÚminuteZ is_leap_yearz.is_leap_year not implemented for pyarrow < 8.0r)ZmarksÚ microsecondr8ÚmonthÚ
nanosecondéZquarterÚsecondrbrrc Cs–tjtjddddddddd    dgtt d
¡ƒd }t|j|ƒ}d}t|t    ƒrVt 
¡}nt|t ƒrjt  d
¡}t t tj|dg|d ƒ¡}t ||¡dS) Nr^r+r/rÝr&rbr8rf)r]rdr_rarbrgrcrerërDr¼)rSr«rÅrrEr‡r¡r”r…rrÆrÚtime64rrTrƒr¤)Úpropr§r¥r‰Zexp_typer#r#r$Útest_dt_properties&    s.ø
õ ò 
 
 
 
rjcCshtjtddddddgtt |¡ƒd}|jj}t ttj    tddƒdgt 
|¡dƒ¡}t   ||¡dS)    Nr^r+r/rÝ©r]rdr_rarDrr¼) rSr«rrrEr‡r”rrrTrhrƒr¤)rìr¥r‰r§r#r#r$Útest_dt_time_preserve_unit_    s þ ÿrlr”r†ú
US/PacificcCsDtjtddddddgttjd|dƒd}|jj}||ks@t‚dS)    Nr^r+r/rÝrkrë©r”rD)    rSr«rrrEr‡r”r”r†)r”r¥r‰r#r#r$Ú
test_dt_tzl    s þrocCshtjtddddddgtt d¡ƒd}|j ¡}tjdddgdddggd    d
d gd d }t     
||¡dS)Nr^r+r/rÝrkrërDrr]Úweekr_rŸ)ràr%) rSr«rrrEr‡r”Ú isocalendarrÞrƒrr¯r#r#r$Útest_dt_isocalendarv    s þ
ýrrcCs„tƒr&tƒr&|j tjjtjdd¡t    j
t ddddddgt t  d¡ƒd    }|j d
¡}t    j
d dgt t ¡ƒd    }t ||¡dS) Nr‘rr^r+r/rÝrkrërDz%Y-%m-%dT%H:%M:%Sz2023-01-02T03:00:00.000000000)r r rorprqrrrsrEr•rSr«rrr‡r”Ústrftimer—rƒr¤)r"r¥r‰r§r#r#r$Útest_dt_strftime„    s" ýÿ     þ 
ÿrtÚceilr•rËc    Csˆtjtddddddgtt d¡ƒd}tjtdd    t    |j
|ƒd
d d W5QRXtjtd d    t    |j
|ƒd
d dW5QRXdS)Nr^r+r/rÝrkrërDzambiguous is not supported.r‹Z1HrW©Z    ambiguousznonexistent is not supported.©Ú nonexistent) rSr«rrrEr‡rqrrRr¡r”©rör¥r#r#r$Ú*test_dt_roundlike_tz_options_not_supportedš    s þrzc    Cs€tjtddddddgtt d¡ƒd}tjtdd    t    |j
|ƒd
ƒW5QRXtjtd d    t    |j
|ƒdƒW5QRXdS) Nr^r+r/rÝrkrërDzfreq='1B' is not supportedr‹Z1Bz$Must specify a valid frequency: None) rSr«rrrEr‡rqrrÛr¡r”ryr#r#r$Ú"test_dt_roundlike_unsupported_freq§    s þr{z'Methods not supported for pyarrow < 7.0ÚfreqÚDÚHÚTÚSÚLÚUÚNcCsnt tdddddg¡}tt d¡ƒ}t|j|ƒd|›ƒ |¡}t| |¡j|ƒd|›ƒ}t     
||¡dS)Nr^r+)r]rdr_rër0) rSr«rrrEr‡r¡r”r£rƒr¤)r|rör¥rUr§r‰r#r#r$Útest_dt_ceil_year_floor´    sÿr„cCsŠtdddƒtdddƒg}tj|tt d¡ƒd}|j ¡}tj    |t
d}t   ||¡t dd„|Dƒƒsjt‚| d¡j ¡}t   ||¡dS)    Nr2r+r^rërDcss|]}t|ƒtkVqdSr)rXr)Ú.0Úresr#r#r$Ú    <genexpr>Ë    sz(test_dt_to_pydatetime.<locals>.<genexpr>zdatetime64[ns])rrSr«rrEr‡r”r“rrTrgrƒr³Úallr†r£)rVr¥r‰r§r#r#r$Útest_dt_to_pydatetimeà   s
 r‰c    Cs€tjtddddddgtt d¡ƒd}tjtdd    |j    j
d
d d W5QRXtjtd d    |j    j
d
d dW5QRXdS)Nr^r+r/rÝrkrërDz ambiguous='NaT' is not supportedr‹r†rWrvz"nonexistent='NaT' is not supportedrw) rSr«rrrEr‡rqrrRr”Ú tz_localizerÔr#r#r$Ú*test_dt_tz_localize_unsupported_tz_optionsÑ    s þr‹cCsptjtddddddgttjdddƒd    }|j d¡}tjtddddddgtt d¡ƒd    }t     ||¡dS)
Nr^r+r/rÝrkrërmrnrD)
rSr«rrrEr‡r”rŠrƒr¤r¯r#r#r$Útest_dt_tz_localize_noneÝ    sþ  þrŒcCsªtƒr&tƒr&|j tjjtjdd¡t    j
t ddddddgt t  |¡ƒd}|j d    ¡}tjt ddddddgt  |¡d
}tj |d    ¡}t     
t|ƒ¡}t ||¡dS) Nr‘rr^r+r/rÝrkrDrmr¼©r r rorprqrrrsrEr•rSr«rrr‡r”rŠrTZcomputeZassume_timezonerrƒr¤)rìr"r¥r‰Úexp_datar§r#r#r$Útest_dt_tz_localizeê    s& ýÿ     þ ÿrznonexistent, exp_dateZ shift_forwardr4rkZshift_backwardz2023-03-12 01:59:59.999999999cCs¤tƒr&tƒr&|j tjjtjdd¡t    j
t dddddddgt t  d    ¡ƒd
}|jjd |d }tj|dgt  d    ¡d }tj |d ¡}t     
t|ƒ¡}t ||¡dS)Nr‘rr^rÝr4r/é)r]rdr_rarbrërDrmrwr¼r)rxZexp_dater"r¥r‰rŽr§r#r#r$Útest_dt_tz_localize_nonexistent
s  ýÿ     þr‘rcCsDtjdgdd}t||ƒ|d}|r.|dk}ntj}||ks@t‚dS)Nr‘rDrœrˆ)rSr«r¡rjr†)rÓrr¥r‰r§r#r#r$Ú#test_boolean_reduce_series_all_null 
s 
r’r—zstring[pyarrow]cCs>t d ¡¡}tj||d}tjt|ƒ|d}t ||¡dS)Nzthe quick brown foxrD)rErTrQrSr«rrƒr¤)r%r¶r¥r§r#r#r$Útest_series_from_string_array,
sr“cCsTd}tt tj|ftjdg¡ƒ}| ¡}d|tj|ftjd<|j|jksPt    ‚dS)Nih6rDF)
rrEZ chunked_arrayrZonesror½Úzerosr‚r†)rƒr¶r§r#r#r$Ú/test_setitem_boolean_replace_with_mask_segfault4
s
r•r­c Cshtjdddgt|ƒd}| ¡}tjddddddddgtt ¡ƒdd    d
d d d ddgd}t ||¡dS)Nr+r/rÝrDrÏg@rÉr·r¾rÀÚminz25%z50%z75%Úmax)r%r)rSr«rZdescriberErÍrƒr¤)r­rVr‰r§r#r#r$Útest_describe_numeric_data=
s
ýr˜r[cCs€t ddg¡}t ddg¡}tj|tt d¡ƒd}tj|tt d¡ƒd}||}tjddgtt d¡ƒd}t     ||¡dS)Nr+rërDr/)
rSÚ to_datetimeZ to_timedeltar«rrEr‡rXrƒr¤)Zdata_tsZdata_tdZser_tsZser_tdr‰r§r#r#r$Ú2test_duration_overflow_from_ndarray_containing_natJ
srš)Ör…rrrrÚdecimalrÚiorrrlr©ÚreÚnumpyrrqZ pandas._libsr    Z pandas.compatr
r r r rrrZ pandas.errorsrZpandas.core.dtypes.commonrZpandas.core.dtypes.dtypesrZpandasrSZpandas._testingZ_testingrƒZpandas.api.typesrrrrrrrZpandas.tests.extensionrZ importorskiprEZpandas.core.arrays.arrow.arrayrZpandas.core.arrays.arrow.dtyperZfixtureZALL_PYARROW_DTYPESrr%rVrZr[rardrerirkZBaseCastingTestsrlZBaseConstructorsTestsr~ZBaseGetitemTestsr™ZBaseAccumulateTestsr›ZBaseNumericReduceTestsr¶ZBaseBooleanReduceTestsrÑZBaseGroupbyTestsrÔZBaseDtypeTestsrãZBaseIndexTestsrïZBaseInterfaceTestsrðZBaseMissingTestsrõZBasePrintingTestsrúZBaseReshapingTestsrûZBaseSetitemTestsrþZBaseParsingTestsrZBaseUnaryOpsTestsr
ZBaseMethodsTestsr r:r)ZBaseComparisonOpsTestsr^rtrˆr‹rrrµr–r™ršr3ÚbytesZ large_binaryZ large_stringr7rÌr²Z
large_listZmap_r—ÚdictÚ
dictionaryrr r¢r£r¤r¥r¦r§r¬r®r°r´r·Z
no_defaultrrºr»rÀrÃZskipifrÈrÊrÌrÍrÑrÕrÜrÝrãrärèÚcompilerìrîrðrsrRrñrõrörÐrûrürr[rr r rr!r"r'r*r+r5r8r;r?rArCrErFrJrRrTrVrZr\r!rjrlrorrrtrzr{r„r‰r‹rŒrrÅr‘r’r“r•ZALL_INT_PYARROW_DTYPESZFLOAT_PYARROW_DTYPESr˜r“ršr#r#r#r$Ú<module>sø   $        $       
 
;
 
 
:
 
 
    
 FRb#4S' 37"   ÿ L,ý
 
 
 
øþ
              
 
 
 
 
ÿ
    ûþ
 
üþ    
 þ
ýþ
ý
úþ
úþ
*þ
     ûþ
 
þ
ýþ
ýþ
 
       îþ
 
 
 
 
úþ        úþ 
 
þþþþ
þþ               
ýý    
 
 
çþ         ÿ*
 þþ       ý