Ë
    ¤eh_| ã                   ó†  — d dl m Z  d dlZd dlZd dlZd dlZd dlmZ d dlm	Z	 d dl
Zd dl
mZmZmZmZmZmZmZ d dlmZ d dlmZ  ej2                  ddg¬	«      d
„ «       Z G d„ d«      Zej8                  j;                  dddg«      d„ «       Zd„ Zd„ Z d„ Z!ej8                  jE                  d«      ej8                  j;                  dddejF                  g«      d„ «       «       Z$ej8                  jE                  d«      ej8                  j;                  dddejF                  g«      ej8                  j;                  ddd g«      d„ «       «       «       Z%d„ Z&d„ Z'ej8                  jE                  d«      d„ «       Z(d„ Z)ej8                  jE                  d«      d„ «       Z*ej8                  jE                  d«      d„ «       Z+ G d„ d «      Z,d!„ Z-ej8                  j;                  d"dej\                  fdej\                  fdej^                  fd#ej^                  fg«      ej8                  j;                  d$ddg«      d%„ «       «       Z0y)&é    )ÚdatetimeN)Úlib)ÚPerformanceWarning)Ú	DataFrameÚIndexÚ
MultiIndexÚPeriodÚSeriesÚ	TimedeltaÚ
date_range)ÚreshapeTF)Úparamsc                 ó   — | j                   S ©N)Úparam)Úrequests    úc/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/frame/test_stack_unstack.pyÚfuture_stackr      s   € à�=‰=Ðó    c                   ó`  — e Zd Zd„ Zej
                  j                  d«      d„ «       Zd„ Zej
                  j                  d«      d„ «       Z	d„ Z
d„ Zd„ Zd	„ Zd
„ Zd„ Zej
                  j!                  ddg d¢g d¢g d¢g d¢g ej$                  g d¢ddg¬«       ej$                  g d¢ddg¬«      fdg d¢g d¢g eddgd¬«       ej$                  g d¢g d¢¬«      fg«      d„ «       Zd„ Zej
                  j                  d«      d„ «       Zej
                  j                  d«      d„ «       Zej
                  j                  d«      d „ «       Zd!„ Zej
                  j                  d«      d"„ «       Zd#„ Zd$„ Zej
                  j!                  d% ej<                  d&«       ej<                  d&«      f ej>                  d&d'¬(«       ej>                  d&d)d'¬(«      ff«      d*„ «       Z ej
                  j                  d«      d+„ «       Z!d,„ Z"ej
                  j!                  d-d.g d/¢ejF                  d0d1gejF                  d&d2gfd2g d3¢ejF                  d&d2gejF                  d0d1gff«      d4„ «       Z$ej
                  j!                  d5d6dg e%d«      g«      d7„ «       Z&d8„ Z'd9„ Z(d:„ Z)ej
                  j!                  d;d<d=g«      ej
                  j!                  d> e* e+d1«      «      «      d?„ «       «       Z,ej
                  j!                  d; e-j\                  g d@¢«      «      ej
                  j!                  d> e* e+d«      «      «      ej
                  j!                  dAdBdCg«      dD„ «       «       «       Z/dE„ Z0dF„ Z1dG„ Z2dH„ Z3dI„ Z4ej
                  j                  d«      ej
                  j!                  dJg dK¢g dL¢g dM¢g dN¢g dO¢g dP¢d.d2gd.d1gd.dgd.gd1gdgg dQ¢g dR¢g dS¢g dT¢g dU¢g dV¢d2d.gd1d.gdd.gg«      ej
                  j!                  dWdXd.d2d.d2gd2d.gf«      dY„ «       «       «       Z5ej
                  j                  d«      dZ„ «       Z6ej
                  j!                  d[d\d]g«      d^„ «       Z7ej
                  j                  d«      ej
                  j!                  d[d\d]g«      ej
                  j!                  d_ e*d`«      g da¢f e*db«      g dc¢fg«      dd„ «       «       «       Z8de„ Z9ej
                  j                  d«      ej
                  j                  df«      ej
                  j!                  dgg dh¢ ejt                  d2d1gd0digg«      fg dj¢ ejt                  d2d1gd0digg«      fg dL¢ ejt                  d2d1gd0digg«      fg«      dk„ «       «       «       Z;ej
                  j                  d«      ej
                  j!                  dld2d1gdmdngdodpdpfd2d1gdqdrgdodsdtfg«      du„ «       «       Z<ej
                  j!                  dWd.d2g«      dv„ «       Z=ej
                  j!                  dWd.dwg«      dx„ «       Z>y)yÚTestDataFrameReshapec                 óh  — |j                  «       }t        j                  t        j                  |j                  «      «      j                  |j                  «      |d d  |j                  |¬«      }t        ||dœ«      }|j                  «       }|j                  «       }t        j                  ||«       t        j                  |d   |«       |j                  d«      }|j                  d«      }	t        j                  |j                  |«       t        j                  |	d   j                  |«       y )N©r   )ÚfooÚbarr   r   )ÚcopyÚnpÚarangeÚprodÚshaper   Ústackr   ÚunstackÚtmÚassert_frame_equalÚT)
ÚselfÚfloat_framer   ÚdfÚstackedÚ
stacked_dfÚ	unstackedÚunstacked_dfÚunstacked_colsÚunstacked_cols_dfs
             r   Útest_stack_unstackz'TestDataFrameReshape.test_stack_unstack   sí   € Ø×ÑÓˆÜ—	‘	œ"Ÿ'™' "§(¡(Ó+Ó,×4Ñ4°R·X±XÓ>ˆ‰1ˆà—(‘(¨�(Ó5ˆÜ w°wÑ?Ó@ˆ
à—O‘OÓ%ˆ	Ø!×)Ñ)Ó+ˆä
×Ñ˜i¨Ô,Ü
×Ñ˜l¨5Ñ1°2Ô6à Ÿ™¨Ó+ˆØ&×.Ñ.¨qÓ1ÐÜ
×Ñ˜n×.Ñ.°Ô3Ü
×ÑÐ/°Ñ6×8Ñ8¸"Õ=r   ú9ignore:The previous implementation of stack is deprecatedc           	      óH  — t        d«      g d¢ddgg}t        d|d   |d   ¬«      }|j                  |¬«      }t        dt	        j
                  |d d «      ¬«      }t        j                  ||«       t        d|d   t	        j
                  |dd  «      ¬«      }|j                  d|¬«      }t        dt	        j
                  |d   |d   g«      |d   ¬«      }t        j                  ||«       |d	d
g   j                  d|¬«      }|d	d
g   }t        j                  ||«       y )Né   )r2   ÚaÚbé   é   r   ©ÚindexÚcolumnsr   ©r8   r3   r4   )	Úranger   r!   r
   r   Úfrom_productr#   Úassert_series_equalr$   )r&   r   Úlevelsr(   ÚresultÚexpecteds         r   Útest_stack_mixed_levelz+TestDataFrameReshape.test_stack_mixed_level1   s#  € ô
 ˜“(šM¨A¨q¨6Ð2ˆô �q  q¡	°6¸!±9Ô=ˆØ—‘ |�Ó4ˆÜ˜!¤:×#:Ñ#:¸6À"À1¸:Ó#FÔGˆÜ
×Ñ˜v xÔ0ô �q  q¡	´:×3JÑ3JÈ6ÐRSÐRTÈ:Ó3VÔWˆØ—‘˜!¨,�Ó7ˆÜØ”Z×,Ñ,¨f°Q©i¸À¹Ð-CÓDÈfÐUVÉiô
ˆô 	×Ñ˜f hÔ/ð �S˜#�J‘×%Ñ% a°lÐ%ÓCˆØ˜S #˜JÑ'ˆÜ
×Ñ˜f hÕ/r   c                 ó8  — t        ddt        j                  gddt        j                  gdœ«      }|dg   }|d   |d<   |s$t        |j                  j
                  «      dk(  sJ ‚|j                  «       }|j                  «       }t        j                  ||«       y )Nr5   r6   ç      @é   ©ÚxÚyrF   rG   )	r   r   ÚnanÚlenÚ_mgrÚblocksr"   r#   r=   )r&   Úusing_array_managerr(   Údf2Úresr@   s         r   Útest_unstack_not_consolidatedz2TestDataFrameReshape.test_unstack_not_consolidatedK   s‚   € ä˜a ¤B§F¡F˜^°3¸¼2¿6¹6Ð2BÑCÓDˆØ�#�‰iˆØ�c‘7ˆˆC‰Ù"Ü�s—x‘x—‘Ó'¨1Ò,Ð,Ð,à�k‰k‹mˆØ—:‘:“<ˆÜ
×Ñ˜s HÕ-r   c                 ó  — t        g d¢t        j                  ¬«      }t        j                  g d¢«      |_        |j                  d¬«      }t        g d¢g d¢dœg d	¢t        j                  ¬
«      }t        j                  ||«       |j                  d¬«      }t        g d¢g d¢dœg d	¢t        ¬
«      }t        j                  ||«       t        g d¢g d¢g d¢g d¢dœ«      j                  g d	¢«      }|j                  ddgd¬«      }d}||   }t        g d¢|j
                  |¬«      }t        j                  ||«       |j                  ddg|¬«      }|j
                  j                  |j
                  j                  «      |_        |j!                  t        j"                  «      }|j$                  |j
                     }t        j                  ||«       |d   }	|	j                  ddgd¬«      }|d   }t        j                  ||«       y )N)r5   r6   rD   é   ©Údtype©)rF   r3   )rF   r4   )rG   r4   )Úzr3   éÿÿÿÿ©Ú
fill_value)r5   rV   rQ   )r6   rD   rV   ©r3   r4   ©rF   rG   rU   ©r8   rS   ç      à?)r5   r\   rQ   )r6   rD   r\   ©r3   r3   r4   )ÚjÚkr^   ©r   r5   r6   )rF   rG   rU   ÚwrF   rG   r   )ra   r4   r^   )r   r   r6   )r8   Únamer   ra   )r
   r   Úint16r   Úfrom_tuplesr8   r"   r   r#   r$   ÚfloatÚ	set_indexr=   r!   Úreorder_levelsÚnamesÚastypeÚint64Úloc)
r&   r   Údatar?   r@   r(   r+   Úkeyr)   Úss
             r   Útest_unstack_fillz&TestDataFrameReshape.test_unstack_fillW   s°  € ô ’l¬"¯(©(Ô3ˆÜ×+Ñ+Ú<ó
ˆŒ
ð —‘¨�Ó,ˆÜÚ¢:Ñ.²oÌRÏXÉXô
ˆô 	×Ñ˜f hÔ/ð —‘¨�Ó-ˆÜÚ¢KÑ0ºÌuô
ˆô 	×Ñ˜f hÔ/ô Ú!ªºiÊiÑXó
ç
‰)’OÓ
$ð 	ð —J‘J  S˜z°a�JÓ8ˆ	ØˆØ˜S‘>ˆÜš	¨¯©¸sÔCˆÜ
×Ñ˜v xÔ0à—/‘/ 3¨ *¸<�/ÓHˆØŸ™×4Ñ4°R·X±X·^±^ÓDˆŒà—.‘.¤§¡Ó*ˆØ—‘˜RŸX™XÑ&ˆÜ
×Ñ˜f bÔ)ð ˆs‰GˆØ—‘˜C ˜:°!�Ó4ˆØ˜S‘>ˆÜ
×Ñ˜f hÕ/r   c                 óÖ  — ddgddgddgddgg}t        |t        d	«      t        j                  ¬
«      }t	        j
                  g d¢«      |_        |j                  d¬«      }g d¢g d¢g d¢g}t        |t        d«      t        j                  ¬«      }t	        j
                  g d¢«      |_        t        j                  ||«       |d   j                  t        j                  «      |d<   |d   j                  t        j                  «      |d<   |j                  d¬«      }|d   j                  t        j                  «      |d<   |d   j                  t        j                  «      |d<   t        j                  ||«       |j                  d¬«      }g d¢g d¢g d¢g}t        |t        d«      t        ¬«      }t	        j
                  g d¢«      |_        t        j                  ||«       y )Nr5   r6   r2   rD   rQ   é   é   é   ÚAB)r9   rS   rT   rV   rW   )r5   r2   r6   rD   )rV   rQ   rV   rq   )rr   rV   rs   rV   Úxyzr[   )©ÚAr3   )rw   r4   )ÚBr3   ©rx   r4   rw   rx   r\   )r\   rQ   r\   rq   )rr   r\   rs   r\   )r   Úlistr   Úint32r   rd   r8   r"   r9   r#   r$   ri   rc   Úfloat64re   )r&   Úrowsr(   r?   r@   s        r   Útest_unstack_fill_framez,TestDataFrameReshape.test_unstack_fill_frameˆ   s�  € à�A�˜˜A˜  A ¨¨A¨Ð/ˆÜ�t¤T¨$£Z´r·x±xÔ@ˆÜ×)Ñ)Ú<ó
ˆŒð —‘ r�Ó*ˆâšnªnÐ=ˆÜ˜T¬¨e«¼B¿H¹HÔEˆÜ%×1Ñ1Ú<ó
ˆÔô 	×Ñ˜f hÔ/ð �S‘'—.‘.¤§¡Ó*ˆˆ3‰Ø�S‘'—.‘.¤§¡Ó,ˆˆ3‰à—‘ r�Ó*ˆØ  ™×,Ñ,¬R¯X©XÓ6ˆ�‰Ø  ™×,Ñ,¬R¯Z©ZÓ8ˆ�‰Ü
×Ñ˜f hÔ/ð —‘ s�Ó+ˆâÒ.Ò0@ÐAˆÜ˜T¬¨e«¼EÔBˆÜ%×1Ñ1Ú<ó
ˆÔô 	×Ñ˜f hÕ/r   c                 óö  — t        dd¬«      j                  }t        |«      }t        j                  g d¢«      |_        |j                  «       }t        |d   t        j                  |d   g|d   |d   t        j                  gd	œg d
¢¬«      }t        j                  ||«       |j                  |d   ¬«      }t        |d   |d   |d   g|d   |d   |d   gd	œg d
¢¬«      }t        j                  ||«       y )Nú
2012-01-01rD   ©ÚperiodsrT   r   r2   r5   r6   rY   rZ   r:   rW   )r   Úvaluesr
   r   rd   r8   r"   r   ÚpdÚNaTr#   r$   )r&   Údvrl   r?   r@   s        r   Ú test_unstack_fill_frame_datetimez5TestDataFrameReshape.test_unstack_fill_frame_datetime¬   sí   € ä˜¨aÔ0×7Ñ7ˆÜ�b‹zˆÜ×+Ñ+Ú<ó
ˆŒ
ð —‘“ˆÜØ�a‘5œ"Ÿ&™& " Q¡%Ð(°°1±°r¸!±u¼b¿f¹fÐ/EÑFÚ!ô
ˆô 	×Ñ˜f hÔ/à—‘¨¨A©�Ó/ˆÜØ�a‘5˜"˜Q™%  A¡Ð'¨r°!©u°b¸±e¸RÀ¹UÐ.CÑDÚ!ô
ˆô 	×Ñ˜f hÕ/r   c                 ó  — t        d«      D �cg c]  }t        |¬«      ‘Œ }}t        |«      }t        j                  g d¢«      |_        |j                  «       }t        |d   t        j                  |d   g|d   |d   t        j                  gdœg d	¢¬
«      }t        j                  ||«       |j                  |d   ¬«      }t        |d   |d   |d   g|d   |d   |d   gdœg d	¢¬
«      }t        j                  ||«       y c c}w )NrD   )ÚdaysrT   r   r2   r5   r6   rY   rZ   r:   rW   )r;   r   r
   r   rd   r8   r"   r   r„   r…   r#   r$   )r&   ÚiÚtdrl   r?   r@   s         r   Ú!test_unstack_fill_frame_timedeltaz6TestDataFrameReshape.test_unstack_fill_frame_timedeltaÂ   sü   € ä).¨q«Ö2 AŒi˜QÖÐ2ˆÐ2Ü�b‹zˆÜ×+Ñ+Ú<ó
ˆŒ
ð —‘“ˆÜØ�a‘5œ"Ÿ&™& " Q¡%Ð(°°1±°r¸!±u¼b¿f¹fÐ/EÑFÚ!ô
ˆô 	×Ñ˜f hÔ/à—‘¨¨A©�Ó/ˆÜØ�a‘5˜"˜Q™%  A¡Ð'¨r°!©u°b¸±e¸RÀ¹UÐ.CÑDÚ!ô
ˆô 	×Ñ˜f hÕ/ùò% 3s   ŽDc                 óä  — t        d«      t        d«      t        d«      t        d«      g}t        |«      }t        j                  g d¢«      |_        |j                  «       }t        |d   d |d   g|d   |d	   d gd
œg d¢¬«      }t        j                  ||«       |j                  |d   ¬«      }t        |d   |d   |d   g|d   |d	   |d   gd
œg d¢¬«      }t        j                  ||«       y )Nz2012-01z2012-02z2012-03z2012-04rT   r   r2   r5   r6   rY   rZ   r:   rW   )	r	   r
   r   rd   r8   r"   r   r#   r$   )r&   r‚   rl   r?   r@   s        r   Útest_unstack_fill_frame_periodz3TestDataFrameReshape.test_unstack_fill_frame_periodØ   s  € ô �9ÓÜ�9ÓÜ�9ÓÜ�9Óð	
ˆô �g‹ˆÜ×+Ñ+Ú<ó
ˆŒ
ð —‘“ˆÜØ˜1‘:˜t W¨Q¡ZÐ0¸À¹
ÀGÈAÁJÐPTÐ7UÑVÚ!ô
ˆô 	×Ñ˜f hÔ/à—‘¨°©�Ó4ˆÜà˜a‘j '¨!¡*¨g°a©jÐ9Ø˜a‘j '¨!¡*¨g°a©jÐ9ñò "ô
ˆô 	×Ñ˜f hÕ/r   c           	      ó  — t        g d¢d¬«      }t        j                  g d¢«      |_        |j	                  «       }t        t        j                  t        d«      t        d«      ¬«      t        j                  t        d«      t        d«      ¬«      d	œt        d
«      ¬«      }t        j                  ||«       d}t        j                  t        |¬«      5  |j	                  d¬«       d d d «       |j	                  d¬«      }t        t        j                  t        d«      t        d«      ¬«      t        j                  t        d«      t        d«      ¬«      d	œt        d
«      ¬«      }t        j                  ||«       y # 1 sw Y   Œ™xY w)N©r3   r4   Úcr3   ÚcategoryrR   rT   ÚaxaÚabc©Ú
categoriesÚbcxrY   ru   r:   z9Cannot setitem on a Categorical with a new category \(d\)©ÚmatchÚdrW   r‘   ÚacaÚbcc)r
   r   rd   r8   r"   r   r„   ÚCategoricalrz   r#   r$   ÚpytestÚraisesÚ	TypeError)r&   rl   r?   r@   Úmsgs        r   Ú#test_unstack_fill_frame_categoricalz8TestDataFrameReshape.test_unstack_fill_frame_categoricalö   s(  € äÒ*°*Ô=ˆÜ×+Ñ+Ú<ó
ˆŒ
ð
 —‘“ˆÜä—^‘^¤D¨£K¼DÀ»KÔHÜ—^‘^¤D¨£K¼DÀ»KÔHñô �u“+ô
ˆô 	×Ñ˜f hÔ/ð KˆÜ�]‰]œ9¨CÔ0ñ 	)Ø�L‰L CˆLÔ(÷	)ð —‘¨�Ó-ˆÜä—^‘^¤D¨£K¼DÀ»KÔHÜ—^‘^¤D¨£K¼DÀ»KÔHñô �u“+ô
ˆô 	×Ñ˜f hÕ/÷	)ð 	)ús   ÃFÆF
c                 ó:  — t        j                  g d¢g d¢gddg¬«      }t        dgdz  dgdz  d	œ|¬
«      }|j                  d«      }t        g d¢g d¢g d¢gt        j                  g d¢d dg¬«      t        g d¢d¬«      ¬«      }t        j                  ||«       y )N©r3   r4   r‘   ©r5   r6   r2   rv   ry   ©rh   r5   é	   r6   ©rš   Úer:   )r5   r5   r5   r6   r6   r6   )©rš   r3   ©rš   r4   )rš   r‘   ©r©   r3   ©r©   r4   )r©   r‘   ©rb   ©r9   r8   )r   r<   r   r"   rd   r   r#   r$   ©r&   Úidxr(   r?   r@   s        r   Ú$test_unstack_tuplename_in_multiindexz9TestDataFrameReshape.test_unstack_tuplename_in_multiindex  sŸ   € ä×%Ñ%ÚšiÐ(°¸ZÐ0Hô
ˆô ˜a˜S 1™W¨A¨3°©7Ñ3¸3Ô?ˆØ—‘˜JÓ'ˆäÚÒ!3Ò5GÐHÜ×*Ñ*òð ˜ZÐ(ô
ô š	¨
Ô3ô
ˆô 	×Ñ˜f hÕ/r   z>unstack_idx, expected_values, expected_index, expected_columnsrv   )r5   r5   r6   r6   ))r5   r2   )r5   rD   ©r6   r2   )r6   rD   rx   ÚCr¦   )rª   r«   r¬   r­   N)rv   rx   )r5   r5   r5   r5   r6   r6   r6   r6   r2   rD   r®   ))rš   r3   r5   )rš   r3   r6   )rš   r4   r5   )rš   r4   r6   )r©   r3   r5   )r©   r3   r6   )r©   r4   r5   )r©   r4   r6   )Nrv   rx   c                 óâ   — t        j                  ddgddgddggg d¢¬«      }t        dgd	z  dgd	z  d
œ|¬«      }|j                  |«      }t        |||¬«      }t	        j
                  ||«       y )Nr3   r4   r5   r6   r2   rD   )rv   rx   r´   r¦   rs   r¨   r:   r¯   )r   r<   r   r"   r#   r$   )	r&   Úunstack_idxÚexpected_valuesÚexpected_indexÚexpected_columnsr±   r(   r?   r@   s	            r   Ú*test_unstack_mixed_type_name_in_multiindexz?TestDataFrameReshape.test_unstack_mixed_type_name_in_multiindex1  s   € ôL ×%Ñ%Ø�3ˆZ˜!˜Q˜ ! Q Ð(Ò0Fô
ˆô ˜a˜S 1™W¨A¨3°©7Ñ3¸3Ô?ˆØ—‘˜KÓ(ˆäØÐ%5¸^ô
ˆô 	×Ñ˜f hÕ/r   c                 óè  — t        g d¢g d¢t        g d¢«      j                  d«      t        j                  j                  d«      j	                  d«      ddt        j                  d«      t        g d	¢«      j                  d
«      t        g d¢«      j                  d«      dt        g d¢«      j                  d«      dœ«      }d„ }|j                  ddg«      } ||d«       |j                  ddg«      } ||d«       |j                  ddg«      } ||d«       |j                  g d¢«      } ||d«       |j                  ddg«      } ||d«       |j                  ddg«      }|d   } ||d«       y )N)ÚILÚMIÚNCr¤   r’   r6   r2   r5   r   Ú20010102)ç      ð?ç      I@g      Y@Úfloat32)rC   ç      @ç      @r|   F)r5   éÈ   i2 Úint8)Ústater8   Úsome_categoriesrw   rx   r´   ÚDÚEÚFÚGÚHc                 óv   — | j                  |g«      }| j                  |«      }t        j                  ||«       y r   ©r"   r#   r$   )r(   Úcolumn_nameÚ
unstacked1Ú
unstacked2s       r   Úunstack_and_comparezNTestDataFrameReshape.test_unstack_preserve_dtypes.<locals>.unstack_and_comparet  s0   € ØŸ™ [ MÓ2ˆJØŸ™ KÓ0ˆJÜ×!Ñ! *¨jÕ9r   rÇ   r8   rÈ   rË   r´   )rÌ   rx   rÇ   rx   rÊ   rw   )	r   r
   ri   r   ÚrandomÚdefault_rngr„   Ú	Timestamprf   )r&   r(   rÓ   Údf1rn   s        r   Útest_unstack_preserve_dtypesz1TestDataFrameReshape.test_unstack_preserve_dtypesb  sQ  € äâ+Ú(Ü#)ª/Ó#:×#AÑ#AÀ*Ó#MÜ—Y‘Y×*Ñ*¨1Ó-×4Ñ4°QÓ7ØØÜ—\‘\ *Ó-ÜÒ.Ó/×6Ñ6°yÓAÜšOÓ,×3Ñ3°IÓ>ØÜÒ,Ó-×4Ñ4°VÓ<ñó
ˆò 	:ð
 �l‰l˜G WÐ-Ó.ˆÙ˜C Ô)à�l‰l˜GÐ%6Ð7Ó8ˆÙ˜CÐ!2Ô3à�l‰l˜C ˜:Ó&ˆÙ˜C Ô%à�l‰lÒ.Ó/ˆÙ˜C Ô%à�l‰l˜C ˜:Ó&ˆÙ˜C Ô%à�l‰l˜G WÐ-Ó.ˆØ�‰HˆÙ˜A˜wÕ'r   c           	      ó$  — t        j                  t        t        j                  t        d«      d¬«      «      «      }t        t        j                  j                  d«      j                  d«      |¬«      }t        j                  |j                  ddg|¬«      |j                  d|¬«      j                  d|¬«      «       t        j                  |j                  dd	g|¬«      |j                  d|¬«      j                  d|¬«      «       |j                  «       }|j                  j!                  t        d«      d
¬«      }|�J ‚t        j                  |j                  ddg|¬«      |j                  d|¬«      j                  d|¬«      «       y )Nr2   ©Úrepeatr6   )é   é   ©r9   r5   ©Úlevelr   éþÿÿÿrV   T)Úinplace)r   rd   rz   Ú	itertoolsÚproductr;   r   r   rÔ   rÕ   Ústandard_normalr#   r$   r!   r   r9   Ú	set_names)r&   r   r9   r(   Údf_namedÚreturn_values         r   Útest_stack_intsz$TestDataFrameReshape.test_stack_intsŒ  sf  € ô ×(Ñ(¬¬i×.?Ñ.?ÄÀaÃÐQRÔ.SÓ)TÓUˆÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°XÓ>Èô
ˆô 	×ÑØ�H‰H˜A˜q˜6°ˆHÓ=Ø�H‰H˜1¨<ˆHÓ8×>Ñ>Ø lð ?ó ô	
ô 	×ÑØ�H‰H˜B ˜8°,ˆHÓ?Ø�H‰H˜1¨<ˆHÓ8×>Ñ>Ø lð ?ó ô	
ð —7‘7“9ˆØ×'Ñ'×1Ñ1´%¸³(ÀDÐ1ÓIˆØÐ#Ð#Ð#ä
×ÑØ�N‰N ! Q °lˆNÓCØ�N‰N °ˆNÓ>×DÑDØ lð Eó õ	
r   c                 ó  — t        j                  g d¢g d¢¬«      }t        t        j                  j                  d«      j                  d«      |¬«      }|j                  ddg|¬	«      }|j                  d
dg|¬	«      }|j                  «       }g d¢|j                  _
        t        j                  |j                  ddg|¬	«      |d¬«       t        j                  |j                  d
dg|¬	«      |d¬«       d}t        j                  t        |¬«      5  |j                  ddg|¬	«       d d d «       |j                  «       }g d¢|j                  _
        t        j                  |j                  ddg|¬	«      |d¬«       y # 1 sw Y   ŒXxY w)N©)rw   ÚcatÚlong)rx   rì   rí   )rw   ÚdogÚshort)rx   rî   rï   ©ÚexpÚanimalÚhair_lengthr¦   r6   ©rD   rD   rÞ   rò   ró   rß   rñ   )rñ   rò   r5   r5   F©Úcheck_nameszSlevel should contain all level names or all level numbers, not a mixture of the twor˜   r   )rñ   rò   r   )r   rd   r   r   rÔ   rÕ   rå   r!   r   r9   rh   r#   r$   rž   rŸ   Ú
ValueError)	r&   r   r9   r(   Úanimal_hair_stackedÚexp_hair_stackedrM   r¡   Údf3s	            r   Útest_stack_mixed_levelsz,TestDataFrameReshape.test_stack_mixed_levels­  s|  € ô ×(Ñ(òò 3ô
ˆô Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Àgô
ˆð !Ÿh™hØ˜]Ð+¸,ð 'ó 
Ðð Ÿ8™8Ø˜-Ð(°|ð $ó 
Ðð �g‰g‹iˆÚ0ˆ�‰ÔÜ
×ÑØ�I‰I˜X q˜M¸ˆIÓEØØõ	
ô
 	×ÑØ�I‰I˜U A˜J°\ˆIÓBØØõ	
ð#ð 	ô �]‰]œ:¨SÔ1ñ 	FØ�I‰I˜X q˜M¸ˆIÔE÷	Fð
 �g‰g‹iˆÚ0ˆ�‰ÔÜ
×ÑØ�I‰I˜X q˜M¸ˆIÓEØØö	
÷	Fð 	Fús   ÄFÆFc                 óº  — t        j                  g d¢g d¢¬«      }t        t        j                  j                  d«      j                  d«      |¬«      }|j                  ddg|¬	«      }|j                  dd
g|¬	«      }|j                  dd
g|¬	«      }|j                  «       }g d¢|j                  _
        t        j                  |j                  ddg|¬	«      |d¬«       t        j                  |j                  ddg|¬	«      |d¬«       t        j                  |j                  ddg|¬	«      |d¬«       |j                  «       }g d¢|j                  _
        t        j                  |j                  ddg|¬	«      |d¬«       t        j                  |j                  ddg|¬	«      |d¬«       t        j                  |j                  ddg|¬	«      |d¬«       y )Nrë   rð   r¦   r6   rô   rÞ   rñ   rò   rß   ró   r`   r5   Frõ   r   )r6   r   r5   )r   rd   r   r   rÔ   rÕ   rå   r!   r   r9   rh   r#   r$   )	r&   r   r9   r(   Úexp_animal_stackedrø   rù   rM   rú   s	            r   Útest_stack_int_level_namesz/TestDataFrameReshape.test_stack_int_level_namesè  sÓ  € ô ×(Ñ(òò 3ô
ˆô Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Àgô
ˆð  ŸX™XØ˜(Ð#°,ð &ó 
Ðð !Ÿh™hØ˜]Ð+¸,ð 'ó 
Ðð Ÿ8™8Ø˜-Ð(°|ð $ó 
Ðð �g‰g‹iˆÚ%ˆ�‰ÔÜ
×ÑØ�I‰I˜Q ˜F°ˆIÓ>ØØõ	
ô
 	×ÑØ�I‰I˜Q ˜F°ˆIÓ>ØØõ	
ô
 	×ÑØ�I‰I˜Q ˜F°ˆIÓ>ØØõ	
ð �g‰g‹iˆÚ%ˆ�‰ÔÜ
×ÑØ�I‰I˜Q ˜F°ˆIÓ>ØØõ	
ô
 	×ÑØ�I‰I˜Q ˜F°ˆIÓ>ØØõ	
ô
 	×ÑØ�I‰I˜Q ˜F°ˆIÓ>ØØö	
r   c           	      ól  — t        ddgt        j                  ddgddgg«      dg¬«      }|j                  «       }t        t	        j
                  dt        j                  gt        j                  dggt        ¬«      ddgt        j                  ddgddgg«      ¬«      }t        j                  ||«       y )	NFr3   r4   r‘   ÚlÚcolr7   rR   )
r   r   Úfrom_arraysr"   r   ÚarrayrH   Úobjectr#   r$   )r&   r(   ÚrsÚxps       r   Útest_unstack_boolz&TestDataFrameReshape.test_unstack_bool(  s¡   € ÜØ�EˆNÜ×(Ñ(¨3°¨*°s¸C°jÐ)AÓBØ�Gô
ˆð
 �Z‰Z‹\ˆÜÜ�H‰H�uœbŸf™f�o¬¯©° Ð7¼vÔFØ˜�*Ü×*Ñ*¨U°E¨N¸SÀ#¸JÐ+GÓHô
ˆô
 	×Ñ˜b "Õ%r   c           	      ó  — t        ddgddgddggg d¢g d¢g d	¢gg d
¢¬«      }t        d|¬«      }|j                  ddg«      j                  d|¬«      }t        ddgddggg d¢g d¢gddg¬«      }t	        t        j                  dt
        j                  gt
        j                  dgdt
        j                  gt
        j                  dggt
        j                  ¬«      |t        ddgd¬«      ¬«      }t        j                  ||«       y )Nr   r   ÚoneÚtwor3   r4   ©r   r   r5   r5   ©r   r5   r   r5   )r5   r   r5   r   )ÚfirstÚsecondÚthird©r>   Úcodesrh   r   r:   r5   r6   r   r  r  rR   r  r®   r7   )r   r
   r"   r!   r   r   r  rH   r|   r   r#   r$   )r&   r   Úmirn   r?   Úexpected_mir@   s          r   Útest_unstack_level_bindingz/TestDataFrameReshape.test_unstack_level_binding6  sú   € ô
 Ø˜E�N U¨E N°S¸#°JÐ?Ú¢ª|Ð<Ú.ô
ˆô
 �1˜BÔˆØ—‘˜A˜q˜6Ó"×(Ñ(¨¸Ð(ÓFˆä Ø˜E�N U¨E NÐ3Ú¢Ð.Ø˜HÐ%ô
ˆô Ü�H‰HØ”R—V‘V�œrŸv™v q˜k¨A¬r¯v©v¨;¼¿¹À¸ÐDÌBÏJÉJôð Ü˜3 ˜*¨7Ô3ô
ˆô 	×Ñ˜f hÕ/r   c                 ó”  — |j                  «       }t        |t        «      sJ ‚|j                  «       j                  }t	        j
                  ||«       t        ddt        j                  gddt        j                  gdœ«      }t        g d¢«      |_
        |j                  «       }t        ddgg d¢gg d	¢g d
¢g¬«      }t        ddt        j                  ddt        j                  g|¬«      }t	        j                  ||«       |j                  «       }t        d«      D ]  }|j                  «       }Œ t	        j
                  ||«       y )Nr5   r6   rC   rD   rE   r¤   rF   rG   )r   r   r   r5   r5   r5   )r   r5   r6   r   r5   r6   ©r>   r  r2   r:   )r"   Ú
isinstancer
   r%   r#   r$   r   r   rH   r   r8   r   r=   r   r;   )	r&   r'   rl   Úundor?   Úmidxr@   Úold_dataÚ_s	            r   Útest_unstack_to_seriesz+TestDataFrameReshape.test_unstack_to_seriesS  s  € à×"Ñ"Ó$ˆä˜$¤Ô'Ð'Ð'Ø�|‰|‹~×ÑˆÜ
×Ñ˜d KÔ0ô   1¤b§f¡f˜~°S¸!¼R¿V¹VÐ4DÑEÓFˆÜš?Ó+ˆŒ
Ø—‘“ˆäØ˜#�J¢Ð0Ú%Ò'9Ð:ô
ˆô ˜1˜a¤§¡¨¨A¬r¯v©vÐ6¸dÔCˆä
×Ñ˜v xÔ0ð —9‘9“;ˆÜ�q“ò 	"ˆAØ—<‘<“>‰Dð	"ä
×Ñ˜h¨Õ-r   c                 ój  — g d¢g d¢g d¢g d¢g}t        |t        d«      ¬«      }|j                  }t        t	        j
                  d«      gdz  t        d«      ¬	«      }t        j                  ||«       |j                  d
dg«      }|j                  d«      }|j                  }t        t	        j
                  d«      gdz  t        j                  g d¢g d¢gd¬«      ¬	«      }t        j                  ||«       |j                  d
dg«      }d|d<   |j                  d«      }|j                  }t        t	        j
                  d«      gdz  t	        j
                  d«      gdz  z   t        j                  g d¢g d¢gd¬«      ¬	«      }t        j                  ||«       d|d<   |j                  d«      }|j                  }|rdnt	        j
                  d«      }t        t	        j
                  d«      gdz  |gdz  z   t        j                  g d¢g d¢gd¬«      ¬	«      }t        j                  ||«       y )N)r5   r5   r2   rD   ©r5   r6   r2   rD   )r6   r5   r2   rD   )r6   r6   r2   rD   ÚABCDrÞ   rj   rD   r:   rw   rx   )r´   r´   rÉ   rÉ   )r5   r6   r5   r6   )Nrx   r¦   rC   r´   r|   r6   r   rÉ   Ústringr  )r   rz   Údtypesr
   r   rS   r#   r=   rf   r"   r   r  )	r&   Úusing_infer_stringr}   r(   r?   r@   rM   rú   rS   s	            r   Útest_unstack_dtypesz(TestDataFrameReshape.test_unstack_dtypesn  sä  € âšlªLº,ÐGˆä�t¤T¨&£\Ô2ˆØ—‘ˆÜœ2Ÿ8™8 GÓ,Ð-°Ñ1¼¸f»ÔFˆÜ
×Ñ˜v xÔ0ð �l‰l˜C ˜:Ó&ˆØ�k‰k˜#ÓˆØ—‘ˆÜÜ�X‰X�gÓÐ !Ñ#Ü×(Ñ(Ú%¢|Ð4¸Kôô
ˆô 	×Ñ˜v xÔ0ð �l‰l˜C ˜:Ó&ˆØˆˆC‰Ø�k‰k˜#ÓˆØ—‘ˆÜÜ�X‰X�iÓ Ð! AÑ%¬¯©°'Ó):Ð(;¸aÑ(?Ñ?Ü×(Ñ(Ú%¢|Ð4¸Kôô
ˆô 	×Ñ˜v xÔ0ØˆˆC‰Ø�k‰k˜#ÓˆØ—‘ˆÙ.‘´B·H±H¸XÓ4FˆÜÜ�X‰X�iÓ Ð! AÑ%¨¨°!©Ñ3Ü×(Ñ(Ú%¢|Ð4¸Kôô
ˆô 	×Ñ˜v xÕ0r   zc, drQ   Úf8rR   é
   c           	      óÐ  — t        dgdz  ||t        dd¬«      dœ«      }|j                  d d j                  d¬«      }|j	                  d	d
g«      }|d   j                  d«      |d<   |j                  d d j                  d«      }|j	                  d	d
g«      j                  d«      }|d   j                  d«      |d<   |j                  dk(  sJ ‚t        j                  ||«       y )Nr3   rQ   r€   r�   )rw   r´   rÉ   rx   r2   T)Údeeprw   rx   rÉ   rj   r   )rÉ   r3   )r2   r6   )
r   r   Úilocr   rf   ri   r"   r    r#   r$   )r&   r‘   rš   r(   ÚrightÚlefts         r   Útest_unstack_dtypes_mixed_datez3TestDataFrameReshape.test_unstack_dtypes_mixed_date›  sæ   € ô à�U˜Q‘YØØÜ °aÔ8ñ	ó
ˆð —‘˜˜�× Ñ  dÐ Ó+ˆà�\‰\˜3 ˜*Ó%ˆØ�S‘'—.‘. Ó)ˆˆ3‰à�w‰w�r˜ˆ{×"Ñ" 1Ó%ˆØ—‘  c 
Ó+×3Ñ3°AÓ6ˆØ! *Ñ-×4Ñ4°WÓ=ˆˆjÑà�z‰z˜VÒ#Ð#Ð#Ü
×Ñ˜d EÕ*r   c                 óx  — t        j                  ddgddg¬«      }t        ddg|¬«      }d}t        j                  t
        |¬	«      5  |j                  d«       d d d «       t        j                  t
        |¬	«      5  |j                  j                  d|¬
«       d d d «       y # 1 sw Y   ŒKxY w# 1 sw Y   y xY w)NrY   )r‘   rš   Úc1r¦   r5   r6   r:   z5The name c1 occurs multiple times, use a level numberr˜   r   )	r   rd   r   rž   rŸ   r÷   r"   r%   r!   )r&   r   r±   r(   r¡   s        r   Ú#test_unstack_non_unique_index_namesz8TestDataFrameReshape.test_unstack_non_unique_index_names¹  s¡   € ô ×$Ñ$ j°*Ð%=ÀdÈDÀ\ÔRˆÜ˜˜1�v SÔ)ˆØEˆÜ�]‰]œ:¨SÔ1ñ 	Ø�J‰J�tÔ÷	ô �]‰]œ:¨SÔ1ñ 	8Ø�D‰D�J‰J�t¨,ˆJÔ7÷	8ð 	8÷	ð 	ú÷	8ð 	8ús   ÁB$Á=B0Â$B-Â0B9c                 ó`  — t        j                  dgg d¢g«      d d }t        ddggdz  |¬«      }|j                  «       }t        j                  ddgg d¢g«      }t        g d	¢gdg|¬
«      }t	        j
                  ||«       |j                  j                  d   |j                  d   k(  j                  «       sJ ‚g d¢g d¢g}g d¢g d¢g}t        ||«      }t        j                  d«      j                  dd«      }t        t        j                  ||dz   g«      |¬«      }|j                  «       }t        t        j                  |dz  |dz  dz   gd¬«      |¬«      }t	        j
                  ||«       |j                  j                  d   |j                  d   k(  j                  «       sJ ‚y )Nr3   )rw   rx   r´   rÉ   rV   r5   r   r2   r:   ©rw   rx   r´   )r5   r5   r5   r   r   r   r7   )r   r5   rr   ©r   r5   r6   r2   r  ©r   r6   r   r6   rD   r6   ©ÚaxisrÞ   )r   r<   r   r"   r#   r$   r9   r>   Úallr   r   r   Úconcatenate)	r&   r±   r(   r?   Úexp_colr@   r>   r  Úblocks	            r   Útest_unstack_unused_levelsz/TestDataFrameReshape.test_unstack_unused_levelsÆ  s}  € ä×%Ñ%¨ uÒ.BÐ&CÓDÀSÀbÐIˆÜ˜˜A˜�x !‘|¨3Ô/ˆà—‘“ˆÜ×)Ñ)¨A¨q¨6²?Ð*CÓDˆÜÒ0Ð1¸#¸ÈÔPˆÜ
×Ñ˜f hÔ/Ø—‘×%Ñ% aÑ(¨C¯J©J°q©MÑ9×>Ñ>Ô@Ð@Ð@ò š\Ð*ˆÚš|Ð,ˆÜ˜ Ó'ˆÜ—	‘	˜!“×$Ñ$ Q¨Ó*ˆÜ”r—~‘~ u¨e°a©iÐ&8Ó9ÀÔEˆØ—‘“ˆÜÜ�N‰N˜E A™I u¨q¡y°1¡}Ð5¸AÔ>Èô
ˆô 	×Ñ˜f hÔ/Ø—‘×%Ñ% aÑ(¨C¯J©J°q©MÑ9×>Ñ>Ô@Ð@Ñ@r   z"level, idces, col_level, idx_levelr   )é   é   rq   r§   r6   rQ   rs   é   r3   r6   r5   )rs   r<  r5   rD   é   é   r:  r;  c                 ó´  — g d¢g d¢g}g d¢g d¢g}t        ||«      }t        j                  d«      }t        |j	                  dd«      |¬«      }	|	j                  |¬	«      }
t        j                  d
«      t        j                  z  }|||<   t        j                  ddg|g«      }t        |j	                  dd«      ||¬«      }t        j                  |
|«       y )N)r3   r6   r‘   )r5   r2   rQ   rr   )r   rV   r5   r5   )r   r6   rV   r6   rs   rD   r6   r:   ©rà   é   r   r5   r2   rq   r7   )r   r   r   r   r   r"   ÚzerosrH   r<   r#   r$   )r&   rà   ÚidcesÚ	col_levelÚ	idx_levelr>   r  r±   rl   r(   r?   Úexp_dataÚcolsr@   s                 r   Ú)test_unstack_unused_levels_mixed_with_nanz>TestDataFrameReshape.test_unstack_unused_levels_mixed_with_nanÞ  s»   € ò  ¢Ð.ˆÚ¢Ð.ˆÜ˜ Ó'ˆÜ�y‰y˜‹|ˆÜ�t—|‘| A qÓ)°Ô5ˆà—‘ %�Ó(ˆÜ—8‘8˜B“<¤"§&¡&Ñ(ˆØˆ�‰Ü×&Ñ&¨¨A¨°	Ð':Ó;ˆÜ˜X×-Ñ-¨a°Ó3¸9ÈdÔSˆÜ
×Ñ˜f hÕ/r   rG  rw   c                 ó¬  — t        g d¢g d¢gg d¢¬«      }|j                  g d¢d¬«      }|j                  t        d «      t        d «      df|f   }|j	                  «       }|j
                  dg   |   }t        j                  |j                  dggd d	g¬
«      |_        |j                  j                  d	«      |_	        t        j                  ||«       y )N)iÚ  r3   ÚI)iÛ  r4   ÚIIr0  rÞ   F)ÚdroprJ  r   r´   r¦   )r   rf   rk   Úslicer"   r(  r   r<   r9   r8   Ú	droplevelr#   r$   )r&   rG  r(   ÚindÚ	selectionr?   r@   s          r   Útest_unstack_unused_levelz.TestDataFrameReshape.test_unstack_unused_levelö  s¾   € ô Ò(Ò*;Ð<ÂoÔVˆà�l‰lš?°ˆlÓ7ˆØ—G‘GœU 4›[¬%°«+°sÐ;¸TÐAÑBˆ	Ø×"Ñ"Ó$ˆà—8‘8˜Q˜C‘= Ñ&ˆÜ%×2Ñ2Ø×Ñ ˜uÐ%¨d°C¨[ô
ˆÔð "Ÿ™×1Ñ1°#Ó6ˆŒÜ
×Ñ˜f hÕ/r   c           	      óF  — t        dggt        j                  dggdg¬«      t        j                  g d¢gg d¢¬«      ¬«      }|j                  g d¢«      }t        dggt        j                  g d¢gg d	¢¬«      t	        dgd
¬«      ¬«      }t        j                  ||«       y )Nr5   r   r-  r¦   )r   r   r5   r   r   r   r5   )Úi1Úi2Úi3Úi4Úi5Úi6Úi7r¯   )rT  rU  rV  rW  rX  rY  )r-  rT  rU  rV  rW  rX  rY  rS  r®   )r   r   rd   r"   r   r#   r$   ©r&   r(   r?   r@   s       r   Útest_unstack_long_indexz,TestDataFrameReshape.test_unstack_long_index  s›   € ô ØˆSˆEÜ×*Ñ*¨Q¨C¨5¸¸Ô?Ü×(Ñ(Ú&Ð'Ú@ôô
ˆð —‘Ò@ÓAˆÜØˆSˆEÜ×*Ñ*Ú&Ð'Ú@ôô ˜˜ $Ô'ô
ˆô 	×Ñ˜f hÕ/r   c           	      ó  — t        ddgddggt        j                  ddgddggddg¬«      t        j                  g d¢g d	¢gg d
¢¬«      ¬«      }|j                  ddg«      j                  j
                  dd  ddgk(  sJ ‚y )Nç        rx   r´   rÉ   r-  Úc2r¦   )r%  é   rÜ   )r%  r_  é(   ©rS  rT  rU  r¯   rT  rS  rá   )r   r   rd   r"   r9   rh   )r&   r(   s     r   Útest_unstack_multi_level_colsz2TestDataFrameReshape.test_unstack_multi_level_cols  s�   € äØ�3ˆZ˜#˜s˜Ð$Ü×*Ñ*Ø�s�˜c 3˜ZÐ(°°t°ôô ×(Ñ(Úš|Ð,Ò4Fôô
ˆð �z‰z˜4 ˜,Ó'×/Ñ/×5Ñ5°b°cÐ:¸tÀT¸lÒJÐJÑJr   c                 óF  — t        ddgddgddgddggt        j                  g d	¢g d
¢g«      t        j                  g d¢g d¢g d¢g d¢gg d¢¬«      ¬«      }|j                  ddg«      }|j                  dg«      j                  dg«      }t	        j
                  ||«       y )Nr5   r6   r2   rD   rV   rá   éýÿÿÿéüÿÿÿr¤   )rš   r©   Úf)Úm1ÚP3éÞ   )rg  ÚA5éo   )Úm2rh  ri  )rl  rj  rk  ra  r¦   r¯   rU  rT  )r   r   rd   r"   r#   r$   rZ  s       r   Ú&test_unstack_multi_level_rows_and_colsz;TestDataFrameReshape.test_unstack_multi_level_rows_and_cols)  s    € äØ�ˆV�a˜�V˜b "˜X¨¨B xÐ0Ü×*Ñ*ªOº_Ð+MÓNÜ×(Ñ(â%Ú%Ú%Ú%ð	ò )ôô
ˆð —‘˜T 4˜LÓ)ˆØ—:‘:˜t˜fÓ%×-Ñ-¨t¨fÓ5ˆÜ
×Ñ˜f hÕ/r   r±   ©ÚjimÚjoe)rp  ro  Úlevc                 ód  — d„ }t        ddt        j                  dgg d¢g d¢dœ«      }|j                  dd	g«      j	                  «       d
   }|j                  d	dg«      j	                  «       d
   j
                  }t        j                  ||«       |j                  t        |«      «      }|j	                  |¬«      }|j                  «       j                  j                  «       t        |«      k(  sJ ‚d„ }	|d
   j                  «       j                  j                  «       \  }
}t        |
|«      D ]~  \  }}t        |d
   j                   ||f   j#                  d«      «      } |	|d
   j$                  |   «       |	|d
   j&                  |   «      z   }t        t)        ||«      «      }||k(  rŒ~J ‚ y )Nc                 ó   — | | k7  rdn| }|d›S ©NÚ Ú1© ©ÚvalÚval_strs     r   Úcastz:TestDataFrameReshape.test_unstack_nan_index1.<locals>.cast@  ó   € Ø 3šJ‘b¨CˆGØ˜a�[Ð!r   r3   r4   rš   )ra   rF   rG   rU   )za.wzb.xz .yzd.z)ro  rp  Újoliero  rp  r}  r@  c                 ó>   — t        | t        «      rt        | «      S | gS r   ©r  Útuplerz   ©r3   s    r   ú<lambda>z>TestDataFrameReshape.test_unstack_nan_index1.<locals>.<lambda>S  ó   € ¤z°!´UÔ';œD ›G€ À!À€ r   ú.)r   r   rH   rf   r"   r%   r#   r$   rz   Únotnarƒ   ÚsumrI   ÚnonzeroÚzipÚsortedr(  Úsplitr8   r9   Úmap)r&   r±   rq  r{  r(   r*  r)  r  ÚudfÚmk_listr}   rG  rŠ   r^   s                 r   Útest_unstack_nan_index1z,TestDataFrameReshape.test_unstack_nan_index1<  sŠ  € ò	"ô à˜S¤"§&¡&¨#Ð.Ú+Ú5ñó
ˆð �|‰|˜U E˜NÓ+×3Ñ3Ó5°gÑ>ˆØ—‘˜e U˜^Ó,×4Ñ4Ó6°wÑ?×AÑAˆÜ
×Ñ˜d EÔ*à�\‰\œ$˜s›)Ó$ˆØ�j‰j˜sˆjÓ#ˆØ�y‰y‹{×!Ñ!×%Ñ%Ó'¬3¨r«7Ò2Ð2Ð2ÙDˆØ˜‘\×'Ñ'Ó)×0Ñ0×8Ñ8Ó:‰
ˆˆdÜ˜˜d“Oò 	!‰DˆAˆqÜ˜#˜g™,×+Ñ+¨A¨q¨DÑ1×7Ñ7¸Ó<Ó=ˆDÙ˜C ™L×.Ñ.¨qÑ1Ó2±W¸SÀ¹\×=QÑ=QÐRSÑ=TÓ5UÑUˆEÜœ3˜t UÓ+Ó,ˆEØ˜5“=Ð �=ñ		!r   ©Ú1stÚ2ndÚ3rdr  Ú4thÚ5thc                 óô  ‡— d„ Št        dgdz  t        j                  gdz  z   dgdz  z   dgdz  z   dgdz  z   d	gdz  z   d
gdz  dgdz  z   t        j                  gdz  z   dgdz  z   t        j                  gdz  z   dgdz  z   t        j                  gdz  z   g d¢dœ«      }|j                  ˆfd„d¬«      |j                  ˆfd„d¬«      c|d<   |d<   |j	                  t        |«      «      }|j                  |¬«      }|j                  «       j                  j                  «       dt        |«      z  k(  sJ ‚d„ }||   j                  «       j                  j                  «       \  }}	t        ||	«      D ]~  \  }
}t        ||   j                  |
|f   j                  d«      «      } |||   j                   |
   «       |||   j"                  |   «      z   }t        t%        ‰|«      «      }||k(  rŒ~J ‚ y )Nc                 ó   — | | k7  rdn| }|d›S rt  rw  rx  s     r   r{  zATestDataFrameReshape.test_unstack_nan_index_repeats.<locals>.cast_  r|  r   rš   r2   rQ   r3   r6   r‘   r©   r4   rG   ra   rU   rD   rF   )éC   é'   é5   éH   é9   éP   é   rA  r<  rÜ   é;   é2   é>   rž  éL   é4   é   r™  é<   é3   r�  c                 ó:   •— dj                  t        ‰| «      «      S )Nr„  )Újoinr‹  ©Úrr{  s    €r   r‚  zETestDataFrameReshape.test_unstack_nan_index_repeats.<locals>.<lambda>Œ  s   ø€ ˜sŸx™x¬¨D°!«Ó5€ r   r5   r3  c           	      óZ   •— dj                  t        ‰| j                  d d d…   «      «      S )Nr„  rV   )r§  r‹  r(  r¨  s    €r   r‚  zETestDataFrameReshape.test_unstack_nan_index_repeats.<locals>.<lambda>�  s#   ø€ ˜sŸx™x¬¨D°!·&±&¹¸2¸±,Ó(?Ó@€ r   r“  r”  r@  c                 ó>   — t        | t        «      rt        | «      S | gS r   r  r�  s    r   r‚  zETestDataFrameReshape.test_unstack_nan_index_repeats.<locals>.<lambda>“  rƒ  r   r„  )r   r   rH   Úapplyrf   rz   r"   r…  rƒ   r†  rI   r‡  rˆ  r‰  r(  rŠ  r8   r9   r‹  )r&   r±   rq  r  r(   r  rŒ  r�  r}   rG  rŠ   r^   r*  r)  r{  s                 @r   Útest_unstack_nan_index_repeatsz3TestDataFrameReshape.test_unstack_nan_index_repeats[  s#  ø€ ò	"ô à�u˜q‘yÜ—6‘6�(˜Q‘,ñà�%˜!‘)ñð �%˜!‘)ñð �%˜!‘)ñ	ð
 �%˜!‘)ñð �u˜q‘yØ�%˜!‘)ñä—6‘6�(˜Q‘,ñð �%˜!‘)ñô —6‘6�(˜Q‘,ñ	ð
 �%˜!‘)ñô —6‘6�(˜Q‘,ñòñ$ó&
ˆðR �H‰HÓ5¸AˆHÓ>Ø�H‰HÓ@ÀqˆHÓIð 	ˆˆ5‰	�2�e‘9ð
 �\‰\œ$˜s›)Ó$ˆØ�j‰j˜sˆjÓ#ˆØ�y‰y‹{×!Ñ!×%Ñ%Ó'¨1¬s°2«w©;Ò6Ð6Ð6ÙDˆØ˜‘X—^‘^Ó%×,Ñ,×4Ñ4Ó6‰
ˆˆdÜ˜˜d“Oò 	!‰DˆAˆqÜ˜#˜c™(Ÿ-™-¨¨1¨Ñ-×3Ñ3°CÓ8Ó9ˆDÙ˜C ™HŸN™N¨1Ñ-Ó.±¸¸S¹×9IÑ9IÈ!Ñ9LÓ1MÑMˆEÜœ3˜t UÓ+Ó,ˆEØ˜5“=Ð �=ñ		!r   c           
      óV  — t        t        d«      t        d«      t        d«      dœ«      }|j                  ddi«      }t        j
                  |j                  d<   |j                  ddg«      j                  d«      }d	dd
dt        j
                  t        j
                  t        j
                  t        j
                  gt        j
                  t        j
                  t        j
                  t        j
                  ddddgg}t        t        t        t        |Ž «      «      }t        t        j
                  dd
dddddgd¬«      }t        dgddggddgdd
ggd dg¬«      }t        |||¬«      }t        j                  ||«       t        t        d«      t        t        d«      «      dz  t        d«      dœ«      }|j                  ddi«      }t        j
                  |j                  d<   |j                  ddg«      j                  d«      }dt        j
                  gddgd
dgt        j
                  dgd	dgg}t        dgddggddgdd
ggd dg¬«      }t        t        j
                  dd
dd	gd¬«      }t        |||¬«      }t        j                  ||«       t        t        d«      t        t        d«      «      dz  t        d«      dœ«      }|j                  ddi«      }t        j
                  |j                  d<   |j                  ddg«      j                  d«      }d	t        j
                  gddgd
dgddgt        j
                  dgg}t        dgddggddgdd
ggd dg¬«      }t        t        j
                  dd
dd	gd¬«      }t        |||¬«      }t        j                  ||«       y )NÚaaaabbbbrs   r0  rx   re   ©r2   r5   rw   r   r2   r5   r6   rD   rQ   rq   rr   r®   r´   r3   r4   r  r¯   )r6   r5   )r   rz   r;   ri   r   rH   r(  rf   r"   r‹  rˆ  r   r   r#   r$   )r&   r(   r*  Úvalsr±   rG  r)  s          r   Útest_unstack_nan_index2z,TestDataFrameReshape.test_unstack_nan_index2›  s.  € äœT *Ó-´E¸!³HÄ5ÈÃ8ÑLÓMˆà�Y‰Y˜˜W�~Ó&ˆÜŸ™ˆ�‰�‰Ø�|‰|˜S #˜JÓ'×/Ñ/°Ó2ˆð ��1�aœŸ™¤§¡¬¯©´·±Ð8Ü�V‰V”R—V‘VœRŸV™V¤R§V¡V¨Q°°1°aÐ8ð
ˆô ”Cœœc 4˜jÓ)Ó*ˆÜ”R—V‘V˜Q  1 a¨¨A¨qÐ1¸Ô<ˆÜØ�E˜C ˜:Ð&°°1¨v¸¸1°vÐ.>ÀtÈSÀkô
ˆô ˜$¨°CÔ8ˆÜ
×Ñ˜d EÔ*äœT *Ó-´D¼¸q»³NÀQÑ4FÌUÐSTËXÑVÓWˆà�Y‰Y˜˜W�~Ó&ˆÜŸ™ˆ�‰�‰Ø�|‰|˜S #˜JÓ'×/Ñ/°Ó2ˆà”B—F‘F�˜a ˜V a¨ V¬b¯f©f°a¨[¸1¸a¸&ÐAˆÜØ�E˜C ˜:Ð&°°1¨v¸¸1°vÐ.>ÀtÈSÀkô
ˆô ”R—V‘V˜Q  1 aÐ(¨sÔ3ˆÜ˜$¨°CÔ8ˆÜ
×Ñ˜d EÔ*äœT *Ó-´D¼¸q»³NÀQÑ4FÌUÐSTËXÑVÓWˆà�Y‰Y˜˜W�~Ó&ˆÜŸ™ˆ�‰�‰Ø�|‰|˜S #˜JÓ'×/Ñ/°Ó2ˆà”B—F‘F�˜a ˜V a¨ V¨a°¨V´b·f±f¸a°[ÐAˆÜØ�E˜C ˜:Ð&°°1¨v¸¸1°vÐ.>ÀtÈSÀkô
ˆô ”R—V‘V˜Q  1 aÐ(¨sÔ3ˆÜ˜$¨°CÔ8ˆÜ
×Ñ˜d EÕ*r   c           	      ó¨  — t        t        d«      t        dd¬«      j                  «       dz  t	        j
                  d«      dœ«      }t        j                  |j                  d<   |j                  d	d
g«      j                  «       }t	        j                  ddddt        j                  dgt        j                  dddddgg«      }t        ddgd	¬«      }t        dgt        dd¬«      gg d¢g d¢gd d
g¬«      }t        |||¬«      }|r5|j                  g d¢   }||   j                  |d   j                  «      ||<   t!        j"                  ||«       y )NÚ
aaaaabbbbbr€   rQ   r�   r6   r%  r0  r°  rw   rx   r2   r   r5   rD   rq   rr   rs   r§   r3   r4   r®   r´   )r   r   r   r   r   r   )rV   r   r5   r6   r2   rD   r  r¯   )r5   r6   r2   rQ   )r   rz   r   Útolistr   r   rH   r(  rf   r"   r  r   r   r9   ri   rS   r#   r$   )r&   rL   r(   r*  r±  r±   rG  r)  s           r   Útest_unstack_nan_index3z,TestDataFrameReshape.test_unstack_nan_index3Ì  s+  € ää˜,Ó'Ü  °qÔ9×@Ñ@ÓBÀQÑFÜ—Y‘Y˜r“]ñó
ˆô Ÿ™ˆ�‰�‰Ø�|‰|˜S #˜JÓ'×/Ñ/Ó1ˆä�x‰x˜!˜Q  1¤b§f¡f¨aÐ0´2·6±6¸1¸aÀÀAÀqÐ2IÐJÓKˆÜ�S˜#�J SÔ)ˆÜØ�Eœ: l¸AÔ>Ð?Ú%Ò':Ð;Ø˜�+ô
ˆô ˜$¨°CÔ8ˆÙà—=‘=¢Ñ.ˆDØ ™+×,Ñ,¨R°©W¯]©]Ó;ˆE�$‰KÜ
×Ñ˜d EÕ*r   c                 ó*  — dt         j                  t         j                  dgddt         j                  dgddt         j                  dgg d¢g d¢g d	¢g}t        |g d
¢g d¢¬«      }|j                  «       j	                  g d¢«      j                  «       }t         j                  t         j                  dt         j                  dgddt         j                  dt         j                  gg}t        ddgdggddgddggddg¬«      }t        dgg d¢gg d¢g d¢gd dg¬«      }t        |||¬«      }t        j                  ||«       |j                  dd  j                  «       j	                  g d¢«      }t        j                  |j                  «       |«       y )NÚHgi¼ç�(ÚUr]  ÚPbg¢	VÍZ§Ý>)ÚSnçº@¹ÕÂø>çÌ]KÈ=‹?é)=‘()ÚAgr]  r½  r¾  )r¸  ça2U0*©#¿r½  r¾  )ÚagentÚchangeÚdosageÚs_id)ioC  épC  iqC  irC  isC  itC  r¯   )rÄ  rÃ  rÁ  rÀ  r¼  r¾  r½  r   r5   rV   rÄ  rÃ  r  rÂ  )r¿  r¸  rº  r»  r¹  )r   r   r   r   r   ©r   r5   r6   r2   rD   rÁ  rÅ  )
r   rH   r   r   rf   r"   r   r#   r$   rk   )r&   r±  r(   r*  r±   rG  r)  s          r   Útest_unstack_nan_index4z,TestDataFrameReshape.test_unstack_nan_index4è  sk  € ð ”2—6‘6œ2Ÿ6™6 9Ð-Ø�#”r—v‘v˜yÐ)Ø�8œRŸV™V YÐ/Ú1Ú*Ú/ð
ˆô ØÚ9Ú<ô
ˆð �w‰w‹y×"Ñ"Ò#>Ó?×GÑGÓIˆô �V‰V”R—V‘V˜X¤r§v¡v¨sÐ3Ø�(œBŸF™F J´·±Ð7ð
ˆô
 Ø 	Ð*¨V¨HÐ5Ø�q�6˜B ˜7Ð#Ø˜8Ð$ô
ˆô Ø�JÒ =Ð>Ú"¢OÐ4Ø˜�/ô
ˆô ˜$¨°CÔ8ˆÜ
×Ñ˜d EÔ*à�v‰v�e�fˆ~×"Ñ"Ó$×.Ñ.Ò/JÓKˆÜ
×Ñ˜dŸl™l›n¨eÕ4r   c                 ó  — t        g d¢t        ddd¬«      dt        j                  d«      z   t        j                  j                  d«      j                  d«      dz  j                  d«      d	œ«      }|d
   t        j                  d«      z
  |d<   t        j                  x|j                  d<   |j                  d<   t        j                  x|j                  d<   |j                  d<   |j                  g d¢«      j                  d
dg«      }|j                  «       j                  j!                  «       dt#        |«      z  k(  sJ ‚dD ]A  }|j%                  «       D ],  \  }}|d   ||d
   |d   ff}||   |j                  |   k(  rŒ,J ‚ ŒC y )N)r5   r6   r5   r6   r5   r6   z
2014-02-01rq   rÉ   )r‚   Úfreqéd   r6   r%  )r�  r‘  ro  rp  r‘  z
2014-02-02r’  )r5   r‘  )r2   r‘  )r5   r’  )rD   r’  r�  rn  r�  )r   r   r   r   rÔ   rÕ   rå   Úroundr„   rÖ   rH   rk   rf   r"   r…  rƒ   r†  rI   Úiterrows)r&   r(   r*  r  r  r©  rm   s          r   Útest_unstack_nan_index5z,TestDataFrameReshape.test_unstack_nan_index5  sc  € äâ)Ü! ,¸ÀÔDØœRŸY™Y q›\Ñ)ÜŸ	™	×-Ñ-¨aÓ0×@Ñ@ÀÓCÀbÑH×OÑOÐPQÓRñ	ó
ˆð �u‘I¤§¡¨\Ó :Ñ:ˆˆ5‰	Ü.0¯f©fÐ4ˆ�‰ˆxÑ˜2Ÿ6™6 (Ñ+Ü.0¯f©fÐ4ˆ�‰ˆxÑ˜2Ÿ6™6 (Ñ+à�|‰|Ò1Ó2×:Ñ:¸EÀ5¸>ÓJˆØ�z‰z‹|×"Ñ"×&Ñ&Ó(¨A´°B³©KÒ7Ð7Ð7à!ò 	/ˆCØŸ™›ò /‘��1Ø˜‘h  a¨¡h°°%±Ð 9Ð9�Ø˜‘v §¡¨#¡Ó.Ð.Ð.ñ/ñ	/r   c                 ó¨  — t        ddd«      }t        g d¢t        j                  |ddfg«      ¬«      }|rd nt        }d}t        j                  ||¬«      5  |j                  |¬	«      }d d d «       t        j                  d
dg«      }t        j                  |dfg«      }t        g d¢||¬«      }	t        j                  |	«       y # 1 sw Y   Œ_xY w)NiÞ  r5   r  rw   rx   rÞ   z2The previous implementation of stack is deprecatedr˜   r   r1  )rx   r7   )
r   r   r   rd   ÚFutureWarningr#   Úassert_produces_warningr!   r<   r$   )
r&   r   Útr(   Úwarnr¡   r?   ÚeidxÚecolsr@   s
             r   Ú%test_stack_datetime_column_multiIndexz:TestDataFrameReshape.test_stack_datetime_column_multiIndex(  s½   € ä�T˜1˜aÓ ˆÜ’|¬Z×-CÑ-CÀaÈÈcÀ]ÀOÓ-TÔUˆÙ#‰t¬ˆØBˆÜ×'Ñ'¨°CÔ8ñ 	9Ø—X‘X¨<�XÓ8ˆF÷	9ô ×&Ñ&¨°fÐ'=Ó>ˆÜ×&Ñ&¨¨C¨ zÓ2ˆÜš\°¸uÔEˆÜ
×Ñ˜f hÕ/÷	9ð 	9ús   ÁCÃCÚmultiindex_columnsrÆ  r1  )r   r5   r6   rD   r`   r¥   )r6   r2   rD   )rD   r2   r6   r5   r   )r2   r6   r5   r   )rD   r6   r5   r   )r6   r5   r   )r2   r6   r5   )rD   r2   r6   rà   rV   c                 ó  — |sdnt         j                  }t        j                  g d¢ddg¬«      }||   }t	        t        j                  dt        |«      z  «      j                  dt        |«      «      |¬«      }|j                  |||¬«      }t        |t        «      rS|sQ|j                  |d	|¬«      }	t        |	t        «      rt        j                  ||	«       nt        j                  ||	«       t        j                  |j                   j#                  «       |j                   j$                  ¬«      |_        |j                  |||¬«      }	t        |	t        «      rt        j                  ||	«       y t        j                  ||	«       y )
NF©)rx   rF   )rx   rU   )rw   rG   )r´   rF   )r´   ÚuÚUpperÚLowerr¦   r2   rÞ   )rà   Údropnar   T)r   Ú
no_defaultr   rd   r   r   r   rI   r   r!   r  Úintr
   r#   r=   r$   r9   Úto_numpyrh   )
r&   rÖ  rà   r   rÜ  Úfull_multiindexÚ
multiindexr(   r?   r@   s
             r   Útest_stack_partial_multiIndexz2TestDataFrameReshape.test_stack_partial_multiIndex6  s=  € ñ@ +‘´·±ˆÜ$×0Ñ0ÚHØ˜GÐ$ô
ˆð %Ð%7Ñ8ˆ
ÜÜ�I‰I�aœ#˜j›/Ñ)Ó*×2Ñ2°1´c¸*³oÓFØô
ˆð —‘ ¨fÀ<�ÓPˆä�eœSÔ!©,ð —x‘x e°DÀ|�xÓTˆHÜ˜(¤FÔ+Ü×&Ñ& v¨xÕ8ä×%Ñ% f¨hÔ7ä×+Ñ+Ø�J‰J×ÑÓ!¨¯©×)9Ñ)9ô
ˆŒ
ð —8‘8 %°À\�8ÓRˆÜ�h¤Ô'Ü×"Ñ" 6¨8Õ4ä×!Ñ! &¨(Õ3r   c           	      ó4  — t        j                  g d¢ddg¬«      }t        t        j                  d«      j                  dd«      |g d¢   ¬	«      }|sd
nt        j                  }|j                  ||¬«      }t        ddgdt        j                  gddgdt        j                  ggt        ddgg d¢gg d¢g d¢gd dg¬«      t        ddgd¬«      ¬«      }|d   j                  |j                  j                  d   «      |d<   t        j                  ||«       y )NrØ  rÚ  rÛ  r¦   rq   r6   r2   )r   r5   r2   rÞ   F©rÜ  r   r   r5   rQ   rD   )rÙ  rF   rG   rU   r  )r5   r2   r5   r2   r  rx   r´   r®   r7   )r   rd   r   r   r   r   r   rÝ  r!   rH   r   ri   r!  r(  r#   r$   )r&   r   rà  r(   rÜ  r?   r@   s          r   Útest_stack_full_multiIndexz/TestDataFrameReshape.test_stack_full_multiIndexu  sÿ   € ô
 %×0Ñ0ÚHØ˜GÐ$ô
ˆô ”r—y‘y “|×+Ñ+¨A¨qÓ1¸?Ê9Ñ;UÔVˆÙ*‘´·±ˆØ—‘ °l�ÓCˆÜØ�ˆV�aœŸ™�[ 1 a &¨1¬b¯f©f¨+Ð6ÜØ˜A˜Ò 4Ð5Ú#¢\Ð2Ø˜W�oôô
 ˜3 ˜*¨7Ô3ô
ˆð ! ™×,Ñ,¨R¯Y©Y¯^©^¸AÑ->Ó?ˆ�‰Ü
×Ñ˜f hÕ/r   ÚorderedFTc                 ó(  — t        j                  t        d«      t        d«      |¬«      }t        g d¢g|¬«      }|j	                  |¬«      }t        j                  |j                  |g«      }t        g d¢|¬«      }t        j                  ||«       y )NÚyxzru   ©r–   ræ  )r%  r<  r=  rÞ   r   r:   )r„   ÚCategoricalIndexrz   r   r!   r   r<   r8   r
   r#   r=   )r&   ræ  r   Úcidxr(   r?   r  r@   s           r   Ú%test_stack_preserve_categorical_dtypez:TestDataFrameReshape.test_stack_preserve_categorical_dtype�  sv   € ô ×"Ñ"¤4¨£;¼4À»;ÐPWÔXˆÜš�~¨tÔ4ˆØ—‘ |�Ó4ˆô ×&Ñ&¨¯©°$Ð'7Ó8ˆÜš,¨dÔ3ˆä
×Ñ˜v xÕ0r   zlabels,dataru   )r%  r<  r=  r:  r£  r>  Úzyx)r£  r>  r=  r:  r%  r<  c                 óÜ  — t        j                  |t        |«      |¬«      }t        j                  ddg|¬«      }t        j                  ||g«      }t        t        |«      g|¬«      }|j                  ddg|¬«      }	|r|n
t        |«      }t        j                  ||¬«      }
|rt        |«      n|}t        |t        j                  dg|
|g«      ¬	«      }t        j                  |	|«       y )
Nré  rÙ  Úv)ræ  rÞ   r   r5   r   r:   )
r„   rê  r‰  r   r<   r   r!   r
   r#   r=   )r&   ræ  Úlabelsrl   r   rë  Úcidx2r  r(   r?   Ús_cidxÚexpected_datar@   s                r   Ú+test_stack_multi_preserve_categorical_dtypez@TestDataFrameReshape.test_stack_multi_preserve_categorical_dtype›  sÏ   € ô ×"Ñ" 6´f¸V³nÈgÔVˆÜ×#Ñ# S¨# J¸Ô@ˆÜ×&Ñ&¨¨e }Ó5ˆÜœ˜t›�~¨tÔ4ˆØ—‘˜1˜a˜&¨|�Ó<ˆá'‘¬V°F«^ˆÜ×$Ñ$ V°WÔ=ˆÙ(4œ˜tœ¸$ˆÜØ¤×!8Ñ!8¸1¸#¸vÀuÐ9MÓ!Nô
ˆô 	×Ñ˜v xÕ0r   c                 ó  — t        j                  g d¢«      }t        ||dœ«      }|j                  |¬«      }t	        j
                  g d¢ddgg«      }t        t        j                  g d¢«      |¬«      }t        j                  ||«       y )	N)r3   r3   r4   r‘   ©rw   rx   r   r1  rw   rx   )r3   r3   r3   r3   r4   r4   r‘   r‘   r:   )	r„   r�   r   r!   r   r<   r
   r#   r=   )r&   r   rì   r(   r?   r8   r@   s          r   Ú,test_stack_preserve_categorical_dtype_valueszATestDataFrameReshape.test_stack_preserve_categorical_dtype_values¹  st   € ä�n‰nÒ1Ó2ˆÜ˜S sÑ+Ó,ˆØ—‘ |�Ó4ˆÜ×'Ñ'ª¸¸S°zÐ(BÓCˆÜÜ�N‰NÒCÓDÈEô
ˆô 	×Ñ˜v xÕ0r   z4ignore:Downcasting object dtype arrays:FutureWarningzindex, columnsr  r4   )r   r   r6   r2   c                 óî  — t        ||¬«      j                  d«      }|j                  |¬«      }t        j                  |j
                  j                  «       «      }t        |j                  «       ||j                  ¬«      }t        j                  ||«       t        j                  |j
                  j                  «      }t        j                  |j                  «      }	t        j                  ||	«       y )Nr7   r5   r   )r   Úfillnar!   r   rd   r8   rß  r9   r#   r$   r   Úasarrayr  Úassert_numpy_array_equal)
r&   r8   r9   r   r(   r)   Ú	new_indexr@   Ústacked_codesÚexpected_codess
             r   Ú)test_stack_multi_columns_non_unique_indexz>TestDataFrameReshape.test_stack_multi_columns_non_unique_indexÄ  s²   € ô ˜U¨GÔ4×;Ñ;¸AÓ>ˆØ—(‘(¨�(Ó5ˆÜ×*Ñ*¨7¯=©=×+AÑ+AÓ+CÓDˆ	ÜØ×ÑÓ i¸¿¹ô
ˆô 	×Ñ˜g xÔ0ÜŸ
™
 7§=¡=×#6Ñ#6Ó7ˆÜŸ™ I§O¡OÓ4ˆÜ
×#Ñ# M°>ÕBr   z,vals1, vals2, dtype1, dtype2, expected_dtyperC   rÃ   ÚInt64ÚFloat64r   r   r   r  c                 ó  — t        t        ||¬«      t        ||¬«      dœ«      }|j                  |¬«      }|j                  t        «      j                  |¬«      j                  |«      }	t        j                  ||	«       y )NrR   )©rw   r5   )rw   r6   r   )r   r
   r!   ri   r  r#   r$   )
r&   Úvals1Úvals2Údtype1Údtype2Úexpected_dtyper   r(   r?   r@   s
             r   Ú.test_stack_multi_columns_mixed_extension_typeszCTestDataFrameReshape.test_stack_multi_columns_mixed_extension_typesÞ  su   € ô ä  ¨fÔ5Ü  ¨fÔ5ñó
ˆð —‘ |�Ó4ˆà�I‰I”fÓ×#Ñ#°Ð#Ó>×EÑEÀnÓUð 	ô 	×Ñ˜f hÕ/r   c                 óæ  — t        j                  g d¢ddg¬«      }t        t        j                  g d¢d¬«      t        j
                  g d¢«      d	œ|¬
«      }|j                  |¬«      }|j                  t        «      j                  |¬«      }|dk(  r&|d	   j                  t        j                  «      |d	<   n%|d   j                  t        j                  «      |d<   t        |j                  j                  gdz  |j                  j                  gdz  z   |j                  ¬
«      }t!        j"                  |j$                  |«       t!        j&                  |j                  t        «      |«       y )N)©rw   r   r  )rx   r5   r3   r4   r¦   )r   r5   Nr   rR   r]   rö  r:   r@  r   r  r6   )r   rd   r   r„   r  r�   r"   ri   r  rù  ÚNAr
   rw   rS   rx   r9   r#   r=   r!  r$   )r&   rà   r8   r(   r?   r@   Úexpected_dtypess          r   Ú"test_unstack_mixed_extension_typesz7TestDataFrameReshape.test_unstack_mixed_extension_typesø  s  € ä×&Ñ&Ò'EÈcÐSVÈZÔXˆÜä—X‘Xšl°'Ô:Ü—^‘^¢OÓ4ñð ô
ˆð —‘ %�Ó(ˆØ—9‘9œVÓ$×,Ñ,°5Ð,Ó9ˆØ�AŠ:Ø#+¨JÑ#7×#>Ñ#>¼r¿u¹uÓ#EˆH�ZÒ à!)¨(Ñ!3×!:Ñ!:¼2¿5¹5Ó!AˆH�XÑä Ø�T‰T�Z‰ZˆL˜1Ñ §¡§
¡
˜|¨aÑ/Ñ/°v·~±~ô
ˆô 	×Ñ˜vŸ}™}¨oÔ>Ü
×Ñ˜fŸm™m¬FÓ3°XÕ>r   Úbazc                 ó�  — t        j                  dgddggddg¬«      }t        ddgdd	gg|d
dg¬«      }d|j                  _        t        g d¢gt        j
                  g d¢ddg¬«      ¬«      }d|j                  _        |j                  «       j                  d¬«      j                  d|¬«      }t        j                  ||«       y )Nr   rš   r‘   r   r  r¦   r6   r5   r2   rx   rw   r7   r   )r2   r5   r6   r   ))r‘   rw   )r‘   rx   )rš   rw   )rš   rx   rÞ   r3  )r4  rà   )r   r<   r   r9   rb   rd   r8   r"   Ú	swaplevelÚ
sort_indexr#   r$   )r&   rà   r  r(   r@   r?   s         r   Ú test_unstack_swaplevel_sortlevelz5TestDataFrameReshape.test_unstack_swaplevel_sortlevel  s½   € ô ×$Ñ$ q c¨C°¨:Ð%6¸uÀe¸nÔMˆÜ˜˜A˜  A Ð'¨r¸CÀ¸:ÔFˆØˆ�
‰
ŒäÚˆNÜ×*Ñ*Ú@ÈÐPUÈôô
ˆð $ˆ�‰Ôà—‘“×'Ñ'¨QÐ'Ó/×:Ñ:ÀÈÐ:ÓOˆÜ
×Ñ˜f hÕ/r   )?Ú__name__Ú
__module__Ú__qualname__r/   rž   ÚmarkÚfilterwarningsrA   rO   ro   r~   r‡   rŒ   rŽ   r¢   r²   Úparametrizer   rd   r   rº   rØ   ré   rû   rþ   r  r  r  r#  r   rB  r   r+  r.  r9  rH   rH  rM  rQ  r[  rb  rm  rz   r;   rŽ  rã   Úpermutationsr­  r²  r¶  rÇ  rÍ  rÕ  râ  rå  rì  rô  r÷  r<   rÿ  r	  r  r  rw  r   r   r   r      s8  „ ò>ð$ ‡[�[×ÑØCóñ0óð0ò.
.ð ‡[�[×ÑØCóñ,0óð,0ò\"0òH0ò,0ò,0ò< 0òD0ð2 ‡[�[×ÑØHð Úš|ª\º<ÐHØ&�
×&Ñ&Ú4¸SÀ#¸Jôð '�
×&Ñ&ÚDØ Ð,ôð
ð "Ú)Ò+CÐDÙ�q˜!�f 3Ô'Ø&�
×&Ñ&ò	ò 2ôð	ð	
ó!ñD0óE!ðD0ò((ðT ‡[�[×ÑØCóñ
óð
ð< ‡[�[×ÑØCóñ6
óð6
ðp ‡[�[×ÑØCóñ;
óð;
òz&ð ‡[�[×ÑØCóñ0óð0ò4.ò6+1ðZ ‡[�[×ÑØàˆR�X‰X�a‹[˜(˜"Ÿ(™( 1›+Ð&ØˆR�Y‰Y�q Ô% y r§y¡y°°B¸dÔ'CÐDð	
óñ+óð+ð. ‡[�[×ÑØCóñ8óð8òAð0 ‡[�[×ÑØ,àÒ+¨b¯f©f°c¸1Ð-=ÀÇÁÈÈ1¸~ÐNØÒ-°·±¸¸1¨~ÀÇÁÈÈQÐ?OÐPð	
óñ0óð0ð" ‡[�[×Ñ˜V s¨C j±%¸³+Ð%>Ó?ñ0ó @ð0ò0ò,Kò0ð& ‡[�[×Ñ˜U ^°^Ð$DÓEØ‡[�[×Ñ˜U¡D©¨q«£NÓ3ñ!ó 4ó Fð!ð: ‡[�[×Ñ˜UÐ$: I×$:Ñ$:Ò;PÓ$QÓRØ‡[�[×Ñ˜U¡D©¨q«£NÓ3Ø‡[�[×Ñ˜U U¨E NÓ3ñ;!ó 4ó 4ó Sð;!òz/+òb+ò8'5òR/ò.0ð ‡[�[×ÑØCóð ‡[�[×ÑØâÚÚÚÚÚØ�ˆFØ�ˆFØ�ˆFØˆCØˆCØˆCÚÚÚÚÚÚØ�ˆFØ�ˆFØ�ˆFð+	
óð4 ‡[�[×Ñ˜W r¨1¨a°!°Q°¸!¸Q¸Ð&@ÓAñ4ó Bó5óð<4ðB ‡[�[×ÑØCóñ0óð0ð* ‡[�[×Ñ˜Y¨°¨Ó6ñ1ó 7ð1ð ‡[�[×ÑØCóð ‡[�[×Ñ˜Y¨°¨Ó6Ø‡[�[×ÑØá�%‹[Ò2Ð3Ù�%‹[Ò2Ð3ð	
óñ1óó 7óð1ò&	1ð ‡[�[×ÑØCóð ‡[�[×ÑÐ VÓWØ‡[�[×ÑØâÐ2˜:×2Ñ2°Q¸°F¸SÀ#¸JÐ3GÓHÐIÚÐ2˜:×2Ñ2°Q¸°F¸SÀ#¸JÐ3GÓHÐIÚÐ2˜:×2Ñ2°Q¸°F¸SÀ#¸JÐ3GÓHÐIð	
óñCóó XóðCð ‡[�[×ÑØCóð ‡[�[×ÑØ6à�ˆV�c˜3�Z ¨)°YÐ?Ø�ˆV�e˜U�^ W¨h¸ÐAð	
óñ0óóð0ð  ‡[�[×Ñ˜W q¨! fÓ-ñ?ó .ð?ð. ‡[�[×Ñ˜W q¨% jÓ1ñ0ó 2ñ0r   r   rS   r|   r  c                 óÌ  — t        j                  g d¢«      } | t        j                  dd«      ||¬«      }|j	                  dd¬«      }| t
        u rt        j                  dd	g«      }nd
dg}t        dt        j                  gt        j                  dgdt        j                  gt        j                  dgg|t        j                  g d¢«      |¬«      }t        j                  ||«       |j	                  ddgd¬«      }| t
        u rt        j                  ddg«      }nt        j                  ddg«      }t        ddgddggddg||¬«      }t        j                  ||«       y )N))r
  rU   r4   )r
  rG   r3   )r	  rU   r4   )r	  rG   r3   rÀ   rÄ   r[   rV   F)rà   Úsort©r   r4   )r   r3   r4   r3   ç       @rC   rÃ   ))r
  rU   )r
  rG   )r	  rU   )r	  rG   ©r9   r8   rS   r5   r6   )r   rU   r4   )r   rG   r3   )rU   r4   )rG   r3   r
  r	  )r8   r9   rS   )	r   rd   r   r   r"   r   rH   r#   r$   )Úframe_or_seriesrS   r8   Úobjr?   r¹   r@   s          r   Útest_unstack_sort_falser"  #  sP  € ô ×"Ñ"ÚTó€Eñ œ"Ÿ)™) C¨Ó-°UÀ%Ô
H€CØ�[‰[˜r¨ˆ[Ó.€Fàœ)Ñ#Ü%×1Ñ1°8¸XÐ2FÓGÑà ˜:ÐÜØ
Œr�v‰vˆœŸ™ ˜¨¬R¯V©V }´r·v±v¸s°mÐDØ Ü×$Ñ$ÚDó
ð ô€Hô ×Ñ˜& (Ô+à�[‰[  1˜v¨Eˆ[Ó2€Fàœ)Ñ#Ü%×1Ñ1°=À-Ð2PÓQÑä%×1Ñ1°:¸zÐ2JÓKÐÜØ
ˆsˆ�c˜3�ZÐ Ø�eˆnØ Øô	€Hô ×Ñ˜& (Õ+r   c                  óº  — t        g d¢d¬«      } t        j                  g d¢«      | _        | j	                  «       }t        dt        j                  dgddt        j                  gdœt        d	«      t        ¬
«      }t        j                  ||«       | j	                  d¬«      }t        g d¢g d¢dœt        d	«      t        ¬
«      }t        j                  ||«       y )Nr�   r  rR   rT   r3   r4   r‘   rY   ru   r[   rš   rW   )r3   rš   r3   )r4   r‘   rš   )r
   r   rd   r8   r"   r   r   rH   rz   r  r#   r$   )rl   r?   r@   s      r   Útest_unstack_fill_frame_objectr$  I  s³   € äÒ&¨hÔ7€DÜ×'Ñ'Ú8ó€D„Jð
 �\‰\‹^€FÜØ”B—F‘F˜CÐ ¨¨S´"·&±&Ð'9Ñ:Ü�5‹kÜô€Hô
 ×Ñ˜& (Ô+ð �\‰\ Sˆ\Ó)€FÜÚ¢OÑ4¼DÀ»KÌvô€Hô ×Ñ˜& (Õ+r   c            
      ób  — t        t        j                  dd¬«      gdgdgdgdœg d¢¬«      } | j                  ddg«      j	                  «       }t        t        j                  dd¬«      dggt        dgd¬	«      t        d
dgdggddgddggd dg¬«      ¬«      }t        j                  ||«       y )Nz2017-08-27 01:00:00.709949+0000ÚUTC)Útzr3   r4   r‘   )Ú	timestampr3   r4   r‘   rÞ   r®   r(  r   r5   r  r7   )	r   r„   rÖ   rf   r"   r   r   r#   r$   )r(   r?   r@   s      r   Ú"test_unstack_timezone_aware_valuesr)  a  sÁ   € ä	äŸ,™,Ð'HÈUÔSÐTØ�Ø�Ø�ñ		
ò -ô
€Bð �\‰\˜3 ˜*Ó%×-Ñ-Ó/€FÜÜ
�,‰,Ð8¸UÔ
CÀSÐ	IÐJÜ�S�E Ô$ÜØ  #Ð&¨¨Ð.Ø�q�6˜A˜q˜6Ð"Ø˜�+ô
ô€Hô ×Ñ˜& (Õ+r   c           	      óÚ   — t        dddd¬«      }t        d|ig d¢¬«      }|j                  | ¬	«      }t        |t	        g d¢dggg d
¢g d¢g¬«      ¬«      }t        j                  ||«       y )NrÉ   Ú20180101Ú20180103zAmerica/New_York)rÉ  ÚstartÚendr'  rw   r¤   r:   r   r`   ©r   r   r   r  )r   r   r!   r
   r   r#   r=   )r   Útsr(   r?   r@   s        r   Ú test_stack_timezone_aware_valuesr1  y  sh   € ä	˜ J°JÐCUÔ	V€BÜ	�C˜�9¢OÔ	4€BØ�X‰X <ˆXÓ0€FÜØ
Ü¢°3°%Ð 8ÂÊIÐ@VÔWô€Hô ×Ñ˜6 8Õ,r   r0   rÜ  c                 óJ  — t        j                  g t         j                  ¬«      t        j                  g t         j                  ¬«      g}t        t         j                  t        |g g g¬«      ¬«      }|rb| t        j                  urPt        j                  t        d¬«      5  t        t         j                  ¬«      j                  | |¬«       d d d «       y t        t         j                  ¬«      j                  | |¬«      }t        j                  ||«       y # 1 sw Y   y xY w)NrR   r  )rS   r8   údropna must be unspecifiedr˜   rä  )r   r  rj   r
   r|   r   r   rÝ  rž   rŸ   r÷   r   r!   r#   r=   )rÜ  r   r>   r@   r?   s        r   Útest_stack_empty_framer4  …  s×   € ô �h‰h�r¤§¡Ô*¬B¯H©H°R¼r¿x¹xÔ,HÐI€FÜœBŸJ™J¬jÀÈrÐSUÈhÔ.WÔX€HÙ˜¤c§n¡nÑ4Ü�]‰]œ:Ð-IÔJñ 	XÜœBŸJ™JÔ'×-Ñ-°VÈ,Ð-ÔW÷	Xð 	Xô ¤§¡Ô,×2Ñ2Ø¨ð 3ó 
ˆô 	×Ñ˜v xÕ0÷	Xð 	Xús   Â",DÄD"rX   c                 óÚ  — |rr| t         j                  ur`t        j                  t        d¬«      5  t        t        j                  ¬«      j                  | |¬«      j                  |¬«       d d d «       y t        t        j                  ¬«      j                  | |¬«      j                  |¬«      }t        t        j                  ¬«      }t        j                  ||«       y # 1 sw Y   y xY w)Nr3  r˜   rR   rä  rW   )r   rÝ  rž   rŸ   r÷   r   r   rj   r!   r"   r#   r$   )rÜ  rX   r   r?   r@   s        r   Útest_stack_unstack_empty_framer6  •  sµ   € ñ
 ˜¤c§n¡nÑ4Ü�]‰]œ:Ð-IÔJñ 	-ÜœBŸH™HÔ%×+Ñ+Ø¨Lð ,ó ç‰g ˆgÔ,÷	-ð 	-ô œBŸH™HÔ%ß‰U˜&¨|ˆUÓ<ß‰W 
ˆWÓ+ð 	ô
 ¤2§8¡8Ô,ˆÜ
×Ñ˜f hÕ/÷	-ð 	-ús   °<C!Ã!C*c                  ó¸   — d} t        j                  t        | ¬«      5  t        t        j
                  ¬«      j                  «        d d d «       y # 1 sw Y   y xY w)Nz'index must be a MultiIndex to unstack.*r˜   rR   )rž   rŸ   r÷   r
   r   rj   r"   )r¡   s    r   Ú test_unstack_single_index_seriesr8  ©  s?   € à
4€CÜ	�‰”z¨Ô	-ñ )Ü”R—X‘XÔ×&Ñ&Ô(÷)÷ )ñ )ús   ž)AÁAc            	      óš  — t        ddgddgddgddgdd	gd
œ«      } | j                  g d¢«      } | j                  dgd¬«      } | j                  dd¬«      j                  dd¬«      }| j                  ddgd¬«      }t        g d¢g d¢gt        ddgd¬«      t	        j
                  g d¢g d¢¬«      ¬«      }t        j                  ||«       y )NÚAliceÚBobç      #@rs   FTr   ÚfemaleÚmale)rb   ÚscoreÚemployedÚkidsÚgender)rb   r@  rA  rB  rB  rW   r@  rA  )r<  r]  r]  r]  )r]  r]  r]  g       @rb   r®   ))r?  r=  Fr   )r?  r=  Tr   )r?  r>  Fr   )r?  r>  Tr   )NrB  r@  rA  r¦   r7   )r   rf   r"   r   r   rd   r#   r$   )r(   r@   r?   s      r   Útest_unstacking_multi_index_dfrC  °  sà   € ä	à˜eÐ$Ø˜1�XØ ˜Ø˜�FØ Ð(ñ	
ó
€Bð 
�‰Ò<Ó	=€BØ	�‰�X�J¨1ˆÓ	-€BØ�z‰z˜*°ˆzÓ3×;Ñ;¸FÈqÐ;ÓQ€HØ�Z‰Z˜ VÐ,¸ˆZÓ;€FÜÚ	Ò3Ð4Ü�W˜eÐ$¨6Ô2Ü×&Ñ&òò 7ô
ô€Hô ×Ñ˜& (Õ+r   c                 ó(  — t        j                  ddgddg¬«      }t        g d¢g|¬«      }|j                  d| ¬«      }t	        d	d
gd¬«      }t        j
                  ddgd dg¬«      }t        ddgddgg||¬«      }t        j                  ||«       y )NrE   )rG   rU   r3   r¦   ©r5   r5   r5   r5   rÞ   r   r   rG   rU   r®   )r   rF   )r   rG   r5   r7   )r   r<   r   r!   r   rd   r#   r$   )r   r9   r(   r?   Únew_columnsrü  r@   s          r   Ú2test_stack_positional_level_duplicate_column_namesrG  Ï  s•   € ô ×%Ñ% z°:Ð&>ÀsÈCÀjÔQ€GÜ	’L�>¨7Ô	3€BØ�X‰X�a lˆXÓ3€Fä˜˜c˜
¨Ô-€KÜ×&Ñ&¨°(Ð';ÀDÈ#À;ÔO€IÜ˜1˜a˜& 1 a &Ð)°ÀKÔP€Hä×Ñ˜& (Õ+r   c                 óB  — t        j                  t        d«      g d¢g«      }t        t        j
                  j                  d«      j                  d«      t        j
                  j                  d«      j                  d«      j                  t        j                  «      t        j
                  j                  d«      j                  d«      t        j
                  j                  d«      j                  d«      dœ|¬«      }| s(t        d„ |j                  j                  D «       «      sJ ‚|j                  «       }t        j                  t        d«      D �cg c]  }||   j                  «       ‘Œ c}t        d«      d	¬
«      }t!        j"                  ||«       y c c}w )NrQ   r0  r6   r>  r1  r:   c              3   óJ   K  — | ]  }|j                   j                   –— Œ y ­wr   )Úmgr_locsÚis_slice_like)Ú.0rF   s     r   ú	<genexpr>z5test_unstack_non_slice_like_blocks.<locals>.<genexpr>ë  s   è ø€ ÒH°A�q—z‘z×/Ñ/Ô/ÑHùs   ‚!#rD   r5   )Úkeysr4  )r   r<   r;   r   r   rÔ   rÕ   rå   ri   rj   ÚanyrJ   rK   r"   r„   Úconcatr#   r$   )rL   r  r(   rN   Únr@   s         r   Ú"test_unstack_non_slice_like_blocksrR  Ý  s%  € ô 
×	 Ñ	 ¤%¨£(ªOÐ!<Ó	=€BÜ	ä�y‰y×$Ñ$ QÓ'×7Ñ7¸Ó;Ü�y‰y×$Ñ$ QÓ'×7Ñ7¸Ó;×BÑBÄ2Ç8Á8ÓLÜ�y‰y×$Ñ$ QÓ'×7Ñ7¸Ó;Ü�y‰y×$Ñ$ QÓ'×7Ñ7¸Ó;ñ		
ð ô
€Bñ ÜÑH¸¿¹¿¹ÔHÔHÐHÐHà
�*‰*‹,€Cä�y‰y´5¸³8Ö<¨a˜"˜Q™%Ÿ-™-�/Ò<Ä5ÈÃ8ÐRSÔT€HÜ×Ñ˜#˜xÕ(ùò =s   ÅFc           	      ó¸  — g d¢g d¢ddt         j                  t         j                  gg}t        |t        ddgddggg d	¢g d
¢g¬«      ¬«      }| ri nddi} |j                  d d| dœ|¤Ž}| rRt        dddddt         j                  gdddddt         j                  gdœt        j
                  g d¢g d¢g«      ¬«      }n-t        g d¢g d¢dœt        j
                  g d¢g d¢g«      ¬«      }t        j                  ||«       t        |t        j
                  g d¢g d¢g«      ¬«      }| ri nddi} |j                  d d| dœ|¤Ž}t        j                  ||«       y )!N)r5   r6   rC   rÃ   )r6   r2   rÃ   rÄ   r2   rD   rx   rw   rF   rG   r  r  r  rÞ   r  Fr   rß   rÀ   rC   r  rÃ   rÄ   rE   )r   r   r5   r5   r6   r6   )rx   rw   rx   rw   rx   rw   r:   )rÀ   rC   r  rÃ   rC   )r  rÃ   rC   rÄ   rÃ   )r   r   r5   r5   r6   )rx   rw   rx   rw   rx   )rx   rx   rw   rw   )rF   rG   rF   rG   rw  )r   rH   r   r   r!   r  r#   r$   )r   rl   r(   Úkwargsr?   r@   s         r   Útest_stack_sort_falserU  ó  sb  € ò Ò.°°A´r·v±v¼r¿v¹vÐ0FÐG€DÜ	ØÜØ˜#�J  c 
Ð+²LÂ,Ð3Oô
ô
€Bñ  ‰R f¨e _€FØˆR�X‰XÐC˜A¨LÑC¸FÑC€FÙÜà˜3  S¨#¬r¯v©vÐ6Ø˜3  S¨#¬r¯v©vÐ6ñô ×(Ñ(Ú#Ò%CÐDóô
‰ô Ú+Ò2KÑLÜ×(Ñ(ª/Ò;TÐ)UÓVô
ˆô ×Ñ˜& (Ô+ô 
ØÜ×&Ñ&Ò(<Ò>RÐ'SÓTô
€Bñ  ‰R f¨e _€FØˆR�X‰XÐC˜A¨LÑC¸FÑC€FÜ×Ñ˜& (Õ+r   c                 ó  — t        j                  ddg«      }t        ddgddggddg|¬	«      }| ri nd
di} |j                  ddgfd| i|¤Ž}t        j                  g d¢«      }t	        g d¢|¬«      }t        j                  ||«       y )N)ÚweightÚkg)ÚheightÚmrÀ   r  rC   rÃ   rì   rî   r7   r  Fr   r5   r   ))rì   rW  rX  )rì   rY  rZ  )rî   rW  rX  )rî   rY  rZ  )rÀ   r  rC   rÃ   r:   )r   rd   r   r!   r
   r#   r=   )r   r±   r(   rT  r?   r¸   r@   s          r   Ú!test_stack_sort_false_multi_levelr[    s˜   € ô ×
 Ñ
 Ð"2°OÐ!DÓ
E€CÜ	�S˜#�J  c 
Ð+°E¸5°>È3Ô	O€BÙ‰R f¨e _€FØˆR�X‰X�q˜!�fÑB¨<ÐB¸6ÑB€FÜ×+Ñ+ò	
ó€Nô Ò*°.ÔA€HÜ×Ñ˜6 8Õ,r   c                   ó¶	  — e Zd Zd„ Zej
                  j                  dg d¢g d¢gg d¢dg d¢fg d¢g d	¢gg d
¢dg d¢fg d¢g d¢gg d
¢dg d¢fg«      d„ «       Zd„ Zej
                  j                  d«      d„ «       Z
ej
                  j                  d ed«      g d¢ eddgddgg ej                   ej                  d«      j!                  d«      d«       ej                  g d¢d«      g¬«      g ej"                  d«      g d¢ eddgddgddgg ej                   ej                  d«      j!                  d«      d«       ej                   g d¢g d ¢«       ej                  g d¢d«      g¬«      gg«      d!„ «       Zej
                  j                  d«      d"„ «       Zej
                  j                  d«      d#„ «       Zd$„ Zej
                  j                  d«      d%„ «       Zej
                  j                  d&d'd(g«      d)„ «       Zd*„ Zej
                  j                  d«      d+„ «       Zej
                  j                  d«      d,„ «       Zej
                  j                  d«      d-„ «       Zej
                  j                  d«      d.„ «       Zd/„ Zd0„ Zej
                  j                  d«      d1„ «       Zej
                  j                  d«      d2„ «       Z d3„ Z!d4„ Z"ej
                  j                  d«      d5„ «       Z#ej
                  jH                  d6„ «       Z%ej
                  j                  d«      ej
                  j                  d7e&jN                  jQ                  d8„ d9D «       «      «      ej
                  j                  d: e)d«      «      ej
                  j                  d;d<d=g«      d>„ «       «       «       «       Z*ej
                  j                  d«      d?„ «       Z+ej
                  j                  d«      d@„ «       Z,ej
                  j                  d«      dA„ «       Z-dB„ Z.dC„ Z/dD„ Z0dE„ Z1ej
                  j                  d«      dF„ «       Z2ej
                  j                  d«      dG„ «       Z3ej
                  j                  d«      dH„ «       Z4dI„ Z5ej
                  j                  d«      dJ„ «       Z6ej
                  j                  d«      dK„ «       Z7dL„ Z8y)MÚTestStackUnstackMultiLevelc                 óè   — |}|j                  «       }|j                  «        |j                  t        «      j                  «        |j                  t        j                  «      j                  «        y r   )r"   ri   rÞ  r   r{   )r&   Ú/multiindex_year_month_day_dataframe_random_dataÚymdr+   s       r   Útest_unstackz'TestStackUnstackMultiLevel.test_unstack.  sO   € à=ˆà—K‘K“Mˆ	Ø×ÑÔð 	�
‰
”3‹×ÑÔ!ð 	�
‰
”2—8‘8Ó×$Ñ$Õ&r   z5result_rows,result_columns,index_product,expected_row)r5   r5   NNç      >@N)r6   r6   NNrb  N)Úix1Úix2Úcol1Úcol2Úcol3Úcol4r6   )NNrb  N)r5   r5   NNrb  )r6   r6   NNrb  )rc  rd  re  rf  rg  )NNrb  )r6   NNNrb  Nc                 ó  — t        ||¬«      j                  ddg«      }|j                  dd j                  d«      }t        |gt	        j
                  |dd  |ggd dg¬«      t        dgd¬«      ¬«      }t        j                  ||«       y )	NrÞ   rc  rd  r5   r6   r¦   r®   r¯   )	r   rf   r(  r"   r   r<   r   r#   r$   )r&   Úresult_rowsÚresult_columnsÚindex_productÚexpected_rowr?   r@   s          r   Útest_unstack_partialz/TestStackUnstackMultiLevel.test_unstack_partial;  s“   € ô< ˜;°Ô?×IÑIØ�EˆNó
ˆð —‘˜Q˜qÐ!×)Ñ)¨%Ó0ˆÜØˆNÜ×+Ñ+Ø  Ð# m _Ð5¸dÀE¸]ôô ˜˜ %Ô(ô
ˆô 	×Ñ˜f hÕ/r   c                 ó  — t        j                  g d¢«      }t        t        j                  j                  d«      j                  d«      |¬«      }|j                  ddg«      }|j                  dd¬«      }t        j                  ||«       y )N))r   r   r   )r   r   r   )r5   r  r5   )r5   Úquxr5   r6   rD   r:   r5   r5  ©r4  Úhow)r   rd   r
   r   rÔ   rÕ   rå   r"   rÜ  r#   r$   )r&   r8   rn   r+   r@   s        r   Ú&test_unstack_multiple_no_empty_columnszATestStackUnstackMultiLevel.test_unstack_multiple_no_empty_columnsf  st   € Ü×&Ñ&ÚHó
ˆô ”2—9‘9×(Ñ(¨Ó+×;Ñ;¸AÓ>ÀeÔLˆà—I‘I˜q !˜fÓ%ˆ	Ø×#Ñ#¨°Ð#Ó6ˆÜ
×Ñ˜i¨Õ2r   r0   c                 ó  — |}|j                  «       }|j                  |¬«      }|r|j                  d¬«      }t        j                  ||«       |j                  d¬«      }|j                  d«      }|j                  |¬«      }|r|j                  d¬«      }t        j                  |j                  d¬«      |«       |d d d…   }|j                  d«      }|j                  |¬«      j                  dd«      }|r|j                  d¬«      }t        j                  |j                  d¬«      |«       |j                  dd«      }|j                  d«      j                  ddd¬	«      }|j                  d|¬«      j                  dd«      }|r|j                  d¬«      }t        j                  |j                  d¬«      |«       |j                  «       }|j                  |¬«      }|r|j                  d¬«      }t        j                  ||«       |j                  d«      j                  d«      }|j                  d|¬«      }|j                  «       }t        j                  ||«       |j                  d|¬«      }|j                  d«      }t        j                  ||«       |j                  d|¬«      }|j                  |¬«      j                  d«      j                  d«      }t        j                  ||«       |j                  d«      j                  d d …d d d
…f   }|j                  |¬«      j                  |¬«      }	|j                  |¬«      }
|r$|	j                  d¬«      }	|
j                  d¬«      }
t        j                  |	|
j                  |	j                  «      «       |j                  d«      j                  d|¬«      }|j                  d«      j                  d|¬«      }t        j                  ||«       y )Nr   r5  ©rr  r6   r@  r   rV   r5   r3  r2   rá   )r"   r!   rÜ  r#   r$   r  r  rk   r=   Úreindexr8   Úassert_equal)r&   r_  r   r`  r+   Ú	restackedÚunlexsortedr?   r@   r)   Úymd_stackeds              r   Ú
test_stackz%TestStackUnstackMultiLevel.test_stackq  sŽ  € ð >ˆð —K‘K“Mˆ	Ø—O‘O°�OÓ>ˆ	Ùà!×(Ñ(¨UÐ(Ó3ˆIÜ
×Ñ˜i¨Ô-à—n‘n¨1�nÓ-ˆà×'Ñ'¨Ó*ˆ	Ø—O‘O°�OÓ>ˆ	Ùà!×(Ñ(¨UÐ(Ó3ˆIÜ
×Ñ˜i×2Ñ2¸Ð2Ó;¸SÔAà!¡$ B $Ñ'ˆØ×'Ñ'¨Ó*ˆ	Ø—O‘O°�OÓ>×HÑHÈÈAÓNˆ	Ùà!×(Ñ(¨UÐ(Ó3ˆIÜ
×Ñ˜i×2Ñ2¸Ð2Ó;¸SÔAà!×+Ñ+¨A¨qÓ1ˆØ×'Ñ'¨Ó*×4Ñ4°Q¸ÀÐ4ÓBˆ	Ø—O‘O A°L�OÓA×KÑKÈAÈqÓQˆ	Ùà!×(Ñ(¨UÐ(Ó3ˆIÜ
×Ñ˜i×2Ñ2¸Ð2Ó;¸SÔAð —K‘K“Mˆ	Ø—O‘O°�OÓ>ˆ	Ùà!×(Ñ(¨UÐ(Ó3ˆIÜ
×Ñ˜i¨Ô-ð —K‘K “N×*Ñ*¨1Ó-ˆ	à—‘ °�Ó>ˆØ—;‘;“=ˆÜ
×Ñ˜f hÔ/à—‘ °�Ó>ˆØ—;‘;˜q“>ˆÜ
×Ñ˜f hÔ/à—‘ °�Ó>ˆØ—9‘9¨,�9Ó7×?Ñ?ÀÓB×JÑJÈ1ÓMˆÜ
×Ñ˜f hÔ/ð —K‘K “N×&Ñ&¢q©#¨A¨# vÑ.ˆ	Ø—/‘/¨|�/Ó<×BÑBØ%ð Có 
ˆð —i‘i¨\�iÓ:ˆÙà—n‘n¨�nÓ/ˆGØ%×,Ñ,°Ð,Ó7ˆKÜ
×Ñ˜w¨×(;Ñ(;¸G¿M¹MÓ(JÔKð —‘˜Q“×%Ñ% b°|Ð%ÓDˆØ—;‘;˜q“>×'Ñ'¨¸Ð'ÓEˆÜ
�‰˜ Õ)r   zidx, columns, exp_idxÚabab)r�  r‘  r�  r3   r4   r�  r‘  r2   )r   r5   r   rD   r  )©r3   r6   ©r4   r5   ©r3   r5   )r4   r6   r5   )r5   r   r5   )r2   rq   r2   c                 ó  — t        t        j                  d«      j                  dd«      ||¬«      }|r9d}t	        j
                  t        |¬«      5  |j                  |¬«       d d d «       y |j                  |¬«      }t        t        j                  d«      |¬«      }t        j                  ||«       |j                  j                  d	u sJ ‚|j                  |j                  }
}	t        j                  |	|
«       y # 1 sw Y   y xY w)
Nr=  rD   r2   r7   z8Columns with duplicate values are not supported in stackr˜   r   r:   F)r   r   r   r   rž   rŸ   r÷   r!   r
   r#   r=   r8   Ú	is_uniqueÚassert_index_equal)r&   r±   r9   Úexp_idxr   r(   r¡   r?   r@   ÚliÚris              r   Útest_stack_duplicate_indexz5TestStackUnstackMultiLevel.test_stack_duplicate_indexÀ  sÛ   € ô6 Ü�I‰I�b‹M×!Ñ! ! QÓ'ØØô
ˆñ
 ØLˆCÜ—‘œz°Ô5ñ 4Ø—‘ l�Ô3÷4ð 4ð —X‘X¨<�XÓ8ˆFÜœbŸi™i¨›m°7Ô;ˆHÜ×"Ñ" 6¨8Ô4Ø—<‘<×)Ñ)¨UÑ2Ð2Ð2Ø—\‘\ 8§>¡>�ˆBÜ×!Ñ! " bÕ)÷4ð 4ús   ÁC>Ã>Dc                 óÂ  — t        j                  dgdz  dgdz  z   dgdz  z   dgdz  z   dgdz  d	gdz  z   dgd
z  z   d	gdz  z   ddgdz  g d¢z   gg d¢¬«      }t        t        j                  dd¬«      t        j                  dd¬«      dœ|¬«      }|j                  d«      }|j                  |¬«      }|r|j                  d¬«      }t        j                  ||«       y )NÚFrirD   ÚSatr6   ÚSunÚThur2   ÚDinnerÚLunchrQ   ÚNoÚYes)rŽ  rŽ  r�  )ÚdayÚtimeÚsmokerr¦   r<  r|   rR   )r†  rI   r:   r   r5  ru  )
r   r  r   r   r   r"   r!   rÜ  r#   r$   )r&   r   r  r(   r?   Úreconss         r   Útest_unstack_odd_failurez3TestStackUnstackMultiLevel.test_unstack_odd_failureì  sø   € ô ×#Ñ#à�˜!‘˜u˜g¨™kÑ)¨U¨G°a©KÑ7¸5¸'ÀA¹+ÑEØ�
˜Q‘ ' ¨Q¡Ñ.°(°¸a±Ñ?À7À)ÈaÁ-ÑOØ�u� Ñ!Ò$7Ñ7ðò
 ,ô
ˆô ä—y‘y ¨9Ô5Ü—y‘y ¨9Ô5ñð ô
ˆð —‘˜A“ˆà—‘¨<�Ó8ˆÙà—]‘] u�]Ó-ˆFÜ
×Ñ˜f bÕ)r   c                 óP  — |}|j                   }d|d<   |j                  dd¬«      }|j                  |¬«      }|d   j                  |¬«      j                  «       }t        j                  |d   |d¬«       |j
                  �J ‚|d   j                  t        j                  k(  sJ ‚y )	Nr   )r   Úfourr5   )rà   r4  r   Frõ   r   )	r%   r  r!   r#   r=   rb   rS   r   r|   )r&   Ú multiindex_dataframe_random_datar   Úframer(   r)   r?   s          r   Útest_stack_mixed_dtypez1TestStackUnstackMultiLevel.test_stack_mixed_dtype  s�   € ð 1ˆà�W‰WˆØ!ˆˆ=ÑØ�]‰] ¨ˆ]Ó+ˆà—(‘(¨�(Ó5ˆØ�E‘—‘¨l�Ó;×FÑFÓHˆÜ
×Ñ˜w u™~¨vÀ5ÕIØ�{‰{Ð"Ð"Ð"Ø�u‰~×#Ñ#¤r§z¡zÒ1Ð1Ñ1r   c           	      óÔ  — t        g d¢g d¢g d¢g d¢t        j                  d«      dœ«      }d}t        j                  t
        |¬«      5  |j                  g d	¢«      j                  t        «      }d d d «       j                  «       }|j                  |¬
«      }t        j                  ||j                  |j                  «      j                  t        «      «       y # 1 sw Y   ŒnxY w)N)Únaiver›  r›  Úactiverœ  rœ  )r3   r4   r4   r4   r3   r3   )r5   r6   r2   rD   r5   r2   )Úhir�  Úbyerž  rž  Úpeaceg      @)rÇ   rñ   Úbarcoderï  Úextraz7DataFrameGroupBy.apply operated on the grouping columnsr˜   )rÇ   rñ   r   rï  r   )r   r   r   r#   rÐ  ÚDeprecationWarningÚgroupbyr¬  rI   r"   r!   r=   rv  r8   ri   re   )r&   r   r(   r¡   r?   r+   rx  s          r   Útest_unstack_bugz+TestStackUnstackMultiLevel.test_unstack_bug  s»   € ÜâRÚ5Ú-Ú?ÜŸ™ 3›ñó
ˆð HˆÜ×'Ñ'Ô(:À#ÔFñ 	MØ—Z‘ZÒ @ÓA×GÑGÌÓLˆF÷	Mð —N‘NÓ$ˆ	Ø—O‘O°�OÓ>ˆ	Ü
×Ñ˜y¨&¯.©.¸¿¹Ó*I×*PÑ*PÔQVÓ*WÕX÷	Mð 	Mús   Á
'CÃC'c                 ó  — |}|j                  «       }|j                  j                  dk(  sJ ‚|j                  j                  ddgk(  sJ ‚|j                  |¬«      }|j                  j                  |j                  j                  k(  sJ ‚y )Nr  rñ   r  r   )r"   r8   rb   r9   rh   r!   )r&   r—  r   r˜  r+   rx  s         r   Ú!test_stack_unstack_preserve_namesz<TestStackUnstackMultiLevel.test_stack_unstack_preserve_names+  s}   € ð 1ˆà—M‘M“Oˆ	Ø�‰×#Ñ# wÒ.Ð.Ð.Ø× Ñ ×&Ñ&¨5°(Ð*;Ò;Ð;Ð;à—O‘O°�OÓ>ˆ	Ø�‰×$Ñ$¨¯©×(9Ñ(9Ò9Ð9Ñ9r   Úmethodr!   r"   c                 óv  — |}|j                   d   }|dk(  rd|ini }t        j                  t        d¬«      5   t	        ||«      di |¤Ž d d d «       |dk(  rJ|j
                  d d …df   }t        j                  t        d¬«      5   t	        ||«      di |¤Ž d d d «       y y # 1 sw Y   ŒYxY w# 1 sw Y   y xY w)	Nr   r!   r   zdoes not match index namer˜   r"   r   )Úmistake)rk   rž   rŸ   ÚKeyErrorÚgetattrr(  )r&   r§  r—  r   r˜  r(   rT  rn   s           r   Ú#test_stack_unstack_wrong_level_namez>TestStackUnstackMultiLevel.test_stack_unstack_wrong_level_name:  sÁ   € ð
 1ˆð �Y‰Y�uÑˆà39¸WÒ3D�. ,Ñ/È"ˆÜ�]‰]œ8Ð+FÔGñ 	5ØŒG�B˜ÓÑ4¨VÒ4÷	5ð �YÒà—‘š˜1˜‘ˆAÜ—‘œxÐ/JÔKñ 8Ø"”˜˜6Ó"Ñ7°Ò7÷8ð 8ð ÷	5ð 	5ú÷8ð 8ús   ¸B#ÂB/Â#B,Â/B8c                 óz   — |}|j                  d«      }|j                  d¬«      }t        j                  ||«       y )Nr  r5   r@  rÏ   )r&   r—  r˜  r?   r@   s        r   Útest_unstack_level_namez2TestStackUnstackMultiLevel.test_unstack_level_nameN  s5   € Ø0ˆà—‘˜xÓ(ˆØ—=‘= q�=Ó)ˆÜ
×Ñ˜f hÕ/r   c                 ó4  — |}|j                  d«      }|j                  d|¬«      }|j                  «       j                  d|¬«      }t        j                  ||«       |j                  d|¬«      }|j                  |¬«      }t        j                  ||«       y )Nr  rñ   r   r   )r"   r!   r#   r$   r=   )r&   r—  r   r˜  r+   r?   r@   s          r   Útest_stack_level_namez0TestStackUnstackMultiLevel.test_stack_level_nameU  s†   € ð 1ˆà—M‘M (Ó+ˆ	Ø—‘ °\�ÓBˆØ—=‘=“?×(Ñ(¨¸Ð(ÓFˆÜ
×Ñ˜f hÔ/à—‘˜U°�Ó>ˆØ—;‘;¨L�;Ó9ˆÜ
×Ñ˜v xÕ0r   c                 ó<  — |}|j                  ddg«      }|j                  d«      j                  d«      }t        j                  ||«       |j                  j                  |j                  j                  k(  sJ ‚|d   }|j                  ddg«      }t        j                  ||d   «       |j                  ddg|¬«      }|r|j                  d¬«      }|j                  dd«      j                  dd	«      }|j                  d¬
«      }t        j                  ||«       |j                  j                  |j                  j                  k(  sJ ‚|j                  dd	g«      }|j                  d«      j                  d«      j                  dd¬«      }t        j                  ||«       |j                  d	dg«      }|j                  d	«      j                  d«      j                  dd¬«      }t        j                  ||j                  d d …|j                  f   «       y )NÚyearÚmonthrw   r   r5  ru  r   r5   r6   r@  rq  )r"   r#   r$   r9   rh   r!   rÜ  r  r  r8   rk   )	r&   r_  r   r`  r+   r@   rn   Ús_unstackedrx  s	            r   Útest_stack_unstack_multiplez6TestStackUnstackMultiLevel.test_stack_unstack_multipled  sÖ  € ð >ˆà—K‘K ¨Ð 1Ó2ˆ	Ø—;‘;˜vÓ&×.Ñ.¨wÓ7ˆÜ
×Ñ˜i¨Ô2Ø× Ñ ×&Ñ&¨(×*:Ñ*:×*@Ñ*@Ò@Ð@Ð@ð �‰HˆØ—i‘i ¨Ð 1Ó2ˆÜ
×Ñ˜k¨8°C©=Ô9à—O‘O V¨WÐ$5ÀL�OÓQˆ	Ùà!×(Ñ(¨UÐ(Ó3ˆIØ×'Ñ'¨¨1Ó-×7Ñ7¸¸1Ó=ˆ	Ø×(Ñ(¨qÐ(Ó1ˆ	ä
×Ñ˜i¨Ô-Ø�‰×$Ñ$¨¯	©	¯©Ò7Ð7Ð7ð —K‘K  A Ó'ˆ	Ø—;‘;˜q“>×)Ñ)¨!Ó,×3Ñ3¸ÀÐ3ÓFˆÜ
×Ñ˜i¨Ô2à—K‘K  A Ó'ˆ	Ø—;‘;˜q“>×)Ñ)¨!Ó,×3Ñ3¸ÀÐ3ÓFˆÜ
×Ñ˜i¨¯©²a¸×9JÑ9JÐ6JÑ)KÕLr   c                 ó¸   — |}|j                  ddg«      }t        j                  t        d¬«      5  |j	                  ddg|¬«       d d d «       y # 1 sw Y   y xY w)Nr²  r³  zlevel should containr˜   r   r   )r"   rž   rŸ   r÷   r!   ©r&   r_  r   r`  r+   s        r   Útest_stack_names_and_numbersz7TestStackUnstackMultiLevel.test_stack_names_and_numbers‰  sZ   € ð >ˆà—K‘K ¨Ð 1Ó2ˆ	ô �]‰]œ:Ð-CÔDñ 	EØ�O‰O˜Q ˜L°|ˆOÔD÷	E÷ 	Eñ 	Eús   ±AÁAc                 óB  — |}|j                  ddg«      }t        j                  t        d¬«      5  |j	                  ddg|¬«       d d d «       t        j                  t        d¬«      5  |j	                  d	d
g|¬«       d d d «       y # 1 sw Y   ŒCxY w# 1 sw Y   y xY w)Nr²  r³  zToo many levelsr˜   r6   r2   r   znot a valid level numberre  rd  )r"   rž   rŸ   Ú
IndexErrorr!   r·  s        r   Ú!test_stack_multiple_out_of_boundsz<TestStackUnstackMultiLevel.test_stack_multiple_out_of_bounds—  s–   € ð >ˆà—K‘K ¨Ð 1Ó2ˆ	ä�]‰]œ:Ð->Ô?ñ 	?Ø�O‰O˜Q ˜F°ˆOÔ>÷	?ä�]‰]œ:Ð-GÔHñ 	AØ�O‰O˜R ˜H°<ˆOÔ@÷	Að 	A÷	?ð 	?ú÷	Að 	Aús   ±B	Á*BÂ	BÂBc           
      óÞ  — t        j                  g d¢dd¬«      }t        ddgdz  d¬	«      }g d
¢}t        j                  ||g«      }t        ||¬«      }|j                  «       }|j                  d¬«      }|j                  d¬«      }t        j                  g d¢dd¬«      }	t        g d¢g d¢dœ|	ddg¬«      }
d|
j                  _	        t        j                  ||
«       t        j                  ||
«       t        j                  ||
j                  «       t        j                  g d¢dd¬«      }t        j                  g d¢dd¬«      }t        j                  ||g«      }t        ||¬«      }|j                  «       }|j                  d¬«      }|j                  d¬«      }t        j                  g d¢dd¬«      }	t        j                  g d¢dd¬«      }t        t        j                  t        j                  t        j                  t        j                  ddgt        j                  t        j                  ddt        j                  t        j                  gddt        j                  t        j                  t        j                  t        j                  gg|	|¬«      }
t        j                  ||
«       t        j                  ||
«       t        j                  ||
j                  «       y )N)ú2013-01r½  ú2013-02r¾  ú2013-03r¿  ÚMÚperiod©rÉ  rb   rw   rx   r2   Ústrr®   ©r5   r6   r2   rD   rQ   rq   r:   r5   r@  r   )r½  r¾  r¿  )r5   r2   rQ   )r6   rD   rq   rö  r7   Úperiod1)ú2013-12ú2013-11ú2013-10ú2013-09ú2013-08ú2013-07Úperiod2)rË  rÊ  rÉ  rÈ  rÇ  rÆ  r6   rD   rq   rQ   )r„   ÚPeriodIndexr   r   r  r
   r"   r   r9   rb   r#   r$   r%   r   rH   )r&   Úidx1Úidx2Úvaluer±   rn   Úresult1Úresult2Úresult3Úe_idxr@   Úe_colss               r   Útest_unstack_period_seriesz5TestStackUnstackMultiLevel.test_unstack_period_series§  sN  € ä�~‰~ÚNØØô
ˆô
 �c˜3�Z !‘^¨%Ô0ˆÚ"ˆä×$Ñ$ d¨D \Ó2ˆÜ�5 Ô$ˆà—)‘)“+ˆØ—)‘) !�)Ó$ˆØ—)‘) !�)Ó$ˆä—‘Ú-°C¸hô
ˆô Ú¢)Ñ,°EÀCÈÀ:ô
ˆð !&ˆ×ÑÔä
×Ñ˜g xÔ0Ü
×Ñ˜g xÔ0Ü
×Ñ˜g x§z¡zÔ2ä�~‰~ÚNØØô
ˆô �~‰~ÚNØØô
ˆô
 ×$Ñ$ d¨D \Ó2ˆÜ�5 Ô$ˆà—)‘)“+ˆØ—)‘) !�)Ó$ˆØ—)‘) !�)Ó$ˆä—‘Ú-°C¸iô
ˆô —‘ÚNØØô
ˆô
 ä—‘œŸ™¤§¡¬¯©°°AÐ6Ü—‘œŸ™  A¤r§v¡v¬r¯v©vÐ6Ø�A”r—v‘vœrŸv™v¤r§v¡v¬r¯v©vÐ6ðð
 Øô
ˆô 	×Ñ˜g xÔ0Ü
×Ñ˜g xÔ0Ü
×Ñ˜g x§z¡zÕ2r   c                 ól  — t        j                  g d¢dd¬«      }t        j                  g d¢dd¬«      }g d¢g d¢d	œ}t        j                  ||g«      }t	        ||¬
«      }|j                  «       }|j                  d¬«      }|j                  d¬«      }t        j                  ddgdd¬«      }	t        j                  g d¢dd¬«      }
t        j                  dj                  «       |
g«      }t	        g d¢g d¢g|	|¬«      }t        j                  ||«       t        j                  ||«       t        j                  g d¢dd¬«      }	t        j                  g d¢dd¬«      }
t        j                  dj                  «       |	g«      }t	        g d¢g d¢g d¢g|
|¬«      }t        j                  ||«       y )N)ú2014-01ú2014-02rÙ  rÙ  rØ  rØ  rÀ  rÅ  rÂ  )rÆ  rÆ  rÙ  rÈ  rÈ  rÙ  rÌ  rÄ  )rq   rQ   rD   r2   r6   r5   rö  r:   r5   r@  r   rØ  rÙ  )rÈ  rÆ  rÙ  rÈ  rÆ  rÙ  zA A A B B B)rQ   r5   rq   r6   rq   r5   )rD   r6   r2   r2   rQ   rD   r7   )rØ  rÙ  rØ  rÙ  )rÈ  rÆ  rÙ  zA A B B)rQ   rD   r6   r2   )r5   r6   rq   rQ   )rq   r2   r5   rD   )	r„   rÍ  r   r  r   r"   rŠ  r#   r$   )r&   rÎ  rÏ  rÐ  r±   r(   rÑ  rÒ  rÓ  Úe_1Úe_2rÕ  r@   s                r   Útest_unstack_period_framez4TestStackUnstackMultiLevel.test_unstack_period_frameì  s…  € ä�~‰~ÚNØØô
ˆô
 �~‰~ÚNØØô
ˆò
 )Ò/AÑBˆÜ×$Ñ$ d¨D \Ó2ˆÜ�u CÔ(ˆà—*‘*“,ˆØ—*‘* 1�*Ó%ˆØ—*‘* 1�*Ó%ˆä�n‰n˜i¨Ð3¸#ÀIÔNˆÜ�n‰nÚNØØô
ˆô
 ×'Ñ'¨×)<Ñ)<Ó)>ÀÐ(DÓEˆÜÚÒ!3Ð4¸CÈô
ˆô 	×Ñ˜g xÔ0Ü
×Ñ˜g xÔ0ä�n‰nÚ8¸sÈô
ˆô �n‰nÚ-°C¸iô
ˆô ×'Ñ'¨¯©Ó):¸CÐ(@ÓAˆÜÚš<ªÐ6¸cÈ6ô
ˆô 	×Ñ˜g xÕ0r   c                 óX  — dgdz  dgdz  z   }dgdz  dgdz  z   }t        j                  g d¢dz  «      }t        j                  j	                  d«      j                  ddd	«      }t        ||||d
œ«      }|j                  ddg«      }d|j                  _	        |j                  d«      }t        j                  d«      }	t        j                  t        |	¬«      5  |j!                  d«      j#                  «        d d d «       |j!                  d«      j#                  d¬«      }
|
j%                  d|¬«      }|j&                  d d …dgf   j!                  d«      j#                  «       j%                  d|¬«      }d|j                  _	        t)        j*                  ||«       y # 1 sw Y   Œ§xY w)Nr5   r2   r6   r3   r4   )z
2013-01-03z
2013-01-04z
2013-01-05r   rÊ  rq   )ÚIDÚNAMEÚDATEÚVAR1rà  rÞ  ÚParamsz&agg function failed [how->mean,dtype->r˜   zW-THUT)Únumeric_onlyr   rá  )r„   Úto_datetimer   rÔ   rÕ   Úintegersr   rf   r9   rb   r"   ÚreÚescaperž   rŸ   r    ÚresampleÚmeanr!   rk   r#   r$   )r&   r   Úid_colrb   ÚdateÚvar1r(   ÚmultiÚunstr¡   Údownr  r  s                r   Útest_stack_multiple_bugz2TestStackUnstackMultiLevel.test_stack_multiple_bug  sn  € ð
 �#˜‘'˜q˜c A™gÑ&ˆØ�˜‘	˜s˜e a™iÑ(ˆÜ�~‰~ÒHÈ1ÑLÓMˆÜ�y‰y×$Ñ$ QÓ'×0Ñ0°°C¸Ó;ˆÜ˜f¨d¸DÈ$ÑOÓPˆà—‘˜f d˜^Ó,ˆØ%ˆ�‰ÔØ�}‰}˜TÓ"ˆÜ�i‰iÐ@ÓAˆÜ�]‰]œ9¨CÔ0ñ 	*Ø�M‰M˜'Ó"×'Ñ'Ô)÷	*à�}‰}˜WÓ%×*Ñ*¸Ð*Ó=ˆØ�Z‰Z˜¨<ˆZÓ8ˆà�H‰H’Q˜˜�[Ñ!ß‰X�gÓß‰T‹Vß‰U�4 lˆUÓ3ð	 	ð #ˆ�
‰
ŒÜ
×Ñ˜b "Õ%÷	*ð 	*ús   Ã F Æ F)c                 ó>  — t        ddgddgddgdœ«      }|j                  ddg«      }|sd	nt        j                  }|j	                  «       j                  ||¬
«      }t        |«      t        |j                  «       «      kD  sJ ‚|rFt        j                  t        d¬«      5  |j	                  «       j                  d|¬
«       d d d «       y |j	                  «       j                  d|¬
«      }t        j                  ||j                  «       «       y # 1 sw Y   y xY w)NÚa1Úa2Úb1Úb2r5   r0  rw   rx   Frä  r3  r˜   T)r   rf   r   rÝ  r"   r!   rI   rÜ  rž   rŸ   r÷   r#   r$   )r&   r   r(   rÜ  r)   s        r   Útest_stack_dropnaz,TestStackUnstackMultiLevel.test_stack_dropna7  s÷   € ô
 ˜d D˜\°°t°ÀAÀqÀ6ÑJÓKˆØ�\‰\˜3 ˜*Ó%ˆá*‘´·±ˆØ—*‘*“,×$Ñ$¨FÀÐ$ÓNˆÜ�7‹|œc '§.¡.Ó"2Ó3Ò3Ð3Ð3áÜ—‘œzÐ1MÔNñ KØ—
‘
“×"Ñ"¨$¸\Ð"ÔJ÷Kð Kð —j‘j“l×(Ñ(°À<Ð(ÓPˆGÜ×!Ñ! '¨7¯>©>Ó+;Õ<÷	Kð Kús   Â""DÄDc                 ó®   — t        g d¢g d¢g d¢gg d¢g d¢g¬«      }g d¢|j                  _        dd	g|j                  _        |j	                  d
dg«       y )N)r   r   r   r   r5   r5   r5   r5   )r   r   r5   r5   r   r   r5   r5   ©r   r5   r   r5   r   r5   r   r5   r  r  r7   r¤   rš   r©   r4   r‘   )r   r8   rh   r9   r"   )r&   r   r(   s      r   Ú"test_unstack_multiple_hierarchicalz=TestStackUnstackMultiLevel.test_unstack_multiple_hierarchicalJ  sS   € Üâ(Ú(Ú(ðò
 "¢<Ð0ô
ˆò )ˆ�‰ŒØ ˜:ˆ�
‰
Ôð 	�
‰
�C˜�:Õr   c           
      óœ  — d}t        t        j                  j                  d«      j	                  d|¬«      t        j                  j                  d«      j	                  d|¬«      t        j                  j                  d«      j	                  dd	|¬«      t        j                  j                  d
«      j	                  dd|¬«      t        j                  j                  d«      j	                  d|¬«      t        j                  j                  d	«      j                  |«      dœ«      }|j                  g d¢«      }|j                  d«       y )Néè  r6   rÊ  )Úsizer2   i,  rD   iùÿÿÿrr   rQ   iíÿÿÿé   rq   i¸  )rw   rx   r´   rÉ   rÊ   rË   )rw   rx   r´   rÉ   rÊ   rÊ   )r   r   rÔ   rÕ   rå  rå   rf   r"   )r&   ÚNUM_ROWSr(   Úidfs       r   Útest_unstack_sparse_keyspacez7TestStackUnstackMultiLevel.test_unstack_sparse_keyspaceZ  s  € ð ˆää—Y‘Y×*Ñ*¨1Ó-×6Ñ6°sÀÐ6ÓJÜ—Y‘Y×*Ñ*¨1Ó-×6Ñ6°sÀÐ6ÓJÜ—Y‘Y×*Ñ*¨1Ó-×6Ñ6°r¸1À8Ð6ÓLÜ—Y‘Y×*Ñ*¨1Ó-×6Ñ6°s¸BÀXÐ6ÓNÜ—Y‘Y×*Ñ*¨1Ó-×6Ñ6°tÀ(Ð6ÓKÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸hÓGñó	
ˆð �l‰lÒ4Ó5ˆð 	�‰�CÕr   c                 óR  — ddgg d¢g}g d¢g d¢g}t        ||«      }t        t        j                  j	                  d«      j                  d«      |¬«      }|j                  «       }t        |j                  «      d	k(  sJ ‚|j                  |¬
«      }t        j                  ||«       y )Nr   r5   r1  r  r2  r6   )rD   r6   r:   rD   r   )r   r   r   rÔ   rÕ   rå   r"   rI   r9   r!   r#   r$   )r&   r   r>   r  r8   r(   r?   r“  s           r   Útest_unstack_unobserved_keysz7TestStackUnstackMultiLevel.test_unstack_unobserved_keyso  s�   € ð
 �a�&š,Ð'ˆÚš|Ð,ˆä˜6 5Ó)ˆä”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÈuÔUˆà—‘“ˆÜ�6—>‘>Ó" aÒ'Ð'Ð'à—‘¨<�Ó8ˆÜ
×Ñ˜f bÕ)r   c                 ó"  —  G d„ dt         j                  «      }|j                  «       5 }|j                  t         d|«       t	        t        j                  d«      t        j                  d«      t        j                  d«      g¬«      }d}t        j                  t        |¬«      5  t        j                  t        d	¬«      5  |j                  «        d d d «       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   ŒxY w# 1 sw Y   y xY w)
Nc                   ó    ‡ — e Zd Zdˆ fd„Zˆ xZS )úaTestStackUnstackMultiLevel.test_unstack_number_of_levels_larger_than_int32.<locals>.MockUnstackerc                 ó8   •— t        ‰| �  |i |¤Ž t        d«      ‚)NúDon't compute final result.)ÚsuperÚ__init__Ú	Exception)r&   ÚargsrT  Ú	__class__s      €r   r	  zjTestStackUnstackMultiLevel.test_unstack_number_of_levels_larger_than_int32.<locals>.MockUnstacker.__init__‡  s!   ø€ ä‘Ñ  $Ð1¨&Ò1ÜÐ =Ó>Ð>r   )ÚreturnN)r  r  r  r	  Ú__classcell__)r  s   @r   ÚMockUnstackerr  †  s   ø„ ÷?ñ ?r   r  Ú
_Unstacker)é   r6   r  r:   z$The following operation may generater˜   r  )Úreshape_libr  ÚcontextÚsetattrr   r   rB  r   r#   rÐ  r   rž   rŸ   r
  r"   )r&   Úmonkeypatchr  rZ  r(   r¡   s         r   Ú/test_unstack_number_of_levels_larger_than_int32zJTestStackUnstackMultiLevel.test_unstack_number_of_levels_larger_than_int32�  sØ   € ô
	?œK×2Ñ2ô 	?ð × Ñ Ó"ð 		! aØ�I‰I”k <°Ô?ÜÜ—‘˜Ó$Ü—y‘y Ó'¬¯©°5Ó)9Ð:ôˆBð 9ˆCÜ×+Ñ+Ô,>ÀcÔJñ !Ü—]‘]¤9Ð4QÔRñ !Ø—J‘J”L÷!÷!÷		!ð 		!÷!ð !ú÷!ð !ú÷		!ð 		!ús<   ªA=DÂ'C9ÃC-ÃC9ÃDÃ-C6Ã2C9Ã9D	Ã>DÄDr>   c              #   óv   K  — | ]1  }t        j                  t        j                  g d ¢|«      d¬«      –— Œ3 y­w)r`   r6   rÚ   N)rã   rä   r  )rL  Úwidths     r   rM  z$TestStackUnstackMultiLevel.<genexpr>œ  s5   è ø€ ò &
àô ×Ñœi×4Ñ4²YÀÓFÈq×QÐQñ&
ùs   ‚79r³   Ú	stack_levr  TFc                 óF  — t        |g d¢g d¢g¬«      }t        |t        d«      g¬«      }|ri nd|i} |j                  |fd|i|¤Ž}|j                  D ]K  }	|j
                  D ]:  }
|j                  |	|
f   }|	|
|   f}|
d|z
     }|j                  ||f   }||k(  rŒ:J ‚ ŒM y )	Nr  r  r  rD   )r9   rl   r  r   r5   )r   r   r;   r!   r8   r9   rk   )r&   r>   r  r  r   r9   r(   rT  Ú
df_stackedÚrowr  r@   Ú
result_rowÚ
result_colr?   s                  r   Ú%test_stack_order_with_unsorted_levelsz@TestStackUnstackMultiLevel.test_stack_order_with_unsorted_levels—  sÃ   € ô"  F²<ÂÐ2NÔOˆÜ˜w¬e°A«h¨ZÔ8ˆÙ#‘¨&°$¨ˆØ�R—X‘X˜iÑM°lÐMÀfÑMˆ
Ø—8‘8ò 	*ˆCØ—z‘zò *�ØŸ6™6 # s (Ñ+�Ø  # i¡.Ð0�
Ø   Y¡Ñ/�
Ø#Ÿ™¨
°JÐ(>Ñ?�Ø Ó)Ð)Ð)ñ*ñ	*r   c           
      ót  ‡‡— t        g d¢g d¢gt        j                  t        d«      d«      t        j                  t        d«      d«      g¬«      }t        |t        d«      t        j                  dt        |«      z  «      j                  dd«      ¬«      Št        ˆˆfd„‰j                  D «       «      sJ ‚y )	N)rw   r´   rx   )rx   rw   r´   r2   r  rQ   rV   )r9   r8   rl   c              3   ó¸   •K  — | ]Q  }‰j                   D ]@  }‰j                  ||f   ‰j                  d ‰¬«      j                  ||d    f|d   f   k(  –— ŒB ŒS y­w)r   r   r5   N)r9   rk   r!   )rL  r  r  r(   r   s      €€r   rM  z]TestStackUnstackMultiLevel.test_stack_order_with_unsorted_levels_multi_row.<locals>.<genexpr>Â  sv   øè ø€ ò 
ð Ø—z‘zò	
ð ð �F‰F�3˜�8ÑØ�x‰x˜¨ˆxÓ5×9Ñ9¸3ÀÀAÁ¸-ÈÈQÉÐ:OÑPõQð
ðQñ
ùs   ƒAA)r   r   rÛ   r;   Útiler   r   rI   r   r5  r8   )r&   r   r  r(   s    ` @r   Ú/test_stack_order_with_unsorted_levels_multi_rowzJTestStackUnstackMultiLevel.test_stack_order_with_unsorted_levels_multi_row´  s™   ù€ ô Ú#¢_Ð5Ü—9‘9œU 1›X qÓ)¬2¯7©7´5¸³8¸QÓ+?Ð@ô
ˆô Øœe A›h¬R¯Y©Y°q¼3¸r»7±{Ó-C×-KÑ-KÈAÈrÓ-Rô
ˆô ô 
ð —x‘xô
ô 
ð 	
ñ 
r   c                 ó&  — d}d}t        |g d¢g d¢g¬«      }t        |t        d«      gg d¢¬«      }|ri nd	d
i} |j                  |fd|i|¤Ž}t        g d¢ddggg d¢g d¢g¬«      }t        g d¢g d¢dœ|¬«      }	t	        j
                  ||	«       y )N)©r   r5   )r5   r   r5   r  r  r  rD   )r5   r   r6   r2   )r9   rl   r8   r  Tr   r1  r   )r5   r5   r   r   r6   r6   r2   r2   )r5   r   r5   r   r5   r   r5   r   rø  )r6   r2   r6   r2   r6   r2   r6   r2   r%  r:   )r   r   r;   r!   r#   r$   )
r&   r   r>   r  r9   r(   rT  r?   r¸   r@   s
             r   Ú1test_stack_order_with_unsorted_levels_multi_row_2zLTestStackUnstackMultiLevel.test_stack_order_with_unsorted_levels_multi_row_2É  s§   € ð
 "ˆØˆ	Ü F²<ÂÐ2NÔOˆÜ˜w¬e°A«h¨Zº|ÔLˆÙ#‘¨&°$¨ˆØ�—‘˜)ÑI°,ÐIÀ&ÑIˆÜ#Ú  1 a &Ð)Ú+Ò-EÐFô
ˆô â+Ú+ñð !ô
ˆô 	×Ñ˜f hÕ/r   c           	      ó˜  — t        j                  d«      }t        j                  |D �cg c]  }d|› �‘Œ	 c}|D �cg c]  }d|› �‘Œ	 c}g«      }t        |j                  ddg¬«      }d|j
                  _        d|i}t        j                  |d¬«      }d	dg|j
                  _	        |j                  t        |j
                  «      d¬«      }|j                  dd	g|¬
«      j                  dd	g«      }t        ddgddgddgddgddggg d¢t        j                  ddgdd	g¬«      ¬«      }	t!        j"                  ||	«       y c c}w c c}w )NrQ   r4   r3   rÞ   r  rF   r5   r3  r  r   Úa0Úb0rò  rô  ró  rõ  Úa3Úb3Úa4Úb4rÆ  )r3   rF   )r4   rF   r¦   r7   )r   r   Úvstackr   r%   r9   rb   r„   rP  rh   rv  r‰  r!   r"   r   rd   r#   r$   )
r&   r   rƒ   rF   rl   r(   Úsecond_level_dictÚmulti_level_dfr?   r@   s
             r   Ú'test_stack_unstack_unordered_multiindexzBTestStackUnstackMultiLevel.test_stack_unstack_unordered_multiindexá  sM  € ô
 —‘˜1“ˆÜ�y‰yà"(Ö)˜Q�1�Q�C’Ò)Ø"(Ö)˜Q�1�Q�C’Ò)ðó
ˆô �t—v‘v¨¨S zÔ2ˆØ!ˆ�
‰
ŒØ  "˜IÐÜŸ™Ð#4¸1Ô=ˆØ(0°'Ð':ˆ×ÑÔ$Ø×#Ñ#¤F¨>×+AÑ+AÓ$BÈÐ#ÓKˆØ—‘˜7 HÐ-¸L�ÓI×QÑQØ�hÐó
ˆô Ø�Dˆ\˜D $˜<¨$°¨¸¸d°|ÀdÈDÀ\ÐRÚ!Ü×*Ñ*Ø˜ZÐ(°¸(Ð0Côô
ˆô 	×Ñ˜f hÕ/ùò) *ùÚ)s
   ©E»E
c                 ó  — |}d|d<   d|d<   |j                  d«      }|d   j                  t        j                  k(  sJ ‚|s"|d   j                  t        j                  k(  sJ ‚	 |d   j                  t        j                  k(  sJ ‚y )	Nr   rÊ   r6   rË   r³  r  )rÊ   r5   )rË   r5   )r"   rS   r   r|   Úobject_)r&   r_  r"  r`  r+   s        r   Útest_unstack_preserve_typesz6TestStackUnstackMultiLevel.test_unstack_preserve_typesÿ  sŽ   € ð >ˆØˆˆC‰ØˆˆC‰à—K‘K Ó(ˆ	Ø˜Ñ ×&Ñ&¬"¯*©*Ò4Ð4Ð4ñ &ð �fÑ×#Ñ#¤r§z¡zÒ1ð	
ðàà˜Ñ ×&Ñ&¬"¯*©*Ò4Ð4Ñ4r   c                 ó.  — t        j                  t        j                  d«      d«      }t        j                  d«      }t        |gdz  ddggz   |gdz  t        j                  d«      j	                  d«      gz   ¬«      }t        t        j                  d«      |¬«      }|j                  «       }|j                  d	k(  sJ ‚|j                  |¬
«      }t        j                  ||j                  |j                  «      «       t        ddgg|gdz  z   t        j                  d«      j	                  d«      g|gdz  z   ¬«      }t        t        j                  d«      |¬«      }|j                  d«      }|j                  d	k(  sJ ‚t        |gdz  ddggz   |gdz  z   |gdz  t        j                  d«      j	                  d«      gz   |gdz  z   ¬«      }t        t        j                  d«      |¬«      }|j                  d«      }|j                  d	k(  sJ ‚y )Néô  r6   rs   r   r5   r  rû  r:   )r6  r6   r   rD   )r   r"  r   r   rÛ   r
   r"   r    r!   r#   r=   rv  r8   )r&   r   r  rà   r8   rn   r?   r)   s           r   Ú!test_unstack_group_index_overflowz<TestStackUnstackMultiLevel.test_unstack_group_index_overflow	  sÓ  € Ü—‘œŸ	™	 #›¨Ó*ˆÜ—	‘	˜#“ˆäØ�7˜Q‘; 1 a & Ñ)Ø�'˜A‘+¤§¡¨1£×!4Ñ!4°SÓ!9Ð :Ñ:ô
ˆô
 ”2—9‘9˜T“?¨%Ô0ˆØ—‘“ˆØ�|‰|˜xÒ'Ð'Ð'ð —,‘,¨L�,Ó9ˆÜ
×Ñ˜q '§/¡/°!·'±'Ó":Ô;ô Ø˜�F�8˜u˜g¨™kÑ)Ü—9‘9˜Q“<×&Ñ& sÓ+Ð,°¨w¸©{Ñ:ô
ˆô
 ”2—9‘9˜T“?¨%Ô0ˆØ—‘˜1“ˆØ�|‰|˜xÒ'Ð'Ð'ô Ø�7˜Q‘; 1 a & Ñ)¨U¨G°a©KÑ7Ø�7˜Q‘;¤"§)¡)¨A£,×"5Ñ"5°cÓ":Ð!;Ñ;¸u¸gÈ¹kÑIô
ˆô
 ”2—9‘9˜T“?¨%Ô0ˆØ—‘˜1“ˆØ�|‰|˜xÒ'Ð'Ñ'r   c           	      ó  — t        g d¢g d¢dgdz  dœ«      j                  ddg«      }d|d	<   |s$t        |j                  j                  «      d
k(  sJ ‚|j                  d«      }|d   j                  d«      |d<   t        g d¢t        j                  dddggt        ddgd¬«      t        j                  g d¢d dg¬«      ¬«      }|r.|d   j                  d«      |d<   |d   j                  d«      |d<   t        j                  ||«       y )N)rw   rw   rx   )ÚcaÚcbr:  r%  r2   )r3   r4   rï  r3   r4   r5   Úis_r6   ©r;  r9  r   )ç      $@r=  rÀ   rÀ   r=  r]  rÀ   rw   rx   r®   ))rï  r9  ©rï  r:  r<  ©r;  r:  r¦   r7   r>  rj   r?  )r   rf   rI   rJ   rK   r"   rù  r   rH   r   r   rd   ri   r#   r$   )r&   rL   r(   r?   r@   s        r   Ú+test_unstack_with_missing_int_cast_to_floatzFTestStackUnstackMultiLevel.test_unstack_with_missing_int_cast_to_float5	  s  € äâ$Ú'Ø�T˜A‘Xñó
÷ ‰)�S˜#�JÓ
ð 	ð ˆˆ5‰	Ù"Ü�r—w‘w—~‘~Ó&¨!Ò+Ð+Ð+à—‘˜C“ˆØ & }Ñ 5× <Ñ <¸QÓ ?ˆˆ}ÑäÚ#¤b§f¡f¨d°C¸Ð%=Ð>Ü˜˜c˜
¨Ô-Ü×*Ñ*ÚHØ˜S�kôô
ˆñ à$,¨[Ñ$9×$@Ñ$@ÀÓ$IˆH�[Ñ!Ø&.¨}Ñ&=×&DÑ&DÀWÓ&MˆH�]Ñ#Ü
×Ñ˜f hÕ/r   c                 ó¦  — t        g d¢g d¢g d¢g d¢dœ«      }|j                  g d¢«      }g d¢}|j                  j                  |d¬«      |_        |j                  j                  |d	¬«      |_        |j	                  d
«      d   j                  «       j                  }t        g d¢g d¢gg d¢g d¢gdd	g¬«      }t        j                  ||«       y )Nr  )r2   rD   r5   r6   rE  )ÚL1ÚL2ÚL3rF   )rB  rC  rD  )Ún1Ún2Ún3NrB  )r>   rà   rC  rD  )rF   r5   r1  )r6   r2   r   r5   r  )	r   rf   r8   Ú
set_levelsr"   r  r   r#   r‚  )r&   r×   Ú
new_levelsr?   r@   s        r   Útest_unstack_with_level_has_nanz:TestStackUnstackMultiLevel.test_unstack_with_level_has_nanU	  s¿   € äâ"Ú"Ú"Ú!ñ	ó
ˆð �m‰mÒ.Ó/ˆÚ-ˆ
Ø—I‘I×(Ñ(°
À$Ð(ÓGˆŒ	Ø—I‘I×(Ñ(°
À$Ð(ÓGˆŒ	à—‘˜TÓ" 8Ñ,×7Ñ7Ó9×?Ñ?ˆÜÚ,Ò.FÐGÚ¢Ð.Ø˜�,ô
ˆô 	×Ñ˜f hÕ/r   c                 ó  — t        t        j                  ddg«      t        j                  g d¢«      ¬«      }|j                  d|¬«      }|r1t        dgdd	ggg d
¢g d¢g¬«      }t        dgddggg d
¢g d¢g¬«      }nt        g d¢«      }t        g d¢«      }t        dt        j                  t        j                  gt        j                  ddgt        j                  ddgg||¬«      }t        j                  ||«       y )Nr5   rQ   ))r   NN)r   r6   r   )r   r6   r5   )r   r2   r   )r   r2   r5   rÞ   r6   r   r   r]  rÀ   r/  )rV   r   r5   r  r2   )©r   N)r   r   r%  )rL  )r   r6   )r   r2   r7   )
r   r   rB  r   rd   r!   r   rH   r#   r$   )r&   r   r(   r?   r8   r9   r@   s          r   Ú$test_stack_nan_in_multiindex_columnsz?TestStackUnstackMultiLevel.test_stack_nan_in_multiindex_columnsm	  sæ   € ô
 Ü�H‰H�a˜�VÓÜ×*Ñ*òóô
ˆð —‘˜!¨,�Ó7ˆÙÜ¨ s¨S°#¨JÐ&7Â	Ê:Ð?VÔWˆEÜ ¨!¨¨q°!¨f¨ºiÊÐ=TÔU‰GäÒ5Ó6ˆEÜÒ7Ó8ˆGÜØ”2—6‘6œ2Ÿ6™6Ð"¤R§V¡V¨S°#Ð$6¼¿¹ÀÀcÐ8JÐKØØô
ˆô
 	×Ñ˜f hÕ/r   c                 ó:  — t        j                  dgdz  dgdz  z   t        j                  t	        d«      «      t        j                  t	        d«      «      g«      }t        t        j                  d«      j                  dd«      |¬«      }|j                  d	dg|¬
«      }|ròt        dt        j                  gd	t        j                  gt        j                  dgt        j                  dgdt        j                  gdt        j                  gt        j                  dgt        j                  dggddgt        j                  dgdz  d	gdz  z   t        j                  t	        d«      «      t        j                  t	        d«      «      g«      ¬«      }nñt        dt        j                  gt        j                  dgd	t        j                  gt        j                  dgdt        j                  gt        j                  dgdt        j                  gt        j                  dggddgt        j                  dgdz  d	gdz  z   t        j                  t	        d«      «      t        j                  t	        d«      «      g«      ¬«      }t        j                  ||«       y )Nrw   r6   rx   r|  Úccddrs   rD   rÞ   r5   r   r   r2   rQ   rq   rr   ÚababababÚccddccddr¯   ÚaabbaabbÚcdcdcdcd)r   r  r„   r�   rz   r   r   r   r   r!   rH   r#   r$   )r&   r   r  r(   r?   r@   s         r   Ú"test_multi_level_stack_categoricalz=TestStackUnstackMultiLevel.test_multi_level_stack_categoricalŒ	  s  € ô
 ×%Ñ%à�˜‘	˜S˜E A™IÑ%Ü—‘œt F›|Ó,Ü—‘œt F›|Ó,ðó
ˆô ”r—y‘y “|×+Ñ+¨A¨qÓ1¸4Ô@ˆØ—‘˜1˜a˜&¨|�Ó<ˆÙÜ àœŸ™�KØœŸ™�KÜ—V‘V˜Q�KÜ—V‘V˜Q�KØœŸ™�KØœŸ™�KÜ—V‘V˜Q�KÜ—V‘V˜Q�Kð	ð ˜c˜
Ü ×,Ñ,à˜˜a™ 1 #¨¡'Ñ)ÜŸ™¤t¨JÓ'7Ó8ÜŸ™¤t¨JÓ'7Ó8ðóô‰Hô* !àœŸ™�KÜ—V‘V˜Q�KØœŸ™�KÜ—V‘V˜Q�KØœŸ™�KÜ—V‘V˜Q�KØœŸ™�KÜ—V‘V˜Q�Kð	ð ˜c˜
Ü ×,Ñ,à˜˜a™ 1 #¨¡'Ñ)ÜŸ™¤t¨JÓ'7Ó8ÜŸ™¤t¨JÓ'7Ó8ðóôˆHô( 	×Ñ˜f hÕ/r   c                 óÒ  — t        t        j                  d«      j                  dd«      t	        j
                  dt        j                  fdgddg¬«      t        dd	gd
¬«      t        j                  ¬«      }|j                  |¬«      }|r+t	        dd	gt        j                  dggg d¢g d¢gd
dg¬«      }n=t	        j
                  dt        j                  fdd	t        j                  fdgd
dg¬«      }t        dt        j                  gt        j                  d	gdt        j                  gt        j                  dggt        ddgd¬«      |¬«      }t        j                  ||«       y )NrD   r6   rw   ry   rÚ  rÛ  r¦   r   r5   ÚNumr®   r  r   r4   r  r  r  r  )r5   r4   r]  r  rC   rx   r¯   )r   r   r   r   r   rd   rH   r   r|   r!   r#   r$   )r&   r   Údf_nanr?   r8   r@   s         r   Útest_stack_nan_levelz/TestStackUnstackMultiLevel.test_stack_nan_levelÆ	  s5  € ô
 Ü�I‰I�a‹L× Ñ   AÓ&Ü×*Ñ*Ø”r—v‘v� 
Ð+°G¸WÐ3Eôô ˜˜A˜ UÔ+Ü—*‘*ô
ˆð —‘¨<�Ó8ˆÙÜØ˜A˜¤§¡¨ Ð.Ú#¢\Ð2Ø˜gÐ&ô‰Eô ×*Ñ*Ø”R—V‘V�˜h¨¬B¯F©F¨°XÐ>ÀuÈgÐFVôˆEô Ø”2—6‘6ˆ]œRŸV™V Q˜K¨#¬r¯v©v¨¼¿¹À¸ÐFÜ˜3 ˜*¨7Ô3Øô
ˆô
 	×Ñ˜f hÕ/r   c                 ó†  — t        j                  dgddgg«      }t        dt        j                  ddg«      i|¬«      }|j                  «       }t        t        j                  dgddg¬«      t        j                  dgddg¬«      d	œdg¬«      }t        j                  d
dg«      |_        t        j                  ||«       y )Nrw   r   r5   rì   r3   r4   r:   r•   r%  )rì   r   )rì   r5   )
r   r<   r   r„   r�   r"   rd   r9   r#   r$   r°   s        r   Ú test_unstack_categorical_columnsz;TestStackUnstackMultiLevel.test_unstack_categorical_columnså	  s­   € ä×%Ñ%¨ u¨q°!¨f oÓ6ˆÜ˜œrŸ~™~¨s°C¨jÓ9Ð:À#ÔFˆØ—‘“ˆÜä—>‘> 3 %°S¸#°JÔ?Ü—>‘> 3 %°S¸#°JÔ?ñð �%ô
ˆô &×1Ñ1°:¸zÐ2JÓKˆÔÜ
×Ñ˜f hÕ/r   c                 ó  — ddg}ddg}g d¢}t        j                  |||gg d¢¬«      }t        t        t	        |«      «      «      }t        ||dg¬	«      }|j                  d
dg«      }|j                  j                  d«      |_        d|j                  d d …df<   |j                  d
dg|¬«      j                  «       }|j                  d¬«      j                  d
dg|¬«      j                  «       }	t        j                  ||	«       y )NÚITAÚFRAÚA1ÚA2)ÚCRTÚDBTÚNET)ÚPAEÚVARÚTYPr¦   ÚVALUE)rl   r8   r9   rd  re  r   i'  )ÚA0rb  r   r5   r3  )r   r<   rz   r;   rI   r   r"   r9   rN  rk   r!   r  r#   r=   )
r&   r   rc  rd  re  r½   ÚVÚDFr?   r@   s
             r   Útest_stack_unsortedz.TestStackUnstackMultiLevel.test_stack_unsortedô	  sî   € ð
 �eˆnˆØ�TˆlˆÚ#ˆÜ×$Ñ$ c¨3° _Ò<QÔRˆä””s˜2“w“Ó ˆÜ˜A R°'°Ô;ˆà�Z‰Z˜ ˜Ó'ˆØ—Z‘Z×)Ñ)¨!Ó,ˆŒ
Ø#'ˆ�‰Šq�-ÐÑ à—‘˜5 %˜.°|�ÓD×OÑOÓQˆà�M‰M˜qˆMÓ!ß‰U�E˜5�>°ˆUÓ=ß‰Z‹\ð 	ô
 	×Ñ˜v xÕ0r   c                 óÔ  — t        j                  ddgddggddg¬«      }t        g d¢d	¬
«      }t        j                  g d¢g d¢g d¢g«      }t        |||t        j                  «       ¬«      }|j                  d|¬«      }|j                  t        j                  «      j                  d|¬«      j                  t        j                  «       «      }t        j                  ||«       ||j                  d      j                  t        j                  «       «      ||j                  d   <   |j                  d|¬«      }t        t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢t        j                  «       ¬«      dœt        j                  ||j                  d   g«      ¬«      }d|j                  _        t        j                  ||«       y )NÚ54511Ú54515r©  Út_meanÚstationÚelementr¦   r¥   r‘  r®   )rŸ  éâ   r%  é×   )r%  rr  r§   éÜ   )i1  éè   rk  rs  r  r   r   )rÁ   r=  r=  g      "@g     s@g     À[@rR   )rq  rr  rr  rs  rt  rs  )r©  rn  r:   )r   r<   r   r   r  r   r„   Ú
Int64Dtyper!   ri   rj   r#   r$   r9   ÚFloat64Dtyper>   rb   )r&   r   r9   r8   Úarrr(   r?   r@   s           r   Útest_stack_nullable_dtypez4TestStackUnstackMultiLevel.test_stack_nullable_dtype
  s„  € ô
 ×)Ñ)Ø�wÐ # x Ð1¸)ÀYÐ9Oô
ˆô ’i fÔ-ˆä�h‰hÒ*Ò,=Ò?SÐTÓUˆÜ�s G°5ÄÇÁÃÔPˆà—‘˜)°,�Ó?ˆð �I‰I”b—h‘hÓß‰U�9¨<ˆUÓ8ß‰V”B—M‘M“OÓ$ð 	ô
 	×Ñ˜f hÔ/ð ˜rŸz™z¨!™}Ñ-×4Ñ4´R·_±_Ó5FÓGˆˆ2�:‰:�a‰=ÑØ—‘˜)°,�Ó?ˆää—X‘XÚ9ÄÇÁÓARôô Ÿ(™(Ú2¼"¿-¹-»/ôñ	ô ×)Ñ)¨5°'·.±.ÀÑ2CÐ*DÓEô

ˆð !*ˆ×ÑÔÜ
×Ñ˜f hÕ/r   c           	      ó>  — ddgddgddgg}t        j                  |d¬«      }t        dddgi|¬	«      }|j                  d
«      }t        dgdggt        j                  dgd d
g¬«      t        j                  ddgddg¬«      ¬«      }t        j                  ||«       y )Nr3   r5   r6   ÚredÚblue)rF   r   rG   r¦   rZ  r:   rF   )rZ  r3   )r5   rz  )r6   r{  r   rG   r¯   )r   r  r   r"   rd   r#   r$   )r&   Úarraysr±   r(   r?   r@   s         r   Útest_unstack_mixed_level_namesz9TestStackUnstackMultiLevel.test_unstack_mixed_level_names5
  s£   € à˜�*˜q !˜f u¨f oÐ6ˆÜ×$Ñ$ V°=ÔAˆÜ˜˜a ˜V�}¨CÔ0ˆØ—‘˜C“ˆÜØˆS�1�#ˆJÜ×*Ñ*¨J¨<ÀÀc¸{ÔKÜ×(Ñ(¨*°kÐ)BÈ1ÈcÈ(ÔSô
ˆô
 	×Ñ˜f hÕ/r   )9r  r  r  ra  rž   r  r  rn  rs  r  r{  rz   r   r   r"  r   rÛ   rd   r†  r”  r™  r¤  r¦  r¬  r®  r°  rµ  r¸  r»  rÖ  rÜ  rð  rö  rù  r   r  Úslowr  rã   ÚchainÚfrom_iterabler;   r  r#  r&  r1  r4  r7  r@  rJ  rM  rT  rX  rZ  rj  rx  r}  rw  r   r   r]  r]  -  s–  „ ò'ð ‡[�[×ÑØ?ò 0Ò1OÐPÚ>ØÚ(ð	ò *Ò+CÐDÚ6ØÚ"ð	ò *Ò+FÐGÚ6ØÚ"ð	ð	
óñ.0ó/ð.0ò(	3ð ‡[�[×ÑØCóñJ*óðJ*ðX ‡[�[×ÑØñ �V“Ú%ÙØ  #˜J¨°¨Ð7Ø"˜2Ÿ7™7 9 2§9¡9¨Q£<×#6Ñ#6°qÓ#9¸1Ó=¸w¸r¿w¹wÂyÐRSÓ?TÐUôðð '�
×&Ñ&Ð'OÓPÚ%ÙØ  #˜J¨¨A¨°¸°Ð?à˜Ÿ™ 	 §	¡	¨!£× 3Ñ 3°AÓ 6¸Ó:Ø!˜Ÿ	™	¢)ªYÓ7Ø˜Ÿ™¢	¨1Ó-ðôðð	
óñ2*ó3ð2*ð& ‡[�[×ÑØCóñ*óð*ð2 ‡[�[×ÑØCóñ2óð2òYð& ‡[�[×ÑØCóñ
:óð
:ð ‡[�[×Ñ˜X¨°Ð';Ó<ñ8ó =ð8ò&0ð ‡[�[×ÑØCóñ
1óð
1ð ‡[�[×ÑØCóñ Móð MðD ‡[�[×ÑØCóñ	Eóð	Eð ‡[�[×ÑØCóñAóðAòC3òJ-1ð^ ‡[�[×ÑØCóñ&óð&ð2 ‡[�[×ÑØCóñ=óð=ò ò ð* ‡[�[×ÑØCóñ*óð*ð ‡[�[×Ññ!ó ð!ð* ‡[�[×ÑØCóð ‡[�[×ÑØØ�‰×%Ñ%ñ &
àô&
ó 	
óð ‡[�[×Ñ˜[©%°«(Ó3Ø‡[�[×Ñ˜V d¨E ]Ó3ñ*ó 4ó 4óóð*ð" ‡[�[×ÑØCóñ
óð
ð$ ‡[�[×ÑØCóñ0óð0ð* ‡[�[×ÑØCóñ0óð0ò65ò"#(òJ0ò@0ð0 ‡[�[×ÑØCóñ0óð0ð8 ‡[�[×ÑØCóñ50óð50ðn ‡[�[×ÑØCóñ0óð0ò80ð ‡[�[×ÑØCóñ1óð1ð, ‡[�[×ÑØCóñ#0óð#0óJ0r   r]  c           	      óÐ   — t        g d¢g d¢g d¢gg d¢¬«      }|j                  | ¬«      }t        g d¢t        g d¢g d¢gg d	¢g d
¢g¬«      ¬«      }t	        j
                  ||«       y )Nr¥   )rD   rQ   rq   )rr   rs   r§   )r  r}  r~  rÞ   r   )	r5   r6   r2   rD   rQ   rq   rr   rs   r§   r`   )	r   r   r   r5   r5   r5   r6   r6   r6   )	r   r5   r6   r   r5   r6   r   r5   r6   r  r:   )r   r!   r
   r   r#   r=   )r   r(   r?   r@   s       r   Útest_stack_tuple_columnsr‚  C
  sd   € ä	Ú	’IšyÐ)Ò3Qô
€Bð �X‰X <ˆXÓ0€FÜÚ#ÜÚÒ=Ð>Ú.Ò0KÐLô
ô€Hô ×Ñ˜6 8Õ,r   zdtype, na_valuer   Útest_multiindexc                 óÎ  — |r&t        j                  dt        |g| ¬«      gz  «      }nt        |g| ¬«      }t        ddgi|¬«      }|j	                  d¬«      }|r;t        j                  t        |g| ¬«      t        |g| ¬«      t        dg«      g«      }n-t        j                  t        |g| ¬«      t        dg«      g«      }t        d|¬«      }t        j                  ||«       y )Nr6   rR   r3   r5   r:   Tr   )r   r  r   r   r!   r
   r#   r=   )rS   Úna_valuerƒ  r8   r(   r?   r¸   r@   s           r   Útest_stack_preserves_nar†  S
  sÛ   € ñ Ü×&Ñ& q¬E°8°*ÀEÔ,JÐ+KÑ'KÓL‰ä�x�j¨Ô.ˆÜ	�C˜!˜�: UÔ	+€BØ�X‰X 4ˆXÓ(€FáÜ#×/Ñ/ä�x�j¨Ô.Ü�x�j¨Ô.Ü�s�e“ðó
‰ô $×/Ñ/ä�x�j¨Ô.Ü�s�e“ðó
ˆô �a˜~Ô.€HÜ×Ñ˜6 8Õ,r   )1r   rã   ræ  Únumpyr   rž   Úpandas._libsr   Úpandas.errorsr   Úpandasr„   r   r   r   r	   r
   r   r   Úpandas._testingÚ_testingr#   Úpandas.core.reshaper   r  Úfixturer   r   r  r  r"  r$  r)  r1  r  rÝ  r4  r6  r8  rC  rG  rR  rU  r[  r]  r‚  rH   r  r†  rw  r   r   ú<module>r�     s[  ðÝ Û Û 	ã Û å Ý ,ã ÷÷ ñ õ Ý 6ð €‡�˜˜e�}Ô%ñó &ð÷B0ñ B0ðJ( ‡�×Ñ˜ 9¨iÐ"8Ó9ñ",ó :ð",òJ,ò0,ò0	-ð ‡�×ÑÐWÓXØ‡�×Ñ˜ D¨%°·±Ð#@ÓAñ1ó Bó Yð1ð ‡�×ÑÐWÓXØ‡�×Ñ˜ D¨%°·±Ð#@ÓAØ‡�×Ñ˜¨¨a yÓ1ñ0ó 2ó Bó Yð0ò")ò,ð> ‡�×ÑÐWÓXñ
,ó Yð
,ò)ð, ‡�×ÑÐWÓXñ#,ó Yð#,ðL ‡�×ÑÐWÓXñ-ó Yð-÷$S0ñ S0òl -ð  ‡�×ÑØà	�B—F‘FÐØ	�B—F‘FÐØ	�B—E‘EÐØ	�"—%‘%Ðð	óð ‡�×ÑÐ*¨T°5¨MÓ:ñ-ó ;óñ-r   