Ë
    ¤ehæg  ã                   óÄ   — d Z ddlmZmZ ddlZddlZddlmZmZm	Z	m
Z
mZmZmZmZmZmZ ddlmZ ej(                  d„ «       Z G d„ d«      Z G d„ d	«      Z G d
„ d«      Zy)z/
See also: test_reindex.py:TestReindexSetIndex
é    )ÚdatetimeÚ	timedeltaN)
ÚCategoricalÚCategoricalIndexÚ	DataFrameÚDatetimeIndexÚIndexÚ
MultiIndexÚSeriesÚ
date_rangeÚperiod_rangeÚto_datetimec            
      ó>  — t        g d¢g d¢g d¢t        j                  j                  d«      j	                  d«      t        j                  j                  d«      j	                  d«      t        j                  j                  d«      j	                  d«      dœ«      } | S )aM  
    Fixture for DataFrame of columns that can be used for indexing

    Columns are ['A', 'B', 'C', 'D', 'E', ('tuple', 'as', 'label')];
    'A' & 'B' contain duplicates (but are jointly unique), the rest are unique.

         A      B  C         D         E  (tuple, as, label)
    0  foo    one  a  0.608477 -0.012500           -1.664297
    1  foo    two  b -0.633460  0.249614           -0.364411
    2  foo  three  c  0.615256  2.154968           -0.834666
    3  bar    one  d  0.234246  1.085675            0.718445
    4  bar    two  e  0.533841 -0.005702           -3.533912
    )Úfoor   r   Úbarr   )ÚoneÚtwoÚthreer   r   )ÚaÚbÚcÚdÚeé   é   )ÚAÚBÚCÚDÚE©ÚtupleÚasÚlabel)r   ÚnpÚrandomÚdefault_rngÚstandard_normal)Údfs    úg/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/frame/methods/test_set_index.pyÚframe_of_index_colsr+      sz   € ô 
â4Ú6Ú*Ü—‘×&Ñ& qÓ)×9Ñ9¸!Ó<Ü—‘×&Ñ& qÓ)×9Ñ9¸!Ó<Ü&(§i¡i×&;Ñ&;¸AÓ&>×&NÑ&NÈqÓ&Qñ	
ó	
€Bð €Ió    c                   ó  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zej                  j                  d
ddddgdg«      ej                  j                  dddg«      ej                  j                  dddg«      d„ «       «       «       Zej                  j                  d
ddddgdg«      ej                  j                  dddg«      d„ «       «       Zej                  j                  d
ddddgdg«      ej                  j                  dddg«      d„ «       «       Zd„ Zej                  j                  deeej,                  ed„ d„ g«      ej                  j                  dg d¢«      ej                  j                  dddg«      d„ «       «       «       Zej                  j                  deeej,                  ed„ g«      ej                  j                  dg d¢«      ej                  j                  dddg«      d„ «       «       «       Zej                  j                  d eeej,                  eed!„ d"„ g«      ej                  j                  d#eeej,                  eed$„ d%„ g«      ej                  j                  dg d&¢«      ej                  j                  dddg«      d'„ «       «       «       «       Zej                  j                  d(ddg«      ej                  j                  dddg«      d)„ «       «       Zd*„ Zd+„ Zd,„ Zd-„ Z y.)/ÚTestSetIndexc                 ó�   — g d¢g d¢dœ}t        |«      }g d¢}||d<   t        j                  |d   «      }|j                  |«       y )N)r   g      @é   )é   r   é   )Út1Út2))r   é   )r   r   )r5   r   Útuples)r   r
   Úfrom_tuplesÚ	set_index)Úselfr   r)   r6   Úindexs        r*   Útest_set_index_multiindexz&TestSetIndex.test_set_index_multiindex9   sC   € â¢iÑ0ˆÜ�q‹\ˆÚ)ˆØˆˆ8‰ä×&Ñ& r¨(¡|Ó4ˆà
�‰�UÕr,   c           	      óò   — t        dddœdddœddd	d
œdddd
œgg d¢¬«      }|j                  ddg«      }|ddg   }t        j                  |d   |d   gddg¬«      |_        t        j                  ||«       y )Nr5   r   )r   Úpr   é
   )r   Úmr0   é   é   )r   r?   r=   r1   é   é   )r   r?   r=   Úx©Úcolumnsr   rD   r?   r=   ©Únames)r   r8   r
   Úfrom_arraysr:   ÚtmÚassert_frame_equal)r9   r)   ÚresultÚexpecteds       r*   Útest_set_index_empty_columnz(TestSetIndex.test_set_index_empty_columnD   s‘   € äà˜aÑ Ø˜bÑ!Ø˜b rÑ*Ø˜b rÑ*ð	ò )ô
ˆð —‘˜s C˜jÓ)ˆà�s˜C�j‘>ˆÜ#×/Ñ/°°C±¸"¸S¹'Ð0BÈ3ÐPSÈ*ÔUˆŒÜ
×Ñ˜f hÕ/r,   c                 ó  — t        t        d¬«      t        d¬«      g dœ«      }|j                  ddg«      }|j                  j	                  «       j
                  }|ddg   j
                  }t        j                  ||«       y )Nzdatetime64[ns]©ÚdtypeÚint64©r   r   r   r   r   )r   r   r8   r:   Úto_frameÚdtypesrJ   Úassert_series_equal)r9   Údf1Údf2rL   rM   s        r*   Útest_set_index_empty_dataframez+TestSetIndex.test_set_index_empty_dataframeV   sq   € äÜÐ/Ô0´vÀGÔ7LÐSUÑVó
ˆð �m‰m˜S #˜JÓ'ˆØ—‘×#Ñ#Ó%×,Ñ,ˆØ˜˜S�z‘?×)Ñ)ˆÜ
×Ñ˜v xÕ0r,   c                 ó¸  — t        j                  g d¢«      }t        t        j                  j                  d«      j                  d«      |¬«      }|j                  |j                  d   «      }|j                  d d …dd …f   }|j                  d d …df   j                  |_        |j                  d   g|j                  _        t        j                  ||«       y )N))r   r5   )r   r   )r   r5   r   )r0   r0   rE   r   r5   )r
   r7   r   r%   r&   r'   r(   r8   rF   ÚilocÚvaluesr:   rH   rJ   rK   )r9   rF   r)   rL   rM   s        r*   Ú test_set_index_multiindexcolumnsz-TestSetIndex.test_set_index_multiindexcolumnsa   s¦   € Ü×(Ñ(Ò)MÓNˆÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Àgô
ˆð —‘˜bŸj™j¨™mÓ,ˆà—7‘7š1˜a™b˜5‘>ˆØŸ™¢ A ™×-Ñ-ˆŒØ "§
¡
¨1¡˜ˆ�‰ÔÜ
×Ñ˜f hÕ/r,   c                 ó€  — t        dgd¬«      j                  d«      }t        d|i«      }|j                  |«      j                  d   j
                  dk(  sJ ‚t        t        |j                  «      «      d   j
                  dk(  sJ ‚|j                  |j                  «      j                  d   j
                  dk(  sJ ‚y )Nz2014-01-01 10:10:10ÚUTC©ÚtzzEurope/Romer   r   r@   )r   Ú
tz_convertr   r8   r:   Úhourr   r   )r9   Úidxr)   s      r*   Útest_set_index_timezonez$TestSetIndex.test_set_index_timezonen   s§   € ô Ð2Ð3¸Ô>×IÑIÈ-ÓXˆÜ˜˜S�zÓ"ˆØ�|‰|˜CÓ ×&Ñ& qÑ)×.Ñ.°"Ò4Ð4Ð4ÜœV B§D¡D›\Ó*¨1Ñ-×2Ñ2°bÒ8Ð8Ð8Ø�|‰|˜BŸD™DÓ!×'Ñ'¨Ñ*×/Ñ/°2Ò5Ð5Ñ5r,   c           
      ó8  — t        t        d«      D �cg c]  }t        ddd«      t        |«      z   ‘Œ c}t        j
                  j                  d«      j                  d«      dœ«      }|j                  d«      }t        |j                  t        «      sJ ‚y c c}w )Niè  iÐ  r5   r   ©r   r   r   )r   Úranger   r   r%   r&   r'   r(   r8   Ú
isinstancer:   r   )r9   Úir)   Úidfs       r*   Ú!test_set_index_cast_datetimeindexz.TestSetIndex.test_set_index_cast_datetimeindexw   s|   € ÜäCHÈÃ;ÖO¸a”h˜t Q¨Ó*¬Y°q«\Ó9ÒOÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸dÓCñó
ˆð �l‰l˜3ÓˆÜ˜#Ÿ)™)¤]Ô3Ð3Ñ3ùò Ps   “ Bc                 óà  — t        dddd¬«      }t        g d¢g d¢dœ|¬	«      j                  «       }|j                  d
«      }t        g d¢g d¢dœt	        |d
¬«      ¬	«      }|j
                  j                  d «      |_        t        j                  ||«       |j                  d
dg«      }t        j                  |g d¢gd
dg¬«      }t        dg d¢i|¬«      }t        j                  ||«       y )Nz2006-10-29 00:00:00r0   Úhú
US/Pacific)ÚperiodsÚfreqra   ©r   r5   r   )r0   r1   r   )r   r   )Údatar:   r:   ©Únamer   rG   r   ©r:   )r   r   Úreset_indexr8   r	   r:   Ú
_with_freqrJ   rK   r
   rI   )r9   Údir)   ÚresÚexpÚ	exp_indexs         r*   Útest_set_index_dstzTestSetIndex.test_set_index_dst‚   sÎ   € ÜÐ-°q¸sÀ|ÔTˆä¢)²)Ñ<ÀBÔG×SÑSÓUˆà�l‰l˜7Ó#ˆÜÚ ¢yÑ1Ü˜ Ô)ô
ˆð —I‘I×(Ñ(¨Ó.ˆŒ	Ü
×Ñ˜c 3Ô'ð �l‰l˜G S˜>Ó*ˆÜ×*Ñ*¨B²	¨?À7ÈCÀ.ÔQˆ	Ü˜šiÐ(°	Ô:ˆÜ
×Ñ˜c 3Õ'r,   c                 óR  — |}t        t        j                  t        |«      «      d d d…   «      }|j	                  |«      }t        j                  |j                  |«       t        j                  t        d¬«      5  |j	                  |d d d…   «       d d d «       y # 1 sw Y   y xY w)NéÿÿÿÿzLength mismatch©Úmatchr   )r	   r%   ÚarangeÚlenr8   rJ   Úassert_index_equalr:   ÚpytestÚraisesÚ
ValueError)r9   Úfloat_string_framer)   rd   s       r*   Útest_set_indexzTestSetIndex.test_set_index•   s�   € ØˆÜ”B—I‘Iœc "›gÓ&¡t¨ tÑ,Ó-ˆà�\‰\˜#ÓˆÜ
×Ñ˜bŸh™h¨Ô,Ü�]‰]œ:Ð->Ô?ñ 	#Ø�L‰L˜™S˜q˜S™Ô"÷	#÷ 	#ñ 	#ús   Á<BÂB&c                 ó²  — t        t        j                  d«      t        t	        d«      t
        ¬«      t        t        d«      D �cg c]  }d|› �‘Œ	 c}t
        ¬«      ¬«      }d|j                  _        |j                  |j                  «      j                  j                  dgk(  sJ ‚t        j                  |dd	g   j                  j                  dd	g¬
«      }t        j                  |g d¢   j                  j                  g d¢¬
«      }|j                  dd	g«      }|j                  |j                  «      j                  j                  dd	gk(  sJ ‚t        |j                  |j                  «      j                  t        «      sJ ‚t!        j"                  |j                  |j                  «      j                  |«       |j                  j%                  ddg«      }t        |j                  |j                  |g«      j                  t        «      sJ ‚t!        j"                  |j                  |j                  |g«      j                  |«       y c c}w )N)r>   r1   ÚABCDrP   r>   zi-)rF   r:   ru   r   r   rG   )r   r   r   r   )r   r   r   r   r   r   )r   r%   Úonesr	   ÚlistÚobjectrh   r:   ru   r8   rH   r
   rI   ÚTr\   ri   rJ   r„   Úrename)r9   rj   r)   ÚmiÚmi2Úidx2s         r*   Útest_set_index_namesz!TestSetIndex.test_set_index_namesž   sÅ  € ÜÜ�G‰G�GÓÜœ$˜v›,¬fÔ5Ü¬5°«9Ö5 a˜2˜a˜SšÒ5¼VÔDô
ˆð
 ˆ�‰Œà�|‰|˜BŸH™HÓ%×+Ñ+×1Ñ1°f°XÒ=Ð=Ð=ä×#Ñ# B¨¨S z¡N×$4Ñ$4×$;Ñ$;ÀCÈÀ:ÔNˆÜ×$Ñ$ØÒ#Ñ$×&Ñ&×-Ñ-Ò5Iô
ˆð �\‰\˜3 ˜*Ó%ˆà�|‰|˜BŸH™HÓ%×+Ñ+×1Ñ1°c¸3°ZÒ?Ð?Ð?ô ˜"Ÿ,™, r§x¡xÓ0×6Ñ6¼
ÔCÐCÐCô 	×Ñ˜bŸl™l¨2¯8©8Ó4×:Ñ:¸BÔ?à�x‰x�‰  S˜zÓ*ˆô ˜"Ÿ,™,¨¯©°$Ð'7Ó8×>Ñ>Ä
ÔKÐKÐKô 	×Ñ˜bŸl™l¨B¯H©H°dÐ+;Ó<×BÑBÀCÕHùò9 6s   ÁIÚkeysr   r   r   r!   ÚinplaceTFÚdropc                 ó†  — |}t        |t        «      r)t        j                  |D �cg c]  }||   ‘Œ	 c}|¬«      }nt	        ||   |¬«      }|r|j                  |d¬«      n|}||_        |r(|j                  «       }	|	j                  ||d¬«      }
|
�J ‚|j                  ||¬«      }	t        j                  |	|«       y c c}w )NrG   rt   r5   ©ÚaxisT)r—   r–   )r—   )ri   r�   r
   rI   r	   r—   r:   Úcopyr8   rJ   rK   )r9   r+   r—   r–   r•   r)   rD   rd   rM   rL   Úreturn_values              r*   Útest_set_index_drop_inplacez(TestSetIndex.test_set_index_drop_inplaceÁ   s¹   € ð !ˆä�dœDÔ!Ü×(Ñ(¸Ö)>°A¨"¨Q«%Ò)>ÀdÔK‰Cä˜˜4™ tÔ,ˆCÙ,0�2—7‘7˜4 a�7Ô(°bˆØˆŒáØ—W‘W“YˆFØ!×+Ñ+¨D°tÀTÐ+ÓJˆLØÐ'Ð'Ð'à—\‘\ $¨T�\Ó2ˆFä
×Ñ˜f hÕ/ùò *?s   ¦B>c                 ó\  — |}t        |t        «      r|n|g}t        j                  |j                  g|D �cg c]  }||   ‘Œ	 c}z   d g|z   ¬«      }|r|j                  |d¬«      n|j                  «       }||_        |j                  ||d¬«      }t        j                  ||«       y c c}w )NrG   r5   r™   T©r—   Úappend)
ri   r�   r
   rI   r:   r—   r›   r8   rJ   rK   )	r9   r+   r—   r•   r)   rD   rd   rM   rL   s	            r*   Útest_set_index_appendz"TestSetIndex.test_set_index_appendØ   sž   € ð !ˆä! $¬Ô-‰t°D°6ˆÜ×$Ñ$Ø�X‰XˆJ¨Ö. A˜"˜Q›%Ò.Ñ.°t°f¸t±mô
ˆñ -1�2—7‘7˜4 a�7Ô(°b·g±g³iˆØˆŒà—‘˜d¨°d�Ó;ˆä
×Ñ˜f hÕ/ùò /s   ·B)
c                 óÜ   — |j                  dg|d¬«      }t        |t        «      r|n|g}|j                  dg|z   |d¬«      }|j                  ||d¬«      }t        j                  ||«       y )Nr   TrŸ   )r8   ri   r�   rJ   rK   )r9   r+   r—   r•   r)   rM   rL   s          r*   Ú#test_set_index_append_to_multiindexz0TestSetIndex.test_set_index_append_to_multiindexé   sq   € ð !×*Ñ*¨C¨5°tÀDÐ*ÓIˆä! $¬Ô-‰t°D°6ˆØ&×0Ñ0°#°¸±ÀDÐQUÐ0ÓVˆà—‘˜d¨°d�Ó;ˆä
×Ñ˜f hÕ/r,   c                 ó  — t        g d¢g d¢dœ«      }t        dddgit        ddgd	¬
«      «      }|j                  |j                  j	                  d„ «         }|j                  d	«      }t        j                  ||«       y )Nrr   rS   )ÚvalÚkeyr¥   r5   r   r   r   r¦   rt   c                 ó   — | dk\  S )Nr5   © )Úindxs    r*   ú<lambda>z<TestSetIndex.test_set_index_after_mutation.<locals>.<lambda>û   s
   € ¨t°q©y€ r,   )r   r	   Úlocr:   Úmapr8   rJ   rK   )r9   r)   rM   rX   rL   s        r*   Útest_set_index_after_mutationz*TestSetIndex.test_set_index_after_mutationö   sj   € äšy²ÑAÓBˆÜ˜e a¨ V˜_¬e°S¸#°JÀUÔ.KÓLˆà�f‰f�R—X‘X—\‘\Ñ"8Ó9Ñ:ˆØ—‘˜uÓ%ˆÜ
×Ñ˜f hÕ/r,   Úboxc                 ó   — t        | «      gS ©N)r�   ©rD   s    r*   rª   zTestSetIndex.<lambda>	  s   € ”t˜A“w�i€ r,   c                 ó.   — t        j                  | g«      S r°   ©r
   rI   r±   s    r*   rª   zTestSetIndex.<lambda>
  ó   € ”j×,Ñ,¨a¨SÓ1€ r,   zappend, index_name)©TN©Tr   ©TÚtest©FNc                 óÎ  — |}||j                   _         ||d   «      }|t        k(  r;d}t        j                  t
        |¬«      5  |j                  |||¬«       d d d «       y t        |dd «      }	|	€t        |dd «      gn|	}
|j                  |||¬«      }|j                  dgd|¬«      }|r|g|
z   n|
|j                   _        t        j                  ||«       y # 1 sw Y   y xY w)Nr   z%['one', 'two', 'three', 'one', 'two']r€   rŸ   rH   ru   F)r:   ru   r�   r…   r†   ÚKeyErrorr8   ÚgetattrrH   rJ   rK   )r9   r+   r—   r    Ú
index_namer®   r)   r¦   ÚmsgÚname_miru   rL   rM   s                r*   Ú test_set_index_pass_single_arrayz-TestSetIndex.test_set_index_pass_single_array  sá   € ð$ !ˆØ"ˆ�‰Œá�"�S‘'‹lˆØ”$Š;à9ˆCÜ—‘œx¨sÔ3ñ <Ø—‘˜S t°F�Ô;÷<ð <ô ˜c 7¨DÓ1ˆGØ3:°?”G˜C ¨Ó.Ñ/ÈˆDà—\‘\ #¨D¸�\Ó@ˆFð —|‘| S E°¸f�|ÓEˆHÙ:@ J <°$Ò#6ÀdˆH�N‰NÔ ä×!Ñ! &¨(Õ3÷<ð <ús   ÁCÃC$c                 ó.   — t        j                  | g«      S r°   r³   r±   s    r*   rª   zTestSetIndex.<lambda>.  s   € ¼×9OÑ9OÐQRÐPSÓ9T€ r,   )rµ   ©Tr   r¶   r·   r¹   c                 ót  — |}||j                   _        d ||d   «      g}d|t        j                  t        t
        t        fv rd ndg}|j                  |||¬«      }	|j                  ddgd|¬«      }
|r|
j                  dd¬«      n|
}
|r|g|z   n||
j                   _	        t        j                  |	|
«       y )Nr   r   rŸ   Fr5   r™   )r:   ru   r%   Úarrayr�   r"   Úiterr8   r—   rH   rJ   rK   )r9   r+   r—   r    r½   r®   r)   r•   rH   rL   rM   s              r*   Útest_set_index_pass_arraysz'TestSetIndex.test_set_index_pass_arrays-  s±   € ð !ˆØ"ˆ�‰Œà‘S˜˜C™“\Ð"ˆà˜c¤b§h¡h´´e¼TÐ%BÑB‘dÈÐLˆà—‘˜d¨°f�Ó=ˆð —<‘<  c 
°¸v�<ÓFˆÙ15�8—=‘= ¨1�=Ô-¸8ˆÙ7= 
˜|¨eÒ3À5ˆ�‰Ôä
×Ñ˜f hÕ/r,   Úbox2c                 ó.   — t        j                  | g«      S r°   r³   r±   s    r*   rª   zTestSetIndex.<lambda>T  r´   r,   c                 ó   — | j                   S r°   rt   r±   s    r*   rª   zTestSetIndex.<lambda>U  ó
   € �a—f‘f€ r,   Úbox1c                 ó.   — t        j                  | g«      S r°   r³   r±   s    r*   rª   zTestSetIndex.<lambda>`  r´   r,   c                 ó   — | j                   S r°   rt   r±   s    r*   rª   zTestSetIndex.<lambda>a  rÊ   r,   )rµ   rÂ   r·   r¹   c                 óª  — |}||j                   _         ||d   «       ||d   «      g}|j                  |||¬«      }	 ||d   «       ||d   «      g}t        |d   t        «      r%|d   dk(  rt        |d   t        «      r
|d   dk(  rdn|}
|j                  |d   g|
|¬«      }|j                  |d   g|d¬«      }t        j                  |	|«       y )Nr   rŸ   r   r5   FT)r:   ru   r8   ri   ÚstrrJ   rK   )r9   r+   r—   r    r½   rË   rÇ   r)   r•   rL   Ú
first_droprM   s               r*   Ú$test_set_index_pass_arrays_duplicatez1TestSetIndex.test_set_index_pass_arrays_duplicateL  sê   € ð> !ˆØ"ˆ�‰Œá�R˜‘W“™t B s¡G›}Ð-ˆØ—‘˜d¨°f�Ó=ˆñ �R˜‘W“™t B s¡G›}Ð-ˆô ˜4 ™7¤CÔ(Ø˜‘G˜s’NÜ˜t A™w¬Ô,Ø˜‘G˜s’Nñ ð ð 	ð —<‘<  a¡ 	°
À6�<ÓJˆØ×%Ñ% t¨A¡w i°dÀ4Ð%ÓHˆÜ
×Ñ˜f hÕ/r,   r    c                 óÊ   — |}t        j                  |d   |d   gddg¬«      }|j                  |||¬«      }|j                  ddgd|¬«      }t        j                  ||«       y )Nr   r   rG   rŸ   F)r
   rI   r8   rJ   rK   )r9   r+   r—   r    r)   r•   rL   rM   s           r*   Útest_set_index_pass_multiindexz+TestSetIndex.test_set_index_pass_multiindexˆ  sj   € ð !ˆÜ×%Ñ% r¨#¡w°°3±Ð&8ÀÀcÀ
ÔKˆà—‘˜d¨°f�Ó=ˆð —<‘<  c 
°¸v�<ÓFˆä
×Ñ˜f hÕ/r,   c                 ót  — t        t        d«      dz  d¬«      }t        t        j                  j                  d«      j                  d«      |j                  dœ«      }|j                  d«      }t        j                  |j                  |«       t        t        j                  j                  d«      j                  d«      |dœ«      }|j                  d«      }t        j                  |j                  |«       |j                  «       j                  d«      }t        j                  |j                  |«       y )NÚabr   r   rt   r   r>   rg   )r   r�   r   r%   r&   r'   r(   r\   r8   rJ   r„   r:   rw   )r9   Úcir)   rk   s       r*   Ú(test_construction_with_categorical_indexz5TestSetIndex.test_construction_with_categorical_index•  sç   € Üœd 4›j¨1™n°3Ô7ˆô Ü—)‘)×'Ñ'¨Ó*×:Ñ:¸2Ó>ÀRÇYÁYÑOó
ˆð �l‰l˜3ÓˆÜ
×Ñ˜cŸi™i¨Ô,ô œRŸY™Y×2Ñ2°1Ó5×EÑEÀbÓIÐPRÑSÓTˆØ�l‰l˜3ÓˆÜ
×Ñ˜cŸi™i¨Ô,ð �o‰oÓ×)Ñ)¨#Ó.ˆÜ
×Ñ˜cŸi™i¨Õ,r,   c                 ój  — t        g d¢g d¢t        t        d«      t        d«      d¬«      t        t        d«      t        d«      d¬«      dœ«      }d	d
dd	gdd
gd	d
gfD ]S  }|j                  |«      j	                  «       }|j                  |j                  ¬«      }t        j                  ||«       ŒU y )N)r5   r   r5   r5   r   )r>   é   é   é   é"   ÚabaabÚbacF)Ú
categoriesÚorderedT)r   r   ÚC1ÚC2rá   râ   r   rE   )	r   r   r�   r8   rw   ÚreindexrF   rJ   rK   )r9   r)   ÚcolsrL   s       r*   Ú)test_set_index_preserve_categorical_dtypez6TestSetIndex.test_set_index_preserve_categorical_dtype¨  s¤   € äâ$Ú)Ü!¤$ w£-¼DÀ»KÐQVÔWÜ!¤$ w£-¼DÀ»KÐQUÔVñ	ó
ˆð ˜4 # t ¨s°D¨k¸DÀ$¸<ÐHò 	.ˆDØ—\‘\ $Ó'×3Ñ3Ó5ˆFØ—^‘^¨B¯J©J�^Ó7ˆFÜ×!Ñ! &¨"Õ-ñ	.r,   c                 ó0  — t        g d¢g d¢t        d«      dœ«      }t        |j                  d«      d¬«      |_        |j                  j                  d«      |_        t        g d	¢d¬
«      }|j                  d«      j                  d«      }|j                  dd¬«      }t        j                  |j                  j                  d   |«       t        j                  |j                  j                  d   t        ddgd¬
«      «       |j                  j                  ddgk(  sJ ‚|j                  dd«      }t        j                  |j                  j                  d   t        ddgd¬
«      «       t        j                  |j                  j                  d   |«       |j                  j                  ddgk(  sJ ‚t        t        j                   j#                  d«      j!                  d«      «      }t        g d¢d¬«      }t        g d¢d¬«      }t%        ddd¬«      }|j'                  d «      }|j                  |«      }|j                  |d¬«      }|j                  |d¬«      }t        g d	¢d¬«      }t        ddgd¬«      }t        j                  |j                  j                  d   |«       t        j                  |j                  j                  d   |«       t        j                  |j                  j                  d   |«       t        j                  |j                  j)                  d«      |«       t        j                  |j                  j)                  d«      |«       t        j                  |j                  j)                  d«      |«       y )N)r   r   r   r   r   r   )ú2011-07-19 07:00:00ú2011-07-19 08:00:00ú2011-07-19 09:00:00rç   rè   ré   r2   )r$   r   Úvaluer   T)Úutcro   )rç   rè   ré   rt   r_   r$   ©r    r   r5   r   r   r   z
US/Easternr`   )ú2012-04-01 09:00rí   rí   ú2012-04-02 09:00rî   rî   z2011-01-01 09:00z
Asia/Tokyo)rp   ra   rí   rî   )r   rh   r   Úpopr:   rb   r   Útz_localizer8   rJ   r„   Úlevelsr	   rH   Ú	swaplevelr%   r&   r'   r   rx   Úget_level_values)r9   r)   rM   Úidx1r“   Úidx3Ú	expected1Ú	expected2s           r*   Útest_set_index_datetimez$TestSetIndex.test_set_index_datetime·  sÞ  € äâ7òô ˜q›ñó
ˆô ˜rŸv™v jÓ1°tÔ<ˆŒØ—8‘8×&Ñ& |Ó4ˆŒä ÚQØô
ˆð ×'Ñ'¨Ó.×9Ñ9¸,ÓGˆà�\‰\˜'¨$ˆ\Ó/ˆÜ
×Ñ˜bŸh™hŸo™o¨aÑ0°(Ô;Ü
×Ñ˜bŸh™hŸo™o¨aÑ0´%¸¸c¸
ÈÔ2QÔRØ�x‰x�~‰~ *¨gÐ!6Ò6Ð6Ð6à�\‰\˜!˜QÓˆÜ
×Ñ˜bŸh™hŸo™o¨aÑ0´%¸¸c¸
ÈÔ2QÔRÜ
×Ñ˜bŸh™hŸo™o¨aÑ0°(Ô;Ø�x‰x�~‰~ '¨:Ð!6Ò6Ð6Ð6ä”r—y‘y×,Ñ,¨QÓ/×6Ñ6°qÓ9Ó:ˆÜòð ô

ˆô òð ô

ˆô Ð,°a¸LÔIˆØ�‰˜tÓ$ˆà�\‰\˜$ÓˆØ�\‰\˜$ tˆ\Ó,ˆØ�\‰\˜$ tˆ\Ó,ˆä!ÚQØô
ˆ	ô "ØÐ!3Ð4¸ô
ˆ	ô 	×Ñ˜bŸh™hŸo™o¨aÑ0°)Ô<Ü
×Ñ˜bŸh™hŸo™o¨aÑ0°)Ô<Ü
×Ñ˜bŸh™hŸo™o¨aÑ0°$Ô7ô 	×Ñ˜bŸh™h×7Ñ7¸Ó:¸DÔAÜ
×Ñ˜bŸh™h×7Ñ7¸Ó:¸DÔAÜ
×Ñ˜bŸh™h×7Ñ7¸Ó:¸DÕAr,   c                 óö  — t        t        j                  j                  d«      j                  d«      «      }t	        ddd¬«      }|j                  |«      }t	        ddd¬«      }|j                  |«      j                  |«      }t	        d	dd
¬«      }|j                  |«      }|j                  |d¬«      }|j                  |d¬«      }t	        ddd¬«      }t	        ddd¬«      }t        j                  |j                  j                  d   |«       t        j                  |j                  j                  d   |«       t        j                  |j                  j                  d   |«       t        j                  |j                  j                  d«      |«       t        j                  |j                  j                  d«      |«       t        j                  |j                  j                  d«      |«       y )Nr   r2   z
2011-01-01r0   ÚM©rp   rq   z2013-01-01 09:00rn   Ú2005ÚYTrì   r   r5   )r   r%   r&   r'   r   r    r8   rJ   r„   r:   rñ   ró   )r9   r)   rô   r“   rõ   rö   r÷   s          r*   Útest_set_index_periodz"TestSetIndex.test_set_index_period	  s{  € ä”r—y‘y×,Ñ,¨QÓ/×6Ñ6°qÓ9Ó:ˆÜ˜L°!¸#Ô>ˆØ�{‰{˜4Ó ˆÜÐ.¸ÀÔDˆØ�{‰{˜4Ó ×'Ñ'¨Ó-ˆÜ˜F¨A°CÔ8ˆà�\‰\˜$ÓˆØ�\‰\˜$ tˆ\Ó,ˆØ�\‰\˜$ tˆ\Ó,ˆä  °q¸sÔCˆ	Ü Ð!3¸QÀSÔIˆ	ä
×Ñ˜bŸh™hŸo™o¨aÑ0°)Ô<Ü
×Ñ˜bŸh™hŸo™o¨aÑ0°)Ô<Ü
×Ñ˜bŸh™hŸo™o¨aÑ0°$Ô7ä
×Ñ˜bŸh™h×7Ñ7¸Ó:¸DÔAÜ
×Ñ˜bŸh™h×7Ñ7¸Ó:¸DÔAÜ
×Ñ˜bŸh™h×7Ñ7¸Ó:¸DÕAr,   N)!Ú__name__Ú
__module__Ú__qualname__r;   rN   rY   r]   re   rl   r}   r‰   r”   r…   ÚmarkÚparametrizer�   r¡   r£   r­   r   r	   r%   rÄ   r�   rÀ   rÆ   rÅ   rÑ   rÓ   r×   rå   rø   rþ   r¨   r,   r*   r.   r.   8   sV  „ ò	ò0ò$	1ò0ò6ò	4ò(ò&#ò IðF ‡[�[×Ñ˜V c¨3°°c°
Ð<TÐ%UÓVØ‡[�[×Ñ˜Y¨¨u¨Ó6Ø‡[�[×Ñ˜V d¨E ]Ó3ñ0ó 4ó 7ó Wð0ð( ‡[�[×Ñ˜V c¨3°°c°
Ð<TÐ%UÓVØ‡[�[×Ñ˜V d¨E ]Ó3ñ0ó 4ó Wð0ð ‡[�[×Ñ˜V c¨3°°c°
Ð<TÐ%UÓVØ‡[�[×Ñ˜V d¨E ]Ó3ñ	0ó 4ó Wð	0ò0ð ‡[�[×ÑØàØØ�H‰HØÙÙ1ð	
ó
ð ‡[�[×ÑØÒXóð ‡[�[×Ñ˜V d¨E ]Ó3ñ4ó 4óó
ð4ð8 ‡[�[×ÑØ�˜˜rŸx™x¨Ñ/TÐUóð ‡[�[×ÑØÚOóð ‡[�[×Ñ˜V d¨E ]Ó3ñ0ó 4ó	óð0ð. ‡[�[×ÑØàØØ�H‰HØØÙ1Ùð	
óð ‡[�[×ÑØàØØ�H‰HØØÙ1Ùð	
óð ‡[�[×ÑØÒXóð ‡[�[×Ñ˜V d¨E ]Ó3ñ0ó 4óóóð80ð@ ‡[�[×Ñ˜X¨¨e }Ó5Ø‡[�[×Ñ˜V d¨E ]Ó3ñ	0ó 4ó 6ð	0ò-ò&.òPBódBr,   r.   c                   ó¦  — e Zd Zd„ Zej
                  j                  dddg«      ej
                  j                  dddg«      d„ «       «       Zej
                  j                  dddg«      ej
                  j                  dddg«      ej
                  j                  degdg¬	«      d
„ «       «       «       Z	ej
                  j                  de
eej                  ed„ gg d¢¬	«      ej
                  j                  dddgddg¬	«      ej
                  j                  dddg«      ej
                  j                  dddg«      d„ «       «       «       «       Zy)ÚTestSetIndexInvalidc                 ó$  — |}t        j                  t        d¬«      5  |j                  dd¬«       d d d «       t        j                  t        d¬«      5  |j                  |d   |d   gd¬«       d d d «       y # 1 sw Y   ŒIxY w# 1 sw Y   y xY w)NzIndex has duplicate keysr€   r   T)Úverify_integrity)r…   r†   r‡   r8   )r9   r+   r)   s      r*   Útest_set_index_verify_integrityz3TestSetIndexInvalid.test_set_index_verify_integrity#  sˆ   € Ø ˆä�]‰]œ:Ð-GÔHñ 	5Ø�L‰L˜¨tˆLÔ4÷	5ô �]‰]œ:Ð-GÔHñ 	DØ�L‰L˜"˜S™' 2 c¡7Ð+¸dˆLÔC÷	Dð 	D÷	5ð 	5ú÷	Dð 	Dús   žA:ÁBÁ:BÂBr    TFr—   c           	      ó~  — |}t        j                  t        d¬«      5  |j                  g d¢||¬«       d d d «       t        j                  t        d¬«      5  |j                  |d   |d   dg||¬«       d d d «       d}t        j                  t        |¬«      5  |j                  t	        |d   «      ||¬«       d d d «       t        j                  t        |¬«      5  |j                  d|d   t	        |d   «      g||¬«       d d d «       y # 1 sw Y   ŒÛxY w# 1 sw Y   Œ¦xY w# 1 sw Y   ŒlxY w# 1 sw Y   y xY w)	Nz['foo', 'bar', 'baz']r€   )r   r   ÚbazrŸ   ÚXr   r   z%[('foo', 'foo', 'foo', 'bar', 'bar')])r…   r†   r»   r8   r"   )r9   r+   r—   r    r)   r¾   s         r*   Útest_set_index_raise_keysz-TestSetIndexInvalid.test_set_index_raise_keys,  s*  € ð !ˆä�]‰]œ8Ð+BÔCñ 	Jà�L‰LÒ.°TÀ&ˆLÔI÷	Jô
 �]‰]œ8¨3Ô/ñ 	LØ�L‰L˜"˜S™' 2 c¡7¨CÐ0°tÀFˆLÔK÷	Lð 6ˆä�]‰]œ8¨3Ô/ñ 	CØ�L‰Lœ˜r #™w›¨d¸6ˆLÔB÷	Cô �]‰]œ8¨3Ô/ñ 	SØ�L‰L˜#˜r #™w¬¨b°©g«Ð7¸dÈ6ˆLÔR÷	Sð 	S÷	Jð 	Jú÷
	Lð 	Lú÷
	Cð 	Cú÷	Sð 	Sús/   žDÁDÂ!D'Ã'D3ÄDÄD$Ä'D0Ä3D<r®   Úset)Úidsc           	      óL  — |}d}t        j                  t        |¬«      5  |j                   ||d   «      ||¬«       d d d «       t        j                  t        |¬«      5  |j                  d|d    ||d   «      g||¬«       d d d «       y # 1 sw Y   ŒQxY w# 1 sw Y   y xY w)Nú,The parameter "keys" may be a column key, .*r€   r   rŸ   )r…   r†   Ú	TypeErrorr8   )r9   r+   r®   r—   r    r)   r¾   s          r*   Útest_set_index_raise_on_typez0TestSetIndexInvalid.test_set_index_raise_on_typeB  s£   € ð !ˆà<ˆä�]‰]œ9¨CÔ0ñ 	AØ�L‰L™˜R ™W›¨D¸ˆLÔ@÷	Aô �]‰]œ9¨CÔ0ñ 	QØ�L‰L˜#˜r #™w©¨B¨s©G«Ð5¸DÈˆLÔP÷	Qð 	Q÷		Að 	Aú÷	Qð 	Qús    BÁ!$BÂBÂB#c                 ó.   — t        j                  | g«      S r°   r³   r±   s    r*   rª   zTestSetIndexInvalid.<lambda>T  s   € ´*×2HÑ2HÈ!ÈÓ2M€ r,   )r   r	   znp.arrayrÅ   r
   Úlengthr1   r2   Ú	too_shortÚtoo_longc                 ó°  — |}t         j                  j                  d«      j                  dd|f«      }d}t	        j
                  t        |¬«      5  |j                   ||«      ||¬«       d d d «       t	        j
                  t        |¬«      5  |j                  d|j                   ||«      g||¬«       d d d «       y # 1 sw Y   ŒUxY w# 1 sw Y   y xY w)Nr   r   r>   z<Length mismatch: Expected 5 rows, received array of length.*r€   rŸ   r   )	r%   r&   r'   Úintegersr…   r†   r‡   r8   r   )	r9   r+   r®   r  r—   r    r)   r\   r¾   s	            r*   Útest_set_index_raise_on_lenz/TestSetIndexInvalid.test_set_index_raise_on_lenR  sÂ   € ð !ˆä—‘×&Ñ& qÓ)×2Ñ2°1°b¸6¸)ÓDˆàLˆô �]‰]œ:¨SÔ1ñ 	@Ø�L‰L™˜V›¨4¸ˆLÔ?÷	@ô �]‰]œ:¨SÔ1ñ 	MØ�L‰L˜#˜rŸt™t¡S¨£[Ð1¸ÀVˆLÔL÷	Mð 	M÷		@ð 	@ú÷	Mð 	Mús   ÁC Â(CÃ C	ÃCN)rÿ   r   r  r  r…   r  r  r  r  r  r   r	   r%   rÄ   rÅ   r  r¨   r,   r*   r  r  "  sa  „ òDð ‡[�[×Ñ˜X¨¨e }Ó5Ø‡[�[×Ñ˜V d¨E ]Ó3ñSó 4ó 6ðSð( ‡[�[×Ñ˜X¨¨e }Ó5Ø‡[�[×Ñ˜V d¨E ]Ó3Ø‡[�[×Ñ˜U S E°¨wÐÓ7ñ
Qó 8ó 4ó 6ð
Qð ‡[�[×ÑØØ	�˜Ÿ™ $Ñ(MÐNÚAð ó ð
 ‡[�[×Ñ˜X¨¨1 v°KÀÐ3LÐÓMØ‡[�[×Ñ˜X¨¨e }Ó5Ø‡[�[×Ñ˜V d¨E ]Ó3ñMó 4ó 6ó NóñMr,   r  c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTestSetIndexCustomLabelTypec                 óX  —  G d„ d«      } |dd«      } |dd«      }t        |ddg|d	d
gi«      }t        |ddgit        d	d
g|¬«      ¬«      }|j                  |«      }t        j                  ||«       |j                  |g«      }t        j                  ||«        |dd«      }d}t        j                  t        |¬«      5  |j                  |«       d d d «       t        j                  t        |¬«      5  |j                  |g«       d d d «       y # 1 sw Y   Œ@xY w# 1 sw Y   y xY w)Nc                   ó$   — e Zd Zdd„Zdefd„ZeZy)úKTestSetIndexCustomLabelType.test_set_index_custom_label_type.<locals>.ThingÚreturnNc                 ó    — || _         || _        y r°   ©ru   Úcolor©r9   ru   r"  s      r*   Ú__init__zTTestSetIndexCustomLabelType.test_set_index_custom_label_type.<locals>.Thing.__init__r  ó   € Ø �”	Ø"�•
r,   c                 ó4   — dt        | j                  «      › d�S ©Nz<Thing ú>©Úreprru   ©r9   s    r*   Ú__str__zSTestSetIndexCustomLabelType.test_set_index_custom_label_type.<locals>.Thing.__str__v  ó   € Ø ¤ d§i¡i£Ð 1°Ð3Ð3r,   ©r  N)rÿ   r   r  r$  rÏ   r,  Ú__repr__r¨   r,   r*   ÚThingr  q  s   „ ó#ð4 ó 4ð ‰Hr,   r0  ÚOneÚredÚTwoÚbluer   r5   r   r0   rt   rv   ÚThreeÚpinkz<Thing 'Three'>r€   )r   r	   r8   rJ   rK   r…   r†   r»   ©	r9   r0  Úthing1Úthing2r)   rM   rL   Úthing3r¾   s	            r*   Ú test_set_index_custom_label_typez<TestSetIndexCustomLabelType.test_set_index_custom_label_typen  s  € ÷		ñ 		ñ �u˜eÓ$ˆÙ�u˜fÓ%ˆÜ˜  A ¨°°A°Ð7Ó8ˆÜ˜f q¨! fÐ-´U¸A¸q¸6ÈÔ5OÔPˆð —‘˜fÓ%ˆÜ
×Ñ˜f hÔ/ð —‘˜v˜hÓ'ˆÜ
×Ñ˜f hÔ/ñ �w Ó'ˆØˆÜ�]‰]œ8¨3Ô/ñ 	!à�L‰L˜Ô ÷	!ô �]‰]œ8¨3Ô/ñ 	#à�L‰L˜&˜Ô"÷	#ð 	#÷		!ð 	!ú÷	#ð 	#ús   ÃDÃ8D ÄDÄ D)c                 óh  —  G d„ dt         «      } |ddg«      } |ddg«      }t        |ddg|d	d
gi«      }t        |ddgit        d	d
g|¬«      ¬«      }|j                  |«      }t	        j
                  ||«       |j                  |g«      }t	        j
                  ||«        |ddg«      }d}t        j                  t        |¬«      5  |j                  |«       d d d «       t        j                  t        |¬«      5  |j                  |g«       d d d «       y # 1 sw Y   Œ@xY w# 1 sw Y   y xY w)Nc                   ó   — e Zd Zdefd„Zy)úXTestSetIndexCustomLabelType.test_set_index_custom_label_hashable_iterable.<locals>.Thingr  c                 ób   — t        | «      }dj                  t        t        |«      «      }d|› d�S )Nz, zfrozenset({z}))ÚsortedÚjoinr¬   r*  )r9   ÚtmpÚjoined_reprss      r*   r/  zaTestSetIndexCustomLabelType.test_set_index_custom_label_hashable_iterable.<locals>.Thing.__repr__�  s.   € Ü˜T“l�Ø#Ÿy™y¬¬T°3«Ó8�à% l ^°3Ð7Ð7r,   N)rÿ   r   r  rÏ   r/  r¨   r,   r*   r0  r>  ›  s   „ ð8 #ô 8r,   r0  r1  r2  r3  r4  r   r5   r   r0   rt   rv   r5  r6  z frozenset\(\{'Three', 'pink'\}\)r€   )	Ú	frozensetr   r	   r8   rJ   rK   r…   r†   r»   r7  s	            r*   Ú-test_set_index_custom_label_hashable_iterablezITestSetIndexCustomLabelType.test_set_index_custom_label_hashable_iterable”  s&  € ô	8”Iô 	8ñ ˜˜u�~Ó&ˆÙ˜˜v�Ó'ˆÜ˜  A ¨°°A°Ð7Ó8ˆÜ˜f q¨! fÐ-´U¸A¸q¸6ÈÔ5OÔPˆð —‘˜fÓ%ˆÜ
×Ñ˜f hÔ/ð —‘˜v˜hÓ'ˆÜ
×Ñ˜f hÔ/ñ ˜ Ð(Ó)ˆØ1ˆÜ�]‰]œ8¨3Ô/ñ 	!à�L‰L˜Ô ÷	!ô �]‰]œ8¨3Ô/ñ 	#à�L‰L˜&˜Ô"÷	#ð 	#÷		!ð 	!ú÷	#ð 	#ús   ÃDÄ D(ÄD%Ä(D1c                 óz  —  G d„ dt         «      } |dd«      } |dd«      }t        ddgd	d
gg||g¬«      }d}t        j                  t        |¬«      5  |j                  |«       d d d «       t        j                  t        |¬«      5  |j                  |g«       d d d «       y # 1 sw Y   Œ@xY w# 1 sw Y   y xY w)Nc                   ó    — e Zd Zdd„Zdefd„Zy)úRTestSetIndexCustomLabelType.test_set_index_custom_label_type_raises.<locals>.Thingr  Nc                 ó    — || _         || _        y r°   r!  r#  s      r*   r$  z[TestSetIndexCustomLabelType.test_set_index_custom_label_type_raises.<locals>.Thing.__init__À  r%  r,   c                 ó4   — dt        | j                  «      › d�S r'  r)  r+  s    r*   r,  zZTestSetIndexCustomLabelType.test_set_index_custom_label_type_raises.<locals>.Thing.__str__Ä  r-  r,   r.  )rÿ   r   r  r$  rÏ   r,  r¨   r,   r*   r0  rH  ¿  s   „ ó#ð4 ô 4r,   r0  r1  r2  r3  r4  r   r   r5   r0   rE   r  r€   )r  r   r…   r†   r  r8   )r9   r0  r8  r9  r)   r¾   s         r*   Ú'test_set_index_custom_label_type_raiseszCTestSetIndexCustomLabelType.test_set_index_custom_label_type_raises»  s²   € ô	4”Cô 	4ñ �u˜eÓ$ˆÙ�u˜fÓ%ˆÜ˜˜A˜  A Ð'°&¸&Ð1AÔBˆà<ˆä�]‰]œ9¨CÔ0ñ 	!à�L‰L˜Ô ÷	!ô �]‰]œ9¨CÔ0ñ 	#à�L‰L˜&˜Ô"÷	#ð 	#÷		!ð 	!ú÷	#ð 	#ús   ÁB%Â	B1Â%B.Â1B:c                 ón  — t        t        j                  j                  d«      j                  d«      «      }t	        ddd¬«      }t	        ddd¬«      }|j                  |«      }t        j                  |j                  |«       |j                  |«      }t        j                  |j                  |«       y )Nr   r2   z
2011/01/01rú   rû   Ú2013rý   )	r   r%   r&   r'   r   r8   rJ   r„   r:   )r9   r)   rô   r“   s       r*   Útest_set_index_periodindexz6TestSetIndexCustomLabelType.test_set_index_periodindexÕ  s†   € ä”r—y‘y×,Ñ,¨QÓ/×6Ñ6°qÓ9Ó:ˆÜ˜L°!¸#Ô>ˆÜ˜F¨A°CÔ8ˆà�\‰\˜$ÓˆÜ
×Ñ˜bŸh™h¨Ô-Ø�\‰\˜$ÓˆÜ
×Ñ˜bŸh™h¨Õ-r,   N)rÿ   r   r  r;  rE  rK  rN  r¨   r,   r*   r  r  m  s   „ ò$#òL%#òN#ó4	.r,   r  )Ú__doc__r   r   Únumpyr%   r…   Úpandasr   r   r   r   r	   r
   r   r   r   r   Úpandas._testingÚ_testingrJ   Úfixturer+   r.   r  r  r¨   r,   r*   ú<module>rU     sm   ðñ÷ó
 Û ÷÷ ÷ õ ð ‡�ñó ð÷6gBñ gB÷THMñ HM÷Vq.ò q.r,   