zmc
2023-10-12 ed135d79df12a2466b52dae1a82326941211dcc9
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
U
­ý°d«7ã@sddlmZddlmZddlZddlZddlZddlmZddl    Z
ddl    m Z m Z m Z mZmZmZmZddlmZddlmZGdd„dƒZd    d
„Zd d „Zd d„Zej dddg¡dd„ƒZej dddg¡ej dddg¡dd„ƒƒZdd„Z dd„Z!dd„Z"dd„Z#Gdd „d ƒZ$dS)!é)Údatetime)ÚStringION)ÚPerformanceWarning)Ú    DataFrameÚIndexÚ
MultiIndexÚPeriodÚSeriesÚ    TimedeltaÚ
date_range)Úreshapec@seZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dd„Z e j ddddddgddddgddddgddddggejddddgddgdejd d!d"d#gd$dgdfd%ddddddddgddddddddgged&d'gdd(ejd)d*d+d,d-d.d/d0gd$ddgdfg¡d1d2„ƒZd3d4„Zd5d6„Zd7d8„Zd9d:„Zd;d<„Zd=d>„Zd?d@„ZdAdB„Ze j dCe dD¡e dD¡fejdDdEdFejdDdGdEdFff¡dHdI„ƒZdJdK„Z dLdM„Z!e j dNdOdPdQdRdSddDdTdUgej"dVdgej"dDdgfddTdUdd'dWdXdPdQgej"dDdgej"dVdgff¡dYdZ„ƒZ#e j d[d\dge$d$ƒg¡d]d^„ƒZ%d_d`„Z&dadb„Z'dcdd„Z(e j dedfdgg¡e j dhe)e*dƒƒ¡didj„ƒƒZ+e j dee, -dkdldmg¡¡e j dhe)e*d&ƒƒ¡e j dndodpg¡dqdr„ƒƒƒZ.dsdt„Z/dudv„Z0dwdx„Z1dydz„Z2d{d|„Z3e j d}dOddd&d'gdOddd&gdOddd'gdOddgddd&gdd&d'gdOdgdOdgdOd&gdOgdgd'gd'd&dddOgd&dddOgd'dddOgdddOgd&ddgd'd&dgddOgddOgd&dOgg¡e j d~ddOddOdgddOgf¡d€d„ƒƒZ4d‚dƒ„Z5e j d„d…d†g¡e j d‡e)dˆƒe)d‰ƒg¡dŠd‹„ƒƒZ6e j d„d…d†g¡e j dŒe)dƒdGdUdWdPdŽdXgfe)dƒdŽdXdWdPdGdUgfg¡dd‘„ƒƒZ7d’d“„Z8e j d”dOdOddge 9ddgdVd•gg¡fdOdOdd&ge 9ddgdVd•gg¡fdOddd&ge 9ddgdVd•gg¡fg¡d–d—„ƒZ:e j d~dOdg¡d˜d™„ƒZ;e j d~dOdšg¡d›dœ„ƒZ<d$S)ÚTestDataFrameReshapec    Cs¤| ¡}t t |j¡¡ |j¡|dd…<| ¡}t||dœƒ}| ¡}| ¡}t     
||¡t     
|d|¡| d¡}| d¡}t     
|j |¡t     
|dj |¡dS)N)ÚfooÚbarrr) ÚcopyÚnpÚarangeÚprodÚshaper ÚstackrÚunstackÚtmÚassert_frame_equalÚT)    ÚselfÚ float_frameÚdfÚstackedZ
stacked_dfÚ    unstackedZ unstacked_dfZunstacked_colsZunstacked_cols_df©rú\d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/frame/test_stack_unstack.pyÚtest_stack_unstacks" 
 
z'TestDataFrameReshape.test_stack_unstackcCsätdƒdddgddgg}td|d|dd}| ¡}tdt |dd…¡d}t ||¡td|dt |dd…¡d}| d¡}tdt |d|dg¡|dd}t ||¡|ddg d¡}|ddg}t ||¡dS)    NéÚaÚbéér©ÚindexÚcolumns©r()    Úrangerrr    rÚ from_productrÚassert_series_equalr)rÚlevelsrÚresultÚexpectedrrr Útest_stack_mixed_level+s   
ÿ  z+TestDataFrameReshape.test_stack_mixed_levelcCsltddtjgddtjgdœƒ}|dg}|d|d<|sLt|jjƒdksLt‚| ¡}| ¡}t     ||¡dS)Nr%r&ç@é©ÚxÚyr5r6)
rrÚNaNÚlenÚ_mgrÚblocksÚAssertionErrorrrr-)rÚusing_array_managerrÚdf2Úresr0rrr Útest_unstack_not_consolidatedBs
 z2TestDataFrameReshape.test_unstack_not_consolidatedc    Cs”tddddgtjd}t dddd    g¡|_|jd
d }tdd
dgddd
gd œd ddgtjd}t     ||¡|jdd }tdddgdddgd œd ddgt
d}t     ||¡tdddgdddgdddgdddgdœƒ  d ddg¡}|jd dgdd }d}||}tdddg|j|d}t  ||¡|  d dg¡}|j |jj¡|_| tj¡}|j|j}t     ||¡|d}|jd dgdd }|d}t     ||¡dS)Nr%r&r3é©Údtype©r5r#©r5r$©r6r$©Úzr#éÿÿÿÿ©Ú
fill_value©r#r$r5r6rG©r(rBçà?r#r$ÚjÚkr)r5r6rGÚw)rPr$rN)r(ÚnamerP)r    rÚint16rÚ from_tuplesr(rrrrÚfloatÚ    set_indexr-rZreorder_levelsÚnamesÚastypeÚint64Úloc)    rÚdatar/r0rrÚkeyrÚsrrr Útest_unstack_fillNsJ
ÿ ÿ  ÿ $ÿþ    z&TestDataFrameReshape.test_unstack_fillcCsrddgddgddgddgg}t|td    ƒtjd
}t d d d dg¡|_|jdd}ddddgddddgddddgg}t|tdƒtjd}t ddddg¡|_t     
||¡|d  tj ¡|d<|d  tj ¡|d<|jdd}|d  tj ¡|d<|d  tj ¡|d<t     
||¡|jdd}ddddgddddgddddgg}t|tdƒtd}t ddddg¡|_t     
||¡dS)Nr%r&r"r3r@éééZAB)r)rBrCrDrErFrHrIÚxyzrL©ÚAr#)rcr$)ÚBr#©rdr$rcrdrM)rÚlistrÚint32rrSr(rr)rrrWrRÚfloat64rT)rÚrowsrr/r0rrr Útest_unstack_fill_frame|s2
ÿ "
ÿ    "
ÿz,TestDataFrameReshape.test_unstack_fill_framecCsÒtdddj}t|ƒ}t ddddg¡|_| ¡}t|dtj    |d    g|d
|d tj    gd œd ddgd}t
  ||¡|j|dd}t|d|d|d    g|d
|d |dgd œd ddgd}t
  ||¡dS)Nú
2012-01-01r3©ÚperiodsrCrDrErFrr"r%r&rKr5r6rGr*rI) r Úvaluesr    rrSr(rrÚpdÚNaTrr)rZdvrZr/r0rrr Ú test_unstack_fill_frame_datetime s"
ÿ(þ ,þz5TestDataFrameReshape.test_unstack_fill_frame_datetimecCsÖdd„tdƒDƒ}t|ƒ}t ddddg¡|_| ¡}t|dtj|d    g|d
|d tjgd œd ddgd}t     
||¡|j|d
d}t|d|d
|d    g|d
|d |d
gd œd ddgd}t     
||¡dS)NcSsg|]}t|d‘qS))Údays)r
)Ú.0Úirrr Ú
<listcomp>¸szJTestDataFrameReshape.test_unstack_fill_frame_timedelta.<locals>.<listcomp>r3rCrDrErFrr"r%r&rKr5r6rGr*rI) r+r    rrSr(rrrorprr)rÚtdrZr/r0rrr Ú!test_unstack_fill_frame_timedelta¶s"
ÿ(þ ,þz6TestDataFrameReshape.test_unstack_fill_frame_timedeltacCsÜtdƒtdƒtdƒtdƒg}t|ƒ}t ddddg¡|_| ¡}t|d    d|d
g|d |d dgd œdddgd}t ||¡|j|d d}t|d    |d |d
g|d |d |d gd œdddgd}t ||¡dS)Nz2012-01z2012-02z2012-03z2012-04rCrDrErFrr"r%r&rKr5r6rGr*rI)    rr    rrSr(rrrr)rrmrZr/r0rrr Útest_unstack_fill_frame_periodÌs.ü
ÿ$þ þûz3TestDataFrameReshape.test_unstack_fill_frame_periodc    Csötddddgdd}t dddd    g¡|_| ¡}ttjtd
ƒtd ƒd tjtd ƒtd ƒd dœtdƒd}t     
||¡d}t j t |d|jddW5QRX|jdd}ttjtdƒtd ƒd tjtdƒtd ƒd dœtdƒd}t     
||¡dS)Nr#r$ÚcÚcategoryrArCrDrErFZaxaÚabc©Ú
categoriesZbcxrKrar*z9Cannot setitem on a Categorical with a new category \(d\)©ÚmatchÚdrIZacaZbcc)r    rrSr(rrroÚ CategoricalrfrrÚpytestÚraisesÚ    TypeError)rrZr/r0Úmsgrrr Ú#test_unstack_fill_frame_categoricalês.
ÿþû  þûz8TestDataFrameReshape.test_unstack_fill_frame_categoricalc    Csºtjdddgdddggddgd    }tdgd
dgd
d œ|d }| d¡}tddddddgddddddgddddddggtjd dddddgddgd    tdddgddd}t ||¡dS)Nr#r$ryr%r&r"rbre©rVé    ©r€Úer*©r€r#©r€r$)r€ry©rŠr#©rŠr$)rŠry©rQ©r)r()rr,rrrSrrr©rÚidxrr/r0rrr Ú$test_unstack_tuplename_in_multiindex s*ÿ
,ú÷ óz9TestDataFrameReshape.test_unstack_tuplename_in_multiindexz>unstack_idx, expected_values, expected_index, expected_columnsrbr%r&)r%r")r%r3©r&r")r&r3rdÚCr‡r‹rŒrrŽN)rbrdr"r3r)r€r#r%)r€r#r&)r€r$r%)r€r$r&)rŠr#r%)rŠr#r&)rŠr$r%)rŠr$r&c    Csltjddgddgddggddd    gd
}tdgd dgd d œ|d }| |¡}t|||d}t ||¡dS)Nr#r$r%r&r"r3rbrdr•r‡r`r‰r*r)rr,rrrr)    rZ unstack_idxZexpected_valuesZexpected_indexZexpected_columnsr’rr/r0rrr Ú*test_unstack_mixed_type_name_in_multiindex%s&ÿ
ÿz?TestDataFrameReshape.test_unstack_mixed_type_name_in_multiindexcCs tdddgdddgtdddgƒ d¡tj d¡d    d
t d ¡td d dgƒ d¡tdddgƒ d¡dtd    ddgƒ d¡dœ ƒ}dd„}| ddg¡}||dƒ| ddg¡}||dƒ| ddg¡}||dƒ| d d!dg¡}||d!ƒ| d"d#g¡}||d"ƒ| ddg¡}|d#}||dƒdS)$NZILÚMIZNCr#r$ryrzr"r%rZ20010102çð?gI@gY@Úfloat32r2g@g@rhFéÈi2Zint8) Ústater(Úsome_categoriesrcrdr•ÚDÚEÚFÚGÚHcSs&| |g¡}| |¡}t ||¡dS©N©rrr)rZ column_nameZ
unstacked1Z
unstacked2rrr Úunstack_and_comparehs 
zNTestDataFrameReshape.test_unstack_preserve_dtypes.<locals>.unstack_and_comparer›r(rœrŸr•r rdržrc)    rr    rWrÚrandomZrandroÚ    TimestamprU)rrr¤Údf1r\rrr Útest_unstack_preserve_dtypesVs8
õÿ
 
 
 
 
z1TestDataFrameReshape.test_unstack_preserve_dtypescCsÖt ttjtdƒddƒ¡}ttj     dd¡|d}t
  |j ddgd|j ddj dd¡t
  |j d    d
gd|j ddj dd¡|  ¡}|jjtdƒd d }|dksªt‚t
  |j ddgd|j ddj dd¡dS) Nr"©Úrepeatéé©r)r%r&©ÚleveléþÿÿÿrHT)Zinplace)rrSrfÚ    itertoolsÚproductr+rrr¥Úrandnrrrrr)Z    set_namesr;)rr)rZdf_namedZ return_valuerrr Útest_stack_ints€s(ÿ ÿz$TestDataFrameReshape.test_stack_intsc    Cstjddddgdddgd}ttj d    d    ¡|d
}|jddgd }|jddgd }| ¡}ddd g|j_    t
j |jdd gd |d dt
j |jdd gd |d dd}t j t|d|jddgd W5QRX| ¡}dddg|j_    t
j |jddgd |d ddS)N©rcÚcatÚlong©rdr¶r·©rcÚdogÚshort©rdrºr»ÚexpÚanimalÚ hair_lengthr‡r3r­r®r%F©Z check_nameszSlevel should contain all level names or all level numbers, not a mixture of the twor~r)rrSrrr¥r³rrr)rVrrr‚rƒÚ
ValueError)rr)rÚanimal_hair_stackedÚexp_hair_stackedr=r…Údf3rrr Útest_stack_mixed_levels‘sDüù    ÿÿÿÿz,TestDataFrameReshape.test_stack_mixed_levelscCs:tjddddgdddgd}ttj d    d    ¡|d
}|jddgd }|jddgd }|jddgd }| ¡}d d dg|j_    t
j |jd dgd |ddt
j |jd d gd |ddt
j |jd dgd |dd| ¡}dd d g|j_    t
j |jd d gd |ddt
j |jdd gd |ddt
j |jdd gd |dddS)Nrµr¸r¹r¼r½r¾r¿r‡r3r­r®rr%r&FrÀ) rrSrrr¥r³rrr)rVrr)rr)rZexp_animal_stackedrÂrÃr=rÄrrr Útest_stack_int_level_names½s\üù    ÿÿÿÿÿÿz/TestDataFrameReshape.test_stack_int_level_namescCs|tddgt ddgddgg¡dgd}| ¡}ttjdtjgtjdggtdddgt ddgddgg¡d}t     ||¡dS)    NFr#r$ryÚlÚcolr'rA)
rrÚ from_arraysrrÚarrayÚnanÚobjectrr)rrÚrsÚxprrr Útest_unstack_boolæsýýz&TestDataFrameReshape.test_unstack_boolcCsìtddgddgddggddddgddddgddddggd    d
d gd }td|d }| ddg¡ d¡}tddgddggddddgddddggd    d
gd }ttjtjdgdtjgtjdgdtjggtjd|t    ddgd dd}t
  ||¡dS)NrrZoneZtwor#r$rr%ÚfirstÚsecondÚthird©r.ÚcodesrVr*r&rArr') rr    rrrrrÊrËrhrrr)rÚmir\r/Z expected_mir0rrr Útest_unstack_level_bindingôs* ý ý"ÿûz/TestDataFrameReshape.test_unstack_level_bindingc        Csî| ¡}t|tƒst‚| ¡j}t ||¡tddtj    gddtj    gdœƒ}t
dddgƒ|_ | ¡}t d    d
gdddggd d d dddgd ddd ddggd }tddtj    d dtj    g|d}t  ||¡| ¡}tdƒD] }| ¡}qÐt ||¡dS)Nr%r&r2r3r4r#r$ryr5r6r©r.rÔr"r*)rÚ
isinstancer    r;rrrrrr7rr(rr-rr+)    rrrZZundor/Úmidxr0Zold_dataÚ_rrr Útest_unstack_to_seriess"
 þ  
z+TestDataFrameReshape.test_unstack_to_seriescCs°ddddgddddgddddgddddgg}t|tdƒd}|j}tt d¡gdtdƒd}t ||¡| d    d
g¡}|     d
¡}|j}tt d¡gdt
j d d d d gddddggd dd}t ||¡| d    d
g¡}d|d <|     d
¡}|j}tt d¡gdt d¡gdt
j d d d d gddddggd dd}t ||¡d|d <|     d
¡}|j}tt d¡gdt d¡gdt
j d d d d gddddggd dd}t ||¡dS)Nr%r"r3r&ÚABCDr­rXr*rcrdr•r)Nrdr‡r2rhrrÌ) rrfÚdtypesr    rrBrr-rUrrrÉ)rrirr/r0r=rÄrrr Útest_unstack_dtypes)sN, 
ÿþ 
ÿþ 
ÿþz(TestDataFrameReshape.test_unstack_dtypeszc, dr@Zf8rAé
cCs®tdgd||tddddœƒ}|jdd…jdd}| d    d
g¡}|d  d ¡|d <|jdd… d ¡}| d    d
g¡ d ¡}|d d ¡|d<|jdksžt‚t     
||¡dS)Nr#r@rkrl)rcr•rrdr"T)ÚdeeprcrdrrXr)rr#)r"r&) rr ÚilocrrUrWrrr;rr)rryr€rÚrightÚleftrrr Útest_unstack_dtypes_mixed_dateUs    
üÿ    z3TestDataFrameReshape.test_unstack_dtypes_mixed_datec    Csxtjddgddgd}tddg|d}d}tjt|d    | d¡W5QRXtjt|d    |j d¡W5QRXdS)
NrK)ryr€Úc1r‡r%r&r*z5The name c1 occurs multiple times, use a level numberr~)    rrSrr‚rƒrÁrrr)rr’rr…rrr Ú#test_unstack_non_unique_index_namesssz8TestDataFrameReshape.test_unstack_non_unique_index_namesc    Cs`t dgddddgg¡dd…}tddggd    |d
}| ¡}t ddgdddgg¡}tddddddggdg|d }t ||¡|jjd|jdk ¡sžt    ‚ddd gddd d    gg}ddddgdd dd gg}t||ƒ}t
  d¡  d d ¡}tt
  ||dg¡|d
}| ¡}tt
j |d |d dgdd|d}t ||¡|jjd|jdk ¡s\t    ‚dS)Nr#rcrdr•rrHr%rr"r*r'r_r&r3©Úaxisr­)rr,rrrrr)r.Úallr;rrr Z concatenate)    rr’rr/Zexp_colr0r.rÔÚblockrrr Útest_unstack_unused_levels}s&  
ÿ z/TestDataFrameReshape.test_unstack_unused_levelsz"level, idces, col_level, idx_levelré ér^rˆr`é r#é écCs²dddgddddgg}dd    ddgddd    dgg}t||ƒ}t d
¡}t| d d¡|d }    |    j|d }
t d¡tj} || |<t ddg|g¡} t|  dd¡|| d} t     
|
| ¡dS)Nr#r&ryr%r"r@r_rrHr`r3r*r®ér^r') rrrrr rÚzerosrËr,rr)rr¯ZidcesZ    col_levelZ    idx_levelr.rÔr’rZrr/Zexp_dataÚcolsr0rrr Ú)test_unstack_unused_levels_mixed_with_nan•s 
 
 z>TestDataFrameReshape.test_unstack_unused_levels_mixed_with_nanrórccCs¤tdddgdddggddd    gd
}|jddd    gd d }|jtdƒtdƒdf|f}| ¡}|jd g|}tj|jdggdd    gd|_|j     
d    ¡|_    t   ||¡dS)NiÚr#ÚIiÛr$ZIIrcrdr•r­F)Zdroprr‡) rrUrYÚslicerrárr,r)r(Ú    droplevelrr)rrórÚindZ    selectionr/r0rrr Útest_unstack_unused_level­s"
ÿz.TestDataFrameReshape.test_unstack_unused_levelc Cs´tdggtjdggdgdtjdddddddggddddd    d
d gdd }| dddd    d
d g¡}tdggtjdddddddggddddd    d
d gdtdgdd d }t ||¡dS)Nr%rrår‡Úi1Úi2Úi3Úi4Zi5Zi6Zi7rr)rrrSrrrr©rrr/r0rrr Útest_unstack_long_index½s$þýþ úz,TestDataFrameReshape.test_unstack_long_indexcCs~tddgddggtjddgddggddgdtjdd    d
gdd    d ggd d dgdd}| d d g¡jjdd…d d gkszt‚dS)Nçrdr•rråÚc2r‡rßér«é(rúrûrürr°)rrrSrr)rVr;©rrrrr Útest_unstack_multi_level_colsÓsÿÿû    z2TestDataFrameReshape.test_unstack_multi_level_colsc
Csžtddgddgddgddggt d    d
d gd d dgg¡tjdddgdddgdddgdddggdddgdd}| ddg¡}| dg¡ dg¡}t ||¡dS)Nr%r&r"r3rHr°éýÿÿÿéüÿÿÿr#r$ryr€rŠÚfÚm1ZP3éÞZA5éoÚm2rúrûrür‡r)rrrSrrrrþrrr Ú&test_unstack_multi_level_rows_and_colsàsüùý z;TestDataFrameReshape.test_unstack_multi_level_rows_and_colsr’©ÚjimÚjoe)rrÚlevcCs0dd„}tddtjdgdddd    gd
d d d gdœƒ}| ddg¡ ¡d}| ddg¡ ¡dj}t ||¡| t|ƒ¡}|j|d}|     ¡j
  ¡t |ƒks t ‚dd„}    |d     ¡j
 ¡\}
} t|
| ƒD]b\} } t|dj| | f d¡ƒ}|    |dj| ƒ|    |dj| ƒ}tt||ƒƒ}||ksÈt ‚qÈdS)NcSs||kr dn|}|d›S©NÚÚ1r©ÚvalZval_strrrr Úcast÷sz:TestDataFrameReshape.test_unstack_nan_index1.<locals>.castr#r$r€rPr5r6rGza.wzb.xz .yzd.z)rrÚjolierrrr®cSst|tƒrt|ƒS|gSr¢©rØÚtuplerf©r#rrr Ú<lambda>
óz>TestDataFrameReshape.test_unstack_nan_index1.<locals>.<lambda>Ú.)rrrËrUrrrrrfÚnotnarnÚsumr8r;ÚnonzeroÚzipÚsortedráÚsplitr(r)Úmap)rr’rrrrãrârÕÚudfÚmk_listrirórtrNrrr Útest_unstack_nan_index1ós( 
 
ýÿ  $z,TestDataFrameReshape.test_unstack_nan_index1Ú1stÚ2ndÚ3rdrÈÚ4thÚ5thcsÆdd„‰tdgdtjgddgddgdd    gdd
gdd gdd gdtjgdd gdtjgddgdtjgdddddddddddddddddddd d!gd"œƒ}|j‡fd#d$„d%d&|j‡fd'd$„d%d&|d(<|d)<| t|ƒ¡}|j|d*}| ¡j     ¡dt
|ƒks2t ‚d+d$„}|| ¡j  ¡\}}    t ||    ƒD]f\}
} t||j|
| f d,¡ƒ} |||j|
ƒ|||j| ƒ} ttˆ| ƒƒ} | | ksZt ‚qZdS)-NcSs||kr dn|}|d›Srrrrrr rszATestDataFrameReshape.test_unstack_nan_index_repeats.<locals>.castr€r"r@r#r&ryrŠr$r6rPrGr3r5éCé'é5éHé9éPérñrîr«é;é2é>éLé4éé<é3)r)r*r+csd tˆ|ƒ¡S)Nr)Újoinr%©Úr©rrr rCrzETestDataFrameReshape.test_unstack_nan_index_repeats.<locals>.<lambda>r%rçcsd tˆ|jddd…ƒ¡S)NrrH)r=r%rár>r@rr rDrr,r-r®cSst|tƒrt|ƒS|gSr¢rrrrr rJrr)rrrËÚapplyrUrfrrrnr r8r;r!r"r#rár$r(r)r%)rr’rrÈrrÕr&r'rirórtrNrãrârr@r Útest_unstack_nan_index_repeatss|
ÿþýüûÿ
þý
üû
úìòÿ)þ  $z3TestDataFrameReshape.test_unstack_nan_index_repeatsc    Csœttdƒtdƒtdƒdœƒ}| ddi¡}tj|jd<| ddg¡ d¡}d    dd
d tj    tj    tj    tj    gtj    tj    tj    tj    d d ddgg}tt
tt |Žƒƒ}t tj    dd
d d d ddgdd}t dgddggddgdd
ggddgd}t|||d}t ||¡ttdƒttd ƒƒd tdƒdœƒ}| ddi¡}tj|jd<| ddg¡ d¡}d tj    gdd gd
d gtj    dgd    dgg}t dgddggddgdd
ggddgd}t tj    dd
d d    gdd}t|||d}t ||¡ttdƒttd ƒƒd tdƒdœƒ}| ddi¡}tj|jd<| ddg¡ d¡}d    tj    gdd gd
d gd dgtj    dgg}t dgddggddgdd
ggddgd}t tj    dd
d d    gdd}t|||d}t ||¡dS)NZaaaabbbbr`©rcrdr•rdrT©r"r%rcrr"r%r&r3r@r^r_rr•r#r$rÓr)r&r%)rrfr+rWrr7rárUrrËr%r"rrrr)rrrãÚvalsr’rórârrr Útest_unstack_nan_index2RsT þ ÿ $ & ÿ $ & ÿz,TestDataFrameReshape.test_unstack_nan_index2c    Cs
ttdƒtddd ¡dt d¡dœƒ}tj|jd<| d    d
g¡     ¡}t 
d d d dtj dgtj dddddgg¡}t ddgd    d}t dgtdddgd d d d d d gdd d dd dggdd
gd}t|||d}|rú|jd dd dg}|| |dj¡||<t ||¡dS)NZ
aaaaabbbbbrkr@rlr&rßrCrDrcrdr"rr%r3r^r_r`rˆr#r$rr•rHrÓr)rrfr Útolistrrr7rárUrrÊrËrrr)rWrBrr)rr<rrãrEr’rórârrr Útest_unstack_nan_index3ƒs(ýÿ *ýz,TestDataFrameReshape.test_unstack_nan_index3c    CsVdtjtjdgddtjdgddtjdgddd    d
gd dd    d
gdd d    d
gg}t|d dddgddddddgd}| ¡ ddd g¡ ¡}tjtjdtjdgdd tjdtjgg}tdd
gd    ggddgddggddgd}tdgd ddddggdddddgdddddggdd gd}t|||d}t ||¡|j    dd… ¡ ddd g¡}t | ¡|¡dS)NZHgi¼ç(ÚUrZPbg¢    VÍZ§Ý>ZSngº@¹ÕÂø>gÌ]KÈ=‹?i)=‘(ZAgga2U0*©#¿ZagentZchangeZdosageZs_idioCipCiqCirCisCitCrrr%rHrÓr&r"r3)
rrËrrrUrrrrrY)rrErrãr’rórârrr Útest_unstack_nan_index4Ÿs<  
 
 
ú
ýþ ýý z,TestDataFrameReshape.test_unstack_nan_index4cCstddddddgtdddddt d¡tj d¡d d¡d    œƒ}|d
t d ¡|d <tj    |j
d <|j
d<tj    |j
d<|j
d<|  dd
d g¡  d
d g¡}|  ¡j ¡dt|ƒks¾t‚dD]F}| ¡D]8\}}|d||d
|d ff}|||j
|ksÎt‚qÎqÂdS)Nr%r&z
2014-02-01r^r)rmÚfreqédrß)r)r*rrr*z
2014-02-02r+)r%r*)r"r*)r%r+)r3r+r)r)rr rrr¥r³Úroundror¦rËrYrUrrrnr r8r;Ziterrows)rrrãrÈrÚr?r[rrr Útest_unstack_nan_index5Ès   üÿ    z,TestDataFrameReshape.test_unstack_nan_index5cCsztdddƒ}tddddgt |ddfg¡d}| ¡}t d    d
g¡}t |dfg¡}tddddg||d }t ||¡dS) NiÞr%r&r"r3rcrdr­©rr%r&r")rdr')rrrrSrr,rr)rÚtrr/ZeidxZecolsr0rrr Ú%test_stack_datetime_column_multiIndexßs "z:TestDataFrameReshape.test_stack_datetime_column_multiIndexÚmultiindex_columnsr¯rHcCsätjdddddgddgd}||}tt d    t|ƒ¡ d    t|ƒ¡|d
}|j|d d }t|t    ƒr”|j|d d }t|t
ƒrˆt   ||¡n t   ||¡tj|j ¡|jjd|_|j|d d }t|t
ƒrÔt   ||¡n t   ||¡dS)N©rdr5©rdrG©rcr6©r•r5©r•ÚuÚUpperÚLowerr‡r"r­F)r¯ÚdropnaT)rrSrrrr8r rrØÚintr    rr-rr)Úto_numpyrV)rrRr¯Úfull_multiindexZ
multiindexrr/r0rrr Útest_stack_partial_multiIndexês. þþ
 
 ÿ
z2TestDataFrameReshape.test_stack_partial_multiIndexc    CsÜtjdddddgddgd}tt d    ¡ d
d ¡|d d d gd}|jdd}td d
gd tjgd dgdtjggtd d gddddggd d d d gd d d d ggddgdtddgddd}|d     |j
d ¡|d<t   ||¡dS)NrSrTrUrVrWrYrZr‡r^r&r"rr%r­F©r[r@r3rXr5r6rGrÓrdr•rr') rrSrrrr rrËrrWrÝrr)rr^rr/r0rrr Útest_stack_full_multiIndex%s" þ$ ýù    z/TestDataFrameReshape.test_stack_full_multiIndexÚorderedFTÚlabelsZyxzZyxycCsbtj|tdƒ|d}tdddgg|d}| ¡}t |j|g¡}tdddg|d}t     
||¡dS)Nra©r}rbrßrîrïr­r*) roÚCategoricalIndexrfrrrr,r(r    rr-)rrbrcÚcidxrr/rÙr0rrr Ú%test_stack_preserve_categorical_dtype9s z:TestDataFrameReshape.test_stack_preserve_categorical_dtypez labels,datarar:Zzyxc Cstj|t|ƒ|d}tjddg|d}t ||g¡}tt|ƒg|d}| ddg¡}tjt|ƒ|d}    t|t dg|    |g¡d}
t     ||
¡dS)    NrdrXÚv)rbr­rr%r*)
rorer#rr,rrr    rr-) rrbrcrZrfZcidx2rÙrr/Zs_cidxr0rrr Ú+test_stack_multi_preserve_categorical_dtypeHs
z@TestDataFrameReshape.test_stack_multi_preserve_categorical_dtypec Cstt ddddg¡}t||dœƒ}| ¡}t ddddgd    d
gg¡}tt ddddddddg¡|d }t ||¡dS) Nr#r$ry©rcrdrr%r&r"rcrdr*)    rorrrrr,r    rr-)rr¶rr/r(r0rrr Ú,test_stack_preserve_categorical_dtype_values]sÿzATestDataFrameReshape.test_stack_preserve_categorical_dtype_valueszindex, columnsr$c    Cstt||d d¡}| ¡}t |j ¡¡}t| ¡||jd}t     ||¡t
  |jj ¡}t
  |j ¡}t  ||¡dS)Nr'r%)rÚfillnarrrSr(r]r)rrrZasarrayrÔZassert_numpy_array_equal)    rr(r)rrÚ    new_indexr0Z stacked_codesZexpected_codesrrr Ú)test_stack_multi_columns_non_unique_indexhs
ÿ  z>TestDataFrameReshape.test_stack_multi_columns_non_unique_indexcCs®tjdddgddgd}ttjdddgd    d
t dddg¡d œ|d }|j|d }| t¡j|d }t    |j
j gd|j j gd|j d }t |j|¡t | t¡|¡dS)N)rcr©rcr%)rdr%r#r$r‡rr%ZInt64rArjr*r®r&)rrSrrorÊrrrWrÌr    rcrBrdr)rr-rÝr)rr¯r(rr/r0Zexpected_dtypesrrr Ú"test_unstack_mixed_extension_types}sþû ÿz7TestDataFrameReshape.test_unstack_mixed_extension_typesÚbazcCs tjdgddggddgd}tddgdd    gg|d
d gd }d |j_td    dddggtjddddgdd gdd}d|j_| ¡jddj    d|d}t
  ||¡dS)Nrr€ryrrqr‡r&r%r"rdrcr'r)ryrc)ryrd)r€rc)r€rdr­rç)rèr¯) rr,rr)rQrSr(rÚ    swaplevelÚ
sort_indexrr)rr¯rÕrr0r/rrr Ú test_unstack_swaplevel_sortlevel‘s 
ÿþz5TestDataFrameReshape.test_unstack_swaplevel_sortlevel)=Ú__name__Ú
__module__Ú __qualname__r!r1r?r]rjrqrwrxr†r“r‚ÚmarkÚ parametrizerrSrr–r¨r´rÅrÆrÏrÖrÛrÞrròrrärærërËrôrörùrÿrr rfr+r(r±Ú permutationsrBrFrHrJrNrQr_rargrirkr,rnrprtrrrr r s .$"*
ÿ
þú &ø
õüôþ"
*,),þþ
 
**þþ
 
  =1)  
 
 
 
ëþ   þþ     ýþ
 
r cCs tddddgdd}t dddd    g¡|_| ¡}tdtjdgddtjgd
œtd ƒd }t     
||¡|jd d}tdd dgddd gd
œtd ƒd }t     
||¡dS)Nr#r$ryrÌrArCrDrErFrKrar*r€rI) r    rrSr(rrrrËrfrr)rZr/r0rrr Útest_unstack_fill_frame_object¤s 
ÿÿ  ÿr{cCsžttjdddgdgdgdgdœddddgd    }| ddg¡ ¡}ttjddddggtdgdd
tddgdggd d gd d ggddgd d}t ||¡dS)Nz2017-08-27 01:00:00.709949+0000ÚUTC)Útzr#r$ry)Ú    timestampr#r$ryr~r­rrr%rÓr')    rror¦rUrrrrr)rr/r0rrr Ú"test_unstack_timezone_aware_valuesºs&ü
ù      ýý    rcCsntddddd}td|iddd    gd
}| ¡}t|tddd    gdggd d d gd d d ggdd
}t ||¡dS)NrZ20180101Z20180103zAmerica/New_York)rKÚstartÚendr}rcr#r$ryr*rr%r&r×)r rrr    rrr-)Útsrr/r0rrr Ú test_stack_timezone_aware_valuesÒs&þrƒr[TFcCs^tjgtjdtjgtjdg}ttjt|gggdd}ttjdj|d}t     ||¡dS)NrAr×)rBr(r`)
rrÊrXr    rhrrrrr-)r[r.r0r/rrr Útest_stack_empty_frameÞs r„rJcCs8ttjdj|dj|d}ttjd}t ||¡dS)NrAr`rI)rrrXrrrr)r[rJr/r0rrr Útest_stack_unstack_empty_frameçsÿ r…c    Cs2d}tjt|dttjd ¡W5QRXdS)Nz'index must be a MultiIndex to unstack.*r~rA)r‚rƒrÁr    rrXr)r…rrr Ú test_unstack_single_index_seriesòsr†c    CsÌtddgddgddgddgdd    gd
œƒ}| d d d dg¡}|jdgdd}|jd ddjd dd}|jd d gdd}tddddgddddggtddgd dtjddddgddd d gdd}t ||¡dS)NZAliceZBobg#@r`FTrÚfemaleÚmale)rQÚscoreÚemployedÚkidsÚgenderrQrŠr‹rŒrIrg @r)r‰r‡Fr)r‰r‡Tr)r‰rˆFr)r‰rˆTrr‡r')rrUrrrrSrr)rr0r/rrr Útest_unstacking_multi_index_dfùs2ûÿ    ü
ùý rcCs†tjddgddgd}tddddgg|d}| d¡}tdd    gdd
}tjd d gddgd}tddgddgg||d }t ||¡dS)Nr4)r6rGr#r‡r%r­rr6rGr)rr5)rr6r')rr,rrrrSrr)r)rr/Z new_columnsrmr0rrr Ú2test_stack_positional_level_duplicate_column_namess
rŽcs²t tdƒdddgg¡}ttj d¡tj d¡ tj¡tj d¡tj d¡dœ|d‰|stt    dd    „ˆj
j Dƒƒstt ‚ˆ  ¡}tj‡fd
d „td ƒDƒtd ƒd d}t ||¡dS)Nr@rcrdr•rðrOr*css|]}|jj VqdSr¢)Zmgr_locsZ is_slice_like©rsr5rrr Ú    <genexpr>3sz5test_unstack_non_slice_like_blocks.<locals>.<genexpr>csg|]}ˆ| ¡‘qSr)r)rsÚn©rrr ru7sz6test_unstack_non_slice_like_blocks.<locals>.<listcomp>r3r%)Úkeysrè)rr,r+rrr¥r³rWrXÚanyr9r:r;rroÚconcatrr)r<rÕr>r0rr’r Ú"test_unstack_non_slice_like_blocks%s
 
 
üù    &r–c@s>eZdZdd„Zej dddddddgddddddggdd    d
d d d gdddddgfdddddgdddddggdd    d
d d gddddgfdddddgdddddggdd    d
d d gddddgfg¡dd„ƒZdd„Zdd„Z    ej de
dƒdddge ddgdddgge   e  d¡ d¡d¡e   e  d¡d¡gdge
dƒdddge ddgddgge   e  d¡ d¡d¡e   dddgd¡gdge  d¡dddge ddgddgddgge   e  d¡ d¡d¡e  dddgdd dg¡e   dddgd¡gdgg¡d!d"„ƒZd#d$„Zd%d&„Zd'd(„Zd)d*„Zej d+d,d-g¡d.d/„ƒZd0d1„Zd2d3„Zd4d5„Zd6d7„Zd8d9„Zd:d;„Zd<d=„Zd>d?„Zd@dA„ZdBdC„Z dDdE„Z!dFdG„Z"ejj#dHdI„ƒZ$ej dJe%j& 'dKdL„dMDƒ¡¡ej dNe(dƒ¡dOdP„ƒƒZ)dQdR„Z*dSdT„Z+dUdV„Z,dWdX„Z-dYdZ„Z.d[d\„Z/d]d^„Z0d_d`„Z1dadb„Z2dcdd„Z3dedf„Z4dgdh„Z5didj„Z6dS)kÚTestStackUnstackMultiLevelcCs6|}| ¡}| ¡| t¡ ¡| tj¡ ¡dSr¢)rrWr\rrg©rÚ/multiindex_year_month_day_dataframe_random_dataÚymdrrrr Ú test_unstack<s
z'TestStackUnstackMultiLevel.test_unstackz5result_rows,result_columns,index_product,expected_rowr%Ng>@r&Úix1Úix2Zcol1Zcol2Zcol3Zcol4cCspt||d ddg¡}|jdd… d¡}t|gtj|dd…|ggddgdtdgddd}t ||¡dS)    Nr­rœrr%r&r‡rr)    rrUrárrr,rrr)rZ result_rowsZresult_columnsZ index_productZ expected_rowr/r0rrr Útest_unstack_partialIs ÿÿ ûz/TestStackUnstackMultiLevel.test_unstack_partialcCsRt ddddg¡}ttj d¡|d}| ddg¡}|jdd    d
}t     ||¡dS) N)rrr)rrr)r%rqr%)r%Zquxr%r3r*r%r&ré©rèÚhow)
rrSr    rr¥r³rr[rr)rr(r\rr0rrr Ú&test_unstack_multiple_no_empty_columnsts
ÿzATestStackUnstackMultiLevel.test_unstack_multiple_no_empty_columnsc
Csî|}| ¡}| ¡}t ||¡|jdd}| d¡}| ¡}t |jdd|¡|ddd…}| d¡}| ¡ dd¡}t |jdd|¡| dd¡}| d¡jdddd}| d¡ dd¡}t |jdd|¡| ¡}|jddd}| ¡}t ||¡| d¡ d¡}| d¡}| ¡}t ||¡| d¡}| d¡}t ||¡| d¡}| ¡ d¡ d¡}t ||¡| d¡jdd…ddd    …f}| ¡ ¡}| ¡}    t ||     |j    ¡¡| d¡ d
¡}| d¡ d¡}t 
||¡dS) Nr&r®rrHr%rçF)rèZ    ascendingr"r°) rrrrrsrrrYr-Úreindexr(Z assert_equal)
rr™ršrÚ    restackedZ unlexsortedr/r0rZ ymd_stackedrrr Ú
test_stacksJ  
 
 
 
 
 
  z%TestStackUnstackMultiLevel.test_stackzidx, columns, exp_idxÚababr)r*r+r#r$r"r3r×r))r#r&)r$r%)r#r%)r$r&r^c    Csptt d¡ dd¡||d}| ¡}tt d¡|d}t ||¡|jj    dksRt
‚|j|j}}t  ||¡dS)Nrïr3r"r'r*F) rrrr rr    rr-r(Z    is_uniquer;Úassert_index_equal)    rr’r)Zexp_idxrr/r0ÚliÚrirrr Útest_stack_duplicate_index·s&ý z5TestStackUnstackMultiLevel.test_stack_duplicate_indexcCs@d}t t|ƒ¡ dddg¡}| d¡}| ¡}t ||¡dS)Naday,time,smoker,sum,len
Fri,Dinner,No,8.25,3.
Fri,Dinner,Yes,27.03,9
Fri,Lunch,No,3.0,1
Fri,Lunch,Yes,13.68,6
Sat,Dinner,No,139.63,45
Sat,Dinner,Yes,120.77,42
Sun,Dinner,No,180.57,57
Sun,Dinner,Yes,66.82,19
Thu,Dinner,No,3.0,1
Thu,Lunch,No,117.32,44
Thu,Lunch,Yes,51.51,17ÚdayÚtimeZsmokerr&)roZread_csvrrUrrrr)rrZrr/Úreconsrrr Útest_unstack_odd_failureés
 
z3TestStackUnstackMultiLevel.test_unstack_odd_failurecCsr|}|j}d|d<|jddd}| ¡}|d ¡ ¡}tj|d|dd|jdksZt‚|djtj    ksnt‚dS)Nr)rZfourr%)r¯rèFrÀr)
rrsrrr-rQr;rBrZfloat_)rÚ multiindex_dataframe_random_dataÚframerrr/rrr Útest_stack_mixed_dtypeÿsz1TestStackUnstackMultiLevel.test_stack_mixed_dtypec
Cstddddddgddddddgddddddgd    d    d
d
d
d gt d ¡d œƒ}| ddddg¡ t¡}| ¡}| ¡}t     || 
|j ¡  t ¡¡dS)NZnaiveÚactiver#r$r%r&r"r3ÚhiZbyeZpeaceg@)r›r½ÚbarcoderhÚextrar›r½r³rh)rrrÚgroupbyrAr8rrrr-r¢r(rWrT)rrr/rr£rrr Útest_unstack_bug sûÿ
z+TestStackUnstackMultiLevel.test_unstack_bugcCsP|}| ¡}|jjdkst‚|jjddgks0t‚| ¡}|jj|jjksLt‚dS)NrÐr½rÑ)rr(rQr;r)rVr)rr®r¯rr£rrr Ú!test_stack_unstack_preserve_namess z<TestStackUnstackMultiLevel.test_stack_unstack_preserve_namesÚmethodrrc    Cs||}|jd}tjtddt||ƒdƒW5QRX|dkrx|jdd…df}tjtddt||ƒdƒW5QRXdS)Nrzdoes not match index namer~Zmistakerr)rYr‚rƒÚKeyErrorÚgetattrrá)rr¸r®r¯rr\rrr Ú#test_stack_unstack_wrong_level_name's
z>TestStackUnstackMultiLevel.test_stack_unstack_wrong_level_namecCs*|}| d¡}|jdd}t ||¡dS)NrÑr%r®r£)rr®r¯r/r0rrr Útest_unstack_level_name:s
 z2TestStackUnstackMultiLevel.test_unstack_level_namecCsT|}| d¡}| d¡}| ¡ d¡}t ||¡| d¡}| ¡}t ||¡dS)NrÑr½r)rrrrr-)rr®r¯rr/r0rrr Útest_stack_level_nameAs
 
 
z0TestStackUnstackMultiLevel.test_stack_level_namecCs2|}| ddg¡}| d¡ d¡}t ||¡|jj|jjksBt‚|d}| ddg¡}t ||d¡| ddg¡}| dd¡ dd¡}|jdd}t ||¡|j    j|j    jks¶t‚| ddg¡}| d¡ d¡j
ddd    }t ||¡| ddg¡}| d¡ d¡j
ddd    }t ||j dd…|jf¡dS)
NÚyearÚmonthrcrr%r&r®rérŸ) rrrr)rVr;rrrrsr(r[rY)rr™ršrr0r\Z s_unstackedr£rrr Útest_stack_unstack_multipleMs&    z6TestStackUnstackMultiLevel.test_stack_unstack_multiplec    Cs>|}| ddg¡}tjtdd| ddg¡W5QRXdS)Nr¾r¿zlevel should containr~r)rr‚rƒrÁrr˜rrr Útest_stack_names_and_numberslsz7TestStackUnstackMultiLevel.test_stack_names_and_numbersc    Csf|}| ddg¡}tjtdd| ddg¡W5QRXtjtdd| dd    g¡W5QRXdS)
Nr¾r¿zToo many levelsr~r&r"znot a valid level numberrr)rr‚rƒÚ
IndexErrorrr˜rrr Ú!test_stack_multiple_out_of_boundsws z<TestStackUnstackMultiLevel.test_stack_multiple_out_of_boundsc     Cstjddddddgddd}tddgd    d
d }d d d    dddg}t ||g¡}t||d}| ¡}|jd d}|jdd}tjdddgddd}    td d    dgd ddgdœ|    ddgd}
d
|
j_    t
  ||
¡t
  ||
¡t
  ||
j ¡tjddddddgddd}tjddddddgddd}t ||g¡}t||d}| ¡}|jd d}|jdd}tjdddgddd}    tjddddddgddd} tt jt jt jt jd d gt jt jdd    t jt jgddt jt jt jt jgg|    | d}
t
  ||
¡t
  ||
¡t
  ||
j ¡dS)Nz2013-01z2013-02z2013-03ÚMZperiod©rKrQrcrdr"Ústrrr%r&r3r@r^r*r®rrjr'Úperiod1ú2013-12z2013-11ú2013-10z2013-09z2013-08z2013-07Úperiod2)roÚ PeriodIndexrrrÉr    rrr)rQrrrrrË) rÚidx1Úidx2Úvaluer’r\Úresult1Úresult2Úresult3Ze_idxr0Úe_colsrrr Útest_unstack_period_series„s|ý   ÿÿ  ýý   ÿýýù
 z5TestStackUnstackMultiLevel.test_unstack_period_seriesc Cs”tjddddddgddd}tjddddddgddd}d    d
d d d dgdd d d d
d    gdœ}t ||g¡}t||d}| ¡}|jd    d}|jdd}tjddgddd}    tjddddddgddd}
t d ¡|
g¡} td d    dd
dd    gd d
d d d d gg|    | d} t || ¡t || ¡tjddddgddd}    tjdddgddd}
t d ¡|    g¡} td d d
d gd    d
dd gdd d    d gg|
| d} t || ¡dS)Nz2014-01z2014-02rÄrÇrÅrÈrÉrÊr%r&r"r3r@r^rjr*r®rz A A A B B Br'zA A B B)    rorËrrÉrrr$rr) rrÌrÍrÎr’rrÏrÐrÑZe_1Ze_2rÒr0rrr Útest_unstack_period_frameÉs^ýý"   ýÿ  
ÿÿ ÿz4TestStackUnstackMultiLevel.test_unstack_period_framec     Csþdgddgd}dgddgd}t dddgd¡}tj d    d
d ¡}t||||d œƒ}| d dg¡}d|j_|     d¡}t
j t dd|  d¡ ¡W5QRX|  d¡jdd}| d¡}    |jdd…dgf  d¡ ¡ d¡}
d|
j_t |    |
¡dS)Nr%r"r&r#r$z
2013-01-03z
2013-01-04z
2013-01-05rrLr^)ÚIDÚNAMEÚDATEÚVAR1r×rÕZParamszCould not convertr~zW-THUT)Z numeric_onlyrØ)roÚ to_datetimerr¥ÚrandintrrUr)rQrr‚rƒr„ZresampleZmeanrrYrr) rZid_colrQÚdateZvar1rZmultiZunstZdownrÍrÎrrr Útest_stack_multiple_bugøs
 
$z2TestStackUnstackMultiLevel.test_stack_multiple_bugcCsvtddgddgddgdœƒ}| ddg¡}| ¡jd    d
}t|ƒt| ¡ƒksRt‚| ¡jd d
}t || ¡¡dS) NÚa1Úa2Úb1Úb2r%rCrcrdFr`T)    rrUrrr8r[r;rr)rrrrrr Útest_stack_dropna s z,TestStackUnstackMultiLevel.test_stack_dropnac Cs‚tddddddddgddddddddgddddddddggddddgddddggd}dddg|j_ddg|j_| ddg¡dS)    Nrr%r'r#r$ryr€rŠ)rr(rVr)rrrrr Ú"test_unstack_multiple_hierarchicalsýú     z=TestStackUnstackMultiLevel.test_unstack_multiple_hierarchicalc    Cs„d}ttjjd|dtjjd|dtjjdd|dtjjdd|dtjjd    |dtj |¡d
œƒ}| d d d ddg¡}| d¡dS)NéèrL)Úsizei,iùÿÿÿr_iíÿÿÿéi¸ )rcrdr•rržrŸrcrdr•rrž)rrr¥rÚr³rUr)rZNUM_ROWSrZidfrrr Útest_unstack_sparse_keyspace&s
úÿ z7TestStackUnstackMultiLevel.test_unstack_sparse_keyspacecCs~ddgddddgg}ddddgddddgg}t||ƒ}ttj dd¡|d}| ¡}t|jƒdksft‚|     ¡}t
  ||¡dS)Nrr%r&r"r3r*) rrrr¥r³rr8r)r;rrr)rr.rÔr(rr/r¬rrr Útest_unstack_unobserved_keys;s
z7TestStackUnstackMultiLevel.test_unstack_unobserved_keysc CsžGdd„dtjƒ}| ¡z}| td|¡ttj dd¡t d¡t d¡gd}d}t    j
t |d(t j td    d| ¡W5QRXW5QRXW5QRXdS)
Ncs"eZdZddœ‡fdd„ Z‡ZS)zaTestStackUnstackMultiLevel.test_unstack_number_of_levels_larger_than_int32.<locals>.MockUnstackerN)Úreturncstƒj||Žtdƒ‚dS)NúDon't compute final result.)ÚsuperÚ__init__Ú    Exception)rÚargsÚkwargs©Ú    __class__rr rëPszjTestStackUnstackMultiLevel.test_unstack_number_of_levels_larger_than_int32.<locals>.MockUnstacker.__init__)rurvrwrëÚ __classcell__rrrïr Ú MockUnstackerOsròÚ
_Unstackerir&r*z$The following operation may generater~ré)Ú reshape_libróÚcontextÚsetattrrrr¥r³rrZassert_produces_warningrr‚rƒrìr)rZ monkeypatchròÚmrr…rrr Ú/test_unstack_number_of_levels_larger_than_int32Js
 þzJTestStackUnstackMultiLevel.test_unstack_number_of_levels_larger_than_int32r.ccs*|]"}tjt dddg|¡ddVqdS)rr%r&r©N)r±r²rz)rsÚwidthrrr rbsÿz$TestStackUnstackMultiLevel.<genexpr>r”Ú    stack_levcs`t|ddddgddddggd}t|tdƒgd‰ˆ ˆ¡‰t‡‡‡fdd„ˆjDƒƒs\t‚dS)Nrr%r×r3)r)rZc3sF|]>}ˆjD]2}ˆj||fˆj||ˆf|dˆfkVq qdS)r%N)r)rY©rsÚrowrÈ©rZ
df_stackedrúrr rns ý ÿzSTestStackUnstackMultiLevel.test_stack_order_with_unsorted_levels.<locals>.<genexpr>)rrr+rrér(r;)rr.rúr)rrýr Ú%test_stack_order_with_unsorted_levels`s  
ýz@TestStackUnstackMultiLevel.test_stack_order_with_unsorted_levelscs€tdddgdddggt tdƒd¡t tdƒd¡gd}t|tdƒt dt|ƒ¡ dd¡d‰t    ‡fd    d
„ˆj
Dƒƒs|t ‚dS) Nrcr•rdr"r×r@rH)r)r(rZc3sH|]@}ˆjD]4}ˆj||fˆ d¡j||df|dfkVq qdS)rr%N)r)rYrrûr’rr r€sþz]TestStackUnstackMultiLevel.test_stack_order_with_unsorted_levels_multi_row.<locals>.<genexpr>) rrrªr+Útilerrr8r rér(r;)rrÕrr’r Ú/test_stack_order_with_unsorted_levels_multi_rowusþÿ þzJTestStackUnstackMultiLevel.test_stack_order_with_unsorted_levels_multi_rowcCsìt d¡}t dd„|Dƒdd„|Dƒg¡}t|jddgd}d|j_d    |i}tj|d
d }d dg|j_    |j
t |jƒd
d }|  dd g¡  dd g¡}td dgddgddgddgddggdd
dddgtjddgdd gdd}t ||¡dS)Nr@cSsg|]}d|›‘qS)r$rrrrr ru‹szVTestStackUnstackMultiLevel.test_stack_unstack_unordered_multiindex.<locals>.<listcomp>cSsg|]}d|›‘qSrrrrrr ruŒsr$r#r­rÐr5r%rçrÑZa0Zb0rÝrßrÞràÚa3Zb3Za4Zb4rr&r"r3)r#r5)r$r5r‡r')rrZvstackrrr)rQror•rVr¢r#rrrrSrr)rrnrZrZsecond_level_dictZmulti_level_dfr/r0rrr Ú'test_stack_unstack_unordered_multiindex†s,
  þÿ   ÿýzBTestStackUnstackMultiLevel.test_stack_unstack_unordered_multiindexcCs^|}d|d<d|d<| d¡}|djtjks2t‚|djtjksFt‚|djtjksZt‚dS)    Nrržr&rŸr¿ro)ržr%)rŸr%)rrBrrhr;Zobject_r˜rrr Útest_unstack_preserve_typesŸs
z6TestStackUnstackMultiLevel.test_unstack_preserve_typescCsjt t d¡d¡}t d¡}t|gdddgg|gdt d¡ d¡gd}tt d¡|d}| ¡}|jd    ksxt‚|     ¡}t
  ||  |j ¡¡tddgg|gdt d¡ d¡g|gdd}tt d¡|d}| d¡}|jd    ksòt‚t|gd
ddgg|gd
|gd
t d¡ d¡g|gd
d}tt d¡|d}| d
¡}|jd    ksft‚dS) Néôr&r`rr%r×rãr*)rr&r3)rrÿrrrªr    rrr;rrr-r¢r()rrÔr¯r(r\r/rrrr Ú!test_unstack_group_index_overflow¬s2
þþ
$þ
z<TestStackUnstackMultiLevel.test_unstack_group_index_overflowcCsètdddgdddgdgddœƒ dd    g¡}d
|d <|sLt|jjƒd ksLt‚| d    ¡}|d  d¡|d <tddddgtj    dddggt
ddgdddt j ddd dgdd    gdd}|rØ|d  d¡|d<|d  d¡|d<t ||¡dS)NrcrdÚcaÚcbrßr")r#r$rhr#r$r%Úis_r&)rrrg$@r˜rrÌ)rBrQ)rhr)rhr)rrr‡r'rX)rrUr8r9r:r;rrlrrËrrrSrWrr)rr<rr/r0rrr Ú+test_unstack_with_missing_int_cast_to_floatÑs2ýÿú    
 
þýzFTestStackUnstackMultiLevel.test_unstack_with_missing_int_cast_to_floatcCsÐtddddgddddgddddgddddgdœƒ}| dddg¡}d    d
d dg}|jj|dd |_|jj|dd |_| d¡d  ¡j}td    d
d dgd    d
d dggddddgddddggddgd}t ||¡dS)Nr%r&r"r3)ÚL1ÚL2ÚL3r5r
r r Zn1Zn2Zn3)r.r¯)r5r%rrÓ)    rrUr(Z
set_levelsrrsrrr¦)rr§Z
new_levelsr/r0rrr Útest_unstack_with_level_has_nanñs$
 
 
 
üÿ ýz:TestStackUnstackMultiLevel.test_unstack_with_level_has_nanc    Cs‚tt ddg¡t dddddg¡d}| d    ¡}td
tjtjgtjd
d
gtjd
d
ggtd d d gƒtd ddgƒd}t     ||¡dS)Nr%r@)rNN)rr&r)rr&r%)rr"r)rr"r%r­r&r)rN)rr©rr%)rr&)rr"r')
rrròrrSrrËrrrrþrrr Ú$test_stack_nan_in_multiindex_columns    s$ ûÿþ
"  ýz?TestStackUnstackMultiLevel.test_stack_nan_in_multiindex_columnsc Csît dgddgdt tdƒ¡t tdƒ¡g¡}tt d¡ dd¡|d}|     d    dg¡}td
tj
gtj
dgd    tj
gtj
d gdtj
gtj
d gd tj
gtj
dggddgt d
gdd    gdt tdƒ¡t tdƒ¡g¡d}t   ||¡dS)Nrcr&rdr¥Zccddr`r3r­r%rr"r^r@r_ZaabbaabbZcdcdcdcdr) rrÉrorrfrrrr rrËrr)rrÙrr/r0rrr Ú"test_multi_level_stack_categoricals6  ýÿø
  ýÿôz=TestStackUnstackMultiLevel.test_multi_level_stack_categoricalcCs¸tt d¡ dd¡tjdtjfdgddgdtdd    gd
d tjd }|     ¡}td tjgtjd    gdtjgtjdggtddgdd tjdtjfdd    tjfdgd
dgdd}t
  ||¡dS)Nr3r&rcrerYrZr‡rr%ZNumr©r)r(rBrg@r2rd)rr$)r%r$r) rrrr rrSrËrrhrrr)rZdf_nanr/r0rrr Útest_stack_nan_level@s& ÿú"ÿýz/TestStackUnstackMultiLevel.test_stack_nan_levelcCsŠt dgddgg¡}tdt ddg¡i|d}| ¡}ttjdgddgdtjdgddgdd    œdgd}t d
d g¡|_t     ||¡dS) Nrcrr%r¶r#r$r*r|r)r¶r)r¶r%)
rr,rrorrrSr)rrr‘rrr Ú test_unstack_categorical_columnsTsþûz;TestStackUnstackMultiLevel.test_unstack_categorical_columnsc    Cs¾ddg}ddg}dddg}tj|||gdd    d
gd }ttt|ƒƒƒ}t||d gd }| d    d
g¡}|j d¡|_d|j    dd…df<| 
d    d
g¡  ¡}|j dd 
d    d
g¡  ¡}t   ||¡dS)NZITAZFRAÚA1ÚA2ZCRTZDBTÚNETÚPAEÚVARÚTYPr‡ZVALUE)rZr(r)ri')ZA0rr%rç)rr,rfr+r8rrr)r÷rYrrsrr-)    rrrrr—ÚVZDFr/r0rrr Útest_stack_unsortedcs
z.TestStackUnstackMultiLevel.test_stack_unsortedcCsêtjddgddggddgd}tdd    d
gd d }t d dddgddddgddddgg¡}t|||t ¡d}| d¡}|     tj
¡ d¡     t ¡¡}t   ||¡||j d     t ¡¡||j d<| d¡}|     t¡ d¡}t   ||¡dS)NZ54511Z54515r?Zt_meanZstationÚelementr‡r%r&r"r«rr6éârßé×rˆéÜi1éèr rr)rr,rrrÊrroZ
Int64DtyperrWrXrrr)Z Float64DtyperÌ)rr)r(Zarrrr/r0rrr Útest_stack_nullable_dtypeusÿ(
 "
z4TestStackUnstackMultiLevel.test_stack_nullable_dtypecCsŠddgddgddgg}tj|dd}tdddgi|d    }| d
¡}tdgdggtjd gdd
gdtjd d gddgdd}t ||¡dS)Nr#r%r&ÚredÚblue)r5rr6r‡r÷r*r5)r÷r#)r%r")r&r#rr6r)rrÉrrrSrr)rZarraysr’rr/r0rrr Útest_unstack_mixed_level_namess
 
ýz9TestStackUnstackMultiLevel.test_unstack_mixed_level_names)7rurvrwr›r‚rxryržr¡r¤rfrrrÿrrªrSr©r­r°r¶r·r»r¼r½rÀrÁrÃrÓrÔrÜrárârærçZslowrør±ÚchainÚ from_iterabler+rþrrrrr    r rrrrrr!r$rrrr r—;s¾ 
ü ü üóþ
 8þþý (þý    ýþýìþ$
 
 
   E/ 
 þþ  % !r—)%rÚiorr±Únumpyrr‚Z pandas.errorsrZpandasrorrrrr    r
r Zpandas._testingZ_testingrZpandas.core.reshaper rôr r{rrƒrxryr„r…r†rrŽr–r—rrrr Ú<module>s@   $