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
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
U
¬ý°dPRã@süddlmZddlmZddlZddlZddlZddlmZ    m
Z ddl m mZddlmZmZmZmZmZddlmZddlZddlmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+ddl,m-Z.ddl/m0m1Zddl2m3Z3m4Z4ddl5m0m6Z7Gd    d
„d
ƒZ8Gd d „d ƒZ9d d„Z:Gdd„dƒZ;Gdd„dƒZ<Gdd„dƒZ=Gdd„dƒZ>Gdd„dƒZ?dd„Z@Gdd„dƒZAdd„ZBdd „ZCd!d"„ZDd#d$„ZEd%d&„ZFd'd(„ZGGd)d*„d*ƒZHGd+d,„d,ƒZIejJ Kd-ejLejLg¡d.d/„ƒZMdS)0é)Údatetime)Ú permutationsN)ÚalgosÚ    hashtable)Ú is_bool_dtypeÚis_complex_dtypeÚis_float_dtypeÚis_integer_dtypeÚis_object_dtype)ÚCategoricalDtype)Ú CategoricalÚCategoricalIndexÚ    DataFrameÚ DatetimeIndexÚIndexÚ IntervalIndexÚ
MultiIndexÚNaTÚPeriodÚ PeriodIndexÚSeriesÚ    TimedeltaÚ    TimestampÚ
date_rangeÚtimedelta_rangeÚ to_datetimeÚ to_timedelta)Ú DatetimeArrayÚTimedeltaArrayc@s´eZdZej dddg¡dd„ƒZdd„Zdd    „Zd
d „Z    d d „Z
dd„Z dd„Z dd„Z ej ddddddgdddddgddddgfdddddgdddddgddddgfddddgddddgdddgfg¡dd„ƒZd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zd,d-„Zd.d/„Zej dddg¡d0d1„ƒZej dddg¡d2d3„ƒZd4d5„Zej d6ejdddgd7d8ejd9dd9gd:d8ejd;d<d;gd=d8g¡d>d?„ƒZej d@ejddddgd7d8dfejddddgd7d8dfejd9dd9dgd:d8d9fejdd9ddgd:d8dfejdAdBdAdCged8dAfejdDdEdDdFged8dDfejdEdDdEdFged8dEfg¡dGdH„ƒZej dddg¡ejjdIejdCdAdJdCged8ejdCdAged8fejddej dgdKd8ejddgdKd8fgdLdMgdNdOdP„ƒƒZ!ej ddAdJdCdAgejddddge "dQ¡d8ejdAej dCged8fdAej dCdAgejddddge "dQ¡d8ejdAej dCged8fg¡dRdS„ƒZ#ej dddJddgejddddge "dQ¡d8ejdej dgdTd8fdej ddgejddddge "dQ¡d8ejdej dgej$d8fg¡dUdV„ƒZ%ej de&e'dAdAdCgƒƒejdddgej(d8e)dAdCgdAdCgdWdXfe*e'dAdAdCgƒƒejdddgej(d8e)dAdCgdAdCgdWdXfe*e+dYdYgdZd[ƒejddgej(d8e+dYgdZd[fg¡d\d]„ƒZ,dJS)^Ú TestFactorizeÚsortTFc
sÎ|}|j|d\}}t}t|tƒr(tj}| ¡}|jtjkrH|     tj
¡}||ƒ}t|tƒrx|jt krx|jt krx|     t ¡}|r„|  ¡}t|ƒ‰‡fdd„|Dƒ}    tj|    tjd}    t ||    ¡tj||dddS)N©r csg|]}ˆ |¡‘qS©)Úindex)Ú.0Úval©Zexpected_uniques_listr"úNd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/test_algos.pyÚ
<listcomp>Nsz0TestFactorize.test_factorize.<locals>.<listcomp>©ÚdtypeT©Úexact)Ú    factorizerÚ
isinstancerÚ from_tuplesÚuniquer*ÚnpÚfloat16ÚastypeÚfloat32ÚboolÚobjectZ sort_valuesÚlistÚasarrayÚintpÚtmÚassert_numpy_array_equalÚassert_index_equal)
ÚselfZindex_or_series_objr ÚobjZ result_codesZresult_uniquesÚ constructorZ expected_arrÚexpected_uniquesÚexpected_codesr"r&r'Útest_factorize5s.
  ÿþý
 zTestFactorize.test_factorizecCspt dddtjg¡}t|ƒ}|jdd\}}tjddddgtjd}tddtjgƒ}t ||¡t     ||¡dS)    NééF©Úuse_na_sentinelrr)çð?ç@)
r1ÚarrayÚnanrr-r9rr:r;r<)r=ÚvaluesÚserÚcodesÚuniquesrAr@r"r"r'Ú+test_series_factorize_use_na_sentinel_falseTs z9TestFactorize.test_series_factorize_use_na_sentinel_falsec
CsJt ddddddddg¡\}}t |tjdddgtd¡tjddddddddgdd\}}tjdddddd    d    d    gtjd}t ||¡tjdddgtd}t ||¡tjd
tjdddd …}t |¡\}}tjddd    d d gtjd}t ||¡tjd d d    ddg|j    d}t ||¡tj|dd\}}tjd d d    ddgtjd}t ||¡tjddd    d d g|j    d}t ||¡t d¡ddd …}t |¡\}}tjddd    d d gtjd}t ||¡tjdddddg|j    d}t ||¡tj|dd\}}tjd d d    ddgtjd}t ||¡tjdddddg|j    d}t ||¡dS)NÚaÚbÚcr)Tr!rrCrDééÿÿÿÿééç@ç@g@rHrGç)
rr-r:r;r1rIr6r9Úaranger*)r=rMrNÚexpÚarrr"r"r'Ú
test_basic`s@ÿ
          zTestFactorize.test_basiccCsÈtddtjddtjgƒ}t |¡\}}tjddddddgtjd    }t     ||¡t
dddtjgƒ}t  ||¡tj|d
d \}}tjddddddgtjd    }t     ||¡t
dtjddgƒ}t  ||¡dS) NÚAÚBg…ëQ¸    @rrTrCrDrUr)Tr!) rr1rJÚinfrr-rIr9r:r;rr<)r=ÚxrMrNr[r"r"r'Ú
test_mixedˆs   zTestFactorize.test_mixedcCsNtdƒ}tdƒ}t||||||gƒ}t |¡\}}tjddddddgtjd}t ||¡t    ||gƒ}t 
||¡tj|dd\}}tjddddddgtjd}t ||¡t    ||gƒ}t 
||¡t dd    d
}t d d    d
}t||||||gƒ}t |¡\}}tjddddddgtjd}t ||¡t 
|t ||gƒ¡tj|dd\}}tjddddddgtjd}t ||¡t 
|t ||gƒ¡t d ƒ}t d ƒ}t|||||||gƒ}t |¡\}}tjdddddddgtjd}t ||¡t 
|t ||gƒ¡tj|dd\}}tjdddddddgtjd}t ||¡t 
|t ||gƒ¡dS)Nz20130101 09:00:00.00004Ú20130101rrCr)Tr!Z201302ÚM©ÚfreqZ201303z 1 day 1 minú1 day)rrrr-r1rIr9r:r;rr<rrr)r=Zv1Zv2rarMrNr[r"r"r'Ú test_datelike˜sF            zTestFactorize.test_datelikecCs˜tjdddtjgdd}t t|ƒ¡}dD]h}|j||d}tjddd|gtjd}tt|ƒƒtt|ƒƒkspt    ‚t
  t   |¡||k¡t
  ||¡q*dS)NrCrDÚOr))rTé)Ú na_sentinelr)r1rIrJÚhtÚObjectFactorizerÚlenr-r9ÚsetÚAssertionErrorr:r;ÚpdÚisna)r=ÚkeyÚrizerrkÚidsÚexpectedr"r"r'Útest_factorize_nanÈsz TestFactorize.test_factorize_nancCsžtjddddddgdd}t ddddddg¡}t t|ƒ¡}|j||d    }tjdddddd
gtjd}t ||¡tjdddgdd}t |j     
¡|¡dS) NrCrDrUrÚint64r)FT)ÚmaskrT) r1rIrlZInt64Factorizerrnr-r9r:r;rNÚto_array)r=ÚdataryrtÚresultrvr@r"r"r'Útest_factorizer_with_maskÕs z'TestFactorize.test_factorizer_with_maskcCs„t ddddtjg¡}t t|ƒ¡}| | t¡¡}tjdddddgtj    d}t
  ||¡tjdddgtd}t
  |j   ¡|¡dS)NrCrDrUrrTr))r1rIrJrlrmrnr-r3r6r9r:r;rNrz)r=r{rtr|rvr@r"r"r'Útest_factorizer_object_with_nanàs z-TestFactorize.test_factorizer_object_with_nanz&data, expected_codes, expected_uniques©rCrC)rCrD©rrZnonsenserrCrDrU)rCrDrUcCsDt |¡\}}t |tj|tjd¡tj|t    d}t ||¡dS©Nr))
rqr-r:r;r1rIr9ÚcomZasarray_tuplesafer6)r=r{rAr@rMrNZexpected_uniques_arrayr"r"r'Útest_factorize_tuple_listêsz'TestFactorize.test_factorize_tuple_listc    CsVtjdd„tdƒDƒtd}d}tjt|dtj|ddd…dd    W5QRXdS)
NcSsg|] }t|ƒ‘qSr")Úcomplex)r$Úir"r"r'r(sz6TestFactorize.test_complex_sorting.<locals>.<listcomp>ér)z,'[<>]' not supported between instances of .*©ÚmatchrTTr!)    r1rIÚranger6ÚpytestÚraisesÚ    TypeErrorrr-)r=Zx17Úmsgr"r"r'Útest_complex_sortingsz"TestFactorize.test_complex_sortingcCsn|}tjddddg|d}tjddddgtjd}tjddg|d}t |¡\}}t ||¡t ||¡dS)NrCrDr)r)r1rIr9rr-r:r;)r=Zany_real_numpy_dtyper*r{rAr@rMrNr"r"r'Útest_numeric_dtype_factorize s z*TestFactorize.test_numeric_dtype_factorizecCs„tjddddddgtjd}|j|dtjddddddgtjd}tjdddgtjd}t |¡\}}t ||¡t ||¡dS)    NrGg„×—Ag:Œ0âŽyE>r)©ÚwriterrCrD)    r1rIÚfloat64Úsetflagsr9rr-r:r;©r=Úwritabler{rAr@rMrNr"r"r'Útest_float64_factorizes  z$TestFactorize.test_float64_factorizecCsvtjdddgtjd}|j|dtjdddgtjd}tjddgtjd}t |¡\}}t ||¡t ||¡dS)NlÿÿÿÿrCr)rr)    r1rIÚuint64r“r9rr-r:r;r”r"r"r'Útest_uint64_factorize s  z#TestFactorize.test_uint64_factorizecCsvtjdddgtjd}|j|dtjdddgtjd}tjddgtjd}t |¡\}}t ||¡t ||¡dS)Nlÿÿÿÿìûÿÿÿr)rrrC)    r1rIrxr“r9rr-r:r;r”r"r"r'Útest_int64_factorize*s  z"TestFactorize.test_int64_factorizecCs|tjdddddgtd}|j|dtjdddddgtjd}tjdddgtd}t |¡\}}t ||¡t ||¡dS)    NrPrRrQr)rrrCrD)    r1rIr6r“r9rr-r:r;r”r"r"r'Útest_string_factorize4s  z#TestFactorize.test_string_factorizec    CsŠtjdddtjddtdgtd}|j|dtjdddddd    ddgtjd}tjdddgtd}t |¡\}}t     
||¡t     
||¡dS)
NrPrRrQr)rrrCrTrD) r1rIrJrr6r“r9rr-r:r;r”r"r"r'Útest_object_factorize>s    z#TestFactorize.test_object_factorizecCsntjt d¡gdd}|j|dtjdgtjd}tjdgdd}t |¡\}}t ||¡t ||¡dS)Nz2020-01-01T00:00:00.000úM8[ns]r)rrz2020-01-01T00:00:00.000000000údatetime64[ns])    r1rIÚ
datetime64r“r9rqr-r:r;r”r"r"r'Útest_datetime64_factorizeHs ÿ z'TestFactorize.test_datetime64_factorizecCsštj tdƒ¡}tjdtjd|f}tj||d}t     
|d|d¡t    j |d|ddd|j|d}t     
|d|d¡t    j |d|ddddS)Né
r)r!rrCTr+© rqÚ
RangeIndexZ
from_ranger‰r1rZr9rr-r:r;r<)r=r Úrirvr|r"r"r'Útest_factorize_rangeindexUs z'TestFactorize.test_factorize_rangeindexcCsÜtj tdƒ¡}tjdtjd|f}|ddd…}|d|f}|rf|dddd…|dddd…f}tj||d}t     
|d|d¡t    j |d|ddd|j|d}t     
|d|d¡t    j |d|ddddS)    Nr¡r)rTrrCr!Tr+r¢)r=r r¤rvZri2r|r"r"r'Ú$test_factorize_rangeindex_decreasingcs $ z2TestFactorize.test_factorize_rangeindex_decreasingc    Csbtjdddgtjd}tjtddtj|ddW5QRXt     d¡t |¡W5QRXdS)    NìrCr)zgot an unexpected keywordr‡T)ÚorderF)
r1rIr—rŠr‹rŒrr-r:Zassert_produces_warning)r=r{r"r"r'Útest_deprecate_ordervs
 z"TestFactorize.test_deprecate_orderr{Úu8r)r™Úi8Z__nan__Úfoor6cCsLt |¡\}}|ddg}tjdddgtjd}t ||¡t ||¡dS)NrrCr))rr-r1rIr9r:r;)r=r{rMrNr@rAr"r"r'Ú,test_parametrized_factorize_na_value_defaults
 
  z:TestFactorize.test_parametrized_factorize_na_value_defaultzdata, na_valuerPÚrQr"©rPrC)rPrDcCsRtj||d\}}|ddg}tjddddgtjd}t ||¡t ||¡dS)N)Úna_valuerCrUrTrr))rZfactorize_arrayr1rIr9r:r;)r=r{r°rMrNr@rAr"r"r'Ú$test_parametrized_factorize_na_values
  z2TestFactorize.test_parametrized_factorize_na_valuez data, uniquesNZInt64Z numpy_arrayZextension_array)rucCsŽtj||dd\}}|r<tjddddgtjd}t |¡}ntjddddgtjd}|}t ||¡t|tj    ƒr~t ||¡n t 
||¡dS)NT)r rFrCrrTr)) rr-r1rIr9Z    safe_sortr:r;r.ÚndarrayÚassert_extension_array_equal)r=r r{rNrMrAr@r"r"r'Útest_factorize_use_na_sentinel¢s   z,TestFactorize.test_factorize_use_na_sentinelr9cCs6tj|dd\}}tj||ddtj||dddS©NFrET©Z
strict_nan©rr-r:r;©r=r{rAr@rMrNr"r"r'Ú+test_object_factorize_use_na_sentinel_false¿sz9TestFactorize.test_object_factorize_use_na_sentinel_falsericCs6tj|dd\}}tj||ddtj||dddSrµr·r¸r"r"r'Ú(test_int_factorize_use_na_sentinel_falseÖsz6TestFactorize.test_int_factorize_use_na_sentinel_falseÚcategory)Ú
categoriesr*Z2017ú
US/Eastern©ÚtzcCs*t |¡\}}t ||¡t ||¡dS©N)rr-r:r;r<r¸r"r"r'Útest_factorize_mixed_valuesís z)TestFactorize.test_factorize_mixed_values)-Ú__name__Ú
__module__Ú __qualname__rŠÚmarkÚ parametrizerBrOr]rbrhrwr}r~rƒrŽrr–r˜ršr›rœr r¥r¦r©r1rIr­r6r±rqrJr´r*r¹r’rºrr r9r rrrÁr"r"r"r'r4sà
 (0  
 
ý  
ýõþ
     
 
 
 
 
 
 
    ýþ
ùþ
þþû
ô 
ý ýúþ
 
ý ýúþ
ýý ýõþrc    @süeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zej ddejdd ged!fd"ejd#ged!fg¡d$d%„ƒZd&d'„Zd(d)„Zd*d+„Zej d,ejeg¡d-d.„ƒZd/d0„Zd1d2„Zd3S)4Ú
TestUniquecCs0tjjdddd}t |¡}t|tjƒs,t‚dS)Nrédé2©Úsize)r1ÚrandomÚrandintrr0r.r²rp©r=r\r|r"r"r'Ú    test_ints    s
zTestUnique.test_intscCs6tjjdddd d¡}t |¡}t|tjƒs2t‚dS)NrrÈrÉrÊri)    r1rÌrÍr3rr0r.r²rprÎr"r"r'Ú test_objectss
zTestUnique.test_objectscCs.dddddg}tdƒD]}tt |¡ƒqdS)Nr^r_ÚCÚDÚEéè)r‰rnrr0)r=Úlstr…r"r"r'Útest_object_refcount_bugs z#TestUnique.test_object_refcount_bugcCsbt t d¡ d¡t t d¡d¡g¡}|j}| ¡| d¡}t     |¡}| ¡t
  ||¡dS)NrSrD) rZ from_arraysr1rZÚrepeatÚtilerKr rqr0r:Úassert_almost_equal)r=Zmindexrvr|r"r"r'Útest_on_index_objects ÿ
 
zTestUnique.test_on_index_objectcCsP|tjtjkr$dddg}ddg}n¼t|ƒr@dddg}ddg}n t|ƒr\dddg}ddg}n„t|ƒr–tddƒtddƒtddƒg}tddƒtddƒg}nJt|ƒr²dddg}ddg}n.t|ƒrÎdd    d    g}dd    g}ndddg}ddg}t    ||d
 
¡}t j ||d
}|tjkr|  t¡}|jjd kr@t|ttfƒs6t‚t   |¡}t ||¡dS) NrCrDrGrHrTFr^r_r))Úmrd)r:Z BYTES_DTYPESZ STRING_DTYPESr    rrr„rr
rr0r1rIr3r6r*Úkindr.rrrpr;)r=Zany_numpy_dtyper{rNr|rvr"r"r'Útest_dtype_preservation(s8
 
 
 
 
 
 
 
 
 
 
 
 
z"TestUnique.test_dtype_preservationcCs¤tjddgdd}tdddgƒ}t |¡}t ||¡|j|jksFt‚t    |ƒ}t |¡}t ||¡|j|jkstt‚|j
}t |¡}t ||¡|j|jks t‚dS)Nz2015-01-03T00:00:00.000000000z2015-01-01T00:00:00.000000000rr)) r1rIrrr0r:r;r*rprrK)r=rvZdt_indexr|Úsr\r"r"r'Ú$test_datetime64_dtype_array_returnedMs.þûýÿ
 
 
 z/TestUnique.test_datetime64_dtype_array_returnedcCs@tjdddgdd}t |¡}tjddgdd}t ||¡dS)NÚ2000Ú2001z datetime64[s]r)©r1rIrqr0r:r;©r=rPr|rvr"r"r'Útest_datetime_non_nsls
zTestUnique.test_datetime_non_nscCs@tjdddgdd}t |¡}tjddgdd}t ||¡dS)Nràráztimedelta64[s]r)iÐiÑrârãr"r"r'Útest_timedelta_non_nsrs
z TestUnique.test_timedelta_non_nscCsªtjdddgdd}tdddddgƒ}t |¡}t ||¡|j|jksLt‚t    |ƒ}t |¡}t ||¡|j|jkszt‚|j
}t |¡}t ||¡|j|jks¦t‚dS)Niàyin²é'úm8[ns]r)) r1rIrrr0r:r;r*rprrK)r=rvZtd_indexr|rÞr\r"r"r'Ú%test_timedelta64_dtype_array_returnedxs
 
 
 z0TestUnique.test_timedelta64_dtype_array_returnedcCsBtddddgtjd}tjdddgtjd}t t |¡|¡dS)NrCrDr§r))rr1r—rIr:r;rr0)r=rÞr[r"r"r'Útest_uint64_overflow‹szTestUnique.test_uint64_overflowcCs>dtjddg}t |¡}tjdtjdgtd}t ||¡dS)NrPrRr))r1rJrqr0rIr6r:r;)r=Zduplicated_itemsr|rvr"r"r'Útest_nan_in_object_arrays
z#TestUnique.test_nan_in_object_arraycCsttdƒƒ}ttdƒtdƒdd}ttdƒƒ}| ¡}t ||¡t |¡}t ||¡ttdƒdd}| ¡}t ||¡t |¡}t ||¡tttdƒƒdd}| ¡}t ||¡t |¡}t ||¡tttdƒtdƒd    ƒ}t|ƒ}| ¡}t     ||¡t |¡}t     ||¡dS)
NZbacÚabcT©r¼ÚorderedZbaabc©rír¬©Úname©r¼)
r r7r0r:Úassert_categorical_equalrrrqr r<)r=rvZ
expected_orRr|rÞÚcir"r"r'Útest_categorical–s.   
 
 
 
zTestUnique.test_categoricalc    Cstttdddtdddgƒƒ ¡}t t tdddg¡¡}t     ||¡ttdddtdddgƒ ¡}t
dgddd}t  ||¡t  tttdddtdddgƒƒ¡}t t tdddg¡¡}t     ||¡t  ttdddtdddgƒ¡}t
dgddd}t  ||¡dS)    NÚ20160101r½r¾z2016-01-01 00:00:00-0500ú2016-01-01 00:00:00údatetime64[ns, US/Eastern]©r*rfú
2016-01-01) rrrr0rZ_from_sequencer1rIr:r³rr<rq©r=r|rvr"r"r'Útest_datetime64tz_aware¿s`
 
þÿÿÿ 
 
þÿÿ 
 
þÿÿÿ
ÿ 
 
þÿÿÿz"TestUnique.test_datetime64tz_awarecCs:t tddddgƒ¡}t |tjdddgdd¡t tdgdgdƒ¡}t |tjddgdd¡t ttdƒtdƒgƒ¡}tjdgd    d}t ||¡t ttdd
d tdd
d gƒ¡}t    d gd dd}t 
||¡t t dƒ¡}tjdddgt d}t ||¡t tt t dƒƒƒ¡}t t dƒƒ}t ||¡dS)NrDrCrUrxr)rSrõz2016-01-01T00:00:00.000000000ržr½r¾rör÷røZaabcrPrQrRrë)rqr0rr:r;r1rIrrrr<r7r6r ròrúr"r"r'Útest_order_of_appearanceös4 
 
þÿÿÿ   z#TestUnique.test_order_of_appearancez arg ,expected)Ú1rýÚ2rýrþr))r¬r¬cCst |¡}t ||¡dSrÀ©rqr0r:r;)r=Úargrvr|r"r"r'Útest_tuple_with_stringss    
z"TestUnique.test_tuple_with_stringscCsBtjddgtd}t |¡}tjddgtd}tj||dddS)Nr¬r)Tr¶)r1rIr6rqr0r:r;©r=r\r|rvr"r"r'Útest_obj_none_preservation%s
z%TestUnique.test_obj_none_preservationcCs4t ddg¡}t |¡}t dg¡}t ||¡dS)Ng€rYrârãr"r"r'Útest_signed_zero-s
 zTestUnique.test_signed_zerocCs~t dt dd¡¡d}t dt dd¡¡d}||ks<t‚||ksHt‚t ||g¡}t |¡}t tjg¡}t     
||¡dS)NÚdú=QìÀrìÀ) ÚstructÚunpackÚpackrpr1rIrqr0rJr:r;)r=ÚNAN1ÚNAN2rPr|rvr"r"r'Útest_different_nans4s  
zTestUnique.test_different_nansÚel_typec    Cs¦d}d}t dt d|¡¡d}t dt d|¡¡d}||ksDt‚||ksPt‚tj||g|d}t |¡}|jdkszt‚t dt d|d¡¡d}||ks¢t‚dS)NlÀrrrrr)rC)    r    r
r rpr1rIrqr0rË)    r=rZ bits_for_nan1Z bits_for_nan2r r rPr|Zresult_nan_bitsr"r"r'Útest_first_nan_kept@s  
zTestUnique.test_first_nan_keptcCsZ||kr dStj||gtd}t |¡}|jdks6t‚|d|ksFt‚|d|ksVt‚dS)Nr)rDrrC)r1rIr6rqr0rËrp)r=Zunique_nulls_fixtureZunique_nulls_fixture2rPr|r"r"r'Útest_do_not_mangle_na_valuesQs
z'TestUnique.test_do_not_mangle_na_valuescCsHtdtjdgd|d}t |¡}tjdtjdg|d}t ||¡dS)NrCrDrUr))rrqZNAr0rIr:r³)r=Zany_numeric_ea_dtyperLr|rvr"r"r'Útest_unique_masked[s
zTestUnique.test_unique_maskedN)rÂrÃrÄrÏrÐrÖrÚrÝrßrärårèrérêrôrûrürŠrÅrÆr1rIr6rrrrr’rrrr"r"r"r'rÇs8%)7#þþ
 
 
rÇcCs<|tj ddd¡ƒ}t |¡}tt |¡ƒ}||ks8t‚dS)Nrrjé)r1rÌrÍrZ nunique_intsrnr0rp)Zindex_or_series_or_arrayrKr|rvr"r"r'Útest_nunique_intscs
rc@söeZdZdd„Zdd„Zdd„Zej ddd    d
d g¡ej d d ddg¡dd„ƒƒZ    dd„Z
dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zd d!„Zd"d#„Zej d$geed%e g¡g¡d&d'„ƒZd(d)„Zd*d+„Zd,d-„Zd.d/„Zd0d1„Zd2d3„Zd4S)5ÚTestIsinc    Cs~d}tjt|dt dd¡W5QRXtjt|dt ddg¡W5QRXtjt|dt dgd¡W5QRXdS)NzQonly list-like objects are allowed to be passed to isin\(\), you passed a \[int\]r‡rC)rŠr‹rŒrÚisin)r=rr"r"r'Ú test_invalidlsÿzTestIsin.test_invalidcCs²t ddgdg¡}t ddg¡}t ||¡t t ddg¡dg¡}t ddg¡}t ||¡t tddgƒdg¡}t ddg¡}t ||¡t tddgƒtdgƒ¡}t ddg¡}t ||¡t tddgƒdh¡}t ddg¡}t ||¡t ddgdg¡}t ddg¡}t ||¡t tddgƒtdgƒ¡}t ddg¡}t ||¡t tddgƒdh¡}t ddg¡}t ||¡t ddgdg¡}t ddg¡}t ||¡dS)NrCrDTFrPrQ)rrr1rIr:r;rrúr"r"r'r]xs6        zTestIsin.test_basiccCsDtdddj}t ||dg¡}t dddg¡}t ||¡t ||dd…¡}t dddg¡}t ||¡t |t|dd…ƒ¡}t dddg¡}t ||¡t    dddj}t ||dg¡}t dddg¡}t ||¡t ||dd…¡}t dddg¡}t ||¡t |t|dd…ƒ¡}t dddg¡}t ||¡dS)    NrcrU©ÚperiodsrTFrDrg)
rrKrrr1rIr:r;rorrr"r"r'Útest_i8s(     zTestIsin.test_i8Údtype1rçrú M8[ns, UTC]ú    period[D]r*r«Zf8rªcCsˆtdddj}|dkr"| d¡}n*|dkr6| d¡}nt| d¡ƒ |¡j}| d¡ |¡}t ||¡}t    j
|j t d    }t  ||¡dS)
Nz
2013-01-01rUrrrÒrÚUTCr«r))rÚ_valuesZ    to_periodZ tz_localizerÚviewr3rrr1ÚzerosÚshaper5r:r;)r=r*rÚdtar\Úcompsr|rvr"r"r'Ú+test_isin_datetimelike_values_numeric_comps¸s   z4TestIsin.test_isin_datetimelike_values_numeric_compscCsVtddddj}t ||dd…¡}tjt|ƒtd}d|d<d|d    <t     ||¡dS)
NZ20000101i€„rÞ)rrfrrDr)TrC)
rrKrrr1r!rnr5r:r;©r=rÞr|rvr"r"r'Ú
test_largeÍs zTestIsin.test_largecCs€t ddddg¡}dddg}ttdgƒ ||¡ƒ}ttdgƒ t ddg¡|¡ƒ}t ddddg¡}t ||¡}t ||¡dS©    NrrCrDrPrQrRTF)    r1rIrr Ú
from_codesrrr:r;)r=ÚvalsÚcatsZSdZStrvr|r"r"r'Útest_categorical_from_codesÕs
  z$TestIsin.test_categorical_from_codescCsxt ddddg¡}dddg}tdgƒ ||¡}tdgƒ t ddg¡|¡}t ddddg¡}t ||¡}t ||¡dSr()r1rIr r)rrr:r;)r=r*r+ÚcatÚotherrvr|r"r"r'Útest_categorical_isinßs
 zTestIsin.test_categorical_isincCs8tjg}tjg}t dg¡}t ||¡}t ||¡dS)NT)r1rJrIrrr:r;©r=r$rKrvr|r"r"r'Útest_same_nan_is_inés
  zTestIsin.test_same_nan_is_incCsJt dd¡}tj|d<t |tjdg¡}tjt|ƒtd}t     ||¡dS©NrGiABrrCr))
r1rØrJrrÚonesrnr5r:r;r&r"r"r'Útest_same_nan_is_in_largeõs
 
z"TestIsin.test_same_nan_is_in_largecCsTt dd¡}t|ƒ}tj|d<| tjdg¡}ttjt|ƒtdƒ}t     ||¡dSr2)
r1rØrrJrr3rnr5r:Úassert_series_equal)r=rÞZseriesr|rvr"r"r'Ú test_same_nan_is_in_large_seriesýs  
z)TestIsin.test_same_nan_is_in_large_seriescCs`Gdd„dƒ}|ƒ|ƒ}}t t |g|g¡t dg¡¡t t |g|g¡t dg¡¡dS)Nc@s"eZdZedœdd„Zdd„ZdS)z0TestIsin.test_same_object_is_in.<locals>.LikeNan)ÚreturncSsdS)NFr")r=r.r"r"r'Ú__eq__ sz7TestIsin.test_same_object_is_in.<locals>.LikeNan.__eq__cSsdS)Nrr")r=r"r"r'Ú__hash__sz9TestIsin.test_same_object_is_in.<locals>.LikeNan.__hash__N)rÂrÃrÄr5r8r9r"r"r"r'ÚLikeNan sr:TF)r:r;rrr1rI)r=r:rPrQr"r"r'Útest_same_object_is_ins zTestIsin.test_same_object_is_incCs¸tdƒg}tdƒg}|d|dk    s(t‚t ||¡}t t dg¡|¡t tj|t    dtj|t    d¡}t t dg¡|¡t tj|tj
dtj|tj
d¡}t t dg¡|¡dS)NrJrTr)) Úfloatrprrr:r;r1rIr8r6r’)r=r$rKr|r"r"r'rs
 
  ÿÿzTestIsin.test_different_nanscCs8ddg}dg}t ddg¡}t ||¡}t ||¡dS)NÚssé*Z42F)r1rIrrr:r;r0r"r"r'Ú test_no_cast1s
 zTestIsin.test_no_castÚemptyr)cCs6tddgƒ}t ddg¡}t ||¡}t ||¡dS)NrPrQF)rr1rIrrr:r;)r=r@r*rvr|r"r"r'Ú
test_empty:s  zTestIsin.test_emptycCs^tjdtjdtdƒgtd}tjtdƒgtd}t dddg¡}t ||¡}t ||¡dS)NrJùð?r)FT)    r1rIrJr<r6rrr:r;)r=r$r*rvr|r"r"r'Útest_different_nan_objectsCs
 z#TestIsin.test_different_nan_objectscCsÐt dt dd¡¡d}t dt dd¡¡d}||ks<t‚||ksHt‚tj||gtjd}tj|gtjd}t ||¡}t ddg¡}t     
||¡tj|gtjd}t ||¡}t ddg¡}t     
||¡dS)Nrrrrrr)T) r    r
r rpr1rIr’rrr:r;)r=r r r\Zlookup1r|rvZlookup2r"r"r'Útest_different_nans_as_float64Ks     z'TestIsin.test_different_nans_as_float64cCs<tdddgiƒ}| dg¡}tdddgiƒ}t ||¡dS)zComparing df with int`s (1,2) with a string at isin() ("1")
        -> should not match values because int 1 is not equal str 1rKrCrDrýFN©rrr:Úassert_frame_equal©r=Zdfr|Zexpected_falser"r"r'Útest_isin_int_df_string_searchas z'TestIsin.test_isin_int_df_string_searchcCs>tdtjdgiƒ}| dg¡}tdddgiƒ}t ||¡dS)zComparing df with nan value (np.nan,2) with a string at isin() ("NaN")
        -> should not match values because np.nan is not equal str NaNrKrDÚNaNFN)rr1rJrr:rFrGr"r"r'Útest_isin_nan_df_string_searchis z'TestIsin.test_isin_nan_df_string_searchcCs<tdddgiƒ}| dg¡}tdddgiƒ}t ||¡dS)zœComparing df with floats (1.4245,2.32441) with a string at isin() ("1.4245")
        -> should not match values because float 1.4245 is not equal str 1.4245rKg˜nƒÀÊö?gö#Ed˜@z1.4245FNrErGr"r"r'Ú test_isin_float_df_string_searchqs z)TestIsin.test_isin_float_df_string_searchcCs4tdgtjd}| dg¡}tdƒ}t ||¡dS)Nlª
Gr)l
GF)rr1r—rr:r5©r=rLr|rvr"r"r'Útest_isin_unsigned_dtypeys z!TestIsin.test_isin_unsigned_dtypeN)rÂrÃrÄrr]rrŠrÅrÆr%r'r,r/r1r4r6r;rr?rr6r1rIrArCrDrHrJrKrMr"r"r"r'rks. % 
 
         
rc@szeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z e j  dejedf¡dd„ƒZdd„ZdS)ÚTestValueCountscCsŠtj d¡ddlm}tj d¡}||dƒ}t |¡}ddddd    g}t     |¡ 
t d
d ¡}t d d d d g|d d}t  | ¡| ¡¡dS)NiÒr)ÚcutrVg´Èv¾Ÿó¿g…ëQ¸á¿g`åÐ"Ûù¾?gw¾Ÿ/Ýè?g!°rh‘íö?TrîrCÚcount©r#rð)r1rÌÚseedZpandas.core.reshape.tilerOZrandnrÚ value_countsrZ from_breaksr3ÚCDTrr:r5Z
sort_index)r=rOr\Zfactorr|Zbreaksr#rvr"r"r'Útest_value_counts‚s   
 
z!TestValueCounts.test_value_countscCszddddg}tj|dd}tdgt dg¡dd}t ||¡tj|dd    d
}tddgt d d g¡dd}t ||¡dS) NrCrDrUrV©Úbins)ç¬Zd;ßï?rXrPrQF)rWr )rXç@)rYrX)rrSrrr/r:r5r&r"r"r'Útest_value_counts_binss 
ÿ  ýz&TestValueCounts.test_value_counts_binsc    Cs˜t ddg¡}t|ƒdkst‚tjddgdd}t|ƒdks@t‚t tdddgƒ¡}t|ƒdksdt‚d}tjt|dtjddgddW5QRXdS)NrCrGrVrýrDz*bins argument only works with numeric datar‡)rrSrnrprrŠr‹rŒ)r=r|rr"r"r'Útest_value_counts_dtypes sz(TestValueCounts.test_value_counts_dtypescCs’tt d¡tgdd}tddgƒ}||fD]<}t |¡}tj|dd}t|ƒdksVt‚t|ƒd    ks*t‚q*tt    d
ƒdid d }t
  t |¡|¡dS) Nræútimedelta64[ns]r)rz
2014-01-01F©ÚdropnarCrDz2014-01-01 00:00:00rPrï) rr1Ú timedelta64rrrrSrnrprr:r5)r=ÚtdÚdtrÞZvcZ
vc_with_naZexp_dtr"r"r'Útest_value_counts_nat®s  
z%TestValueCounts.test_value_counts_natc
CsÎttdddƒtdddƒtdddƒtdddƒtdddƒtdddƒgƒ}| ¡}ttdddƒtdddƒtdddƒgtd}tdddg|dd    }t ||¡ttd
tj    gƒd d }td
tj    gtd}t ||¡dS) Ni¸ rCiˆipr)rUrDrPrQz
2362-01-01Úignore)Úerrors)
rrrSrr6r:r5rr1rJ)r=rÞÚresZ    exp_indexr[r"r"r'Ú&test_value_counts_datetime_outofbounds¼s&
 
 
 
 
 
úÿ
 þ z6TestValueCounts.test_value_counts_datetime_outofboundscCsxtttdƒƒƒ}| ¡}tdddgtdddgƒdd    }tj||d
d |j ¡}| ¡}|j     ¡|_    tj||d
d dS) NZaaabbcrUrDrCrPrQrRrPrQT©Zcheck_index_type)
rr r7rSr r:r5r-Z
as_orderedr#r&r"r"r'rôÖs ÿ
 z TestValueCounts.test_categoricalcCsVtttdƒƒƒ}tj|jd<| ¡}tdddgtdddgdddgd    d
d }tj    ||d d |jdd}tddddgtdddtjgƒd
d }tj    ||d d tttdƒd dddgdƒ}tj|jd<| ¡}tdddgtdddgdddgd dd
d }tj    ||d d |jdd}tddddgtdddtjgdddgd dd
d }tj    ||d d dS)NZ
aaaaabbbccrCrVrUrDrPrQrRrñrPrQTrgFr])rír¼rì)
rr r7r1rJZilocrSr r:r5r&r"r"r'Útest_categorical_nansåsT ý 
ÿÿ ýù     
 ÿûz%TestValueCounts.test_categorical_nanscCsbtttdƒtdƒddƒ}| ¡}tddddgtd    d
d d gtdƒddd d}tj||dddS)NZbbbaacZabcdTrìrUrDrCrrQrPrRrrPrQrg)rr r7rSr:r5r&r"r"r'Útest_categorical_zeroess
 
ÿûz'TestValueCounts.test_categorical_zeroesc    CsÐt tdddgƒjddtddgddgdd¡t tdddgƒjddtddgddgdd¡t tdgddgddgd    ƒjddtddgtddgtd
dd¡t tdgd    dgddgdƒjddtd    ddgddtjgdd¡t td d d gƒjddtddgd d gdd¡t td d d gƒjddtddgd d gdd¡t td d d dgƒjddtddgd d gdd¡td d d d d dgƒjdd}tdddgd d tjgdd}t ||¡dS) NTFr]rDrCrPrQrUrSr)gš™™™™™$@rW)r:r5rrSrr6r1rJrúr"r"r'Ú test_dropnas>þþ(þ(þþþþzTestValueCounts.test_dropnar*rcCs¨tdgddgdtjgdƒ}| |¡}|jddd}tdd    d
gttjd d g|d dd}t ||¡|jddd}tddgtd d g|d dd}t ||¡dS)NrCrDrUrSTF)Ú    normalizer^gà?g333333Ó?gš™™™™™É?rHrGr)Z
proportionrQg333333ã?gš™™™™™Ù?)rr1rJr3rSr:r5)r=r*rÞZs_typedr|rvr"r"r'Útest_value_counts_normalizedCs $
ý ÿz,TestValueCounts.test_value_counts_normalizedcCs|tjdgtjd}tdgdgdd}t |¡}t ||¡tjddgtd}tddgddgdd}t |¡}t ||¡dS)Nr§r)rCrPrQrT)    r1rIr—rrrSr:r5r6)r=r\rvr|r"r"r'Útest_value_counts_uint64Vs
 
z(TestValueCounts.test_value_counts_uint64N)rÂrÃrÄrUrZr[rbrfrôrhrirjrŠrÅrÆr1r’r6rlrmr"r"r"r'rNs+ &
rNc@sŽeZdZdd„Zej de dddddddddd    g
¡e d
d d
ej    d d d d
ej    dg
¡e ddddddddddg
¡ejddddddddddg
e
dejdddddddddd g
ej dg¡d!d"„ƒZ d#d$„Z ej dedddgƒe d%d¡g¡d&d'„ƒZej d(d)d*d+d,d)d*d+d,gd)d*d+d,gfd-d.d.d-gd-d.gfd/d0d1d/gd/d0d1gfg¡d2d3„ƒZej d4dd%dd5d6d6gejdd7d8d5d6ge
dfg¡d9d:„ƒZd;S)<ÚTestDuplicatedcCs¶tjddtjddtjgtd}t |¡}t ddddddg¡}t ||¡tj|dd}t ddddddg¡}t ||¡tj|d    d}t ddddddg¡}t ||¡tj|dd}t ddddddg¡}t ||¡tjd
td}t    t
ddtjtjgddtjdtjgdƒƒD]\}}|||<qt |¡}dgd }dgd }t ||¡}t ||¡tj|d    d}t ||¡}t ||¡tj|dd}t ||¡}t ||¡dS) NrrCrDr)FTÚfirst©ZkeepÚlastérV) r1rIrJr6rÚ
duplicatedr:r;r@Ú    enumerateÚzip)r=Úkeysr|rvr…ÚtZfalsesZtruesr"r"r'Útest_duplicated_with_nases:
    (ÿ  
 
 
  z'TestDuplicated.test_duplicated_with_nasÚcaserCrDrSrUrVégš™™™™™ñ?gš™™™™™@gffffff
@gš™™™™™@gffffff@yð?ð?y@@y@@y@@y@@y@@rPrQÚerRrÚfr)r§éór¡é'éc
Csht ddddddddddg
¡}t ddddddddddg
¡}||B}tj|dd}t ||¡tj|dd}t ||¡tj|dd}t ||¡t|ƒt|ddfD]L}|jdd}t ||¡|jdd}t ||¡|jdd}t ||¡q¦t|ƒt|ddfD]Z}    |    jdd}t |t|ƒ¡|    jdd}t |t|ƒ¡|    jdd}t |t|ƒ¡qdS)NFTrorprqr»r))    r1rIrrsr:r;rrr5)
r=ryÚ    exp_firstÚexp_lastÚ    exp_falseÚ    res_firstÚres_lastÚ    res_falseÚidxrÞr"r"r'Útest_numeric_object_likesŒs6ÿÿ           z(TestDuplicated.test_numeric_object_likesc Csddddddddddg
}ddddd    dd
ddd g
}t d d „|Dƒ¡t dd „|Dƒ¡t dd „|Dƒ¡t dd „|Dƒ¡t dd „|Dƒ¡g}t ddddddddddg
¡}t ddddddddddg
¡}||B}|D]:}tj|dd}t ||¡tj|dd}    t |    |¡tj|dd}
t |
|¡t|ƒt|ddt|tdfD]N} | jdd}t ||¡| jdd}    t |    |¡| jdd}
t |
|¡qHt|ƒt|ddt|tdfD]Z} | jdd}t     |t|ƒ¡| jdd}    t     |    t|ƒ¡| jdd}
t     |
t|ƒ¡q¶qÖdS)Nz
2011-01-01z
2011-01-02rú
2011-01-03z
2011-01-04z
2011-01-06ú1 daysz2 daysz3 daysz4 daysz6 dayscSsg|] }t|ƒ‘qSr"©r©r$rr"r"r'r(èsz6TestDuplicated.test_datetime_likes.<locals>.<listcomp>cSsg|]}t|dd‘qS)r½r¾rŠr‹r"r"r'r(éscSsg|]}t|dd‘qS)rÒre)rr‹r"r"r'r(êscSsg|]}t |¡‘qSr")r1rŸr‹r"r"r'r(ëscSsg|] }t|ƒ‘qSr")rr‹r"r"r'r(ìsFTrorprqr»r))
r1rIrrsr:r;rr6rr5) r=rar`Zcasesr€rr‚ryrƒr„r…r†rÞr"r"r'Útest_datetime_likesÍs|ö öûÿÿ
 
 
ý     
 
ý   z"TestDuplicated.test_datetime_likesrcCs.|jdkst‚t | ¡t dddg¡¡dS)NTF)Z    is_uniquerpr:r;rsr1rI)r=ryr"r"r'Útest_unique_indexsz TestDuplicated.test_unique_indexz arr, uniquesr€)rrC)rCrr)rQrR)rPrQr¯)rQrD)rPrUcCs8tjt|ƒtd}||dd…<t |¡}t ||¡dSr)r1r@rnr6rqr0r:r;)r=r\rNrvr|r"r"r'Útest_unique_tuples$s 
z!TestDuplicated.test_unique_tupleszarray,expectedrByð?@yyð?cCst |¡}t ||¡dSrÀrÿ)r=rIrvr|r"r"r'Útest_unique_complex_numbers:s
z*TestDuplicated.test_unique_complex_numbersN)rÂrÃrÄrxrŠrÅrÆr1rIrJr6r—r‡rŒrrqr£rrŽrr"r"r"r'rndsb' öÿ ÿîþ
(R"
 
þ
þ÷þ
ýÿþ
rnc    @sˆeZdZej dejdfejdfej    dfej
dfej dfg¡dd„ƒZ ej dejdfejdfej    dfej
dfej dfg¡dd    „ƒZ d
S) Ú TestHashTablezhtable, tm_dtypeÚStringÚFloatZIntZUIntc CsÞttd|dƒ}t|dƒƒ}|tjkr6tj|jd<n |tjkrVtjdt    g|jdd…<|j
dddj dd    }|j j |d
|jd d j }|ƒ |j ¡}t ||¡|ƒj|j dd \}}    t ||¡||    }
t |
|j ¡dS)NÚmakerrÔéôéörUT©ÚfracÚreplace©Zdroprrorp)Zreturn_inverse)Úgetattrr:rrlÚFloat64HashTabler1rJÚlocÚPyObjectHashTablerÚsampleÚ reset_indexrKr“Údrop_duplicatesr0r;) r=ÚhtableÚtm_dtyper•ÚmakerrÞÚ s_duplicatedÚexpected_uniqueÚ result_uniqueÚresult_inverseZreconstrr"r"r'Útest_hashtable_uniqueKs$  
 
 ÿ
 z#TestHashTable.test_hashtable_uniquec CsØttd|dƒ}t|dƒƒ}|tjkr6tj|jd<n |tjkrVtjdt    g|jdd…<|j
dddj dd    }|j j |d
| ¡j }|ƒ |j ¡\}}    | ¡ ¡j }
t ||
¡||    |} | ¡j } t | | ¡dS) Nr“rrÔr”r•rUTr–r™r)ršr:rrlr›r1rJrœrrržrŸrKr“rrr-r^r r;) r=r¡r¢r•r£rÞr¤Zna_maskr¦r§r¥Zresult_reconstructZexpected_reconstructr"r"r'Útest_hashtable_factorizess  
 
 
 
z&TestHashTable.test_hashtable_factorizeN)rÂrÃrÄrŠrÅrÆrlrZStringHashTabler›ZInt64HashTableZUInt64HashTabler¨r©r"r"r"r'rJs(ûþ
 
ûþ
rc@s´eZdZejej dej    ej    dddej    dddej    g
dej    dddej    dddej    g
g¡dd„ƒƒZ
ej d    ej d
¡d d „ƒZ ej d    ej ejg¡d d„ƒZdd„Zejjdd„ƒZdS)ÚTestRankr\rWrCrDrUrXcCs`ddlm}t |¡}t |¡}| ¡}t |¡}tj||<||ƒ}tj    ||<t
  ||¡dS)Nr)Úrankdata) Z scipy.statsr«r1rIÚisfiniteÚcopyÚlibalgosZrank_1dr`rJr:rÙ)r=r\r«ryr|r[r"r"r'Útest_scipy_compats     
 
 
 
zTestRank.test_scipy_compatr*Ú
AllIntegercCsTtjddgtjd}tjddg|d}|j|dt|ƒ}t |¡}t ||¡dS)NrCrDr)rÈr)    r1rIr’r“rrÚrankr:r;)r=r•r*r[r{rLr|r"r"r'r]²s  
zTestRank.test_basiccCs:tjddgtjd}tddg|d}t t |¡|¡dS)NrCrDr)r§)r1rIr’rr:r;rr±)r=r*r[rÞr"r"r'ré¼szTestRank.test_uint64_overflowc    CsPt dddgdddgddd    ggg¡}d
}tjt|d t |¡W5QRXdS) NrCrDrUrVrSrzrrré    z%Array with ndim > 2 are not supportedr‡)r1rIrŠr‹rŒrr±)r=r\rr"r"r'Útest_too_many_ndimsÃs$zTestRank.test_too_many_ndimscCs\t d¡}tj|dd ¡}|dks(t‚t d¡ dd¡}tj|dd ¡}|dksXt‚dS)NiT)ZpctrCirD)r1rZrr±ÚmaxrpÚreshape)r=rKr|r"r"r'Útest_pct_max_many_rowsÊs 
 zTestRank.test_pct_max_many_rowsN)rÂrÃrÄr`Zskip_if_no_scipyrŠrÅrÆr1rJr¯Ú    typecodesr]r’r—rér³Z
single_cpur¶r"r"r"r'rªœsþþ 
    
rªcCsÞtjgdd}tjtdddƒgdd}tjd||ƒ}tjdgtjd}t ||¡tjd||ƒ}tjgtjd}t ||¡tjd||ƒ}tjdgtjd}t ||¡tjd||ƒ}tjgtjd}t ||¡dS)Nrir)iÚé ér6rT)    r1rIrr®Úpadr9r:r;Úbackfill)ÚoldÚnewr|rvr"r"r'Ú!test_pad_backfill_object_segfaultÖs   r¾c@seZdZdd„Zdd„ZdS)ÚTestTseriesUtilc CsÂtdddgƒ}tttdƒƒƒ}tjd|j|jƒ}tjddddddddddddg tjd    }t     
||¡tdd
gƒ}tttddƒƒƒ}tjd|j|jƒ}tjdddddgtjd    }t     
||¡dS) NrCrSr¡r¸Úint64_trrDrTr)rV) rr7r‰r®r»rKr1rIr9r:r;©r=r¼r½ZfillerZ expect_fillerr"r"r'Ú test_backfillìs(  zTestTseriesUtil.test_backfillc CsÄtdddgƒ}tttdƒƒƒ}tjd|j|jƒ}tjddddddddddddg tjd    }t     
||¡tddgƒ}ttj dtj d    ƒ}tjd|j|jƒ}tjdddddgtjd    }t     
||¡dS)
NrCrSr¡r¸rÀrTrrDr)) rr7r‰r®rºrKr1rIr9r:r;rZrxrÁr"r"r'Útest_padýs(  zTestTseriesUtil.test_padN)rÂrÃrÄrÂrÃr"r"r"r'r¿ësr¿c~Cs tjddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddg|ddtjddd    d
d d d ddddddddddddddddddd d!ddddddd    d
d d d ddddddddddddddddddd d!ddddddd    d
d d d ddddddddddddddddddd d!ddddddd    d
d d d ddddddddddddddddddd d!ddddg|ddg}t |¡rt‚dS)"NrUrDrCrrxr)rééééééééérjéér†éééé r¸é r¡r²rrrrzrSrV)r1rIr®Z is_lexsortedrp)Zfailurer"r"r'Útest_is_lexsorteds „~„~€þrÔcCs¬tj ddd¡ tj¡}tj ddd¡ tj¡}t |d¡d}tj|dd}| tj¡}t     ||¡|d|}t |d¡d}t 
||f¡}| tj¡}t     ||¡dS)NrrÔrÈZ    mergesort)rÜi@B) r1rÌrÍr3r9r®Zgroupsort_indexerÚargsortr:r;Zlexsort)rPrQr|rvrsr"r"r'Útest_groupsort_indexers    rÖcst ¡‰t ¡‰ˆtdƒdddtdƒˆg}t‡fdd„|DƒƒsDt‚t‡fdd„|Dƒƒs^t‚ˆˆkrnˆˆksrt‚ˆˆks‚ˆˆkr†t‚t ¡t ¡ksšt‚t ¡t ¡kr®t‚t‡fd    d„|DƒƒsÈt‚t‡fd
d„|Dƒƒsât‚ˆˆkròˆˆksöt‚ˆˆks
ˆˆkrt‚t ¡t ¡ks$t‚t ¡t ¡kr:t‚t|ƒD]}t|ƒ|ksBt‚qBt     t ¡gd ¡ 
¡t     t ¡gd ¡ 
¡dS) Nz-infg}Ô%­I²Ôrg}Ô%­I²Tr`c3s|]}ˆ|kVqdSrÀr"©r$ra©ÚInfr"r'Ú    <genexpr>;sz%test_infinity_sort.<locals>.<genexpr>c3s|]}ˆ|kp|ˆkVqdSrÀr"r×rØr"r'rÚ<sc3s|]}ˆ|kVqdSrÀr"rשÚNegInfr"r'rÚBsc3s|]}ˆ|kp|ˆkVqdSrÀr"r×rÛr"r'rÚCsé ) r®ÚInfinityÚ NegInfinityr<ÚallrprÚsortedr1rIrÕ)Zref_numsÚpermr"©rÙrÜr'Útest_infinity_sort0s& räcCs¼t ¡}t ¡}|tjkrt‚|tjkr,t‚|tjkr:t‚|tjkrHt‚|tjkrVt‚|tjksdt‚|tjkrrt‚|tjkr€t‚|tjkrŽt‚|tjkrœt‚|tjkrªt‚|tjks¸t‚dSrÀ)r®rÞrßr1rJrprãr"r"r'Útest_infinity_against_nanQsråcCs*tjdtjd}t |¡}||ks&t‚dS)NrÈr))r1rZr9r®Zensure_platform_intrp)r\r|r"r"r'Útest_ensure_platform_intds
ræc    Csèd}t tj¡j}t tj¡j}tjt|dt     t 
||g¡|¡W5QRXtjt|d&t     t 
||g¡t 
||g¡¡W5QRXtjt|dt     t 
||g¡|¡W5QRXtjt|d&t     t 
||g¡t 
||g¡¡W5QRXtjt|d&t     t 
||g¡t 
||g¡¡W5QRXtjt|d4tj    t 
||g¡t 
||g¡t 
ddg¡dW5QRXtjt|d4tj    t 
||g¡t 
||g¡t 
ddg¡dW5QRXtjt|d@tj    t 
||g¡t 
||g¡t 
ddg¡t 
ddg¡dW5QRXtjt|d(t     t 
||g¡t 
tj |g¡¡W5QRXtj    t 
||g¡t 
||g¡t 
ddg¡dtj    t 
||g¡t 
||g¡t 
ddg¡dtj    t 
||g¡t 
||g¡t 
ddg¡t 
ddg¡ddS)NzOverflow in int64 additionr‡FT)Úarr_mask)Úb_mask)rçrè) r1Ziinforxr´ÚminrŠr‹Ú OverflowErrorrZchecked_add_with_arrrIrJ)rrÛÚnr"r"r'Útest_int64_add_overflowksd * ** ÿ ÿ    ü, ÿ ÿ    ürìc@sÂeZdZdd„Zej dejdejd¡dd„ƒZ    dd    „Z
ej dejdejd¡d
d „ƒZ d d „Z ej de eg¡dd„ƒZdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„ZdS)ÚTestModecCs0tgtjtgtdd}t t g¡|j    ¡dS)Nr))r*r#)
rr1r’rÚintr:r;rÚmoderK©r=r[r"r"r'Ú test_no_modeŸszTestMode.test_no_moderar°r’cCsšdg}dg}dg}ddg}t||d}t||d}t t |j¡|j¡t | ¡|¡t||d}t||d}t t |j¡|j¡t | ¡|¡dS)NrCr)©rr:r;rrïrKr5©r=raZ
exp_singleZ data_singleZ    exp_multiZ
data_multirLr[r"r"r'Útest_mode_single£s    zTestMode.test_mode_singlecCsTtdgtd}t t dg¡|j¡tdddgtd}t t dddg¡|j¡dS)NrCr)rPrQrR)rrîr:r;rrïrKr6rðr"r"r'Útest_mode_obj_int¶szTestMode.test_mode_obj_intcCsÀdg}dgddgd}ddg}dgddgddgd}t||d}t||d}t t |j¡|j¡t | ¡|¡t||d}t||d}t t |j¡|j¡t | ¡|¡dS)NrCrSrDrUr)ròrór"r"r'Útest_number_mode½s    zTestMode.test_number_modecCs\dg}dgddgd}t|dd}t|dd}t t |j¡|j¡t | ¡|¡dS)NrQrPrDrUrRr)rò)r=r[r{rLr"r"r'Útest_strobj_modeÏs   zTestMode.test_strobj_modecCs\dg}dgddgd}t||d}t||d}t t |j¡|j¡t | ¡|¡dS)NÚbarr¬rDrUr)rò)r=rar[r{rLr"r"r'Útest_strobj_multi_charØs   zTestMode.test_strobj_multi_charcCsštdddgdd}tdddgdd}t t |j¡|j¡t | ¡|¡tddgdd}tdddddgdd}t t |j¡|j¡t | ¡|¡dS)Nz
1900-05-03rˆz
2013-01-02rr)©rr:r³rrïrKrr5©r=r[rLr"r"r'Útest_datelike_modeâs þzTestMode.test_datelike_modecCsœtdddgdd}tdddgdd}t t |j¡|j¡t | ¡|¡tddgdd}tdddd    ddgdd}t t |j¡|j¡t | ¡|¡dS)
Nz-1 daysz0 daysr‰r\r)ú2 minrgú-1 dayú -1 day 2 minrúrûr"r"r'Útest_timedelta_modeðsþzTestMode.test_timedelta_modecCsBtdgƒ}tdddgƒ}t t |j¡|j¡t | ¡|¡dS)Nr¬rCròrûr"r"r'Útest_mixed_dtypeþs
zTestMode.test_mixed_dtypecCs˜tdgtjd}tdddgtjd}t t |j¡|j¡t | ¡|¡tddgtjd}tddgtjd}t t |j¡|j¡t | ¡|¡dS)Nr§r)rC)    rr1r—r:r;rrïrKr5rûr"r"r'ré    szTestMode.test_uint64_overflowcCsªtddgƒ}|}t|ƒ ¡j}t ||¡tdddgƒ}tdgddgd}t|ƒ ¡j}t ||¡tdddddgƒ}tddgdddgd}t|ƒ ¡j}t ||¡dS)NrCrDrPrñrU)r rrïrr:rò)r=rRr[rer"r"r'rô    s   zTestMode.test_categoricalc    CsÞtdddgƒ}tdddgtjd}t t |¡|j¡tdddgƒ}tdgt    d}t t |¡|j¡tdddddgƒ}tddgtjd}t t |¡|j¡tddddd    d    gd
d}t
j t d d t |¡W5QRXdS) NrCrDrUr)rPrgrþrÿrýr\ZTimedeltaIndexr‡) rrr1rxr:r;rrïrKr6rŠr‹ÚAttributeError)r=r†r[r"r"r'Ú
test_index    sþzTestMode.test_indexcCs8tdddgdd}| ¡}tdgdd}t ||¡dS)NrCrUr¬rï)rrïr:r5rLr"r"r'Útest_ser_mode_with_name4    sz TestMode.test_ser_mode_with_nameN)rÂrÃrÄrñrŠrÅrÆr1r·rôrõrör÷Ústrr6rùrürrrérôrrr"r"r"r'rížs 
 
    
     ríc@sHeZdZej dddg¡dd„ƒZdd„Zej ddd    g¡d
d „ƒZd S) ÚTestDiffr*rrçcCs¾t d¡ tj¡ |¡ dd¡}|j dd¡|dd…df<tj    |ddd    }tj
|j d
d d}t  dd¡|dd…df<t  dd¡|ddd…f<t  ||¡tj    |jddd    }t  ||j¡dS) Nr¸rUrVrÚnsrDrCr©Zaxisr\r))r1rZr3rxr rµr*ÚtyperÚdiffr3r"r_r:r;ÚT©r=r*r\r|rvr"r"r'Útest_diff_datetimelike_nat=    s  z#TestDiff.test_diff_datetimelike_natc    CsBtddddj}d}tjt|dtj|dddW5QRXdS)    NrùrUz
US/Pacific)rr¿z#cannot diff DatetimeArray on axis=1r‡rCr)rÚ_datarŠr‹Ú
ValueErrorrr
)r=r#rr"r"r'Útest_diff_ea_axisM    szTestDiff.test_diff_ea_axisZint8Úint16cCsNtjdddddg|d}t |d¡}tjtjddddgdd}t ||¡dS)NrrCr)rTr4)r1rIrr
rJr:r;r r"r"r'Útest_diff_low_precision_intT    s z$TestDiff.test_diff_low_precision_intN)    rÂrÃrÄrŠrÅrÆr rrr"r"r"r'r<    s
 
rÚopcCsv|ddddgƒ}|ddddgƒ}|ddddddgƒ}t|tjƒrZt ||¡}t ||¡nt ||¡}t ||¡dS)NrUrCrVrD)r.r1r²rZunion_with_duplicatesr:r;r³)rZlvalsZrvalsrvr|r"r"r'Útest_union_with_duplicates\    s   r)NrÚ    itertoolsrr    Únumpyr1rŠZ pandas._libsrr®rrlZpandas.util._test_decoratorsÚutilZ_test_decoratorsr`Zpandas.core.dtypes.commonrrrr    r
Zpandas.core.dtypes.dtypesr rTZpandasrqr r rrrrrrrrrrrrrrrZpandas._testingZ_testingr:Zpandas.core.algorithmsÚcoreZ
algorithmsZpandas.core.arraysrrZpandas.core.commonÚcommonr‚rrÇrrrNrnrrªr¾r¿rÔrÖrärårærìrírrÅrÆrIrr"r"r"r'Ú<module>s\   L W]dgR:# !3