ó
    ­œ‘h} ã                   ó€  • S SK J r   S SKrS SKrS SKrS SKrS SKJr  S SKJ	r	  S SK
rS SK
JrJrJrJrJrJrJr  S SKJr  S SKJr  \R2                  " SS/S	9S
 5       r " S S5      r\R8                  R;                  SSS/5      S 5       rS rS r S r!\R8                  RE                  S5      \R8                  R;                  SSS\RF                  /5      S 5       5       r$\R8                  RE                  S5      \R8                  R;                  SSS\RF                  /5      \R8                  R;                  SSS /5      S 5       5       5       r%S r&S r'\R8                  RE                  S5      S 5       r(S r)\R8                  RE                  S5      S 5       r*\R8                  RE                  S5      S 5       r+ " S S 5      r,S! r-\R8                  R;                  S"S\R\                  4S\R\                  4S\R^                  4S#\R^                  4/5      \R8                  R;                  S$SS/5      S% 5       5       r0g)&é    )ÚdatetimeN)Úlib)ÚPerformanceWarning)Ú	DataFrameÚIndexÚ
MultiIndexÚPeriodÚSeriesÚ	TimedeltaÚ
date_range)ÚreshapeTF)Úparamsc                 ó   • U R                   $ ©N)Úparam)Úrequests    ÚiC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\pandas/tests/frame/test_stack_unstack.pyÚfuture_stackr      s   € à�=‰=Ðó    c                   óD  • \ rS rSrS r\R                  R                  S5      S 5       rS r	\R                  R                  S5      S 5       r
S rS rS	 rS
 rS rS r\R                  R#                  SS/ SQ/ SQ/ SQ/ SQ/\R&                  " / SQSS/S9\R&                  " / SQSS/S94S/ SQ/ SQ/\" SS/SS9\R&                  " / SQ/ SQS94/5      S 5       rS r\R                  R                  S5      S 5       r\R                  R                  S5      S  5       r\R                  R                  S5      S! 5       rS" r\R                  R                  S5      S# 5       rS$ rS% r\R                  R#                  S&\R>                  " S'5      \R>                  " S'5      4\R@                  " S'S(S)9\R@                  " S'S*S(S)9445      S+ 5       r!\R                  R                  S5      S, 5       r"S- r#\R                  R#                  S.S// S0Q\RH                  S1S2/\RH                  S'S3/4S3/ S4Q\RH                  S'S3/\RH                  S1S2/445      S5 5       r%\R                  R#                  S6S7S/\&" S5      /5      S8 5       r'S9 r(S: r)S; r*\R                  R#                  S<S=S>/5      \R                  R#                  S?\+" \," S25      5      5      S@ 5       5       r-\R                  R#                  S<\.R^                  " / SAQ5      5      \R                  R#                  S?\+" \," S5      5      5      \R                  R#                  SBSCSD/5      SE 5       5       5       r0SF r1SG r2SH r3SI r4SJ r5\R                  R                  S5      \R                  R#                  SK/ SLQ/ SMQ/ SNQ/ SOQ/ SPQ/ SQQS/S3/S/S2/S/S/S//S2/S// SRQ/ SSQ/ STQ/ SUQ/ SVQ/ SWQS3S//S2S//SS///5      \R                  R#                  SXSYS/S3S/S3/S3S//45      SZ 5       5       5       r6\R                  R                  S5      S[ 5       r7\R                  R#                  S\S]S^/5      S_ 5       r8\R                  R                  S5      \R                  R#                  S\S]S^/5      \R                  R#                  S`\+" Sa5      / SbQ4\+" Sc5      / SdQ4/5      Se 5       5       5       r9Sf r:\R                  R                  S5      \R                  R                  Sg5      \R                  R#                  Sh/ SiQ\Rv                  " S3S2/S1Sj//5      4/ SkQ\Rv                  " S3S2/S1Sj//5      4/ SMQ\Rv                  " S3S2/S1Sj//5      4/5      Sl 5       5       5       r<\R                  R                  S5      \R                  R#                  SmS3S2/SnSo/SpSqSq4S3S2/SrSs/SpStSu4/5      Sv 5       5       r=\R                  R#                  SXS/S3/5      Sw 5       r>\R                  R#                  SXS/Sx/5      Sy 5       r?Szr@g){ÚTestDataFrameReshapeé   c                 ój  • UR                  5       n[        R                  " [        R                  " UR                  5      5      R                  UR                  5      US S & UR                  US9n[        XDS.5      nUR                  5       nUR                  5       n[        R                  " Xc5        [        R                  " US   U5        UR                  S5      nUR                  S5      n	[        R                  " UR                  U5        [        R                  " U	S   R                  U5        g )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_unstackÚ'TestDataFrameReshape.test_stack_unstack   sé   € Ø×ÑÓˆÜ—	’	œ"Ÿ'š' "§(¡(Ó+Ó,×4Ñ4°R·X±XÓ>ˆ‰1ˆà—(‘(¨�(Ð5ˆÜ 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           	      ó$  • [        S5      / SQSS//n[        SUS   US   S9nUR                  US9n[        S[        R
                  " US S 5      S9n[        R                  " XE5        [        SUS   [        R
                  " USS  5      S9nUR                  SUS9n[        S[        R
                  " US   US   /5      US   S9n[        R                  " XE5        US	S
/   R                  SUS9nUS	S
/   n[        R                  " XE5        g )Né   )r4   ÚaÚbé   é   r   ©ÚindexÚcolumnsr   ©r:   r5   r6   )	Úranger   r"   r
   r   Úfrom_productr$   Úassert_series_equalr%   )r'   r   Úlevelsr)   ÚresultÚexpecteds         r   Útest_stack_mixed_levelÚ+TestDataFrameReshape.test_stack_mixed_level1   s  € ô
 ˜“(šM¨A¨q¨6Ð2ˆô �q  q¡	°6¸!±9Ñ=ˆØ—‘ |�Ð4ˆÜ˜!¤:×#:Ò#:¸6À"À1¸:Ó#FÑGˆÜ
×Ò˜vÔ0ô �q  q¡	´:×3JÒ3JÈ6ÐRSÐRTÈ:Ó3VÑWˆØ—‘˜!¨,�Ð7ˆÜØ”Z×,Ò,¨f°Q©i¸À¹Ð-CÓDÈfÐUVÉiñ
ˆô 	×Ò˜fÔ/ð �S˜#�J‘×%Ñ% a°lÐ%ÐCˆØ˜S #˜JÑ'ˆÜ
×Ò˜fÕ/r   c                 óD  • [        SS[        R                  /SS[        R                  /S.5      nUS/   nUS   US'   U(       d%  [        UR                  R
                  5      S:X  d   eUR                  5       nUR                  5       n[        R                  " XE5        g )Nr7   r8   ç      @é   ©ÚxÚyrI   rJ   )	r   r   ÚnanÚlenÚ_mgrÚblocksr#   r$   r?   )r'   Úusing_array_managerr)   Údf2ÚresrB   s         r   Útest_unstack_not_consolidatedÚ2TestDataFrameReshape.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Õ-r   c                 óâ  • [        / SQ[        R                  S9n[        R                  " / SQ5      Ul        UR                  SS9n[        / SQ/ SQS./ S	Q[        R                  S
9n[        R                  " X45        UR                  SS9n[        / SQ/ SQS./ S	Q[        S
9n[        R                  " X45        [        / SQ/ SQ/ SQ/ SQS.5      R                  / S	Q5      nUR                  SS/SS9nSnXg   n[        / SQUR
                  US9n[        R                  " X45        UR                  SS/US9nUR
                  R                  UR
                  R                  5      Ul        UR!                  [        R"                  5      nUR$                  UR
                     n[        R                  " X55        US   n	U	R                  SS/SS9nUS   n[        R                  " X45        g )N)r7   r8   rG   é   ©Údtype©)rI   r5   )rI   r6   )rJ   r6   )Úzr5   éÿÿÿÿ©Ú
fill_value)r7   rZ   rU   )r8   rG   rZ   ©r5   r6   ©rI   rJ   rY   ©r:   rW   ç      à?)r7   r`   rU   )r8   rG   r`   ©r5   r5   r6   )ÚjÚkrb   ©r   r7   r8   )rI   rJ   rY   ÚwrI   rJ   r   )re   r6   rb   )r   r   r8   )r:   Únamer   re   )r
   r   Úint16r   Úfrom_tuplesr:   r#   r   r$   r%   ÚfloatÚ	set_indexr?   r"   Úreorder_levelsÚnamesÚastypeÚint64Úloc)
r'   r   ÚdatarA   rB   r)   r,   Úkeyr*   Úss
             r   Útest_unstack_fillÚ&TestDataFrameReshape.test_unstack_fillW   s¤  € ô ’l¬"¯(©(Ñ3ˆÜ×+Ò+Ú<ó
ˆŒ
ð —‘¨�Ð,ˆÜÚ¢:Ñ.²oÌRÏXÉXñ
ˆô 	×Ò˜fÔ/ð —‘¨�Ð-ˆÜÚ¢KÑ0ºÌuñ
ˆô 	×Ò˜fÔ/ô Ú!ªºiÊiÑXó
ç
‰)’OÓ
$ð 	ð —J‘J  S˜z°a�JÐ8ˆ	ØˆØ‘>ˆÜš	¨¯©¸sÑCˆÜ
×Ò˜vÔ0à—/‘/ 3¨ *¸<�/ÐHˆØŸ™×4Ñ4°R·X±X·^±^ÓDˆŒà—.‘.¤§¡Ó*ˆØ—‘˜RŸX™XÑ&ˆÜ
×Ò˜fÔ)ð ˆs‰GˆØ—‘˜C ˜:°!�Ð4ˆØ˜S‘>ˆÜ
×Ò˜fÕ/r   c                 ó¸  • SS/SS/SS/SS//n[        U[        S	5      [        R                  S
9n[        R
                  " / SQ5      Ul        UR                  SS9n/ SQ/ SQ/ SQ/n[        U[        S5      [        R                  S9n[        R
                  " / SQ5      Ul        [        R                  " X45        US   R                  [        R                  5      US'   US   R                  [        R                  5      US'   UR                  SS9nUS   R                  [        R                  5      US'   US   R                  [        R                  5      US'   [        R                  " X45        UR                  SS9n/ SQ/ SQ/ SQ/n[        U[        S5      [        S9n[        R
                  " / SQ5      Ul        [        R                  " X45        g )Nr7   r8   r4   rG   rU   é   é   é   ÚAB)r;   rW   rX   rZ   r[   )r7   r4   r8   rG   )rZ   rU   rZ   rv   )rw   rZ   rx   rZ   Úxyzr_   )©ÚAr5   )r|   r6   )ÚBr5   ©r}   r6   r|   r}   r`   )r`   rU   r`   rv   )rw   r`   rx   r`   )r   Úlistr   Úint32r   rh   r:   r#   r;   r$   r%   rm   rg   Úfloat64ri   )r'   Úrowsr)   rA   rB   s        r   Útest_unstack_fill_frameÚ,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Ô/ð �S‘'—.‘.¤§¡Ó*ˆˆ3‰Ø�S‘'—.‘.¤§¡Ó,ˆˆ3‰à—‘ r�Ð*ˆØ  ™×,Ñ,¬R¯X©XÓ6ˆ�‰Ø  ™×,Ñ,¬R¯Z©ZÓ8ˆ�‰Ü
×Ò˜fÔ/ð —‘ s�Ð+ˆâÒ.Ò0@ÐAˆÜ˜T¬¨e«¼EÑBˆÜ%×1Ò1Ú<ó
ˆÔô 	×Ò˜fÕ/r   c                 óà  • [        SSS9R                  n[        U5      n[        R                  " / SQ5      Ul        UR                  5       n[        US   [        R                  US   /US   US   [        R                  /S	./ S
QS9n[        R                  " X45        UR                  US   S9n[        US   US   US   /US   US   US   /S	./ S
QS9n[        R                  " X45        g )Nú
2012-01-01rG   ©ÚperiodsrX   r   r4   r7   r8   r]   r^   r<   r[   )r   Úvaluesr
   r   rh   r:   r#   r   ÚpdÚNaTr$   r%   )r'   Údvrp   rA   rB   s        r   Ú test_unstack_fill_frame_datetimeÚ5TestDataFrameReshape.test_unstack_fill_frame_datetime¬   sé   € ä˜¨aÑ0×7Ñ7ˆÜ�b‹zˆÜ×+Ò+Ú<ó
ˆŒ
ð —‘“ˆÜØ�a‘5œ"Ÿ&™& " Q¡%Ð(°°1±°r¸!±u¼b¿f¹fÐ/EÑFÚ!ñ
ˆô 	×Ò˜fÔ/à—‘¨¨A©�Ð/ˆÜØ�a‘5˜"˜Q™%  A¡Ð'¨r°!©u°b¸±e¸RÀ¹UÐ.CÑDÚ!ñ
ˆô 	×Ò˜fÕ/r   c                 ó  • [        S5       Vs/ s H  n[        US9PM     nn[        U5      n[        R                  " / SQ5      Ul        UR                  5       n[        US   [        R                  US   /US   US   [        R                  /S./ S	QS
9n[        R                  " XE5        UR                  US   S9n[        US   US   US   /US   US   US   /S./ S	QS
9n[        R                  " XE5        g s  snf )NrG   )ÚdaysrX   r   r4   r7   r8   r]   r^   r<   r[   )r=   r   r
   r   rh   r:   r#   r   rŠ   r‹   r$   r%   )r'   ÚiÚtdrp   rA   rB   s         r   Ú!test_unstack_fill_frame_timedeltaÚ6TestDataFrameReshape.test_unstack_fill_frame_timedeltaÂ   sù   € ä).¨q¬Ó2ª AŒi˜QÔ©ˆÐ2Ü�b‹zˆÜ×+Ò+Ú<ó
ˆŒ
ð —‘“ˆÜØ�a‘5œ"Ÿ&™& " Q¡%Ð(°°1±°r¸!±u¼b¿f¹fÐ/EÑFÚ!ñ
ˆô 	×Ò˜fÔ/à—‘¨¨A©�Ð/ˆÜØ�a‘5˜"˜Q™%  A¡Ð'¨r°!©u°b¸±e¸RÀ¹UÐ.CÑDÚ!ñ
ˆô 	×Ò˜fÕ/ùò% 3s   ŽC>c                 óÔ  • [        S5      [        S5      [        S5      [        S5      /n[        U5      n[        R                  " / SQ5      Ul        UR                  5       n[        US   S US   /US   US	   S /S
./ SQS9n[        R                  " X45        UR                  US   S9n[        US   US   US   /US   US	   US   /S
./ SQS9n[        R                  " X45        g )Nz2012-01z2012-02z2012-03z2012-04rX   r   r4   r7   r8   r]   r^   r<   r[   )	r	   r
   r   rh   r:   r#   r   r$   r%   )r'   rˆ   rp   rA   rB   s        r   Útest_unstack_fill_frame_periodÚ3TestDataFrameReshape.test_unstack_fill_frame_periodØ   s   € ô �9ÓÜ�9ÓÜ�9ÓÜ�9Óð	
ˆô �g‹ˆÜ×+Ò+Ú<ó
ˆŒ
ð —‘“ˆÜØ˜1‘:˜t W¨Q¡ZÐ0¸À¹
ÀGÈAÁJÐPTÐ7UÑVÚ!ñ
ˆô 	×Ò˜fÔ/à—‘¨°©�Ð4ˆÜà˜a‘j '¨!¡*¨g°a©jÐ9Ø˜a‘j '¨!¡*¨g°a©jÐ9ñò "ñ
ˆô 	×Ò˜fÕ/r   c           	      óô  • [        / SQSS9n[        R                  " / SQ5      Ul        UR	                  5       n[        [        R                  " [        S5      [        S5      S9[        R                  " [        S5      [        S5      S9S	.[        S
5      S9n[        R                  " X#5        Sn[        R                  " [        US9   UR	                  SS9  S S S 5        UR	                  SS9n[        [        R                  " [        S5      [        S5      S9[        R                  " [        S5      [        S5      S9S	.[        S
5      S9n[        R                  " X#5        g ! , (       d  f       N”= f)N©r5   r6   Úcr5   ÚcategoryrV   rX   ÚaxaÚabc©Ú
categoriesÚbcxr]   rz   r<   z9Cannot setitem on a Categorical with a new category \(d\)©ÚmatchÚdr[   rš   ÚacaÚbcc)r
   r   rh   r:   r#   r   rŠ   ÚCategoricalr   r$   r%   ÚpytestÚraisesÚ	TypeError)r'   rp   rA   rB   Úmsgs        r   Ú#test_unstack_fill_frame_categoricalÚ8TestDataFrameReshape.test_unstack_fill_frame_categoricalö   s  € äÒ*°*Ñ=ˆÜ×+Ò+Ú<ó
ˆŒ
ð
 —‘“ˆÜä—^’^¤D¨£K¼DÀ»KÑHÜ—^’^¤D¨£K¼DÀ»KÑHñô �u“+ñ
ˆô 	×Ò˜fÔ/ð KˆÜ�]Š]œ9¨CÓ0Ø�L‰L CˆLÑ(÷ 1ð —‘¨�Ð-ˆÜä—^’^¤D¨£K¼DÀ»KÑHÜ—^’^¤D¨£K¼DÀ»KÑHñô �u“+ñ
ˆô 	×Ò˜fÕ/÷ 1Õ0ús   ÃE)Å)
E7c           	      ó   • [         R                  " / SQ/ SQ/SS/S9n[        S/S-  S/S-  S	.US
9nUR                  S5      n[        / SQ/ SQ/ SQ/[         R                  " / SQS S/S9[        / SQSS9S9n[        R                  " X45        g )N©r5   r6   rš   ©r7   r8   r4   r{   r~   ©rl   r7   é	   r8   ©r£   Úer<   )r7   r7   r7   r8   r8   r8   )©r£   r5   ©r£   r6   )r£   rš   ©r³   r5   ©r³   r6   )r³   rš   ©rf   ©r;   r:   )r   r>   r   r#   rh   r   r$   r%   ©r'   Úidxr)   rA   rB   s        r   Ú$test_unstack_tuplename_in_multiindexÚ9TestDataFrameReshape.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Õ/r   z>unstack_idx, expected_values, expected_index, expected_columnsr{   )r7   r7   r8   r8   ))r7   r4   )r7   rG   ©r8   r4   )r8   rG   r}   ÚCr°   )r´   rµ   r¶   r·   N)r{   r}   )r7   r7   r7   r7   r8   r8   r8   r8   r4   rG   r¸   ))r£   r5   r7   )r£   r5   r8   )r£   r6   r7   )r£   r6   r8   )r³   r5   r7   )r³   r5   r8   )r³   r6   r7   )r³   r6   r8   )Nr{   r}   c                 óÐ   • [         R                  " SS/SS/SS/// SQS9n[        S/S	-  S/S	-  S
.US9nUR                  U5      n[        X$US9n[        R
                  " Xx5        g )Nr5   r6   r7   r8   r4   rG   )r{   r}   r¿   r°   rx   r²   r<   r¹   )r   r>   r   r#   r$   r%   )	r'   Úunstack_idxÚexpected_valuesÚexpected_indexÚexpected_columnsr»   r)   rA   rB   s	            r   Ú*test_unstack_mixed_type_name_in_multiindexÚ?TestDataFrameReshape.test_unstack_mixed_type_name_in_multiindex1  sz   € ôL ×%Ò%Ø�3ˆZ˜!˜Q˜ ! Q Ð(Ò0Fñ
ˆô ˜a˜S 1™W¨A¨3°©7Ñ3¸3Ñ?ˆØ—‘˜KÓ(ˆäØ¸^ñ
ˆô 	×Ò˜fÕ/r   c                 óê  • [        / SQ/ SQ[        / SQ5      R                  S5      [        R                  R                  S5      R	                  S5      SS[        R                  " S5      [        / S	Q5      R                  S
5      [        / SQ5      R                  S5      S[        / SQ5      R                  S5      S.5      nS nUR                  SS/5      nU" US5        UR                  SS/5      nU" US5        UR                  SS/5      nU" US5        UR                  / SQ5      nU" US5        UR                  SS/5      nU" US5        UR                  SS/5      nUS   nU" US5        g )N)ÚILÚMIÚNCr®   r›   r8   r4   r7   r   Ú20010102)ç      ð?ç      I@g      Y@Úfloat32)rF   ç      @ç      @r�   F)r7   éÈ   i2 Úint8)Ústater:   Úsome_categoriesr|   r}   r¿   ÚDÚEÚFÚGÚHc                 óv   • U R                  U/5      nU R                  U5      n[        R                  " X#5        g r   ©r#   r$   r%   )r)   Úcolumn_nameÚ
unstacked1Ú
unstacked2s       r   Úunstack_and_compareÚNTestDataFrameReshape.test_unstack_preserve_dtypes.<locals>.unstack_and_comparet  s.   € ØŸ™ [ MÓ2ˆJØŸ™ KÓ0ˆJÜ×!Ò! *Õ9r   rÓ   r:   rÔ   r×   r¿   )rØ   r}   rÓ   r}   rÖ   r|   )	r   r
   rm   r   ÚrandomÚdefault_rngrŠ   Ú	Timestamprj   )r'   r)   rß   Údf1rr   s        r   Útest_unstack_preserve_dtypesÚ1TestDataFrameReshape.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           	      óè  • [         R                  " [        [        R                  " [        S5      SS95      5      n[        [        R                  R                  S5      R                  S5      US9n[        R                  " UR                  SS/US9UR                  SUS9R                  SUS95        [        R                  " UR                  SS	/US9UR                  SUS9R                  SUS95        UR                  5       nUR                  R!                  [        S5      S
S9nUb   e[        R                  " UR                  SS/US9UR                  SUS9R                  SUS95        g )Nr4   ©Úrepeatr8   )r   é   ©r;   r7   ©Úlevelr   éþÿÿÿrZ   T)Úinplace)r   rh   r   Ú	itertoolsÚproductr=   r   r   rá   râ   Ústandard_normalr$   r%   r"   r   r;   Ú	set_names)r'   r   r;   r)   Údf_namedÚreturn_values         r   Útest_stack_intsÚ$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                 óè  • [         R                  " / SQ/ SQS9n[        [        R                  R                  S5      R                  S5      US9nUR                  SS/US	9nUR                  S
S/US	9nUR                  5       n/ SQUR                  l
        [        R                  " UR                  SS/US	9USS9  [        R                  " UR                  S
S/US	9USS9  Sn[        R                  " [        US9   UR                  SS/US	9  S S S 5        UR                  5       n/ SQUR                  l
        [        R                  " UR                  SS/US	9USS9  g ! , (       d  f       NX= f)N©)r|   ÚcatÚlong)r}   rú   rû   )r|   ÚdogÚshort)r}   rü   rý   ©ÚexpÚanimalÚhair_lengthr°   r8   ©rG   rG   rë   r   r  rì   rÿ   )rÿ   r   r7   r7   F©Úcheck_nameszSlevel should contain all level names or all level numbers, not a mixture of the twor¡   r   )rÿ   r   r   )r   rh   r   r   rá   râ   rò   r"   r   r;   rl   r$   r%   r§   r¨   Ú
ValueError)	r'   r   r;   r)   Úanimal_hair_stackedÚexp_hair_stackedrP   rª   Údf3s	            r   Útest_stack_mixed_levelsÚ,TestDataFrameReshape.test_stack_mixed_levels­  sq  € ô ×(Ò(òò 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Ø�I‰I˜X q˜M¸ˆIÑE÷ 2ð
 �g‰g‹iˆÚ0ˆ�‰ÔÜ
×ÒØ�I‰I˜X q˜M¸ˆIÐEØØó	
÷ 2Õ1ús   Ã>E#Å#
E1c                 ób  • [         R                  " / SQ/ SQS9n[        [        R                  R                  S5      R                  S5      US9nUR                  SS/US	9nUR                  SS
/US	9nUR                  SS
/US	9nUR                  5       n/ SQUR                  l
        [        R                  " UR                  SS/US	9USS9  [        R                  " UR                  SS/US	9USS9  [        R                  " UR                  SS/US	9USS9  UR                  5       n/ SQUR                  l
        [        R                  " UR                  SS/US	9USS9  [        R                  " UR                  SS/US	9USS9  [        R                  " UR                  SS/US	9USS9  g )Nrù   rþ   r°   r8   r  rë   rÿ   r   rì   r  rd   r7   Fr  r   )r8   r   r7   )r   rh   r   r   rá   râ   rò   r"   r   r;   rl   r$   r%   )	r'   r   r;   r)   Úexp_animal_stackedr  r  rP   r  s	            r   Útest_stack_int_level_namesÚ/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           	      ó`  • [        SS/[        R                  " SS/SS//5      S/S9nUR                  5       n[        [        R
                  " S[        R                  /[        R                  S//[        S9SS/[        R                  " SS/SS//5      S9n[        R                  " X#5        g )	NFr5   r6   rš   ÚlÚcolr9   rV   )
r   r   Úfrom_arraysr#   r   ÚarrayrK   Úobjectr$   r%   )r'   r)   ÚrsÚxps       r   Útest_unstack_boolÚ&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           	      óê  • [        SS/SS/SS/// SQ/ SQ/ S	Q// S
QS9n[        SUS9nUR                  SS/5      R                  SUS9n[        SS/SS/// SQ/ SQ/SS/S9n[	        [
        R                  " S[
        R                  /[
        R                  S/S[
        R                  /[
        R                  S//[
        R                  S9U[        SS/SS9S9n[        R                  " XF5        g )Nr   r   ÚoneÚtwor5   r6   ©r   r   r7   r7   ©r   r7   r   r7   )r7   r   r7   r   )ÚfirstÚsecondÚthird©r@   Úcodesrl   r   r<   r7   r8   r   r  r  rV   r   r¸   r9   )r   r
   r#   r"   r   r   r  rK   r�   r   r$   r%   )r'   r   Úmirr   rA   Úexpected_mirB   s          r   Útest_unstack_level_bindingÚ/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Õ/r   c                 ó–  • UR                  5       n[        U[        5      (       d   eUR                  5       R                  n[        R
                  " X15        [        SS[        R                  /SS[        R                  /S.5      n[        / SQ5      Ul
        UR                  5       n[        SS// SQ// S	Q/ S
Q/S9n[        SS[        R                  SS[        R                  /US9n[        R                  " XF5        UR                  5       n[        S5       H  nUR                  5       nM     [        R
                  " Xr5        g )Nr7   r8   rF   rG   rH   r®   rI   rJ   )r   r   r   r7   r7   r7   )r   r7   r8   r   r7   r8   ©r@   r"  r4   r<   )r#   Ú
isinstancer
   r&   r$   r%   r   r   rK   r   r:   r   r?   r   r=   )	r'   r(   rp   ÚundorA   ÚmidxrB   Úold_dataÚ_s	            r   Útest_unstack_to_seriesÚ+TestDataFrameReshape.test_unstack_to_seriesS  s  € à×"Ñ"Ó$ˆä˜$¤×'Ñ'Ð'Ð'Ø�|‰|‹~×ÑˆÜ
×Ò˜dÔ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Ô0ð —9‘9“;ˆÜ�q–ˆAØ—<‘<“>ŠDñ ä
×Ò˜hÕ-r   c                 ó–  • / SQ/ SQ/ SQ/ SQ/n[        U[        S5      S9nUR                  n[        [        R
                  " S5      /S-  [        S5      S	9n[        R                  " XE5        UR                  S
S/5      nUR                  S5      nUR                  n[        [        R
                  " S5      /S-  [        R                  " / SQ/ SQ/SS9S	9n[        R                  " XE5        UR                  S
S/5      nSUS'   UR                  S5      nUR                  n[        [        R
                  " S5      /S-  [        R
                  " S5      /S-  -   [        R                  " / SQ/ SQ/SS9S	9n[        R                  " XE5        SUS'   UR                  S5      nUR                  nU(       a"  [        R                  " [        R                  S9O[        R
                  " S5      n[        [        R
                  " S5      /S-  U/S-  -   [        R                  " / SQ/ SQ/SS9S	9n[        R                  " XE5        g )N)r7   r7   r4   rG   ©r7   r8   r4   rG   )r8   r7   r4   rG   )r8   r8   r4   rG   ÚABCDrë   rn   rG   r<   r|   r}   )r¿   r¿   rÕ   rÕ   )r7   r8   r7   r8   )Nr}   r°   rF   r¿   r�   r8   r   rÕ   )Úna_valuer  )r   r   Údtypesr
   r   rW   r$   r?   rj   r#   r   r  rŠ   ÚStringDtyperK   )	r'   Úusing_infer_stringr‚   r)   rA   rB   rP   r  rW   s	            r   Útest_unstack_dtypesÚ(TestDataFrameReshape.test_unstack_dtypesn  sô  € âšlªLº,ÐGˆä�t¤T¨&£\Ñ2ˆØ—‘ˆÜœ2Ÿ8š8 GÓ,Ð-°Ñ1¼¸f»ÑFˆÜ
×Ò˜vÔ0ð �l‰l˜C ˜:Ó&ˆØ�k‰k˜#ÓˆØ—‘ˆÜÜ�XŠX�gÓÐ !Ñ#Ü×(Ò(Ú%¢|Ð4¸Kññ
ˆô 	×Ò˜vÔ0ð �l‰l˜C ˜:Ó&ˆØˆˆC‰Ø�k‰k˜#ÓˆØ—‘ˆÜÜ�XŠX�iÓ Ð! AÑ%¬¯ª°'Ó):Ð(;¸aÑ(?Ñ?Ü×(Ò(Ú%¢|Ð4¸Kññ
ˆô 	×Ò˜vÔ0ØˆˆC‰Ø�k‰k˜#ÓˆØ—‘ˆö "ô �NŠN¤B§F¡FÒ+ä—’˜(Ó#ð 	ô
 Ü�XŠX�iÓ Ð! AÑ%¨¨°!©Ñ3Ü×(Ò(Ú%¢|Ð4¸Kññ
ˆô 	×Ò˜vÕ0r   zc, drU   Úf8rV   é
   c           
      óÆ  • [        S/S-  UU[        SSS9S.5      nUR                  S S R                  SS9nUR	                  S	S
/5      nUS   R                  S5      US'   UR                  S S R                  S5      nUR	                  S	S
/5      R                  S5      nUS   R                  S5      US'   UR                  S:X  d   e[        R                  " XT5        g )Nr5   rU   r†   r‡   )r|   r¿   rÕ   r}   r4   T)Údeepr|   r}   rÕ   rn   r   )rÕ   r5   )r4   r8   )
r   r   Úilocr   rj   rm   r#   r!   r$   r%   )r'   rš   r£   r)   ÚrightÚlefts         r   Útest_unstack_dtypes_mixed_dateÚ3TestDataFrameReshape.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Õ*r   c                 ót  • [         R                  " SS/SS/S9n[        SS/US9nSn[        R                  " [
        US	9   UR                  S5        S S S 5        [        R                  " [
        US	9   UR                  R                  SUS
9  S S S 5        g ! , (       d  f       NK= f! , (       d  f       g = f)Nr]   )rš   r£   Úc1r°   r7   r8   r<   z5The name c1 occurs multiple times, use a level numberr¡   r   )	r   rh   r   r§   r¨   r  r#   r&   r"   )r'   r   r»   r)   rª   s        r   Ú#test_unstack_non_unique_index_namesÚ8TestDataFrameReshape.test_unstack_non_unique_index_names½  s‘   € ô ×$Ò$ j°*Ð%=ÀdÈDÀ\ÑRˆÜ˜˜1�v SÑ)ˆØEˆÜ�]Š]œ:¨SÓ1Ø�J‰J�tÔ÷ 2ô �]Š]œ:¨SÓ1Ø�D‰D�J‰J�t¨,ˆJÑ7÷ 2Ð1÷ 2Õ1ú÷ 2Õ1ús   ÁBÁ4B)Â
B&Â)
B7c                 ó\  • [         R                  " S// SQ/5      S S n[        SS//S-  US9nUR                  5       n[         R                  " SS// SQ/5      n[        / S	Q/S/US
9n[        R
                  " X55        UR                  R                  S   UR                  S   :H  R                  5       (       d   e/ SQ/ SQ/n/ SQ/ SQ/n[        Xg5      n[        R                  " S5      R                  SS5      n[        [        R                  " XˆS-   /5      US9nUR                  5       n[        [        R                  " US-  US-  S-   /SS9US9n[        R
                  " X55        UR                  R                  S   UR                  S   :H  R                  5       (       d   eg )Nr5   )r|   r}   r¿   rÕ   rZ   r7   r   r4   r<   ©r|   r}   r¿   )r7   r7   r7   r   r   r   r9   )r   r7   rw   ©r   r7   r8   r4   r  ©r   r8   r   r8   rG   r8   ©Úaxisrë   )r   r>   r   r#   r$   r%   r;   r@   Úallr   r   r   Úconcatenate)	r'   r»   r)   rA   Úexp_colrB   r@   r"  Úblocks	            r   Útest_unstack_unused_levelsÚ/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Ô/Ø—‘×%Ñ% aÑ(¨C¯J©J°q©MÑ9×>Ñ>×@Ñ@Ð@Ð@ò š\Ð*ˆÚš|Ð,ˆÜ˜Ó'ˆÜ—	’	˜!“×$Ñ$ Q¨Ó*ˆÜ”r—~’~ u°a©iÐ&8Ó9ÀÑEˆØ—‘“ˆÜÜ�NŠN˜E A™I u¨q¡y°1¡}Ð5¸AÑ>Èñ
ˆô 	×Ò˜fÔ/Ø—‘×%Ñ% aÑ(¨C¯J©J°q©MÑ9×>Ñ>×@Ñ@Ð@Ñ@r   z"level, idces, col_level, idx_levelr   )é   é   rv   r±   r8   rU   rx   é   r5   r8   r7   )rx   rT  r7   rG   é   é   rR  rS  c                 ó¢  • / SQ/ SQ/n/ SQ/ SQ/n[        XV5      n[        R                  " S5      n[        UR	                  SS5      US9n	U	R                  US	9n
[        R                  " S
5      [        R                  -  nX‹U'   [         R                  " SS/U/5      n[        UR	                  SS5      XLS9n[        R                  " X­5        g )N)r5   r8   rš   )r7   r4   rU   rw   )r   rZ   r7   r7   )r   r8   rZ   r8   rx   rG   r8   r<   ©rí   é   r   r7   r4   rv   r9   )r   r   r   r   r   r#   ÚzerosrK   r>   r$   r%   )r'   rí   ÚidcesÚ	col_levelÚ	idx_levelr@   r"  r»   rp   r)   rA   Úexp_dataÚcolsrB   s                 r   Ú)test_unstack_unused_levels_mixed_with_nanÚ>TestDataFrameReshape.test_unstack_unused_levels_mixed_with_nanâ  s³   € ò  ¢Ð.ˆÚ¢Ð.ˆÜ˜Ó'ˆÜ�yŠy˜‹|ˆÜ�t—|‘| A qÓ)°Ñ5ˆà—‘ %�Ð(ˆÜ—8’8˜B“<¤"§&¡&Ñ(ˆØ�‰Ü×&Ò&¨¨A¨°	Ð':Ó;ˆÜ˜X×-Ñ-¨a°Ó3¸9ÑSˆÜ
×Ò˜fÕ/r   r_  r|   c                 óœ  • [        / SQ/ SQ// SQS9nUR                  / SQSS9nUR                  [        S 5      [        S 5      S4U4   nUR	                  5       nUR
                  S/   U   n[        R                  " UR                  S//S S	/S
9Ul        UR                  R                  S	5      Ul	        [        R                  " XV5        g )N)iÚ  r5   ÚI)iÛ  r6   ÚIIrG  rë   F)Údroprc  r   r¿   r°   )r   rj   ro   Úslicer#   r=  r   r>   r;   r:   Ú	droplevelr$   r%   )r'   r_  r)   ÚindÚ	selectionrA   rB   s          r   Útest_unstack_unused_levelÚ.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Õ/r   c           	      ó(  • [        S//[        R                  " S//S/S9[        R                  " / SQ// SQS9S9nUR                  / SQ5      n[        S//[        R                  " / SQ// S	QS9[	        S/S
S9S9n[
        R                  " X#5        g )Nr7   r   rC  r°   )r   r   r7   r   r   r   r7   )Úi1Úi2Úi3Úi4Úi5Úi6Úi7r¹   )rn  ro  rp  rq  rr  rs  )rC  rn  ro  rp  rq  rr  rs  rm  r¸   )r   r   rh   r#   r   r$   r%   ©r'   r)   rA   rB   s       r   Útest_unstack_long_indexÚ,TestDataFrameReshape.test_unstack_long_index
  s™   € ô ØˆSˆEÜ×*Ò*¨Q¨C¨5¸¸Ñ?Ü×(Ò(Ú&Ð'Ú@ññ
ˆð —‘Ò@ÓAˆÜØˆSˆEÜ×*Ò*Ú&Ð'Ú@ñô ˜˜ $Ñ'ñ
ˆô 	×Ò˜fÕ/r   c           	      óö   • [        SS/SS//[        R                  " SS/SS//SS/S9[        R                  " / SQ/ S	Q// S
QS9S9nUR                  SS/5      R                  R
                  SS  SS/:X  d   eg )Nç        r}   r¿   rÕ   rC  Úc2r°   )r:  é   r   )r:  rz  é(   ©rm  rn  ro  r¹   rn  rm  rî   )r   r   rh   r#   r;   rl   )r'   r)   s     r   Útest_unstack_multi_level_colsÚ2TestDataFrameReshape.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                 ó>  • [        SS/SS/SS/SS//[        R                  " / S	Q/ S
Q/5      [        R                  " / SQ/ SQ/ SQ/ SQ// SQS9S9nUR                  SS/5      nUR                  S/5      R                  S/5      n[        R
                  " X#5        g )Nr7   r8   r4   rG   rZ   rî   éýÿÿÿéüÿÿÿr®   )r£   r³   Úf)Úm1ÚP3éÞ   )rƒ  ÚA5éo   )Úm2r„  r…  )rˆ  r†  r‡  r|  r°   r¹   ro  rn  )r   r   rh   r#   r$   r%   rt  s       r   Ú&test_unstack_multi_level_rows_and_colsÚ;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Õ/r   r»   ©ÚjimÚjoe)r�  rŒ  Úlevc                 óZ  • S n[        SS[        R                  S// SQ/ SQS.5      nUR                  SS	/5      R	                  5       S
   nUR                  S	S/5      R	                  5       S
   R
                  n[        R                  " XV5        UR                  [        U5      5      nUR	                  US9nUR                  5       R                  R                  5       [        U5      :X  d   eS n	US
   R                  5       R                  R                  5       u  p«[        X«5       H|  u  pÍ[        US
   R                   XÍ4   R#                  S5      5      nU	" US
   R$                  U   5      U	" US
   R&                  U   5      -   n[        [)        X65      5      nXV:X  a  M|   e   g )Nc                 ó   • X :w  a  SOU nUS $ ©NÚ Ú1© ©ÚvalÚval_strs     r   ÚcastÚ:TestDataFrameReshape.test_unstack_nan_index1.<locals>.castD  ó   € Ø›J‘b¨CˆGØ˜a�[Ð!r   r5   r6   r£   )re   rI   rJ   rY   )za.wzb.xz .yzd.z)rŒ  r�  ÚjolierŒ  r�  r›  rX  c                 óH   • [        U [        5      (       a  [        U 5      $ U /$ r   ©r)  Útupler   ©r5   s    r   Ú<lambda>Ú>TestDataFrameReshape.test_unstack_nan_index1.<locals>.<lambda>W  ó   € ¤z°!´U×';Ñ';œD ›GÐDÀ!ÀÐDr   Ú.)r   r   rK   rj   r#   r&   r$   r%   r   Únotnar‰   ÚsumrL   ÚnonzeroÚzipÚsortedr=  Úsplitr:   r;   Úmap)r'   r»   rŽ  r˜  r)   r?  r>  r#  ÚudfÚmk_listr‚   r_  r‘   rb   s                 r   Útest_unstack_nan_index1Ú,TestDataFrameReshape.test_unstack_nan_index1@  sw  € ò	"ô à˜S¤"§&¡&¨#Ð.Ú+Ú5ñó
ˆð �|‰|˜U E˜NÓ+×3Ñ3Ó5°gÑ>ˆØ—‘˜e U˜^Ó,×4Ñ4Ó6°wÑ?×AÑAˆÜ
×Ò˜dÔ*à�\‰\œ$˜s›)Ó$ˆØ�j‰j˜sˆjÐ#ˆØ�y‰y‹{×!Ñ!×%Ñ%Ó'¬3¨r«7Ó2Ð2Ð2ÙDˆØ˜‘\×'Ñ'Ó)×0Ñ0×8Ñ8Ó:‰
ˆÜ˜–O‰DˆAÜ˜#˜g™,×+Ñ+¨A¨DÑ1×7Ñ7¸Ó<Ó=ˆDÙ˜C ™L×.Ñ.¨qÑ1Ó2±W¸SÀ¹\×=QÑ=QÐRSÑ=TÓ5UÑUˆEÜœ3˜tÓ+Ó,ˆEØ•=Ð �=ò	 $r   ©Ú1stÚ2ndÚ3rdr  Ú4thÚ5thc                 óÜ  ^• S m[        S/S-  [        R                  /S-  -   S/S-  -   S/S-  -   S/S-  -   S	/S-  -   S
/S-  S/S-  -   [        R                  /S-  -   S/S-  -   [        R                  /S-  -   S/S-  -   [        R                  /S-  -   / SQS.5      nUR                  U4S jSS9UR                  U4S jSS9sUS'   US'   UR	                  [        U5      5      nUR                  US9nUR                  5       R                  R                  5       S[        U5      -  :X  d   eS nXc   R                  5       R                  R                  5       u  p‰[        X‰5       Hz  u  p«[        Xc   R                  X«4   R                  S5      5      nU" Xc   R                   U
   5      U" Xc   R"                  U   5      -   n[        [%        TU5      5      nXÍ:X  a  Mz   e   g )Nc                 ó   • X :w  a  SOU nUS $ r‘  r”  r•  s     r   r˜  ÚATestDataFrameReshape.test_unstack_nan_index_repeats.<locals>.castc  rš  r   r£   r4   rU   r5   r8   rš   r³   r6   rJ   re   rY   rG   rI   )éC   é'   é5   éH   é9   éP   é   rY  rT  r   é;   é2   é>   r¿  éL   é4   é   rº  é<   é3   r¯  c                 ó:   >• SR                  [        TU 5      5      $ )Nr£  )Újoinrª  ©Úrr˜  s    €r   r   ÚETestDataFrameReshape.test_unstack_nan_index_repeats.<locals>.<lambda>�  s   ø€ ˜sŸx™x¬¨D°!«Ô5r   r7   rJ  c           	      óZ   >• SR                  [        TU R                  S S S2   5      5      $ )Nr£  rZ   )rÈ  rª  r=  rÉ  s    €r   r   rË  ‘  s!   ø€ ˜sŸx™x¬¨D°!·&±&¹¸2¸±,Ó(?Ô@r   r³  r´  rX  c                 óH   • [        U [        5      (       a  [        U 5      $ U /$ r   r�  rŸ  s    r   r   rË  —  r¢  r   r£  )r   r   rK   Úapplyrj   r   r#   r¤  r‰   r¥  rL   r¦  r§  r¨  r=  r©  r:   r;   rª  )r'   r»   rŽ  r  r)   r#  r«  r¬  r‚   r_  r‘   rb   r?  r>  r˜  s                 @r   Útest_unstack_nan_index_repeatsÚ3TestDataFrameReshape.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‰
ˆÜ˜–O‰DˆAÜ˜#™(Ÿ-™-¨¨Ñ-×3Ñ3°CÓ8Ó9ˆDÙ˜C™HŸN™N¨1Ñ-Ó.±¸¹×9IÑ9IÈ!Ñ9LÓ1MÑMˆEÜœ3˜t UÓ+Ó,ˆEØ•=Ð �=ò	 $r   c           
      ó  • [        [        S5      [        S5      [        S5      S.5      nUR                  SS05      n[        R
                  UR                  S'   UR                  SS/5      R                  S5      nS	SS
S[        R
                  [        R
                  [        R
                  [        R
                  /[        R
                  [        R
                  [        R
                  [        R
                  SSSS//n[        [        [        [        U6 5      5      n[        [        R
                  SS
SSSSS/SS9n[        S/SS//SS/SS
//S S/S9n[        X5US9n[        R                  " X&5        [        [        S5      [        [        S5      5      S-  [        S5      S.5      nUR                  SS05      n[        R
                  UR                  S'   UR                  SS/5      R                  S5      nS[        R
                  /SS/S
S/[        R
                  S/S	S//n[        S/SS//SS/SS
//S S/S9n[        [        R
                  SS
SS	/SS9n[        X5US9n[        R                  " X&5        [        [        S5      [        [        S5      5      S-  [        S5      S.5      nUR                  SS05      n[        R
                  UR                  S'   UR                  SS/5      R                  S5      nS	[        R
                  /SS/S
S/SS/[        R
                  S//n[        S/SS//SS/SS
//S S/S9n[        [        R
                  SS
SS	/SS9n[        X5US9n[        R                  " X&5        g )NÚaaaabbbbrx   rG  r}   ri   ©r4   r7   r|   r   r4   r7   r8   rG   rU   rv   rw   r¸   r¿   r5   r6   r!  r¹   )r8   r7   )r   r   r=   rm   r   rK   r=  rj   r#   rª  r§  r   r   r$   r%   )r'   r)   r?  Úvalsr»   r_  r>  s          r   Útest_unstack_nan_index2Ú,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Ô*äœ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Ô*äœ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Õ*r   c           	      ó’  • [        [        S5      [        SSS9R                  5       S-  [        R
                  " S5      S.5      n[        R                  UR                  S'   UR                  S	S
/5      R                  5       n[        R                  " SSSS[        R                  S/[        R                  SSSSS//5      n[        SS/S	S9n[        S/[        SSS9// SQ/ SQ/S S
/S9n[        XFUS9nU(       a3  UR                  / SQ   nXv   R                  US   R                  5      Xv'   [         R"                  " X75        g )NÚ
aaaaabbbbbr†   rU   r‡   r8   r:  rG  rÓ  r|   r}   r4   r   r7   rG   rv   rw   rx   r±   r5   r6   r¸   r¿   )r   r   r   r   r   r   )rZ   r   r7   r8   r4   rG   r!  r¹   )r7   r8   r4   rU   )r   r   r   Útolistr   r   rK   r=  rj   r#   r  r   r   r;   rm   rW   r$   r%   )r'   rO   r)   r?  rÔ  r»   r_  r>  s           r   Útest_unstack_nan_index3Ú,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Õ*r   c                 ó  • S[         R                  [         R                  S/SS[         R                  S/SS[         R                  S// SQ/ SQ/ S	Q/n[        U/ S
Q/ SQS9nUR                  5       R	                  / SQ5      R                  5       n[         R                  [         R                  S[         R                  S/SS[         R                  S[         R                  //n[        SS/S//SS/SS//SS/S9n[        S// SQ// SQ/ SQ/S S/S9n[        XUS9n[        R                  " X65        UR                  SS  R                  5       R	                  / SQ5      n[        R                  " UR                  5       U5        g )NÚHgi¼ç�(ÚUrx  ÚPbg¢	VÍZ§Ý>)ÚSnçº@¹ÕÂø>çÌ]KÈ=‹?é)=‘()ÚAgrx  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   r7   rZ   ré  rè  r!  rç  )rä  rÝ  rß  rà  rÞ  )r   r   r   r   r   ©r   r7   r8   r4   rG   ræ  rê  )
r   rK   r   r   rj   r#   r   r$   r%   ro   )r'   rÔ  r)   r?  r»   r_  r>  s          r   Útest_unstack_nan_index4Ú,TestDataFrameReshape.test_unstack_nan_index4ì  sg  € ð ”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Ô*à�v‰v�e�fˆ~×"Ñ"Ó$×.Ñ.Ò/JÓKˆÜ
×Ò˜dŸl™l›n¨eÕ4r   c           	      ó  • [        / SQ[        SSSS9S[        R                  " S5      -   [        R                  R                  S5      R                  S5      S-  R                  S5      S	.5      nUS
   [        R                  " S5      -
  US'   [        R                  =UR                  S'   UR                  S'   [        R                  =UR                  S'   UR                  S'   UR                  / SQ5      R                  S
S/5      nUR                  5       R                  R!                  5       S[#        U5      -  :X  d   eS HB  nUR%                  5        H+  u  pEUS   X5S
   US   44nXS   UR                  U   :X  a  M+   e   MD     g )N)r7   r8   r7   r8   r7   r8   z
2014-02-01rv   rÕ   )rˆ   Úfreqéd   r8   r:  )r°  r±  rŒ  r�  r±  z
2014-02-02r²  )r7   r±  )r4   r±  )r7   r²  )rG   r²  r¯  r‹  r°  )r   r   r   r   rá   râ   rò   ÚroundrŠ   rã   rK   ro   rj   r#   r¤  r‰   r¥  rL   Úiterrows)r'   r)   r?  r  r-  rÊ  rq   s          r   Útest_unstack_nan_index5Ú,TestDataFrameReshape.test_unstack_nan_index5  sS  € äâ)Ü! ,¸ÀÑ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ØŸ™ž‘�Ø˜‘h ¨¡h°°%±Ð 9Ð9�Ø‘v §¡¨#¡Õ.Ð.Ð.ó &ò "r   c                 óª  • [        SSS5      n[        / SQ[        R                  " USS4/5      S9nU(       a  S O[        nSn[
        R                  " XES9   UR                  US	9nS S S 5        [        R                  " S
S/5      n[        R                  " US4/5      n[        / SQXxS9n	[
        R                  " WU	5        g ! , (       d  f       Nc= f)NiÞ  r7   r1  r|   r}   rë   z2The previous implementation of stack is deprecatedr¡   r   rH  )r}   r9   )
r   r   r   rh   ÚFutureWarningr$   Úassert_produces_warningr"   r>   r%   )
r'   r   Útr)   Úwarnrª   rA   ÚeidxÚecolsrB   s
             r   Ú%test_stack_datetime_column_multiIndexÚ:TestDataFrameReshape.test_stack_datetime_column_multiIndex,  s²   € ä�T˜1˜aÓ ˆÜ’|¬Z×-CÒ-CÀaÈÈcÀ]ÀOÓ-TÑUˆÞ#‰t¬ˆØBˆÜ×'Ò'¨Ó8Ø—X‘X¨<�XÐ8ˆF÷ 9ô ×&Ò&¨°fÐ'=Ó>ˆÜ×&Ò&¨¨C¨ zÓ2ˆÜš\°ÑEˆÜ
×Ò˜f hÕ/÷ 9Õ8ús   ÁCÃ
CÚmultiindex_columnsrë  rH  )r   r7   r8   rG   rd   r¯   )r8   r4   rG   )rG   r4   r8   r7   r   )r4   r8   r7   r   )rG   r8   r7   r   )r8   r7   r   )r4   r8   r7   )rG   r4   r8   rí   rZ   c                 ó$  • U(       d  SO[         R                  n[        R                  " / SQSS/S9nXQ   n[	        [
        R                  " S[        U5      -  5      R                  S[        U5      5      US9nUR                  X$US9n[        U[        5      (       aZ  U(       dS  UR                  US	US9n	[        U	[        5      (       a  [        R                  " X‰5        O[        R                  " X‰5        [        R                  " UR                   R#                  5       UR                   R$                  S9Ul        UR                  X$US9n	[        U	[        5      (       a  [        R                  " X‰5        g [        R                  " X‰5        g )
NF©)r}   rI   )r}   rY   )r|   rJ   )r¿   rI   )r¿   ÚuÚUpperÚLowerr°   r4   rë   )rí   Údropnar   T)r   Ú
no_defaultr   rh   r   r   r   rL   r   r"   r)  Úintr
   r$   r?   r%   r;   Úto_numpyrl   )
r'   rþ  rí   r   r  Úfull_multiindexÚ
multiindexr)   rA   rB   s
             r   Útest_stack_partial_multiIndexÚ2TestDataFrameReshape.test_stack_partial_multiIndex:  s7  € ö@ +‘´·±ˆÜ$×0Ò0ÚHØ˜GÐ$ñ
ˆð %Ñ8ˆ
ÜÜ�IŠI�aœ#˜j›/Ñ)Ó*×2Ñ2°1´c¸*³oÓFØñ
ˆð —‘ À<�ÐPˆä�eœS×!Ñ!®,ð —x‘x e°DÀ|�xÐTˆHÜ˜(¤F×+Ñ+Ü×&Ò& vÕ8ä×%Ò% fÔ7ä×+Ò+Ø�J‰J×ÑÓ!¨¯©×)9Ñ)9ñ
ˆŒ
ð —8‘8 %À\�8ÐRˆÜ�h¤×'Ñ'Ü×"Ò" 6Õ4ä×!Ò! &Õ3r   c           	      ó  • [         R                  " / SQSS/S9n[        [        R                  " S5      R                  SS5      U/ SQ   S	9nU(       d  S
O[        R                  nUR                  XAS9n[        SS/S[        R                  /SS/S[        R                  //[        SS// SQ// SQ/ SQ/S S/S9[        SS/SS9S9nUS   R                  UR                  R                  S   5      US'   [        R                  " XV5        g )Nr   r  r  r°   rv   r8   r4   )r   r7   r4   rë   F©r  r   r   r7   rU   rG   )r  rI   rJ   rY   r  )r7   r4   r7   r4   r!  r}   r¿   r¸   r9   )r   rh   r   r   r   r   r   r  r"   rK   r   rm   r4  r=  r$   r%   )r'   r   r  r)   r  rA   rB   s          r   Útest_stack_full_multiIndexÚ/TestDataFrameReshape.test_stack_full_multiIndexy  sû   € ô
 %×0Ò0ÚHØ˜GÐ$ñ
ˆô ”r—y’y “|×+Ñ+¨A¨qÓ1¸?Ê9Ñ;UÑVˆÞ*‘´·±ˆØ—‘ �ÐCˆÜØ�ˆV�aœŸ™�[ 1 a &¨1¬b¯f©f¨+Ð6ÜØ˜A˜Ò 4Ð5Ú#¢\Ð2Ø˜W�oñô
 ˜3 ˜*¨7Ñ3ñ
ˆð ! ™×,Ñ,¨R¯Y©Y¯^©^¸AÑ->Ó?ˆ�‰Ü
×Ò˜fÕ/r   ÚorderedFTc                 ó  • [         R                  " [        S5      [        S5      US9n[        / SQ/US9nUR	                  US9n[
        R                  " UR                  U/5      n[        / SQUS9n[        R                  " XW5        g )NÚyxzrz   ©rŸ   r  )r:  rT  rU  rë   r   r<   )rŠ   ÚCategoricalIndexr   r   r"   r   r>   r:   r
   r$   r?   )r'   r  r   Úcidxr)   rA   r+  rB   s           r   Ú%test_stack_preserve_categorical_dtypeÚ:TestDataFrameReshape.test_stack_preserve_categorical_dtype‘  st   € ô ×"Ò"¤4¨£;¼4À»;ÐPWÑXˆÜš�~¨tÑ4ˆØ—‘ |�Ð4ˆô ×&Ò&¨¯©°$Ð'7Ó8ˆÜš,¨dÑ3ˆä
×Ò˜vÕ0r   zlabels,datarz   )r:  rT  rU  rR  rÄ  rV  Úzyx)rÄ  rV  rU  rR  r:  rT  c                 óÐ  • [         R                  " U[        U5      US9n[         R                  " SS/US9n[        R                  " XV/5      n[        [        U5      /US9nUR                  SS/US9n	U(       a  UO
[        U5      n[         R                  " X!S9n
U(       a  [        U5      OUn[        U[        R                  " S/X¦/5      S	9n[        R                  " Xœ5        g )
Nr  r  Úv)r  rë   r   r7   r   r<   )
rŠ   r  r¨  r   r>   r   r"   r
   r$   r?   )r'   r  Úlabelsrp   r   r  Úcidx2r+  r)   rA   Ús_cidxÚexpected_datarB   s                r   Ú+test_stack_multi_preserve_categorical_dtypeÚ@TestDataFrameReshape.test_stack_multi_preserve_categorical_dtypeŸ  sÇ   € ô ×"Ò" 6´f¸V³nÈgÑVˆÜ×#Ò# S¨# J¸Ñ@ˆÜ×&Ò&¨ }Ó5ˆÜœ˜t›�~¨tÑ4ˆØ—‘˜1˜a˜&¨|�Ð<ˆæ'‘¬V°F«^ˆÜ×$Ò$ VÑ=ˆÞ(4œ˜tœ¸$ˆÜØ¤×!8Ò!8¸1¸#¸vÐ9MÓ!Nñ
ˆô 	×Ò˜vÕ0r   c                 ó  • [         R                  " / SQ5      n[        X"S.5      nUR                  US9n[        R
                  " / SQSS//5      n[        [         R                  " / SQ5      US9n[        R                  " XF5        g )	N)r5   r5   r6   rš   ©r|   r}   r   rH  r|   r}   )r5   r5   r5   r5   r6   r6   rš   rš   r<   )	rŠ   r¦   r   r"   r   r>   r
   r$   r?   )r'   r   rú   r)   rA   r:   rB   s          r   Ú,test_stack_preserve_categorical_dtype_valuesÚATestDataFrameReshape.test_stack_preserve_categorical_dtype_values½  sp   € ä�nŠnÒ1Ó2ˆÜ˜SÑ+Ó,ˆØ—‘ |�Ð4ˆÜ×'Ò'ª¸¸S°zÐ(BÓCˆÜÜ�NŠNÒCÓDÈEñ
ˆô 	×Ò˜vÕ0r   z4ignore:Downcasting object dtype arrays:FutureWarningzindex, columnsr  r6   )r   r   r8   r4   c                 óÞ  • [        XS9R                  S5      nUR                  US9n[        R                  " UR
                  R                  5       5      n[        UR                  5       XeR                  S9n[        R                  " XW5        [        R                  " UR
                  R                  5      n[        R                  " UR                  5      n	[        R                  " X‰5        g )Nr9   r7   r   )r   Úfillnar"   r   rh   r:   r  r;   r$   r%   r   Úasarrayr"  Úassert_numpy_array_equal)
r'   r:   r;   r   r)   r*   Ú	new_indexrB   Ústacked_codesÚexpected_codess
             r   Ú)test_stack_multi_columns_non_unique_indexÚ>TestDataFrameReshape.test_stack_multi_columns_non_unique_indexÈ  sª   € ô ˜UÑ4×;Ñ;¸AÓ>ˆØ—(‘(¨�(Ð5ˆÜ×*Ò*¨7¯=©=×+AÑ+AÓ+CÓDˆ	ÜØ×ÑÓ i¿¹ñ
ˆô 	×Ò˜gÔ0ÜŸ
š
 7§=¡=×#6Ñ#6Ó7ˆÜŸš I§O¡OÓ4ˆÜ
×#Ò# MÕBr   z,vals1, vals2, dtype1, dtype2, expected_dtyperF   rÏ   ÚInt64ÚFloat64r   r   Ústringr  c                 óè   • [        [        XS9[        X$S9S.5      nUR                  US9nUR                  [        5      R                  US9R                  U5      n	[
        R                  " X‰5        g )NrV   )©r|   r7   )r|   r8   r   )r   r
   r"   rm   r  r$   r%   )
r'   Úvals1Úvals2Údtype1Údtype2Úexpected_dtyper   r)   rA   rB   s
             r   Ú.test_stack_multi_columns_mixed_extension_typesÚCTestDataFrameReshape.test_stack_multi_columns_mixed_extension_typesâ  so   € ô ä  Ñ5Ü  Ñ5ñó
ˆð —‘ |�Ð4ˆà�I‰I”fÓ×#Ñ#°Ð#Ð>×EÑEÀnÓUð 	ô 	×Ò˜fÕ/r   c                 óÎ  • [         R                  " / SQSS/S9n[        [        R                  " / SQSS9[        R
                  " / SQ5      S	.US
9nUR                  US9nUR                  [        5      R                  US9nUS:X  a&  US	   R                  [        R                  5      US	'   O%US   R                  [        R                  5      US'   [        UR                  R                  /S-  UR                  R                  /S-  -   UR                  S
9n[         R"                  " UR$                  U5        [         R&                  " UR                  [        5      U5        g )N)©r|   r   r2  )r}   r7   r5   r6   r°   )r   r7   Nr.  rV   ra   r"  r<   rX  r   r;  r8   )r   rh   r   rŠ   r  r¦   r#   rm   r  r&  ÚNAr
   r|   rW   r}   r;   r$   r?   r4  r%   )r'   rí   r:   r)   rA   rB   Úexpected_dtypess          r   Ú"test_unstack_mixed_extension_typesÚ7TestDataFrameReshape.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                 óp  • [         R                  " S/SS//SS/S9n[        SS/SS	//US
S/S9nSUR                  l        [        / SQ/[         R
                  " / SQSS/S9S9nSUR                  l        UR                  5       R                  SS9R                  SUS9n[        R                  " XT5        g )Nr   r£   rš   r   r@  r°   r8   r7   r4   r}   r|   r9   r   )r4   r7   r8   r   ))rš   r|   )rš   r}   )r£   r|   )r£   r}   rë   rJ  )rK  rí   )r   r>   r   r;   rf   rh   r:   r#   Ú	swaplevelÚ
sort_indexr$   r%   )r'   rí   r#  r)   rB   rA   s         r   Ú test_unstack_swaplevel_sortlevelÚ5TestDataFrameReshape.test_unstack_swaplevel_sortlevel  s»   € ô ×$Ò$ q c¨C°¨:Ð%6¸uÀe¸nÑMˆÜ˜˜A˜  A Ð'¨r¸CÀ¸:ÑFˆØˆ�
‰
ŒäÚˆNÜ×*Ò*Ú@ÈÐPUÈññ
ˆð $ˆ�‰Ôà—‘“×'Ñ'¨QÐ'Ð/×:Ñ:ÀÈÐ:ÐOˆÜ
×Ò˜fÕ/r   r”  )AÚ__name__Ú
__module__Ú__qualname__Ú__firstlineno__r0   r§   ÚmarkÚfilterwarningsrC   rR   rs   rƒ   r�   r“   r–   r«   r¼   Úparametrizer   rh   r   rÅ   rå   rö   r	  r  r  r%  r.  r7  r   rZ  r   r@  rD  rP  rK   r`  rf  rj  ru  r}  r‰  r   r=   r­  rð   ÚpermutationsrÏ  rÕ  rÚ  rì  ró  rü  r
  r  r  r  r#  r>   r,  r8  r>  rD  Ú__static_attributes__r”  r   r   r   r      s  † ò>ð$ ‡[�[×ÑØ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ðb ‡[�[×ÑØà�XŠX�a‹[˜"Ÿ(š( 1›+Ð&Ø�YŠY�q Ñ% 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°Q¸°F¸SÀ#¸JÐ3GÓHÐIÚ˜:×2Ò2°Q¸°F¸SÀ#¸JÐ3GÓHÐIÚ˜:×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   rW   r�   r/  c                 ó¼  • [         R                  " / SQ5      nU " [        R                  " SS5      X!S9nUR	                  SSS9nU [
        L a  [         R                  " SS	/5      nOS
S/n[        S[        R                  /[        R                  S/S[        R                  /[        R                  S//U[         R                  " / SQ5      US9n[        R                  " XF5        UR	                  SS/SS9nU [
        L a  [         R                  " SS/5      nO[         R                  " SS/5      n[        SS/SS//SS/UUS9n[        R                  " XF5        g )N))r  rY   r6   )r  rJ   r5   )r  rY   r6   )r  rJ   r5   rÌ   rÐ   r_   rZ   F)rí   Úsort©r   r6   )r   r5   r6   r5   ç       @rF   rÏ   ))r  rY   )r  rJ   )r  rY   )r  rJ   ©r;   r:   rW   r7   r8   )r   rY   r6   )r   rJ   r5   )rY   r6   )rJ   r5   r  r  )r:   r;   rW   )	r   rh   r   r   r#   r   rK   r$   r%   )Úframe_or_seriesrW   r:   ÚobjrA   rÄ   rB   s          r   Útest_unstack_sort_falserV  '  sJ  € ô ×"Ò"Ú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                  ó¤  • [        / SQSS9n [        R                  " / SQ5      U l        U R	                  5       n[        S[        R                  S/SS[        R                  /S.[        S	5      [        S
9n[        R                  " X5        U R	                  SS9n[        / SQ/ SQS.[        S	5      [        S
9n[        R                  " X5        g )Nr™   r  rV   rX   r5   r6   rš   r]   rz   r_   r£   r[   )r5   r£   r5   )r6   rš   r£   )r
   r   rh   r:   r#   r   r   rK   r   r  r$   r%   )rp   rA   rB   s      r   Útest_unstack_fill_frame_objectrX  M  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  • [        [        R                  " SSS9/S/S/S/S./ SQS9n U R                  SS/5      R	                  5       n[        [        R                  " SSS9S//[        S/SS	9[        S
S/S//SS/SS//S S/S9S9n[        R                  " X5        g )Nz2017-08-27 01:00:00.709949+0000ÚUTC)Útzr5   r6   rš   )Ú	timestampr5   r6   rš   rë   r¸   r\  r   r7   r!  r9   )	r   rŠ   rã   rj   r#   r   r   r$   r%   )r)   rA   rB   s      r   Ú"test_unstack_timezone_aware_valuesr]  e  s¿   € ä	äŸ,š,Ð'HÈUÑSÐTØ�Ø�Ø�ñ		
ò -ñ
€Bð �\‰\˜3 ˜*Ó%×-Ñ-Ó/€FÜÜ
�,Š,Ð8¸UÑ
CÀSÐ	IÐJÜ�S�E Ñ$ÜØ  #Ð&¨¨Ð.Ø�q�6˜A˜q˜6Ð"Ø˜�+ñ
ñ€Hô ×Ò˜&Õ+r   c           	      ó¼   • [        SSSSS9n[        SU0/ SQS9nUR                  U S	9n[        U[	        / SQS/// S
Q/ SQ/S9S9n[
        R                  " X45        g )NrÕ   Ú20180101Ú20180103zAmerica/New_York)rï  ÚstartÚendr[  r|   r®   r<   r   rd   ©r   r   r   r(  )r   r   r"   r
   r   r$   r?   )r   Útsr)   rA   rB   s        r   Ú test_stack_timezone_aware_valuesre  }  sf   € ä	˜ J°JÐCUÑ	V€BÜ	�C˜�9¢OÑ	4€BØ�X‰X <ˆXÐ0€FÜØ
Ü¢°3°%Ð 8ÂÊIÐ@VÑWñ€Hô ×Ò˜6Õ,r   r2   r  c                 ó,  • [         R                  " / [         R                  S9[         R                  " / [         R                  S9/n[        [         R                  [        U/ / /S9S9nU(       aZ  U [        R                  LaG  [        R                  " [        SS9   [        [         R                  S9R                  XS9  S S S 5        g [        [         R                  S9R                  XS9n[        R                  " XC5        g ! , (       d  f       g = f)NrV   r(  )rW   r:   údropna must be unspecifiedr¡   r  )r   r  rn   r
   r�   r   r   r  r§   r¨   r  r   r"   r$   r?   )r  r   r@   rB   rA   s        r   Útest_stack_empty_framerh  ‰  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ÜœBŸJ™JÑ'×-Ñ-°VÐ-ÑW÷ KÐJô ¤§¡Ñ,×2Ñ2Øð 3ð 
ˆô 	×Ò˜vÕ0÷ KÕJús   Â%DÄ
Dr\   c                 ó¾  • U(       ag  U [         R                  LaT  [        R                  " [        SS9   [        [        R                  S9R                  XS9R                  US9  S S S 5        g [        [        R                  S9R                  XS9R                  US9n[        [        R                  S9n[        R                  " X45        g ! , (       d  f       g = f)Nrg  r¡   rV   r  r[   )r   r  r§   r¨   r  r   r   rn   r"   r#   r$   r%   )r  r\   r   rA   rB   s        r   Útest_stack_unstack_empty_framerj  ™  s¨   € ö
 ˜¤c§n¡nÒ4Ü�]Š]œ:Ð-IÓJÜœBŸH™HÑ%×+Ñ+Øð ,ð ç‰g ˆgÑ,÷ KÐJô œBŸH™HÑ%ß‰U˜&ˆUÐ<ß‰W 
ˆWÐ+ð 	ô
 ¤2§8¡8Ñ,ˆÜ
×Ò˜fÕ/÷ KÕJús   ´2CÃ
Cc                  ó¸   • Sn [         R                  " [        U S9   [        [        R
                  S9R                  5         S S S 5        g ! , (       d  f       g = f)Nz'index must be a MultiIndex to unstack.*r¡   rV   )r§   r¨   r  r
   r   rn   r#   )rª   s    r   Ú test_unstack_single_index_seriesrl  ­  s6   € à
4€CÜ	�Š”z¨Ó	-Ü”R—X‘XÑ×&Ñ&Ô(÷ 
.×	-Ö	-ús   œ&AÁ
Ac            	      ór  • [        SS/SS/SS/SS/SS	/S
.5      n U R                  / SQ5      n U R                  S/SS9n U R                  SSS9R                  SSS9nU R                  SS/SS9n[        / SQ/ SQ/[        SS/SS9[        R
                  " / SQ/ SQS9S9n[        R                  " X!5        g )NÚAliceÚBobç      #@rx   FTr   ÚfemaleÚmale)rf   ÚscoreÚemployedÚkidsÚgender)rf   rt  ru  rv  rv  r[   rt  ru  )rp  rx  rx  rx  )rx  rx  rx  g       @rf   r¸   ))rs  rq  Fr   )rs  rq  Tr   )rs  rr  Fr   )rs  rr  Tr   )Nrv  rt  ru  r°   r9   )r   rj   r#   r   r   rh   r$   r%   )r)   rB   rA   s      r   Útest_unstacking_multi_index_dfrw  ´  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                 ó  • [         R                  " SS/SS/S9n[        / SQ/US9nUR                  SU S9n[	        S	S
/SS9n[         R
                  " SS/S S/S9n[        SS/SS//XTS9n[        R                  " X65        g )NrH   )rJ   rY   r5   r°   ©r7   r7   r7   r7   rë   r   r   rJ   rY   r¸   )r   rI   )r   rJ   r7   r9   )r   r>   r   r"   r   rh   r$   r%   )r   r;   r)   rA   Únew_columnsr)  rB   s          r   Ú2test_stack_positional_level_duplicate_column_namesr{  Ó  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 &Ð)°ÑP€Hä×Ò˜&Õ+r   c                 óR  • [         R                  " [        S5      / SQ/5      n[        [        R
                  R                  S5      R                  S5      [        R
                  R                  S5      R                  S5      R                  [        R                  5      [        R
                  R                  S5      R                  S5      [        R
                  R                  S5      R                  S5      S.US9nU (       d-  [        S UR                  R                   5       5      (       d   eUR                  5       n[        R                  " [        S5       Vs/ s H  oBU   R                  5       PM     sn[        S5      S	S
9n[         R"                  " X55        g s  snf )NrU   rG  r8   rV  rH  r<   c              3   óV   #   • U  H  oR                   R                  (       + v •  M!     g 7fr   )Úmgr_locsÚis_slice_like)Ú.0rI   s     r   Ú	<genexpr>Ú5test_unstack_non_slice_like_blocks.<locals>.<genexpr>ï  s   é € ÐHº°A—z‘z×/Ñ/×/Ñ/ºùs   ‚')rG   r7   )ÚkeysrK  )r   r>   r=   r   r   rá   râ   rò   rm   rn   ÚanyrM   rN   r#   rŠ   Úconcatr$   r%   )rO   r#  r)   rQ   ÚnrB   s         r   Ú"test_unstack_non_slice_like_blocksr‡  á  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ÐHà
�*‰*‹,€Cä�yŠy´5¸´8Ó<²8¨a˜Q™%Ÿ-™-ž/±8Ñ<Ä5ÈÃ8ÐRSÑT€HÜ×Ò˜#Õ(ùò =s   Å!F$c           	      ó¾  • / SQ/ SQSS[         R                  [         R                  //n[        U[        SS/SS/// S	Q/ S
Q/S9S9nU (       a  0 OSS0nUR                  " S SU S.UD6nU (       aP  [        SSSSS[         R                  /SSSSS[         R                  /S.[        R
                  " / SQ/ SQ/5      S9nO+[        / SQ/ SQS.[        R
                  " / SQ/ SQ/5      S9n[        R                  " XE5        [        U[        R
                  " / SQ/ SQ/5      S9nU (       a  0 OSS0nUR                  " S SU S.UD6n[        R                  " XE5        g )!N)r7   r8   rF   rÏ   )r8   r4   rÏ   rÐ   r4   rG   r}   r|   rI   rJ   r  r  r(  rë   rP  Fr   rì   rÌ   rF   rR  rÏ   rÐ   rH   )r   r   r7   r7   r8   r8   )r}   r|   r}   r|   r}   r|   r<   )rÌ   rF   rR  rÏ   rF   )rR  rÏ   rF   rÐ   rÏ   )r   r   r7   r7   r8   )r}   r|   r}   r|   r}   )r}   r}   r|   r|   )rI   rJ   rI   rJ   r”  )r   rK   r   r   r"   r  r$   r%   )r   rp   r)   ÚkwargsrA   rB   s         r   Útest_stack_sort_falserŠ  ÷  sZ  € ò Ò.°°A´r·v±v¼r¿v¹vÐ0FÐG€DÜ	ØÜØ˜#�J  c 
Ð+²LÂ,Ð3Oñ
ñ
€Bö  ‰R f¨e _€FØ�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Ø�XŠXÐC˜A¨LÑC¸FÑC€FÜ×Ò˜&Õ+r   c                 ó  • [         R                  " SS/5      n[        SS/SS//SS/US	9nU (       a  0 OS
S0nUR                  " SS/4SU 0UD6n[         R                  " / SQ5      n[	        / SQUS9n[
        R                  " XF5        g )N)ÚweightÚkg)ÚheightÚmrÌ   rR  rF   rÏ   rú   rü   r9   rP  Fr   r7   r   ))rú   rŒ  r�  )rú   rŽ  r�  )rü   rŒ  r�  )rü   rŽ  r�  )rÌ   rR  rF   rÏ   r<   )r   rh   r   r"   r
   r$   r?   )r   r»   r)   r‰  rA   rÃ   rB   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Ø�XŠX�q˜!�fÑB¨<ÐB¸6ÑB€FÜ×+Ò+ò	
ó€Nô Ò*°.ÑA€HÜ×Ò˜6Õ,r   c                   ó²	  • \ rS rSrS r\R                  R                  S/ SQ/ SQ// SQS/ SQ4/ S	Q/ S
Q// SQS/ SQ4/ S	Q/ SQ// SQS/ SQ4/5      S 5       rS r	\R                  R                  S5      S 5       r\R                  R                  S\" S5      / SQ\" SS/SS//\R                  " \R                   " S5      R#                  S5      S5      \R                  " / SQS5      /S9/\R$                  " S5      / SQ\" SS/SS/SS//\R                  " \R                   " S5      R#                  S5      S5      \R"                  " / S Q/ S!Q5      \R                  " / SQS5      /S9//5      S" 5       r\R                  R                  S5      S# 5       r\R                  R                  S5      S$ 5       rS% r\R                  R                  S5      S& 5       r\R                  R                  S'S(S)/5      S* 5       rS+ r\R                  R                  S5      S, 5       r\R                  R                  S5      S- 5       r\R                  R                  S5      S. 5       r\R                  R                  S5      S/ 5       rS0 rS1 r\R                  R                  S5      S2 5       r \R                  R                  S5      S3 5       r!S4 r"S5 r#\R                  R                  S5      S6 5       r$\R                  RJ                  S7 5       r&\R                  R                  S5      \R                  R                  S8\'RP                  RS                  S9 S: 5       5      5      \R                  R                  S;\*" S5      5      \R                  R                  S<S=S>/5      S? 5       5       5       5       r+\R                  R                  S5      S@ 5       r,\R                  R                  S5      SA 5       r-\R                  R                  S5      SB 5       r.SC r/SD r0SE r1SF r2\R                  R                  S5      SG 5       r3\R                  R                  S5      SH 5       r4\R                  R                  S5      SI 5       r5SJ r6\R                  R                  S5      SK 5       r7\R                  R                  S5      SL 5       r8SM r9SNr:g)OÚTestStackUnstackMultiLeveli1  c                 óè   • UnUR                  5       nUR                  5         UR                  [        5      R                  5         UR                  [        R                  5      R                  5         g r   )r#   rm   r  r   r€   )r'   Ú/multiindex_year_month_day_dataframe_random_dataÚymdr,   s       r   Útest_unstackÚ'TestStackUnstackMultiLevel.test_unstack2  sO   € à=ˆà—K‘K“Mˆ	Ø×ÑÔð 	�
‰
”3‹×ÑÔ!ð 	�
‰
”2—8‘8Ó×$Ñ$Õ&r   z5result_rows,result_columns,index_product,expected_row)r7   r7   NNç      >@N)r8   r8   NNr˜  N)Úix1Úix2Úcol1Úcol2Úcol3Úcol4r8   )NNr˜  N)r7   r7   NNr˜  )r8   r8   NNr˜  )r™  rš  r›  rœ  r�  )NNr˜  )r8   NNNr˜  Nc           	      ó   • [        XS9R                  SS/5      nUR                  SS R                  S5      n[        U/[        R
                  " USS  U//S S/S9[        S/SS9S9n[        R                  " XV5        g )	Nrë   r™  rš  r7   r8   r°   r¸   r¹   )	r   rj   r=  r#   r   r>   r   r$   r%   )r'   Úresult_rowsÚresult_columnsÚindex_productÚexpected_rowrA   rB   s          r   Útest_unstack_partialÚ/TestStackUnstackMultiLevel.test_unstack_partial?  s�   € ô< ˜;Ñ?×IÑIØ�EˆNó
ˆð —‘˜Q˜qÐ!×)Ñ)¨%Ó0ˆÜØˆNÜ×+Ò+Ø  Ð# m _Ð5¸dÀE¸]ñô ˜˜ %Ñ(ñ
ˆô 	×Ò˜fÕ/r   c                 ó  • [         R                  " / SQ5      n[        [        R                  R                  S5      R                  S5      US9nUR                  SS/5      nUR                  SSS9n[        R                  " X45        g )N))r   r   r   )r   r   r   )r7   r@  r7   )r7   Úquxr7   r8   rG   r<   r7   rL  ©rK  Úhow)r   rh   r
   r   rá   râ   rò   r#   r  r$   r%   )r'   r:   rr   r,   rB   s        r   Ú&test_unstack_multiple_no_empty_columnsÚATestStackUnstackMultiLevel.test_unstack_multiple_no_empty_columnsj  sr   € Ü×&Ò&ÚHó
ˆô ”2—9‘9×(Ñ(¨Ó+×;Ñ;¸AÓ>ÀeÑLˆà—I‘I˜q !˜fÓ%ˆ	Ø×#Ñ#¨°Ð#Ð6ˆÜ
×Ò˜iÕ2r   r2   c                 ó²  • UnUR                  5       nUR                  US9nU(       a  UR                  SS9n[        R                  " XS5        UR                  SS9nUR                  S5      nUR                  US9nU(       a  UR                  SS9n[        R                  " UR                  SS9U5        US S S2   nUR                  S5      nUR                  US9R                  SS5      nU(       a  UR                  SS9n[        R                  " UR                  SS9U5        UR                  SS5      nUR                  S5      R                  SSSS	9nUR                  SUS9R                  SS5      nU(       a  UR                  SS9n[        R                  " UR                  SS9U5        UR                  5       nUR                  US9nU(       a  UR                  SS9n[        R                  " XS5        UR                  S5      R                  S5      nUR                  SUS9nUR                  5       n[        R                  " Xx5        UR                  SUS9nUR                  S5      n[        R                  " Xx5        UR                  SUS9nUR                  US9R                  S5      R                  S5      n[        R                  " Xx5        UR                  S5      R                  S S 2S S S
24   nUR                  US9R                  US9n	UR                  US9n
U(       a  U	R                  SS9n	U
R                  SS9n
[        R                  " XšR                  U	R                  5      5        UR                  S5      R                  SUS9nUR                  S5      R                  SUS9n[        R                  " Xx5        g )Nr   rL  ©r©  r8   rX  r   rZ   r7   rJ  r4   rî   )r#   r"   r  r$   r%   rC  rB  ro   r?   Úreindexr:   Úassert_equal)r'   r”  r   r•  r,   Ú	restackedÚunlexsortedrA   rB   r*   Úymd_stackeds              r   Ú
test_stackÚ%TestStackUnstackMultiLevel.test_stacku  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Ô/à—‘ °�Ð>ˆØ—;‘;˜q“>ˆÜ
×Ò˜fÔ/à—‘ °�Ð>ˆØ—9‘9¨,�9Ð7×?Ñ?ÀÓB×JÑJÈ1ÓMˆÜ
×Ò˜fÔ/ð —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°  r5   r6   r°  r±  r4   )r   r7   r   rG   r(  )©r5   r8   ©r6   r7   ©r5   r7   )r6   r8   r7   )r7   r   r7   )r4   rv   r4   c                 ó  • [        [        R                  " S5      R                  SS5      UUS9nU(       a4  Sn[        R
                  " [        US9   UR                  US9  S S S 5        g UR                  US9n[        [        R                  " S5      US9n[        R                  " Xx5        UR                  R                  S	L d   eUR                  UR                  p©[        R                  " Xš5        g ! , (       d  f       g = f)
NrU  rG   r4   r9   z8Columns with duplicate values are not supported in stackr¡   r   r<   F)r   r   r   r   r§   r¨   r  r"   r
   r$   r?   r:   Ú	is_uniqueÚassert_index_equal)r'   r»   r;   Úexp_idxr   r)   rª   rA   rB   ÚliÚris              r   Útest_stack_duplicate_indexÚ5TestStackUnstackMultiLevel.test_stack_duplicate_indexÄ  sÌ   € ô6 Ü�IŠI�b‹M×!Ñ! ! QÓ'ØØñ
ˆö
 ØLˆCÜ—’œz°Ó5Ø—‘ l�Ñ3÷ 6Ð5ð —X‘X¨<�XÐ8ˆFÜœbŸiši¨›m°7Ñ;ˆHÜ×"Ò" 6Ô4Ø—<‘<×)Ñ)¨UÒ2Ð2Ð2Ø—\‘\ 8§>¡>�Ü×!Ò! "Õ)÷ 6Õ5ús   ÁC7Ã7
Dc                 ó®  • [         R                  " S/S-  S/S-  -   S/S-  -   S/S-  -   S/S-  S	/S-  -   S/S
-  -   S	/S-  -   SS/S-  / SQ-   // SQS9n[        [        R                  " SSS9[        R                  " SSS9S.US9nUR                  S5      nUR                  US9nU(       a  UR                  SS9n[        R                  " XS5        g )NÚFrirG   ÚSatr8   ÚSunÚThur4   ÚDinnerÚLunchrU   ÚNoÚYes)rÈ  rÈ  rÉ  )ÚdayÚtimeÚsmokerr°   rT  r�   rV   )r¥  rL   r<   r   rL  r­  )
r   r  r   r   r   r#   r"   r  r$   r%   )r'   r   r#  r)   rA   Úreconss         r   Útest_unstack_odd_failureÚ3TestStackUnstackMultiLevel.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Õ)r   c                 ó>  • UnUR                   nSUS'   UR                  SSS9nUR                  US9nUS   R                  US9R                  5       n[        R                  " US   USS9  UR
                  b   eUS   R                  [        R                  :X  d   eg )	Nr   )r   Úfourr7   )rí   rK  r   Fr  r   )	r&   rC  r"   r$   r?   rf   rW   r   r�   )r'   Ú multiindex_dataframe_random_datar   Úframer)   r*   rA   s          r   Útest_stack_mixed_dtypeÚ1TestStackUnstackMultiLevel.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           	      óÖ  • [        / SQ/ SQ/ SQ/ SQ[        R                  " S5      S.5      nSn[        R                  " [
        US9   UR                  / S	Q5      R                  [        5      nS S S 5        WR                  5       nUR                  US
9n[        R                  " XdR                  UR                  5      R                  [        5      5        g ! , (       d  f       Np= f)N)Únaiver×  r×  ÚactiverØ  rØ  )r5   r6   r6   r6   r5   r5   )r7   r8   r4   rG   r7   r4   )ÚhirÙ  ÚbyerÚ  rÚ  Úpeaceg      @)rÓ   rÿ   Úbarcoder  Úextraz7DataFrameGroupBy.apply operated on the grouping columnsr¡   )rÓ   rÿ   rÜ  r  r   )r   r   r   r$   r÷  rö  ÚgroupbyrÎ  rL   r#   r"   r?   r®  r:   rm   ri   )r'   r   r)   rª   rA   r,   r°  s          r   Útest_unstack_bugÚ+TestStackUnstackMultiLevel.test_unstack_bug  s¯   € ÜâRÚ5Ú-Ú?ÜŸš 3›ñó
ˆð HˆÜ×'Ò'¬¸SÓAØ—Z‘ZÒ @ÓA×GÑGÌÓLˆF÷ Bð —N‘NÓ$ˆ	Ø—O‘O°�OÐ>ˆ	Ü
×Ò˜y¯.©.¸¿¹Ó*I×*PÑ*PÔQVÓ*WÕX÷ BÕAús   Á	'CÃ
C(c                 ó  • UnUR                  5       nUR                  R                  S:X  d   eUR                  R                  SS/:X  d   eUR                  US9nUR                  R                  UR                  R                  :X  d   eg )Nr  rÿ   r  r   )r#   r:   rf   r;   rl   r"   )r'   rÒ  r   rÓ  r,   r°  s         r   Ú!test_stack_unstack_preserve_namesÚ<TestStackUnstackMultiLevel.test_stack_unstack_preserve_names/  s}   € ð 1ˆà—M‘M“Oˆ	Ø�‰×#Ñ# wÓ.Ð.Ð.Ø× Ñ ×&Ñ&¨5°(Ð*;Ó;Ð;Ð;à—O‘O°�OÐ>ˆ	Ø�‰×$Ñ$¨¯©×(9Ñ(9Ó9Ð9Ñ9r   Úmethodr"   r#   c                 ó‚  • UnUR                   S   nUS:X  a  SU0O0 n[        R                  " [        SS9   [	        XQ5      " S0 UD6  S S S 5        US:X  aG  UR
                  S S 2S4   n[        R                  " [        SS9   [	        Xq5      " S0 UD6  S S S 5        g g ! , (       d  f       N\= f! , (       d  f       g = f)	Nr   r"   r   zdoes not match index namer¡   r#   r   )Úmistake)ro   r§   r¨   ÚKeyErrorÚgetattrr=  )r'   rä  rÒ  r   rÓ  r)   r‰  rr   s           r   Ú#test_stack_unstack_wrong_level_nameÚ>TestStackUnstackMultiLevel.test_stack_unstack_wrong_level_name>  s­   € ð
 1ˆð �Y‰Y�uÑˆà39¸WÓ3D�. ,Ñ/È"ˆÜ�]Š]œ8Ð+FÓGÜ�BÔÑ4¨VÒ4÷ Hð �YÓà—‘š˜1˜‘ˆAÜ—’œxÐ/JÓKÜ˜Ô"Ñ7°Ò7÷ LÐKð ÷ HÕGú÷ LÕKús   ·BÂB0Â
B-Â0
B>c                 ót   • UnUR                  S5      nUR                  SS9n[        R                  " X45        g )Nr  r7   rX  rÛ   )r'   rÒ  rÓ  rA   rB   s        r   Útest_unstack_level_nameÚ2TestStackUnstackMultiLevel.test_unstack_level_nameR  s3   € Ø0ˆà—‘˜xÓ(ˆØ—=‘= q�=Ð)ˆÜ
×Ò˜fÕ/r   c                 ó  • UnUR                  S5      nUR                  SUS9nUR                  5       R                  SUS9n[        R                  " XV5        UR                  SUS9nUR                  US9n[        R                  " XV5        g )Nr  rÿ   r   r   )r#   r"   r$   r%   r?   )r'   rÒ  r   rÓ  r,   rA   rB   s          r   Útest_stack_level_nameÚ0TestStackUnstackMultiLevel.test_stack_level_nameY  s‚   € ð 1ˆà—M‘M (Ó+ˆ	Ø—‘ °\�ÐBˆØ—=‘=“?×(Ñ(¨¸Ð(ÐFˆÜ
×Ò˜fÔ/à—‘˜U°�Ð>ˆØ—;‘;¨L�;Ð9ˆÜ
×Ò˜vÕ0r   c                 ó,  • UnUR                  SS/5      nUR                  S5      R                  S5      n[        R                  " XE5        UR                  R                  UR                  R                  :X  d   eUS   nUR                  SS/5      n[        R                  " XuS   5        UR                  SS/US9nU(       a  UR                  SS9nUR                  SS5      R                  SS	5      nUR                  SS
9n[        R                  " Xƒ5        UR                  R                  UR                  R                  :X  d   eUR                  SS	/5      nUR                  S5      R                  S5      R                  SSS9n[        R                  " XE5        UR                  S	S/5      nUR                  S	5      R                  S5      R                  SSS9n[        R                  " XER                  S S 2UR                  4   5        g )NÚyearÚmonthr|   r   rL  r­  r   r7   r8   rX  r¨  )r#   r$   r%   r;   rl   r"   r  rB  rC  r:   ro   )	r'   r”  r   r•  r,   rB   rr   Ús_unstackedr°  s	            r   Útest_stack_unstack_multipleÚ6TestStackUnstackMultiLevel.test_stack_unstack_multipleh  sÌ  € ð >ˆà—K‘K ¨Ð 1Ó2ˆ	Ø—;‘;˜vÓ&×.Ñ.¨wÓ7ˆÜ
×Ò˜iÔ2Ø× Ñ ×&Ñ&¨(×*:Ñ*:×*@Ñ*@Ó@Ð@Ð@ð �‰HˆØ—i‘i ¨Ð 1Ó2ˆÜ
×Ò˜k°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                 ó¸   • UnUR                  SS/5      n[        R                  " [        SS9   UR	                  SS/US9  S S S 5        g ! , (       d  f       g = f)Nrò  ró  zlevel should containr¡   r   r   )r#   r§   r¨   r  r"   ©r'   r”  r   r•  r,   s        r   Útest_stack_names_and_numbersÚ7TestStackUnstackMultiLevel.test_stack_names_and_numbers�  sN   € ð >ˆà—K‘K ¨Ð 1Ó2ˆ	ô �]Š]œ:Ð-CÓDØ�O‰O˜Q ˜L°|ˆOÑD÷ E×DÖDús   ¯AÁ
Ac                 óB  • UnUR                  SS/5      n[        R                  " [        SS9   UR	                  SS/US9  S S S 5        [        R                  " [        SS9   UR	                  S	S
/US9  S S S 5        g ! , (       d  f       NC= f! , (       d  f       g = f)Nrò  ró  zToo many levelsr¡   r8   r4   r   znot a valid level numberr�  r€  )r#   r§   r¨   Ú
IndexErrorr"   rø  s        r   Ú!test_stack_multiple_out_of_boundsÚ<TestStackUnstackMultiLevel.test_stack_multiple_out_of_bounds›  s‚   € ð >ˆà—K‘K ¨Ð 1Ó2ˆ	ä�]Š]œ:Ð->Ó?Ø�O‰O˜Q ˜F°ˆOÑ>÷ @ä�]Š]œ:Ð-GÓHØ�O‰O˜R ˜H°<ˆOÑ@÷ IÐH÷ @Õ?úçHÕHús   ¯A?Á#BÁ?
BÂ
Bc           
      óŒ  • [         R                  " / SQSSS9n[        SS/S-  SS	9n/ S
Qn[        R                  " X/5      n[        X4S9nUR                  5       nUR                  SS9nUR                  SS9n[         R                  " / SQSSS9n	[        / SQ/ SQS.U	SS/S9n
SU
R                  l	        [        R                  " Xj5        [        R                  " Xz5        [        R                  " XŠR                  5        [         R                  " / SQSSS9n[         R                  " / SQSSS9n[        R                  " X/5      n[        X4S9nUR                  5       nUR                  SS9nUR                  SS9n[         R                  " / SQSSS9n	[         R                  " / SQSSS9n[        [        R                  [        R                  [        R                  [        R                  SS/[        R                  [        R                  SS[        R                  [        R                  /SS[        R                  [        R                  [        R                  [        R                  //U	US9n
[        R                  " Xj5        [        R                  " Xz5        [        R                  " XŠR                  5        g )N)ú2013-01r   ú2013-02r  ú2013-03r  ÚMÚperiod©rï  rf   r|   r}   r4   Ústrr¸   ©r7   r8   r4   rG   rU   rv   r<   r7   rX  r   )r   r  r  )r7   r4   rU   )r8   rG   rv   r"  r9   Úperiod1)ú2013-12ú2013-11ú2013-10ú2013-09ú2013-08ú2013-07Úperiod2)r  r  r  r  r
  r	  r8   rG   rv   rU   )rŠ   ÚPeriodIndexr   r   r  r
   r#   r   r;   rf   r$   r%   r&   r   rK   )r'   Úidx1Úidx2Úvaluer»   rr   Úresult1Úresult2Úresult3Úe_idxrB   Úe_colss               r   Útest_unstack_period_seriesÚ5TestStackUnstackMultiLevel.test_unstack_period_series«  s:  € ä�~Š~ÚNØØñ
ˆô
 �c˜3�Z !‘^¨%Ñ0ˆÚ"ˆä×$Ò$ d \Ó2ˆÜ�5Ñ$ˆà—)‘)“+ˆØ—)‘) !�)Ð$ˆØ—)‘) !�)Ð$ˆä—’Ú-°C¸hñ
ˆô Ú¢)Ñ,°EÀCÈÀ:ñ
ˆð !&ˆ×ÑÔä
×Ò˜gÔ0Ü
×Ò˜gÔ0Ü
×Ò˜g§z¡zÔ2ä�~Š~ÚNØØñ
ˆô �~Š~ÚNØØñ
ˆô
 ×$Ò$ 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Ô0Ü
×Ò˜gÔ0Ü
×Ò˜g§z¡zÕ2r   c                 ó4  • [         R                  " / SQSSS9n[         R                  " / SQSSS9n/ SQ/ SQS	.n[        R                  " X/5      n[	        X4S
9nUR                  5       nUR                  SS9nUR                  SS9n[         R                  " SS/SSS9n	[         R                  " / SQSSS9n
[        R                  " SR                  5       U
/5      n[	        / SQ/ SQ/X›S9n[        R                  " Xl5        [        R                  " X|5        [         R                  " / SQSSS9n	[         R                  " / SQSSS9n
[        R                  " SR                  5       U	/5      n[	        / SQ/ SQ/ SQ/X«S9n[        R                  " XŒ5        g )N)ú2014-01ú2014-02r  r  r  r  r  r  r  )r	  r	  r  r  r  r  r  r  )rv   rU   rG   r4   r8   r7   r"  r<   r7   rX  r   r  r  )r  r	  r  r  r	  r  zA A A B B B)rU   r7   rv   r8   rv   r7   )rG   r8   r4   r4   rU   rG   r9   )r  r  r  r  )r  r	  r  zA A B B)rU   rG   r8   r4   )r7   r8   rv   rU   )rv   r4   r7   rG   )	rŠ   r  r   r  r   r#   r©  r$   r%   )r'   r  r  r  r»   r)   r  r  r  Úe_1Úe_2r  rB   s                r   Útest_unstack_period_frameÚ4TestStackUnstackMultiLevel.test_unstack_period_frameð  sw  € ä�~Š~ÚNØØñ
ˆô
 �~Š~ÚNØØñ
ˆò
 )Ò/AÑBˆÜ×$Ò$ d \Ó2ˆÜ�uÑ(ˆà—*‘*“,ˆØ—*‘* 1�*Ð%ˆØ—*‘* 1�*Ð%ˆä�nŠn˜i¨Ð3¸#ÀIÑNˆÜ�nŠnÚNØØñ
ˆô
 ×'Ò'¨×)<Ñ)<Ó)>ÀÐ(DÓEˆÜÚÒ!3Ð4¸Cñ
ˆô 	×Ò˜gÔ0Ü
×Ò˜gÔ0ä�nŠnÚ8¸sÈñ
ˆô �nŠnÚ-°C¸iñ
ˆô ×'Ò'¨¯©Ó):¸CÐ(@ÓAˆÜÚš<ªÐ6¸cñ
ˆô 	×Ò˜gÕ0r   c                 ó^  • S/S-  S/S-  -   nS/S-  S/S-  -   n[         R                  " / SQS-  5      n[        R                  R	                  S5      R                  SSS	5      n[        X4XVS
.5      nUR                  SS/5      nSUR                  l	        UR                  S5      n	[        R                  " S5      n
U(       a  Sn
[        R                  " [        U
S9   U	R!                  S5      R#                  5         S S S 5        U	R!                  S5      R#                  SS9nUR%                  SUS9nU	R&                  S S 2S/4   R!                  S5      R#                  5       R%                  SUS9nSUR                  l	        [(        R*                  " XÍ5        g ! , (       d  f       N£= f)Nr7   r4   r8   r5   r6   )z
2013-01-03z
2013-01-04z
2013-01-05r   rð  rv   )ÚIDÚNAMEÚDATEÚVAR1r%  r#  ÚParamsz&agg function failed [how->mean,dtype->z-dtype 'str' does not support operation 'mean'r¡   zW-THUT)Únumeric_onlyr   r&  )rŠ   Úto_datetimer   rá   râ   Úintegersr   rj   r;   rf   r#   ÚreÚescaper§   r¨   r©   ÚresampleÚmeanr"   ro   r$   r%   )r'   r   r6  Úid_colrf   ÚdateÚvar1r)   ÚmultiÚunstrª   Údownr  r  s                 r   Útest_stack_multiple_bugÚ2TestStackUnstackMultiLevel.test_stack_multiple_bug  si  € ð
 �#˜‘'˜q˜c A™gÑ&ˆØ�˜‘	˜s˜e a™iÑ(ˆÜ�~Š~ÒHÈ1ÑLÓMˆÜ�y‰y×$Ñ$ QÓ'×0Ñ0°°C¸Ó;ˆÜ˜f¸DÑOÓPˆà—‘˜f d˜^Ó,ˆØ%ˆ�‰ÔØ�}‰}˜TÓ"ˆÜ�iŠiÐ@ÓAˆÞØAˆCÜ�]Š]œ9¨CÓ0Ø�M‰M˜'Ó"×'Ñ'Ô)÷ 1à�}‰}˜WÓ%×*Ñ*¸Ð*Ð=ˆØ�Z‰Z˜¨<ˆZÐ8ˆà�H‰H’Q˜˜�[Ñ!ß‰X�gÓß‰T‹Vß‰U�4 lˆUÐ3ð	 	ð #ˆ�
‰
ŒÜ
×Ò˜bÕ%÷ 1Õ0ús   Ã! FÆ
F,c                 óF  • [        SS/SS/SS/S.5      nUR                  SS/5      nU(       d  S	O[        R                  nUR	                  5       R                  X1S
9n[        U5      [        UR                  5       5      :”  d   eU(       aA  [        R                  " [        SS9   UR	                  5       R                  SUS
9  S S S 5        g UR	                  5       R                  SUS
9n[        R                  " XDR                  5       5        g ! , (       d  f       g = f)NÚa1Úa2Úb1Úb2r7   rG  r|   r}   Fr  rg  r¡   T)r   rj   r   r  r#   r"   rL   r  r§   r¨   r  r$   r%   )r'   r   r)   r  r*   s        r   Útest_stack_dropnaÚ,TestStackUnstackMultiLevel.test_stack_dropna=  sç   € ô
 ˜d D˜\°°t°ÀAÀqÀ6ÑJÓKˆØ�\‰\˜3 ˜*Ó%ˆæ*‘´·±ˆØ—*‘*“,×$Ñ$¨FÐ$ÐNˆÜ�7‹|œc '§.¡.Ó"2Ó3Ó3Ð3Ð3æÜ—’œzÐ1MÓNØ—
‘
“×"Ñ"¨$¸\Ð"ÑJ÷ OÐNð —j‘j“l×(Ñ(°À<Ð(ÐPˆGÜ×!Ò! '¯>©>Ó+;Õ<÷	 OÕNús   Â'DÄ
D c                 ó¨   • [        / SQ/ SQ/ SQ// SQ/ SQ/S9n/ SQUR                  l        SS	/UR                  l        UR	                  S
S/5        g )N)r   r   r   r   r7   r7   r7   r7   )r   r   r7   r7   r   r   r7   r7   ©r   r7   r   r7   r   r7   r   r7   r  r  r9   r®   r£   r³   r6   rš   )r   r:   rl   r;   r#   )r'   r   r)   s      r   Ú"test_unstack_multiple_hierarchicalÚ=TestStackUnstackMultiLevel.test_unstack_multiple_hierarchicalP  sS   € Üâ(Ú(Ú(ðò
 "¢<Ð0ñ
ˆò )ˆ�‰ŒØ ˜:ˆ�
‰
Ôð 	�
‰
�C˜�:Õr   c                 ó~  • Sn[        [        R                  R                  S5      R	                  SUS9[        R                  R                  S5      R	                  SUS9[        R                  R                  S5      R	                  SS	US9[        R                  R                  S
5      R	                  SSUS9[        R                  R                  S5      R	                  SUS9[        R                  R                  S	5      R                  U5      S.5      nUR                  / SQ5      nUR                  S5        g )Néè  r8   rð  )Úsizer4   i,  rG   iùÿÿÿrw   rU   iíÿÿÿé   rv   i¸  )r|   r}   r¿   rÕ   rÖ   r×   )r|   r}   r¿   rÕ   rÖ   rÖ   )r   r   rá   râ   r*  rò   rj   r#   )r'   ÚNUM_ROWSr)   Úidfs       r   Útest_unstack_sparse_keyspaceÚ7TestStackUnstackMultiLevel.test_unstack_sparse_keyspace`  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                 óF  • SS// SQ/n/ SQ/ SQ/n[        X#5      n[        [        R                  R	                  S5      R                  S5      US9nUR                  5       n[        UR                  5      S	:X  d   eUR                  US
9n[        R                  " Xu5        g )Nr   r7   rH  r  rI  r8   )rG   r8   r<   rG   r   )r   r   r   rá   râ   rò   r#   rL   r;   r"   r$   r%   )r'   r   r@   r"  r:   r)   rA   rÍ  s           r   Útest_unstack_unobserved_keysÚ7TestStackUnstackMultiLevel.test_unstack_unobserved_keysu  sŒ   € ð
 �a�&š,Ð'ˆÚš|Ð,ˆä˜6Ó)ˆä”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÈuÑUˆà—‘“ˆÜ�6—>‘>Ó" aÓ'Ð'Ð'à—‘¨<�Ð8ˆÜ
×Ò˜fÕ)r   c                 ó8  •  " S S[         R                  5      nUR                  5        nUR                  [         SU5        [	        [
        R                  " S5      [
        R                  " S5      [
        R                  " S5      /S9nSn[        R                  " [        US9   [        R                  " [        S	S9   UR                  5         S S S 5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N(= f! , (       d  f       g = f)
Nc                   ó,   ^ • \ rS rSrSU 4S jjrSrU =r$ )ÚaTestStackUnstackMultiLevel.test_unstack_number_of_levels_larger_than_int32.<locals>.MockUnstackeriŒ  c                 ó:   >• [         TU ]  " U0 UD6  [        S5      e)NúDon't compute final result.)ÚsuperÚ__init__Ú	Exception)r'   Úargsr‰  Ú	__class__s      €r   rS  ÚjTestStackUnstackMultiLevel.test_unstack_number_of_levels_larger_than_int32.<locals>.MockUnstacker.__init__�  s!   ø€ ä‘Ò  $Ð1¨&Ò1ÜÐ =Ó>Ð>r   r”  )ÚreturnN)rF  rG  rH  rI  rS  rN  Ú__classcell__)rV  s   @r   ÚMockUnstackerrO  Œ  s   ø† ÷?õ ?r   rZ  Ú
_Unstacker)é   r8   r\  r<   z$The following operation may generater¡   rQ  )Úreshape_libr[  ÚcontextÚsetattrr   r   rZ  r   r$   r÷  r   r§   r¨   rT  r#   )r'   ÚmonkeypatchrZ  r�  r)   rª   s         r   Ú/test_unstack_number_of_levels_larger_than_int32ÚJTestStackUnstackMultiLevel.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÷ K÷ #Ð"÷ SÕRú÷ KÕJú÷ #Õ"ús<   ªA;DÂ%C:Â?C)ÃC:ÃDÃ)
C7Ã3C:Ã:
D	ÄDÄ
Dr@   c              #   óz   #   • U  H1  n[         R                  " [         R                  " / S QU5      SS9v •  M3     g7f)rd   r8   rè   N)rð   rñ   rM  )r€  Úwidths     r   r�  Ú$TestStackUnstackMultiLevel.<genexpr>¢  s1   é € ð &
â�ô ×Òœi×4Ò4²YÀÓFÈqÖQÚùs   ‚9;r¾   Ú	stack_levrP  TFc                 óF  • [        U/ SQ/ SQ/S9n[        U[        S5      /S9nU(       a  0 OSU0nUR                  " U4SU0UD6nUR                   HK  n	UR
                   H8  n
UR                  Xš4   nXšU   4nU
SU-
     nUR                  XÍ4   nXë:X  a  M8   e   MM     g )	Nr  r  r(  rG   )r;   rp   rP  r   r7   )r   r   r=   r"   r:   r;   ro   )r'   r@   rf  rP  r   r;   r)   r‰  Ú
df_stackedÚrowr  rB   Ú
result_rowÚ
result_colrA   s                  r   Ú%test_stack_order_with_unsorted_levelsÚ@TestStackUnstackMultiLevel.test_stack_order_with_unsorted_levels�  s¯   € ô"  F²<ÂÐ2NÑOˆÜ˜w¬e°A«h¨ZÑ8ˆÞ#‘¨&°$¨ˆØ—X’X˜iÑM°lÐMÀfÑMˆ
Ø—8”8ˆCØ—z”z�ØŸ6™6 # (Ñ+�Ø  i¡.Ð0�
Ø   Y¡Ñ/�
Ø#Ÿ™¨
Ð(>Ñ?�ØÕ)Ð)Ð)ó "ò r   c           
      óz  ^^• [        / SQ/ SQ/[        R                  " [        S5      S5      [        R                  " [        S5      S5      /S9n[        U[        S5      [        R                  " S[        U5      -  5      R                  SS5      S9m[        UU4S jTR                   5       5      (       d   eg )	N)r|   r¿   r}   )r}   r|   r¿   r4   r(  rU   rZ   )r;   r:   rp   c              3   óº   >#   • U  HP  nTR                     H<  nTR                  X4   TR                  S TS9R                  XS    4US   4   :H  v •  M>     MR     g7f)r   r   r7   N)r;   ro   r"   )r€  ri  r  r)   r   s      €€r   r�  Ú]TestStackUnstackMultiLevel.test_stack_order_with_unsorted_levels_multi_row.<locals>.<genexpr>È  si   øé € ð 
ò  �Ø—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   rL   r   rL  r:   )r'   r   r#  r)   s    ` @r   Ú/test_stack_order_with_unsorted_levels_multi_rowÚJTestStackUnstackMultiLevel.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                 ó  • SnSn[        U/ SQ/ SQ/S9n[        U[        S5      // SQS9nU(       a  0 OS	S
0nUR                  " U4SU0UD6n[        / SQSS/// SQ/ SQ/S9n[        / SQ/ SQS.US9n	[        R
                  " Xy5        g )N)©r   r7   )r7   r   r7   r  r  r(  rG   )r7   r   r8   r4   )r;   rp   r:   rP  Tr   rH  r   )r7   r7   r   r   r8   r8   r4   r4   )r7   r   r7   r   r7   r   r7   r   r?  )r8   r4   r8   r4   r8   r4   r8   r4   ru  r<   )r   r   r=   r"   r$   r%   )
r'   r   r@   rf  r;   r)   r‰  rA   rÃ   rB   s
             r   Ú1test_stack_order_with_unsorted_levels_multi_row_2ÚLTestStackUnstackMultiLevel.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Õ/r   c           	      óˆ  • [         R                  " S5      n[         R                  " U Vs/ s H  nSU 3PM
     snU Vs/ s H  nSU 3PM
     sn/5      n[        UR                  SS/S9nSUR
                  l        SU0n[        R                  " USS9nS	S/UR
                  l	        UR                  [        UR
                  5      SS9nUR                  SS	/US
9R                  SS	/5      n[        SS/SS/SS/SS/SS/// SQ[        R                  " SS/SS	/S9S9n	[         R"                  " X‰5        g s  snf s  snf )NrU   r6   r5   rë   r  rI   r7   rJ  r  r   Úa0Úb0r8  r:  r9  r;  Úa3Úb3Úa4Úb4rë  )r5   rI   )r6   rI   r°   r9   )r   r   Úvstackr   r&   r;   rf   rŠ   r…  rl   r®  r¨  r"   r#   r   rh   r$   r%   )
r'   r   r‰   rI   rp   r)   Úsecond_level_dictÚmulti_level_dfrA   rB   s
             r   Ú'test_stack_unstack_unordered_multiindexÚBTestStackUnstackMultiLevel.test_stack_unstack_unordered_multiindexç  sS  € ô
 —’˜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Õ/ùò) *ùÚ)s   «D:Á D?
c                 ó"  • UnSUS'   SUS'   UR                  S5      nUS   R                  [        R                  :X  d   eU(       d$  US   R                  [        R                  :X  d    e US   R                  [        R                  :X  d   eg )	Nr   rÖ   r8   r×   ró  r2  )rÖ   r7   )r×   r7   )r#   rW   r   r�   Úobject_)r'   r”  r6  r•  r,   s        r   Útest_unstack_preserve_typesÚ6TestStackUnstackMultiLevel.test_unstack_preserve_types	  sŽ   € ð >ˆØˆˆC‰ØˆˆC‰à—K‘K Ó(ˆ	Ø˜Ñ ×&Ñ&¬"¯*©*Ó4Ð4Ð4ö &ð �fÑ×#Ñ#¤r§z¡zÔ1ð	
ðàà˜Ñ ×&Ñ&¬"¯*©*Ó4Ð4Ñ4r   c                 ó  • [         R                  " [         R                  " S5      S5      n[         R                  " S5      n[        U/S-  SS//-   U/S-  [         R                  " S5      R	                  S5      /-   S9n[        [         R                  " S5      US9nUR                  5       nUR                  S	:X  d   eUR                  US
9n[        R                  " XWR                  UR                  5      5        [        SS//U/S-  -   [         R                  " S5      R	                  S5      /U/S-  -   S9n[        [         R                  " S5      US9nUR                  S5      nUR                  S	:X  d   e[        U/S-  SS//-   U/S-  -   U/S-  [         R                  " S5      R	                  S5      /-   U/S-  -   S9n[        [         R                  " S5      US9nUR                  S5      nUR                  S	:X  d   eg )Néô  r8   rx   r   r7   r(  rC  r<   )r‰  r8   r   rG   )r   rq  r   r   ré   r
   r#   r!   r"   r$   r?   r®  r:   )r'   r   r"  rí   r:   rr   rA   r*   s           r   Ú!test_unstack_group_index_overflowÚ<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           	      ó   • [        / SQ/ SQS/S-  S.5      R                  SS/5      nSUS	'   U(       d%  [        UR                  R                  5      S
:X  d   eUR                  S5      nUS   R                  S5      US'   [        / SQ[        R                  SSS//[        SS/SS9[        R                  " / SQS S/S9S9nU(       a.  US   R                  S5      US'   US   R                  S5      US'   [        R                  " X45        g )N)r|   r|   r}   )ÚcaÚcbrŽ  r:  r4   )r5   r6   r  r5   r6   r7   Úis_r8   ©r�  r�  r   )ç      $@r‘  rÌ   rÌ   r‘  rx  rÌ   r|   r}   r¸   ))r  r�  ©r  rŽ  r�  ©r�  rŽ  r°   r9   r’  rn   r“  )r   rj   rL   rM   rN   r#   r&  r   rK   r   r   rh   rm   r$   r%   )r'   rO   r)   rA   rB   s        r   Ú+test_unstack_with_missing_int_cast_to_floatÚFTestStackUnstackMultiLevel.test_unstack_with_missing_int_cast_to_float;	  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Õ/r   c                 ó”  • [        / SQ/ SQ/ SQ/ SQS.5      nUR                  / SQ5      n/ SQnUR                  R                  USS9Ul        UR                  R                  US	S9Ul        UR	                  S
5      S   R                  5       R                  n[        / SQ/ SQ// SQ/ SQ/SS	/S9n[        R                  " X45        g )Nr1  )r4   rG   r7   r8   ry  )ÚL1ÚL2ÚL3rI   )r—  r˜  r™  )Ún1Ún2Ún3Nr—  )r@   rí   r˜  r™  )rI   r7   rH  )r8   r4   r   r7   r!  )	r   rj   r:   Ú
set_levelsr#   rC  r   r$   r»  )r'   rä   Ú
new_levelsrA   rB   s        r   Útest_unstack_with_level_has_nanÚ:TestStackUnstackMultiLevel.test_unstack_with_level_has_nan[	  s½   € äâ"Ú"Ú"Ú!ñ	ó
ˆð �m‰mÒ.Ó/ˆÚ-ˆ
Ø—I‘I×(Ñ(°
À$Ð(ÐGˆŒ	Ø—I‘I×(Ñ(°
À$Ð(ÐGˆŒ	à—‘˜TÓ" 8Ñ,×7Ñ7Ó9×?Ñ?ˆÜÚ,Ò.FÐGÚ¢Ð.Ø˜�,ñ
ˆô 	×Ò˜fÕ/r   c                 óò  • [        [        R                  " SS/5      [        R                  " / SQ5      S9nUR                  SUS9nU(       a+  [        S/SS	/// S
Q/ SQ/S9n[        S/SS/// S
Q/ SQ/S9nO[        / SQ5      n[        / SQ5      n[        S[        R                  [        R                  /[        R                  SS/[        R                  SS//UUS9n[        R                  " X65        g )Nr7   rU   ))r   NN)r   r8   r   )r   r8   r7   )r   r4   r   )r   r4   r7   rë   r8   r   r   rx  rÌ   rc  )rZ   r   r7   r(  r4   )©r   N)r   r   ru  )r¢  )r   r8   )r   r4   r9   )
r   r   rZ  r   rh   r"   r   rK   r$   r%   )r'   r   r)   rA   r:   r;   rB   s          r   Ú$test_stack_nan_in_multiindex_columnsÚ?TestStackUnstackMultiLevel.test_stack_nan_in_multiindex_columnss	  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Õ/r   c                 ó@  • [         R                  " S/S-  S/S-  -   [        R                  " [	        S5      5      [        R                  " [	        S5      5      /5      n[        [        R                  " S5      R                  SS5      US9nUR                  S	S/US
9nU(       aò  [        S[        R                  /S	[        R                  /[        R                  S/[        R                  S/S[        R                  /S[        R                  /[        R                  S/[        R                  S//SS/[         R                  " S/S-  S	/S-  -   [        R                  " [	        S5      5      [        R                  " [	        S5      5      /5      S9nOñ[        S[        R                  /[        R                  S/S	[        R                  /[        R                  S/S[        R                  /[        R                  S/S[        R                  /[        R                  S//SS/[         R                  " S/S-  S	/S-  -   [        R                  " [	        S5      5      [        R                  " [	        S5      5      /5      S9n[        R                  " XE5        g )Nr|   r8   r}   rµ  Úccddrx   rG   rë   r7   r   r   r4   rU   rv   rw   ÚababababÚccddccddr¹   ÚaabbaabbÚcdcdcdcd)r   r  rŠ   r¦   r   r   r   r   r   r"   rK   r$   r%   )r'   r   r+  r)   rA   rB   s         r   Ú"test_multi_level_stack_categoricalÚ=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Õ/r   c           	      ó²  • [        [        R                  " S5      R                  SS5      [        R
                  " S[        R                  4S/SS/S9[        SS	/S
S9[        R                  S9nUR                  US9nU(       a(  [	        SS	/[        R                  S/// SQ/ SQ/S
S/S9nO;[        R
                  " S[        R                  4SS	[        R                  4S/S
S/S9n[        S[        R                  /[        R                  S	/S[        R                  /[        R                  S//[        SS/SS9US9n[        R                  " X55        g )NrG   r8   r|   r~   r  r  r°   r   r7   ÚNumr¸   rS  r   r6   r  r  r!  rQ  )r7   r6   rx  rR  rF   r}   r¹   )r   r   r   r   r   rh   rK   r   r�   r"   r$   r%   )r'   r   Údf_nanrA   r:   rB   s         r   Útest_stack_nan_levelÚ/TestStackUnstackMultiLevel.test_stack_nan_levelÌ	  s3  € ô
 Ü�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Õ/r   c                 óx  • [         R                  " S/SS//5      n[        S[        R                  " SS/5      0US9nUR                  5       n[        [        R                  " S/SS/S9[        R                  " S/SS/S9S	.S/S9n[         R                  " S
S/5      Ul        [        R                  " X45        g )Nr|   r   r7   rú   r5   r6   r<   rž   ru  )rú   r   )rú   r7   )
r   r>   r   rŠ   r¦   r#   rh   r;   r$   r%   rº   s        r   Ú test_unstack_categorical_columnsÚ;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Õ/r   c                 óð  • SS/nSS/n/ SQn[         R                  " X#U// SQS9n[        [        [	        U5      5      5      n[        XeS/S	9nUR                  S
S/5      nUR                  R                  S5      Ul        SUR                  S S 2S4'   UR                  S
S/US9R                  5       nUR                  SS9R                  S
S/US9R                  5       n	[        R                  " X‰5        g )NÚITAÚFRAÚA1ÚA2)ÚCRTÚDBTÚNET)ÚPAEÚVARÚTYPr°   ÚVALUE)rp   r:   r;   r¾  r¿  r   i'  )ÚA0r¼  r   r7   rJ  )r   r>   r   r=   rL   r   r#   r;   rg  ro   r"   rC  r$   r?   )
r'   r   r½  r¾  r¿  rÉ   ÚVÚDFrA   rB   s
             r   Útest_stack_unsortedÚ.TestStackUnstackMultiLevel.test_stack_unsortedú	  sè   € ð
 �eˆnˆØ�TˆlˆÚ#ˆÜ×$Ò$ c° _Ò<QÑRˆä””s˜2“w“Ó ˆÜ˜A°'°Ñ;ˆà�Z‰Z˜ ˜Ó'ˆØ—Z‘Z×)Ñ)¨!Ó,ˆŒ
Ø#'ˆ�‰Šq�-ÐÑ à—‘˜5 %˜.°|�ÐD×OÑOÓQˆà�M‰M˜qˆMÐ!ß‰U�E˜5�>°ˆUÐ=ß‰Z‹\ð 	ô
 	×Ò˜vÕ0r   c                 óª  • [         R                  " SS/SS//SS/S9n[        / SQS	S
9n[        R                  " / SQ/ SQ/ SQ/5      n[        XBU[        R                  " 5       S9nUR                  SUS9nUR                  [        R                  5      R                  SUS9R                  [        R                  " 5       5      n[        R                  " Xg5        XUR                  S      R                  [        R                  " 5       5      XUR                  S   '   UR                  SUS9n[        [        R                  " / SQ[        R                  " 5       S9[        R                  " / SQ[        R                  " 5       S9S.[         R                  " X2R                  S   /5      S9nSUR                  l        [        R                  " Xg5        g )NÚ54511Ú54515rÊ  Út_meanÚstationÚelementr°   r¯   rË  r¸   )rÀ  éâ   r:  é×   )r:  rÍ  r±   éÜ   )i1  éè   r‡  rÎ  rS  r   r   )rÍ   r‘  r‘  g      "@g     s@g     À[@rV   )rÌ  rÍ  rÍ  rÎ  rÏ  rÎ  )rÊ  rÉ  r<   )r   r>   r   r   r  r   rŠ   Ú
Int64Dtyper"   rm   rn   r$   r%   r;   ÚFloat64Dtyper@   rf   )r'   r   r;   r:   Úarrr)   rA   rB   s           r   Útest_stack_nullable_dtypeÚ4TestStackUnstackMultiLevel.test_stack_nullable_dtype
  sx  € ô
 ×)Ò)Ø�wÐ # x Ð1¸)ÀYÐ9Oñ
ˆô ’i fÑ-ˆä�hŠhÒ*Ò,=Ò?SÐTÓUˆÜ�s°5ÄÇÂÃÑPˆà—‘˜)°,�Ð?ˆð �I‰I”b—h‘hÓß‰U�9¨<ˆUÐ8ß‰V”B—M’M“OÓ$ð 	ô
 	×Ò˜fÔ/ð Ÿz™z¨!™}Ñ-×4Ñ4´R·_²_Ó5FÓGˆ�:‰:�a‰=ÑØ—‘˜)°,�Ð?ˆää—X’XÚ9ÄÇÂÓARñô Ÿ(š(Ú2¼"¿-º-»/ññ	ô ×)Ò)¨5·.±.ÀÑ2CÐ*DÓEñ

ˆð !*ˆ×ÑÔÜ
×Ò˜fÕ/r   c           	      ó&  • SS/SS/SS//n[         R                  " USS9n[        SSS/0US	9nUR                  S
5      n[        S/S//[         R                  " S/S S
/S9[         R                  " SS/SS/S9S9n[
        R                  " XE5        g )Nr5   r7   r8   ÚredÚblue)rI   r   rJ   r°   r�  r<   rI   )r�  r5   )r7   rÖ  )r8   r×  r   rJ   r¹   )r   r  r   r#   rh   r$   r%   )r'   Úarraysr»   r)   rA   rB   s         r   Útest_unstack_mixed_level_namesÚ9TestStackUnstackMultiLevel.test_unstack_mixed_level_names;
  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Õ/r   r”  );rF  rG  rH  rI  r–  r§   rJ  rL  r¤  rª  rK  r³  r   r   r   rq  r   ré   rh   r¿  rÎ  rÔ  rß  râ  ré  rì  rï  rõ  rù  rý  r  r   r5  r<  r@  rH  rK  Úslowra  rð   ÚchainÚfrom_iterabler=   rl  rr  rv  r‚  r†  rŠ  r”  rŸ  r£  r«  r°  r³  rÄ  rÓ  rÙ  rN  r”  r   r   r’  r’  1  s†  † ò'ð ‡[�[×ÑØ?ò 0Ò1OÐPÚ>ØÚ(ð	ò *Ò+CÐDÚ6ØÚ"ð	ò *Ò+FÐGÚ6ØÚ"ð	ð	
óñ.0ó/ð.0ò(	3ð ‡[�[×ÑØCóñJ*óðJ*ðX ‡[�[×ÑØñ �V“Ú%ÙØ  #˜J¨°¨Ð7ØŸ7š7 2§9¢9¨Q£<×#6Ñ#6°qÓ#9¸1Ó=¸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óñ&óð&ð6 ‡[�[×ÑØ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           	      ó¸   • [        / SQ/ SQ/ SQ// SQS9nUR                  U S9n[        / SQ[        / SQ/ SQ// S	Q/ S
Q/S9S9n[        R
                  " X#5        g )Nr¯   )rG   rU   rv   )rw   rx   r±   )r¸  r¶  r·  rë   r   )	r7   r8   r4   rG   rU   rv   rw   rx   r±   rd   )	r   r   r   r7   r7   r7   r8   r8   r8   )	r   r7   r8   r   r7   r8   r   r7   r8   r(  r<   )r   r"   r
   r   r$   r?   )r   r)   rA   rB   s       r   Útest_stack_tuple_columnsrß  I
  sb   € ä	Ú	’IšyÐ)Ò3Qñ
€Bð �X‰X <ˆXÐ0€FÜÚ#ÜÚÒ=Ð>Ú.Ò0KÐLñ
ñ€Hô ×Ò˜6Õ,r   zdtype, na_valuer.  Útest_multiindexc                 ó¸  • U(       a$  [         R                  " S[        U/U S9/-  5      nO[        U/U S9n[        SS/0US9nUR	                  SS9nU(       a6  [         R                  " [        U/U S9[        U/U S9[        S/5      /5      nO+[         R                  " [        U/U S9[        S/5      /5      n[        SUS9n[        R                  " XW5        g )Nr8   rV   r5   r7   r<   Tr   )r   r  r   r   r"   r
   r$   r?   )rW   r3  rà  r:   r)   rA   rÃ   rB   s           r   Útest_stack_preserves_narâ  Y
  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Õ,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   rJ  rL  rV  rX  r]  re  rK  r  rh  rj  rl  rw  r{  r‡  rŠ  r�  r’  rß  rK   r<  râ  r”  r   r   Ú<module>rë     sY  ðÝ Û Û 	ã Û å Ý ,ã ÷÷ ñ õ Ý 6ð ‡‚˜˜e�}Ñ%ñó &ð÷F0ñ F0ðR( ‡�×Ñ˜ 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ð-÷$U0ñ U0òp -ð  ‡�×ÑØà	�B—F‘FÐØ	�B—F‘FÐØ	�B—E‘EÐØ	�"—%‘%Ðð	óð ‡�×ÑÐ*¨T°5¨MÓ:ñ-ó ;óñ-r   