Ë
    ž…j¬‚  ã                   óä  — d dl Zd dlZd dlmZ d dlZd dlmZmZm	Z	m
Z
 d dlmZ ej                  d„ «       Z G d„ d«      Zej"                  j%                  dg g fdg ed	«      fdd
gg fd
dgg fd
gg fej(                  dd…dgf    eddd	«      fej(                  dd…ddgf    eddd	«      fg«      d„ «       Zej"                  j%                  dg  ed«      fdgg fg«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$ G d „ d!«      Z%d"„ Z&d#„ Z'd$„ Z(d%„ Z)d&„ Z*d'„ Z+ej"                  j%                  d(g d)¢g d*¢g«      d+„ «       Z,d,„ Z-d-„ Z.d.„ Z/d/„ Z0d0„ Z1d1„ Z2d2„ Z3d3„ Z4d4„ Z5y)5é    N)ÚIndexingError)Ú	DataFrameÚIndexÚ
MultiIndexÚSeriesc                  ó®   — ddgg d¢g} g d¢g d¢g}t        | |¬«      }t        t        j                  j	                  d«      j                  d«      |¬	«      S )
Nr   é   ©r   r	   é   )r   r   r   r	   r	   r	   )r   r	   r   r   r	   r   ©ÚlevelsÚcodesr   )é   r   ©Úindex)r   r   ÚnpÚrandomÚdefault_rngÚstandard_normal)r   r   r   s      új/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/pandas/tests/indexing/multiindex/test_loc.pyÚ%frame_random_data_integer_multi_indexr      sN   € à�!ˆf’iÐ €FÚÒ!3Ð4€EÜ˜f¨EÔ2€EÜ”R—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸fÓEÈUÔSÐSó    c                   ó¢  — e Zd Zej                  j                  dddg«      d„ «       Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zej                  j                  dddgddgfdgg fddgg fg«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  j                  deeeeej4                  eef«      ej                  j                  deeeeej4                  eef«      d„ «       «       Zd„ Zej                  j                  dddg«      d „ «       Zej                  j                  d! ed"«      d#fd$ej@                  fg«      d%„ «       Z!d&„ Z"d'„ Z#d(„ Z$d)„ Z%y")*ÚTestMultiIndexLocÚhas_refTFc                 ó  — |}|r|d d  }d|j                   d<   |j                   d   dk(  sJ ‚|j                  «       }t        t        d«      «      |_        |r|d d  }d|j                   d<   |j                   d   dk(  sJ ‚y )Né   )©ÚbarÚtwoÚBé   é   )r   r	   )ÚlocÚcopyÚlistÚrangeÚcolumns)ÚselfÚ multiindex_dataframe_random_datar   ÚframeÚviewÚdfs         r   Ú&test_loc_setitem_frame_with_multiindexz8TestMultiIndexLoc.test_loc_setitem_frame_with_multiindex   s‹   € ð 1ˆÙØ™�8ˆDØ)*ˆ�	‰	Ð%Ñ&Ø�y‰yÐ,Ñ-°Ò2Ð2Ð2ð �Z‰Z‹\ˆÜœ% ›(“^ˆŒ
ÙØ‘a�5ˆDØ$%ˆ�‰Ð Ñ!Ø�v‰vÐ'Ñ(¨AÒ-Ð-Ñ-r   c                 ó�  — |}ddddddœddddddœd	d
d	d	d	dœdœ}t        |«      }|j                  ||dœ«      }|j                  ddg¬«      }d}t        j                  |«      5  t        j
                  |j                  |   |j                  dd  «       d d d «       |j                  d¬«      }|�J ‚|j                  |   }t        j                  dgdz  |¬«      }	t        j                  d	gdz  |¬«      }
t        j                  |	|
gddg¬«      }t        dg d¢i|¬«      }t        j
                  ||«       y # 1 sw Y   Œ§xY w)Ni¼  iX  éÞ   éM  é¼  )r   r	   r   r"   é   g      @ç      @é   é   )ÚamountÚcolÚnum)r8   r9   r8   r9   )Úkeys)r4   r5   r   T)Úinplacer"   ©Údtype©Únamesr7   )r0   r1   r2   r   )r   ÚastypeÚ	set_indexÚtmÚassert_produces_warningÚassert_frame_equalr$   ÚilocÚ
sort_indexr   Úarrayr   Úfrom_arrays)r)   Úperformance_warningÚany_real_numpy_dtyper=   Údatar-   ÚkeyÚreturn_valueÚresÚcol_arrÚyear_arrr   Úexpecteds                r   Útest_loc_getitem_generalz*TestMultiIndexLoc.test_loc_getitem_general+   sJ  € à$ˆà #¨#°#¸#Ñ>Ø˜s s¨s°sÑ;Ø˜b R¨B°2Ñ6ñ
ˆô
 �t‹_ˆØ�Y‰Y˜u¨UÑ3Ó4ˆØ�\‰\  u˜~ˆ\Ó.ˆØˆä×'Ñ'Ð(;Ó<ñ 	<Ü×!Ñ! "§&¡&¨¡+¨r¯w©w°q°r¨{Ô;÷	<ð —}‘}¨T�}Ó2ˆØÐ#Ð#Ð#Ø�f‰f�S‰kˆô —(‘(˜C˜5 1™9¨EÔ2ˆÜ—8‘8˜R˜D 1™H¨EÔ2ˆÜ×&Ñ&¨°Ð':À5È%À.ÔQˆÜ˜hªÐ8ÀÔFˆÜ
×Ñ˜c 8Õ,÷	<ð 	<ús   Á%1D<Ä<Ec                 ó  — t        t        j                  j                  d«      j	                  d«      g d¢g d¢gg d¢g d¢g¬«      }t        j                  t        d¬	«      5  |j                  d    d d d «       y # 1 sw Y   y xY w©
Nr   ©r"   r"   ©r   r   r3   ©r   é   é
   ©r3   r3   rX   ©rX   rY   r5   ©r(   r   z^2$©Úmatch©	r   r   r   r   r   ÚpytestÚraisesÚKeyErrorr$   ©r)   r-   s     r   Ú0test_loc_getitem_multiindex_missing_label_raiseszBTestMultiIndexLoc.test_loc_getitem_multiindex_missing_label_raisesG   si   € äÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Ú¢
Ð+ÚškÐ*ô
ˆô �]‰]œ8¨6Ô2ñ 	Ø�F‰F�1ŠI÷	÷ 	ñ 	úó   Á"A;Á;Bc                 ó˜   — |d   }|j                  |j                  dd «      }|j                  ddg   }t        j                  ||«       y )NÚAé1   é3   )éÐ  r"   rY   )rj   r"   é   )Úreindexr   r$   rB   Úassert_series_equal)r)   Ú/multiindex_year_month_day_dataframe_random_dataÚserrQ   Úresults        r   Ú/test_loc_getitem_list_of_tuples_with_multiindexzATestMultiIndexLoc.test_loc_getitem_list_of_tuples_with_multiindexR   sJ   € ð >¸cÑBˆØ—;‘;˜sŸy™y¨¨BÐ/Ó0ˆØ—‘˜-¨Ð7Ñ8ˆÜ
×Ñ˜v xÕ0r   c                 óö  — t        j                  g d¢g d¢g«      }t        |t        d«      t        j
                  ¬«      }t        ddg«      }t        g d¢t        j                  ddgg d¢g«      t        j
                  ¬«      }|j                  |   }t        j                  ||«       |j                  ddg   }t        j                  ||«       t        ddgdd	g¬
«      }|j                  |   }t        j                  ||«       t        g t        j
                  ¬«      }t        g t        |j                  g g g¬«      t        j
                  ¬«      }|j                  |   }t        j                  ||«       y )N©r	   r   r"   ©rg   r!   ÚCé	   ©r   rK   r=   r	   r"   ©r   r	   r   r   r#   rX   ©rK   r   r=   r   r   )rK   r=   r   ©r   r=   )
r   Úfrom_productr   r'   r   Úfloat64r$   rB   rm   r   )r)   r   ÚxÚyrQ   rp   Úy1Úemptys           r   Útest_loc_getitem_seriesz)TestMultiIndexLoc.test_loc_getitem_seriesZ   s/  € ô ×'Ñ'ª²OÐ(DÓEˆÜ˜¤U¨1£X´R·Z±ZÔ@ˆÜ�A�q�6‹NˆÜÚ#Ü×)Ñ)¨A¨q¨6²?Ð*CÓDÜ—*‘*ô
ˆð
 —‘�q‘ˆÜ
×Ñ˜v xÔ0à—‘˜˜1�v‘ˆÜ
×Ñ˜v xÔ0ô �Q˜�F 1 a &Ô)ˆØ—‘�r‘ˆÜ
×Ñ˜v xÔ0ä˜B¤b§j¡jÔ1ˆÜØÜ E§L¡L¸¸R¸ÔAÜ—*‘*ô
ˆð
 —‘�u‘ˆÜ
×Ñ˜v xÕ0r   c                 óÜ  — t        j                  g d¢g d¢g«      }t        |t        d«      t        j
                  ¬«      }t	        j                  ddg«      }t        g d¢t        j                  ddgg d¢g«      t        j
                  ¬«      }|j                  |   }t        j                  ||«       t	        j                  g «      }t        g t        |j                  g g g¬	«      d
¬«      }|j                  |   }t        j                  ||«       t	        j                  d«      }t        g d¢g d¢t        j
                  ¬«      }|j                  |   }t        j                  ||«       y )Nrs   rt   rv   rw   r	   r"   rx   ry   r   r|   rz   r
   )r   r{   r   r'   r   r|   rG   r$   rB   rm   r   Úint64)r)   r   r}   r~   rQ   rp   r€   Úscalars           r   Útest_loc_getitem_arrayz(TestMultiIndexLoc.test_loc_getitem_arrayy   s  € ô ×'Ñ'ª²OÐ(DÓEˆÜ˜¤U¨1£X´R·Z±ZÔ@ˆÜ�H‰H�a˜�VÓˆÜÚ#Ü×)Ñ)¨A¨q¨6²?Ð*CÓDÜ—*‘*ô
ˆð
 —‘�q‘ˆÜ
×Ñ˜v xÔ0ô —‘˜“ˆÜØÜ E§L¡L¸¸R¸ÔAØô
ˆð
 —‘�u‘ˆÜ
×Ñ˜v xÔ0ô —‘˜!“ˆÜšy²ÄrÇzÁzÔRˆØ—‘�v‘ˆÜ
×Ñ˜v xÕ0r   c                 óô  — t        t        j                  j                  d«      j	                  d«      g d¢g d¢gg d¢g d¢g¬«      }|j
                  ddg   j                  d«      }|j                  d	   }t        j                  ||«       |j
                  d d …dgf   j                  dd¬
«      }|j                  d d …df   }t        j                  ||«       |j
                  dgdgf   j                  d«      j                  dd¬
«      }|j                  d   j                  d d …df   }t        j                  ||«       |j
                  ddg   }|j                  d   }t        j                  ||«       y )Nr   rU   )Úir‡   Új)rg   rg   r!   )ÚXr‰   ÚYr\   r   r	   r‡   ©Úaxisrˆ   )r‡   r‰   ©
r   r   r   r   r   rE   Ú	droplevelr$   rB   rD   ©r)   r-   rQ   rp   s       r   Útest_loc_multiindex_labelsz,TestMultiIndexLoc.test_loc_multiindex_labels—   sH  € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Ú$¢oÐ6Ú"¢OÐ4ô
ˆð —7‘7˜A˜q˜6‘?×,Ñ,¨QÓ/ˆØ—‘˜‘ˆÜ
×Ñ˜f hÔ/ð —7‘7š1˜q˜c˜6‘?×,Ñ,¨Q°QÐ,Ó7ˆØ—‘š˜3˜‘ˆÜ
×Ñ˜f hÔ/ð —7‘7˜A˜3  ˜8Ñ$×.Ñ.¨qÓ1×;Ñ;¸AÀAÐ;ÓFˆØ—‘˜‘—‘¢ C Ñ(ˆÜ
×Ñ˜f hÔ/ð —7‘7˜A˜q˜6‘?ˆØ—‘˜
Ñ#ˆÜ
×Ñ˜f hÕ/r   c                 ó  — t        t        j                  j                  d«      j	                  d«      g d¢g d¢gg d¢g d¢g¬«      }|j
                  dd	g   j                  d«      }|j                  d
   }t        j                  ||«       y )Nr   rU   rV   rW   rZ   r[   r\   r   r	   r3   r�   r�   s       r   Útest_loc_multiindex_intsz*TestMultiIndexLoc.test_loc_multiindex_ints²   st   € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Ú¢
Ð+ÚškÐ*ô
ˆð
 —7‘7˜A˜q˜6‘?×,Ñ,¨QÓ/ˆØ—‘˜‘ˆÜ
×Ñ˜f hÕ/r   c                 ó  — t        t        j                  j                  d«      j	                  d«      g d¢g d¢gg d¢g d¢g¬«      }t        j                  t        d¬	«      5  |j                  d    d d d «       y # 1 sw Y   y xY wrT   r_   rc   s     r   Ú(test_loc_multiindex_missing_label_raisesz:TestMultiIndexLoc.test_loc_multiindex_missing_label_raises¼   si   € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Ú¢
Ð+ÚškÐ*ô
ˆô �]‰]œ8¨6Ô2ñ 	Ø�F‰F�1ŠI÷	÷ 	ñ 	úre   zkey, posr   r3   r   r	   r"   c                 ó  — t        t        j                  j                  d«      j	                  d«      g d¢g d¢gg d¢g d¢g¬«      }t        j                  t        d¬	«      5  |j                  |    d d d «       y # 1 sw Y   y xY w)
Nr   rU   rV   rW   rZ   r[   r\   znot in indexr]   r_   )r)   rL   Úposr-   s       r   Ú&test_loc_multiindex_list_missing_labelz8TestMultiIndexLoc.test_loc_multiindex_list_missing_labelÆ   sk   € ô Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Ú¢
Ð+ÚškÐ*ô
ˆô �]‰]œ8¨>Ô:ñ 	Ø�F‰F�3ŠK÷	÷ 	ñ 	úre   c           	      óâ  — t        t        d«      t        j                  ddgddgddgg«      ¬«      }t	        j
                  t        d	¬
«      5  |j                  d    d d d «       t	        j
                  t        d¬
«      5  |j                  d    d d d «       t	        j
                  t        d¬
«      5  |j                  d    d d d «       y # 1 sw Y   ŒpxY w# 1 sw Y   ŒIxY w# 1 sw Y   y xY w)NrX   ÚaÚbÚcÚdÚeÚfr   z^\('a', 'b'\)$r]   ©r™   rš   z^\('a', 'd', 'g'\)$)r™   rœ   ÚgzToo many indexers)r™   rœ   r    rˆ   )	r   r'   r   r{   r`   ra   rb   r$   r   )r)   Úss     r   Ú(test_loc_multiindex_too_many_dims_raisesz:TestMultiIndexLoc.test_loc_multiindex_too_many_dims_raisesÒ   sË   € äÜ�!‹HÜ×)Ñ)¨C°¨:¸¸S°zÀCÈÀ:Ð*NÓOô
ˆô
 �]‰]œ8Ð+<Ô=ñ 	Ø�E‰E�(ŠO÷	ä�]‰]œ8Ð+AÔBñ 	!Ø�E‰E�-Ò ÷	!ä�]‰]œ=Ð0CÔDñ 	&Ø�E‰EÐ$Ò%÷	&ð 	&÷		ð 	ú÷	!ð 	!ú÷	&ð 	&ús$   ÁCÂCÂ4C%ÃCÃC"Ã%C.c                 óš  — t        d«      D �cg c]  }dt        |«      z   ‘Œ }}t        d«      D �cg c]  }dt        |«      z   ‘Œ }}t        j                  ||g«      }dt        j
                  j                  d«      j                  d«      z  dz   }t        ||¬	«      }||   }t        j                  ||«       t        t	        j                  d
«      j                  dd«      t        j                  g d¢g d¢g«      ¬«      }|j                  ddgfd d …f   }|j                  ddg   }t        j                  ||«       y c c}w c c}w )Nr	   Ú	Attributer   ÚValuegš™™™™™¹?r   )rY   r   g      à?©r(   r5   éÿÿÿÿ©r	   r   r"   r3   rs   r   )r'   Ústrr   r{   r   r   r   r   r   rB   rD   ÚarangeÚreshaper$   )r)   r‡   Ú
attributesÚattribute_valuesr   r-   rp   rQ   s           r   Ú test_loc_multiindex_indexer_nonez2TestMultiIndexLoc.test_loc_multiindex_indexer_noneà   s#  € ô 5:¸!³HÖ=¨q�k¤C¨£FÓ*Ð=ˆ
Ð=Ü6;¸A³hÖ?°˜G¤c¨!£fÓ,Ð?ÐÐ?ä×'Ñ'¨Ð5EÐ(FÓGˆØ”2—9‘9×(Ñ(¨Ó+×;Ñ;¸KÓHÑHÈ3ÑNˆÜ�r 5Ô)ˆØ�J‘ˆÜ
×Ñ˜f bÔ)ô Ü�I‰I�b‹M×!Ñ! " aÓ(Ü×)Ñ)ª<ºÐ*CÓDô
ˆð
 —6‘6˜A˜q˜6˜)¢Q˜,Ñ'ˆØ—‘˜˜A˜‘ˆÜ
×Ñ˜f hÕ/ùò% >ùÚ?s
   ŽE²Ec                 ó®  — t        t        j                  dd¬«      t        j                  t        d«      g d¢g«      «      }|j                  d d …dd…f   }|j                  dd	…dd…f   }t        j                  ||«       |j                  d d	…dd…f   }t        j                  ||«       |j                  dd …dd…f   }t        j                  ||«       t        t        j                  dd¬«      t        j                  t        d«      g d¢g«      «      }|j                  g d
¢   }|j                  dd	d…dd…f   }t        j                  ||«       y )Né   rƒ   r<   r   ©r™   rš   r›   r™   r›   r   r3   )r   r#   rX   r5   rk   é   r   )
r   r   rª   r   r{   r'   r$   rB   rm   rE   )r)   r¡   rQ   rp   s       r   Útest_loc_multiindex_incompletez0TestMultiIndexLoc.test_loc_multiindex_incomplete÷   s5  € ô Ü�I‰I�b Ô(Ü×#Ñ#¤U¨1£XªÐ$?Ó@ó
ˆð —5‘5š˜C ˜G˜Ñ$ˆà—‘�q˜�s˜C ˜G�|Ñ$ˆÜ
×Ñ˜v xÔ0à—‘�r˜�r˜3˜s˜7�{Ñ#ˆÜ
×Ñ˜v xÔ0à—‘�q‘r˜3˜s˜7�{Ñ#ˆÜ
×Ñ˜v xÔ0ô Ü�I‰I�b Ô(Ü×#Ñ#¤U¨1£XªÐ$?Ó@ó
ˆð —6‘6Ò/Ñ0ˆØ—‘�q˜˜1�u˜c #˜g�~Ñ&ˆÜ
×Ñ˜v xÕ0r   c                 óÞ   — t        g d¢gg d¢gdg¬«      }t        t        j                  j	                  d«      j                  t        |«      «      |¬«      }|j                  D ]  }||    Œ	 y )N)Úfoor   ÚbazÚqux)r   r	   r   r"   Úfirst)r   r   r?   r   r   )r   r   r   r   r   r   ÚlenÚvalues)r)   Úsingle_levelr¡   Úks       r   Útest_get_loc_single_levelz+TestMultiIndexLoc.test_get_loc_single_level  sj   € Ü!Ú0Ð1º,¸ÐPWÈyô
ˆô Ü�I‰I×!Ñ! !Ó$×4Ñ4´S¸Ó5FÓGØô
ˆð ×$Ñ$ò 	ˆAØˆa‹Dñ	r   c                 ó   — t        j                  g d¢ddgg«      }t        t        j                  j                  d«      j                  d«      ||«      }|j                  dd…d d …f   }|}t        j                  ||«       t        j                  g d¢ddgg«      }t        t        j                  j                  d«      j                  d«      ||«      }|j                  d	d
…d d …f   }|j                  dd  }t        j                  ||«       |j                  dd d …f   }|j                  dd }ddg|_        t        j                  ||«       |j                  d d …df   }|d   }t        j                  ||«       y )N)r   r#   rX   r™   rš   r   )r   r   r   rX   ©rY   é   é   rÀ   rÁ   rY   r   )r   r{   r   r   r   r   r   r$   rB   rD   rE   r   )r)   r   r-   rp   rQ   s        r   Útest_loc_getitem_int_slicez,TestMultiIndexLoc.test_loc_getitem_int_slice  sN  € ô ×'Ñ'ª°S¸#°JÐ(?Ó@ˆÜ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÈÐPUÓVˆØ—‘˜˜!˜šQ˜‘ˆØˆÜ
×Ñ˜f hÔ/ä×'Ñ'ª¸¸S°zÐ(BÓCˆÜ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÈÐPUÓVˆØ—‘˜˜2˜šq˜Ñ!ˆØ—7‘7˜1˜2�;ˆÜ
×Ñ˜f hÔ/ð —‘˜šA˜‘ˆØ—7‘7˜1˜Q�<ˆØ˜s˜ˆŒÜ
×Ñ˜f hÔ/à—‘š˜2˜‘ˆØ�b‘6ˆÜ
×Ñ˜f hÕ/r   Úindexer_type_1Úindexer_type_2c                 ó0  ‡— d„ Šg d¢}g d¢}t        j                  ||g«      }t        t        j                  t        |«      d¬«      |dg¬«      }dd	gd
dgf}||f}t        ˆfd„t        ||«      D «       «      }	|t        u s|t        u r6t        j                  t        d¬«      5  |j                  |	df    d d d «       y |j                  |	df   }
t        g d¢dt        j                  |«      ¬«      }t        j                  |
|«       y # 1 sw Y   y xY w)Nc                 ó„   — | t         j                  k(  rt        j                  |«      S | t        k(  rt        |Ž S  | |«      S ©N)r   ÚndarrayrG   Úslice)Úindexer_typer:   s     r   Úconvert_nested_indexerzQTestMultiIndexLoc.test_loc_getitem_nested_indexer.<locals>.convert_nested_indexerC  s9   € ØœrŸz™zÒ)Ü—x‘x “~Ð%ØœuÒ$Ü˜d�|Ð#Ù Ó%Ð%r   r¿   rs   rƒ   r<   ÚData©r   r(   rY   rÀ   r   r"   c              3   ó6   •K  — | ]  \  }} ‰||«      –— Œ y ­wrÇ   © )Ú.0rÊ   r¼   rË   s      €r   ú	<genexpr>zDTestMultiIndexLoc.test_loc_getitem_nested_indexer.<locals>.<genexpr>V  s$   øè ø€ ò 
á�˜añ # <°×3ñ
ùs   ƒzas an indexer is not supportedr]   )r	   r   r3   r   ©Únamer   )r   r{   r   r   rª   r¹   ÚtupleÚzipÚsetr`   ra   Ú	TypeErrorr$   r   rB   rm   )r)   rÃ   rÄ   r™   rš   r   r-   r:   ÚtypesÚindexerrp   rQ   rË   s               @r   Útest_loc_getitem_nested_indexerz1TestMultiIndexLoc.test_loc_getitem_nested_indexer8  s  ø€ ò	&ò ˆÚˆÜ×'Ñ'¨¨A¨Ó/ˆÜÜ�I‰I”c˜%“j¨Ô0¸ÈÀxô
ˆð �R�˜1˜a˜&Ð!ˆØ Ð0ˆô ó 
ä#& u¨dÓ#3ô
ó 
ˆð œSÑ  N´cÑ$9Ü—‘œyÐ0PÔQñ (Ø—‘�w �Ò'÷(ð à—V‘V˜G V˜OÑ,ˆFÜÚ˜v¬Z×-DÑ-DÀTÓ-Jô
ˆô 	×Ñ˜v xÕ0÷(ð ús   Â&DÄDc                 ó¬   — t        j                  ddg«      } |ddg|¬«      }d|j                  d<    |ddg|¬«      }t        j                  ||«       y )N©r™   rg   ©rš   rg   r	   r   r   r   ©r™   )r   Úfrom_tuplesr$   rB   Úassert_equal)r)   Úframe_or_seriesÚmiÚobjrQ   s        r   Ú)test_multiindex_loc_one_dimensional_tuplez;TestMultiIndexLoc.test_multiindex_loc_one_dimensional_tupleg  sR   € ä×#Ñ# Z°Ð$<Ó=ˆÙ˜q !˜f¨BÔ/ˆØˆ�‰�‰Ù" A q 6°Ô4ˆÜ
�‰˜˜XÕ&r   rÙ   rÞ   r™   c                 óÀ   — t        j                  ddg«      }t        ddg|¬«      }d|j                  |d d …f<   t        ddg|¬«      }t	        j
                  ||«       y )NrÜ   rÝ   r	   r   r   r   ©r   rß   r   r$   rB   rD   )r)   rÙ   râ   rã   rQ   s        r   Ú-test_multiindex_one_dimensional_tuple_columnsz?TestMultiIndexLoc.test_multiindex_one_dimensional_tuple_columnso  s[   € ô ×#Ñ# Z°Ð$<Ó=ˆÜ˜˜A˜ bÔ)ˆØˆ�‰�š�
ÑÜ˜a ˜V¨2Ô.ˆÜ
×Ñ˜c 8Õ,r   zindexer, exp_valueNç      ð?©r	   r   c                 óà   — t        j                  ddg«      }t        ddgddgg|ddg¬	«      }d
|j                  |ddgf<   t        g d¢dd||gg|g d¢¬	«      }t	        j
                  ||«       y )Nré   ©r"   r3   r	   r   r"   r3   r™   rš   rÍ   rè   r›   rœ   )r	   r   rè   rè   ©r™   rš   r›   rœ   ræ   )r)   rÙ   Ú	exp_valuerâ   r-   rQ   s         r   Ú)test_multiindex_setitem_columns_enlargingz;TestMultiIndexLoc.test_multiindex_setitem_columns_enlargingx  s‚   € ô
 ×#Ñ# V¨VÐ$4Ó5ˆÜ˜˜A˜  A Ð'¨r¸CÀ¸:ÔFˆØ&)ˆ�‰ˆw˜˜c˜
Ð"Ñ#ÜÚ  1 i°Ð;Ð<ØÚ(ô
ˆô
 	×Ñ˜b (Õ+r   c           	      ó4  — t        j                  ddd¬«      }g d¢}t        j                  ||gddg¬«      }t	        d	|d
dg¬«      }d |j                  d¬«      dddgf<   t	        d d gd	d	gd d gd	d	gd	d	gd	d	gg|d
dg¬«      }t        j                  ||«       y )Nú
2001-01-01ÚDr   )ÚfreqÚperiods)Úi1Úi2Úi3ÚdateÚ
identifierr>   ç        rg   r!   rÍ   r   r‹   rô   rö   )ÚpdÚ
date_ranger   r{   r   r$   rB   rD   )r)   ÚdatesÚidsr   r-   rQ   s         r   Ú test_multiindex_setitem_axis_setz2TestMultiIndexLoc.test_multiindex_setitem_axis_set‡  sº   € ä—‘˜l°¸aÔ@ˆÚ ˆÜ×'Ñ'¨°¨¸VÀ\Ð<RÔSˆÜ�s %°#°s°Ô<ˆØ59ˆ�‰�Aˆ‹�| d¨D \Ð1Ñ2äà�t�Ø�c�
Ø�t�Ø�c�
Ø�c�
Ø�c�
ðð Ø˜#�Jô
ˆô 	×Ñ˜b (Õ+r   c                 ó\  — t        j                  t        j                  dd¬«      t	        ddg«      g«      }t        d|¬«      }t        d|d d ¬«      }t        j                  ||gd¬«      }|j                  «       }|j                  d	d
 }t        j                  ||«       t        ||dœ«      }|j                  d	d
 }t        j                  ||«       t        j                  ||j                  |j                  «      gd¬«      }|j                  d	d
 }t        j                  ||«       y )NÚ20110101r   ©ró   r™   rš   r	   r   r‹   z
2011-01-01z
2011-01-02©r   r	   )r   r{   rú   rû   r   r   Úconcatr%   r$   rB   rD   r   rl   r   )r)   ÚmidxÚser1Úser2r-   rQ   rp   s          r   Ú"test_sorted_multiindex_after_unionz4TestMultiIndexLoc.test_sorted_multiindex_after_unionž  sþ   € ä×&Ñ&Ü�]‰]˜:¨qÔ1´5¸#¸s¸Ó3DÐEó
ˆô �a˜tÔ$ˆÜ�a˜t B Q˜xÔ(ˆÜ�Y‰Y˜˜d�|¨!Ô,ˆØ—7‘7“9ˆØ—‘˜ \Ð2ˆÜ
×Ñ˜f hÔ/ä˜4 DÑ)Ó*ˆØ—‘˜ \Ð2ˆÜ
×Ñ˜f hÔ/ä�Y‰Y˜˜dŸl™l¨4¯:©:Ó6Ð7¸aÔ@ˆØ—‘˜ \Ð2ˆÜ
×Ñ˜f hÕ/r   c           	      óf  — t        t        j                  t        d«      t        d«      t        d«      g«      dg¬«      }|j                  t
        j                  d d …dd d …f      }t        t        j                  t        d«      t        d«      g«      dg¬«      }t        j                  ||«       y )NÚabÚcdr�   ÚValrÍ   r›   )	r   r   r{   r&   r$   r   Ús_rB   rD   )r)   r-   rN   rQ   s       r   Útest_loc_no_second_level_indexz0TestMultiIndexLoc.test_loc_no_second_level_index²  sŒ   € äÜ×)Ñ)¬4°«:´t¸D³zÄ4ÈÃ9Ð*MÓNØ�Gô
ˆð �f‰f”R—U‘Uš1˜c¢1˜9Ñ%Ñ&ˆÜÜ×)Ñ)¬4°«:´t¸C³yÐ*AÓBÈUÈGô
ˆô 	×Ñ˜c 8Õ,r   c                 ó²   — t        g d¢g d¢g d¢g d¢dœ«      }t        j                  t        d¬«      5  |j                  d    d d d «       y # 1 sw Y   y xY w)	Nr±   )rœ   r�   rž   )r    Úhr‡   )rˆ   r¼   Úl)ré   )r	   r"   ©r   r   )r   r3   z(1, 4)r]   )r   ©r	   r3   )r   r`   ra   rb   r$   rc   s     r   Útest_loc_multi_index_key_errorz0TestMultiIndexLoc.test_loc_multi_index_key_error¾  sN   € äâ'Ú'Ú'Ú'ñ	ó
ˆô �]‰]œ8¨9Ô5ñ 	Ø�F‰F�9Ò÷	÷ 	ñ 	ús   ´AÁA)&Ú__name__Ú
__module__Ú__qualname__r`   ÚmarkÚparametrizer.   rR   rd   rq   r�   r…   r�   r’   r”   r—   r¢   r®   r³   r½   rÂ   r&   rÔ   rÖ   rÉ   r   rÈ   r   r   rÚ   rä   rç   Únanrî   rþ   r  r  r  rÏ   r   r   r   r      s¡  „ Ø‡[�[×Ñ˜Y¨¨u¨Ó6ñ.ó 7ð.ò"-ò8	ò1ò1ò>1ò<0ò60òð ‡[�[×Ñ˜Z¨A¨q¨6°A°q°6Ð*:¸a¸SÀ"¸IÈÈAÈÐPRÀ|Ð)TÓUñ	ó Vð	ò&ò0ò.1ò8	ò0ð4 ‡[�[×ÑØ˜4 ¨¨U°B·J±JÀÈÐNóð ‡[�[×ÑØ˜4 ¨¨U°B·J±JÀÈÐNóñ'1óóð'1òR'ð ‡[�[×Ñ˜Y¨°#¨Ó8ñ-ó 9ð-ð ‡[�[×ÑØ¡ d£¨SÐ1°F¸B¿F¹FÐ3CÐDóñ
,óð
,ò,ò.0ò(
-ór   r   zindexer, posrg   r"   rñ   ÚErµ   r   Úbahc                 óh  — t        j                  g d¢g d¢gddg¬«      }t        t        j                  dd¬«      |¬	«      j                  «       }|j                  |   }|j                  d
k(  rB| g k7  r=t        j                  t        t        | «      ¬«      5  |j                  |     d d d «       y | t        d «      ddgfk(  r4t        j                  t        d¬«      5  |j                  |     d d d «       y |j                  |    }t        j                  ||«       y # 1 sw Y   y xY w# 1 sw Y   y xY w)Nrt   ©rµ   r   r¶   Úoner    r>   rv   rƒ   r<   r   r   r]   rµ   r  z'bah')r   r{   r   r   rª   rF   rE   Úsizer`   ra   rb   r©   r$   rÉ   rB   rm   )rÙ   r–   Úidxro   rQ   rp   s         r   Ú7test_loc_getitem_duplicates_multiindex_missing_indexersr!  Ì  s  € ô ×
!Ñ
!Ú	Ò/Ð0¸À¸ô€Cô ”—‘˜1 GÔ,°CÔ
8×
CÑ
CÓ
E€CØ�x‰x˜‰}€Hà‡}�}˜Ò˜g¨šmÜ�]‰]œ8¬3¨w«<Ô8ñ 	Ø�G‰G�GÒ÷	ð 	à	”U˜4“[ 5¨% .Ð1Ò	1ä�]‰]œ8¨7Ô3ñ 	Ø�G‰G�GÒ÷	ð 	ð —‘˜Ñ!ˆÜ
×Ñ˜v xÕ0÷	ð 	ú÷	ð 	ús   ÂDÃD(ÄD%Ä(D1Úcolumns_indexerc                 óˆ  — t        j                  g d¢ddgf«      }t        t        j                  j                  d«      j                  d«      t        d«      |¬«      }|j                  dd	¬
«      }t        t        d«      |j                  g «      d   ¬«      }|j                  d d …| f   }t        j                  ||«       y )Nr  ÚalphaÚbetar   ©r   r   r   rÍ   r   r	   )ÚlevelrŒ   )r   r{   r   r   r   r   r   r'   rF   rl   r$   rB   rD   )r"  Úmulti_indexr-   rQ   rp   s        r   Ú4test_loc_getitem_duplicates_multiindex_empty_indexerr)  í  s§   € ô ×)Ñ)Ò+@À7ÈFÐBSÐ*TÓU€KÜ	Ü
�	‰	×Ñ˜aÓ ×0Ñ0°Ó8Ü�A‹hØô
€Bð
 
�‰˜Q QˆÓ	'€Bäœu Q›x°×1DÑ1DÀRÓ1HÈÑ1KÔL€HØ�V‰V’A�Ð&Ñ'€FÜ×Ñ˜& (Õ+r   c                  óÞ   — t        t        j                  t        j                  gddggt	        j
                  ddg«      ddg¬«      } | j                  d   }t        j                  }||k(  sJ ‚y )	NÚmeanÚmedian©Úfunctsr+  )r.  r,  ÚfunctionrÓ   r\   )r/  r-  )r   r   r+  r,  r   rß   r$   ©r-   rp   rQ   s      r   Ú=test_loc_getitem_duplicates_multiindex_non_scalar_type_objectr1  þ  sm   € ô 
Ü
�'‰'”2—9‘9Ð	 ¨Ð1Ð2Ü×&Ñ&Ð(:Ð<PÐ'QÓRØ˜6Ð"ô
€Bð
 �V‰VÐ2Ñ3€FÜ�w‰w€HØ�XÒÐÑr   c                  ó²  — t        t        j                  d«      t        j                  d«      t        j                  j	                  d«      j                  d«      t        j                  j	                  d«      j                  d«      dœ«      j                  ddg«      } | j                  d   }| j                  dd d …f   }t        j                  ||«       y )NrY   r   rì   r™   rš   )r   r   )
r   r   rª   r   r   r   rA   r$   rB   rm   )r-   rQ   rp   s      r   Ú!test_loc_getitem_tuple_plus_slicer3    s¥   € ä	ä—‘˜2“Ü—‘˜2“Ü—‘×&Ñ& qÓ)×9Ñ9¸"Ó=Ü—‘×&Ñ& qÓ)×9Ñ9¸"Ó=ñ		
ó
÷ �i��c�
Óð ð �v‰v�d‰|€HØ�V‰V�FšA�IÑ€FÜ×Ñ˜6 8Õ,r   c                 óœ   — | }|j                   d   }|dd  }|j                  j                  d«      |_        t        j                  ||«       y )Nr	   éýÿÿÿr   )r$   r   rŽ   rB   rD   )r   r-   rp   rQ   s       r   Útest_loc_getitem_intr6    sE   € Ø	.€BØ�V‰V�A‰Y€FØ�"�#ˆw€HØ—^‘^×-Ñ-¨aÓ0€H„NÜ×Ñ˜& (Õ+r   c                 ó†   — | }t        j                  t        d¬«      5  |j                  d    d d d «       y # 1 sw Y   y xY w)Nz^3$r]   r"   )r`   ra   rb   r$   )r   r-   s     r   Ú%test_loc_getitem_int_raises_exceptionr8  "  s5   € Ø	.€BÜ	�‰”x vÔ	.ñ Ø
�‰ˆqŠ	÷÷ ñ ús	   ž7·A c                 óð   — | }t        j                  t        d¬«      5  |j                  d    d d d «       d|j                  d<   d}|j	                  «       j                  d   }||k(  sJ ‚y # 1 sw Y   Œ?xY w)Nz^\('bar', 'three'\)$r]   ))r   Úthreer!   r   )r`   ra   rb   r$   rF   )r*   r-   rQ   rp   s       r   Ú test_loc_getitem_lowerdim_cornerr;  (  su   € Ø	)€Bô 
�‰”xÐ'>Ô	?ñ &Ø
�‰Ð$Ò%÷&ð %&€B‡F�FÐ Ñ!Ø€HØ�]‰]‹_× Ñ Ð!6Ñ7€FØ�XÒÐÑ÷&ð &ús   žA,Á,A5c                  óŒ  — t        dt        d«      t        j                  dgdg«      ¬«      } d| d<   | j                  | j
                  d d …df<   t        j                  t        j                  | d   «      t        j                  | j                  «      «       t        t        j                  t        d«      t        j                  g d	¢«      ¬«      } | j                  «       }t        j                  d«      | j
                  d d …d
f<   t        j                  d«      |j                  d d …df<   t        j                   | |«       y )NÚstringÚabcdÚMain)Úanotherr  rÍ   r™   Úlabelsr3   ))rg   Ú1)rg   Ú2)r!   rB  r!   r   )r   r&   r   r{   r   r$   rB   Úassert_numpy_array_equalr   Úasarrayr  r'   rß   r%   rª   rE   rD   )r-   rQ   s     r   Ú$test_loc_setitem_single_column_slicerF  6  sð   € ä	ØÜ�6‹lÜ×'Ñ'¨&¨Ð3EÐ(FÓGô
€Bð
 €B€x�LØŸ(™(€B‡F�FŠ1ˆhˆ;ÑÜ×Ñ¤§
¡
¨2¨h©<Ó 8¼"¿*¹*ÀRÇXÁXÓ:NÔOô 
Ü
�‰Ü�A‹hÜ×&Ñ&Ò'KÓLô
€Bð
 �w‰w‹y€HÜ—Y‘Y˜q“\€B‡F�FŠ1ˆcˆ6�NÜŸ)™) A›,€H‡M�M’!�Q�$ÑÜ×Ñ˜"˜hÕ'r   c           
      ód  — ddt         j                  fddt         j                  fddt         j                  fddt         j                  fdddd	t         j                  fdd
t         j                  fg}t        t        j                  d«      t	        g d¢«      t        j                  |g d¢¬«      ¬«      }|j                  d   j                  d   }t        t        j                  d«      t	        t         j                  g| sdndd¬«      t	        g d¢«      ¬«      }t        j                  ||«       y )NzGood Thingsru   ÚRz
Bad ThingsÚT)úOkay ThingsÚNr!   )rJ  rK  rñ   rJ  r!   rñ   )rX   r3   )Úd1Úd2Úd3Úd4)Úu1Úu2Úu3r>   r\   r  Úobjectr©   rR  )r=   rÓ   rÍ   )
r   r  r   Úonesr   r   rß   r$   rB   rD   )Úusing_infer_stringÚtupsr-   rp   rQ   s        r   Útest_loc_nan_multiindexrW  M  sþ   € ð 
˜œRŸV™VÐ$Ø	˜œRŸV™VÐ$Ø	�sœBŸF™FÐ#Ø	�sœBŸF™FÐ#Ø!Ø!Ø	˜œRŸV™VÐ$Ø	˜œRŸV™VÐ$ð	€Dô 
Ü
�‰�‹ÜÒ.Ó/Ü×$Ñ$ TÒ1CÔDô
€Bð
 �V‰V�MÑ"×&Ñ& sÑ+€FÜÜ
�‰�‹ÜÜ�V‰VˆHÙ"4‘(¸%Øô
ô
 Ò.Ó/ô€Hô ×Ñ˜& (Õ+r   c                  óv  — t        j                  ddd¬«      } d}t        j                  | |fd¬«      }t	        |d¬	«      }|j
                  d
   }|j
                  | d   dfdf   }t        j                  |«      sJ ‚t        j                  |«      sJ ‚|j
                  d
   }t        j                  |«      sJ ‚y )NÚ2013Q1Ú2013Q4ÚQ)rò   )éW  i®  i  )ÚPeriodÚCVRr>   )	ÚOMSÚOMKÚRESÚ	DRIFT_INDÚ
OEVRIG_INDÚFIN_INDÚVARE_UDÚLOEN_UDÚFIN_UDrÍ   ))rY  r\  r_  r   r\  r_  )rú   Úperiod_ranger   r{   r   r$   r   Úisnan)r™   r‡   r   r-   rp   Úalts         r   Útest_loc_period_string_indexingrk  k  s±   € ä
�‰˜ (°Ô5€AØ€AÜ
×
!Ñ
! 1 a &Ð0AÔ
B€CÜ	Øð

ô
€Bð �V‰VÐ+Ñ,€Fà
�&‰&�!�A‘$˜�˜uÐ$Ñ
%€CÜ�8‰8�CŒ=Ðˆ=ô �8‰8�FÔÐÐà
�&‰&Ð(Ñ
)€CÜ�8‰8�CŒ=Ð‰=r   c            
      óÎ  — t        j                  ddg«      } t        j                  | | gddg¬«      }t	        ddgdd	gd
dgddgg|ddg¬«      }|j
                  | d   |j                  j                  d«      dkD  fdf   }t        dgdt        j                  t        j                  d«      t        j                  d«      fgddg¬«      ¬«      }t        j                  ||«       y )Nz
2017-05-04z
2017-05-05ÚIdx1ÚIdx2r>   r	   r   r"   r3   r   r   r#   ÚC1ÚC2©rK   r   r(   r   rÒ   )rú   Úto_datetimer   r{   r   r$   r   Úget_level_valuesr   rß   Ú	TimestamprB   rm   )Údt_idxÚm_idxr-   rp   rQ   s        r   Útest_loc_datetime_mask_slicingrw  ‹  sé   € ä�^‰^˜\¨<Ð8Ó9€FÜ×#Ñ# V¨VÐ$4¸VÀVÐ<LÔM€EÜ	Ø�!ˆf�q˜!�f˜q !˜f q¨! fÐ-°UÀTÈ4ÀLô
€Bð �V‰V�V˜A‘Y §¡×!:Ñ!:¸1Ó!=ÀÑ!LÐNÐPTÐTÑU€FÜØ	
ˆØÜ×$Ñ$Ü�l‰l˜<Ó(¬"¯,©,°|Ó*DÐEÐFØ˜6Ð"ô
ô€Hô ×Ñ˜6 8Õ,r   c                  óÒ   — t        j                  d«      } t        dt        j                  d| fgddg¬«      d¬«      }|j
                  d d …| gf   }t        j                  ||«       y )NÚ2000r	   r™   rš   r>   r›   )r   rÓ   )rú   rt  r   r   rß   r$   rB   rm   )r÷   ro   rp   s      r   Ú&test_loc_datetime_series_tuple_slicingrz  ž  s`   € ä�<‰<˜Ó€DÜ
Ø	Ü×$Ñ$ s¨D k ]¸3À¸*ÔEØô€Cð
 �W‰W’Q˜˜�YÑ€FÜ×Ñ˜6 3Õ'r   c                  óZ  — t        ddgddgddgddggt        j                  g d¢dd	g¬
«      ddg¬«      } t        j                  ddgdd	g¬
«      }| j                  |d d …f   }t        ddgddgddggt        j                  g d¢dd	g¬
«      ddg¬«      }t	        j
                  ||«       y )Nr™   r	   r   rš   r›   r   )r  )r	   r   ©r	   r	   r|  r   r÷   r>   ÚauthorÚpricerq  r  r|  )r  r|  r|  rÍ   )r   r   rß   r$   rB   rD   )r-   r   rp   rQ   s       r   Útest_loc_with_mi_indexerr  ª  sÉ   € ä	Ø�Aˆh˜˜a˜ 3¨ (¨S°!¨HÐ5Ü×$Ñ$Ú,°W¸fÐ4Eô
ð ˜7Ð#ô
€Bô ×
 Ñ
  &¨&Ð!1¸'À6Ð9JÔ
K€CØ�V‰V�Cš�F‰^€FÜØ
ˆqˆ�C˜�8˜c 1˜XÐ&Ü×$Ñ$Ò%=ÀgÈvÐEVÔWØ˜7Ð#ô€Hô
 ×Ñ˜& (Õ+r   c                  ó~  — t        j                  ddd¬«      } t        t        d«      | ¬«      }|j	                  «       }| |d<   |j                  dd¬	«      }|j                  j                  d
k(  sJ ‚|j                  j                  | d   «       |j                  | d      }|j                  dg   j                  d «      }t        j                  ||«       |d   }|j                  j                  d
k(  sJ ‚|j                  | d      }|j                  dg   j                  d «      }t        j                  ||«       y )Nz
2016-01-01r"   z
US/Pacific)ró   Útzr   r	   r   T)Úappend)Nr   )rú   rû   r   r'   Úto_framerA   r   r?   Úget_locr$   rE   rŽ   rB   rD   rm   )Údtiro   r-   Údf2rp   rQ   r  s          r   Útest_loc_mi_with_level1_named_0r‡  ½  s  € ä
�-‰-˜¨a°LÔ
A€Cä
”�q“ Ô
%€CØ	�‰‹€BØ€B€q�Eà
�,‰,�q ˆ,Ó
&€CØ�9‰9�?‰?˜iÒ'Ð'Ð'Ø‡I�I×Ñ�c˜!‘fÔà�W‰W�S˜‘V‰_€FØ�x‰x˜˜‰}×&Ñ& tÓ,€HÜ×Ñ˜& (Ô+àˆq‰6€DØ�:‰:×Ñ˜yÒ(Ð(Ð(à�X‰X�c˜!‘fÑ€FØ�y‰y˜!˜‰~×'Ñ'¨Ó-€HÜ×Ñ˜6 8Õ,r   c            	      óz  — t        g d¢g d¢g d¢g d¢g d¢g d¢gdj                  d«      ¬	«      } | j                  d
dg«      j                  «       }|j                  dt        d«      fd d …f   j                  d«      }|j                  d   j                  t        d«      d d …f   }t        j                  ||«       y )N)z20160525 13:30:00.023ÚMSFTú51.95rŠ  )z20160525 13:30:00.048ÚGOOGz720.50z720.93)z20160525 13:30:00.076ÚAAPLz98.55z98.56)z20160525 13:30:00.131rŒ  ú98.61ú98.62)ú20160525 13:30:00.135r‰  z51.92rŠ  )r�  rŒ  r�  rŽ  ztime,ticker,bid,askú,r¦   ÚtickerÚtimerŒ  z2016-05-25 13:30:00r   )	r   ÚsplitrA   rF   r$   rÉ   rŽ   rB   rD   )r-   r†  rN   rQ   s       r   Útest_getitem_str_slicer”  Õ  s­   € ä	â?ÚAÚ?Ú?Ú?Ú?ð	
ð &×+Ñ+¨CÓ0ô

€Bð �,‰,˜ &Ð)Ó
*×
5Ñ
5Ó
7€Cà
�'‰'�6œ5Ð!6Ó7Ð8º!Ð;Ñ
<×
FÑ
FÀqÓ
I€CØ�w‰w�v‰×"Ñ"¤5Ð)>Ó#?ÂÐ#BÑC€HÜ×Ñ˜#˜xÕ(r   c                  óú   — t        j                  g d¢dd¬«      } g d¢}g d¢}t        j                  | ||g«      }t	        t        d«      |t        j                  ¬«      }|j                  | d	   d
df   }|dk(  sJ ‚y )N)z20181101 1100z20181101 1200z20181102 1300z20181102 1400Údatetimerñ   )rÓ   rò   )rg   rg   ÚZÚW)r!   ru   r[  ÚFr3   rz   r   rg   r!   rù   )	rú   ÚPeriodIndexr   rH   r   r'   r   r|   r$   )ÚpiÚlev2Úlev3râ   ro   rp   s         r   Ú!test_3levels_leading_period_indexrž  é  sw   € ä	�‰ÚLØØô
€Bò
  €DÚ€DÜ	×	Ñ	  T¨4Ð 0Ó	1€Bä
”�q“ ¬2¯:©:Ô
6€CØ�W‰W�b˜‘e˜S #Ð&Ñ'€FØ�SŠ=Ð‰=r   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTestKeyErrorsWithMultiIndexc                 ó  — t        t        j                  d«      j                  dd«      g d¢¬«      }|j	                  ddg«      }t        j                  t        d¬	«      5  |j                  d
    d d d «       y # 1 sw Y   y xY w)Nr5   r3   r"   rt   r¦   rg   r!   Ú6r]   ©r	   r   )	r   r   rª   r«   rA   r`   ra   rb   r$   )r)   r-   r†  s      r   Ú!test_missing_keys_raises_keyerrorz=TestKeyErrorsWithMultiIndex.test_missing_keys_raises_keyerrorú  sc   € ä”r—y‘y “}×,Ñ,¨Q°Ó2ºOÔLˆØ�l‰l˜C ˜:Ó&ˆä�]‰]œ8¨3Ô/ñ 	Ø�G‰G�FŠO÷	÷ 	ñ 	ús   Á!A:Á:Bc                 óÎ   — t        dt        j                  ddggdz  «      ¬«      }t        j                  t
        d¬«      5  |j                  d    d d d «       y # 1 sw Y   y xY w)	Nr§   r   r	   r   r   z\(0, 3\)r]   )r   r"   )r   r   r{   r`   ra   rb   r$   )r)   ro   s     r   Ú!test_missing_key_raises_keyerror2z=TestKeyErrorsWithMultiIndex.test_missing_key_raises_keyerror2  sQ   € ä�Rœz×6Ñ6¸¸A¸°xÀ!±|ÓDÔEˆä�]‰]œ8¨;Ô7ñ 	Ø�G‰G�DŠM÷	÷ 	ñ 	ús   ÁAÁA$c                 ó  — t        j                  t        j                  g d¢«      t        j                  g d¢«      t        j                  g d¢«      gg d¢¬«      }t	        t        j
                  j                  d«      j                  d«      |¬«      }d	}t        j                  t        |¬
«      5  |j                  ddt        d «      fd d …f    d d d «       t        j                  t        |¬
«      5  |j                  j                  ddt        d «      f«       d d d «       t        j                  t        d¬
«      5  |j                  dd d …f    d d d «       y # 1 sw Y   ŒŒxY w# 1 sw Y   ŒMxY w# 1 sw Y   y xY w)N©r™   r™   rš   rš   )rB  rC  rC  Ú3)r›   rœ   r›   rœ   )r  r    r:  r>   r   ©r3   r"   r   z'\('b', '1', slice\(None, None, None\)\)r]   rš   rB  z\('b', '1'\))rš   rB  )r   rH   r   rG   r   r   r   r`   ra   rb   r$   rÉ   r   Úget_locs)r)   râ   r-   Úmsgs       r   Útest_missing_key_combinationz8TestKeyErrorsWithMultiIndex.test_missing_key_combination	  s'  € ä×#Ñ#ä—‘Ò-Ó.Ü—‘Ò-Ó.Ü—‘Ò-Ó.ðò
 *ô
ˆô ”r—y‘y×,Ñ,¨QÓ/×6Ñ6°vÓ>ÀbÔIˆØ8ˆÜ�]‰]œ8¨3Ô/ñ 	/Ø�F‰F�C˜œe D›kÐ*ªAÐ-Ò.÷	/ä�]‰]œ8¨3Ô/ñ 	7Ø�H‰H×Ñ˜s C¬¨t«Ð5Ô6÷	7ä�]‰]œ8¨?Ô;ñ 	"Ø�F‰F�:šq�=Ò!÷	"ð 	"÷		/ð 	/ú÷	7ð 	7ú÷	"ð 	"ús$   Â2 EÃ5(E)Å E5ÅE&Å)E2Å5E>N)r  r  r  r¤  r¦  r­  rÏ   r   r   r   r   ù  s   „ òòó"r   r   c                 ól   — | }|d   }|d   }|j                   d   d   }t        j                  ||«       y )Nrg   )rj   r   )r$   rB   rm   )rn   r-   ro   rp   rQ   s        r   Útest_getitem_loc_commutabilityr¯    s;   € Ø	8€BØ
ˆS‰'€CØ�‰\€FØ�v‰v�g‰˜sÑ#€HÜ×Ñ˜6 8Õ,r   c                  óŒ  — t        g d¢ddt        j                  gg d¢dœ«      j                  ddg«      } | j                  dg   }t        dd	git        j                  d
gddg¬«      ¬«      }t        j                  ||«       | j                  d   }t        dd	git        d	gd¬«      ¬«      }t        j                  ||«       y )N)r	   r   r   r™   rœ   )r	   r3   r   )r8   Úind1Úind2r±  r²  r8   r	   )r™   r	   r>   r   ©rÓ   )
r   r   r  rA   r$   r   rß   rB   rD   r   r0  s      r   Útest_loc_with_nanr´  %  s·   € ä	Ú C¨¬b¯f©fÐ#5ºyÑIó
ç�i�˜Ð Ó!ð ð �V‰V�S�E‰]€FÜØ	��ˆœJ×2Ñ2°H°:ÀfÈfÐEUÔVô€Hô ×Ñ˜& (Ô+à�V‰V�C‰[€FÜ˜% ! ˜¬U°A°3¸VÔ-DÔE€HÜ×Ñ˜& (Õ+r   c                  óÈ   — t        g d¢gg d¢¬«      j                  g d¢«      } t        j                  t        d¬«      5  | j
                  d    d d d «       y # 1 sw Y   y xY w)Nr¨   rì   r¦   r±   z\(2\.0, 2\.0, 3\.0\)r]   )ç       @r¶  ç      @)r   rA   r`   ra   rb   r$   ©r-   s    r   Útest_getitem_non_found_tupler¹  5  sQ   € ä	’L�>Ò+?Ô	@×	JÑ	JÚó
€Bô 
�‰”xÐ'>Ô	?ñ  Ø
�‰ˆÒ÷ ÷  ñ  ús   ¿AÁA!c                  ó¨  — t        j                  dd¬«      } t        j                  | g«      }|j	                  d«      t        ddd «      k(  sJ ‚| j	                  d«      t        ddd «      k(  sJ ‚|d d d…   j	                  d«      }| d d d…   j	                  d«      }||k(  sJ ‚|j                  d«      j	                  d«      }| j                  d«      j	                  d«      }||k(  sJ ‚|j                  |«      j	                  d«      }| j                  | «      j	                  d«      }t        j                  |j                  «       d   |«       y )Nrð   éd   r  z2001-01r   é   r   )rú   rû   r   rH   r„  rÉ   Úrepeatr‚  rB   rD  Únonzero)r   râ   r$   rQ   s       r   Útest_get_loc_datetime_indexr¿  >  s&  € ä�M‰M˜,°Ô4€EÜ	×	Ñ	  Ó	(€Bà�:‰:�iÓ ¤E¨!¨R°Ó$6Ò6Ð6Ð6Ø�=‰=˜Ó#¤u¨Q°°DÓ'9Ò9Ð9Ð9à
‰SˆqˆS‰'�/‰/˜)Ó
$€CØ‘S�q�S‰z×!Ñ! )Ó,€HØ�(Š?Ðˆ?à
�)‰)�A‹,×
Ñ
˜yÓ
)€CØ�|‰|˜A‹×&Ñ& yÓ1€HØ�(Š?Ðˆ?à
�)‰)�B‹-×
Ñ
 	Ó
*€CØ�|‰|˜EÓ"×*Ñ*¨9Ó5€Hä×Ñ §¡£¨aÑ 0°(Õ;r   c                  ó.  — t        j                  ddgddgg«      } t        ddgddgdd	gd
dgg| ¬«      }dddgf}t        j                  ddgddgg«      |j
                  |d d …f<   t        ddgddgdd	gd
dgg| ¬«      }t        j                  ||«       y )Nr™   rš   r   r	   r   r"   r3   r   r   r#   rX   r   rv   rY   r6   r5   )r   r{   r   r   rG   r$   rB   rD   )râ   r-   rÙ   rQ   s       r   Ú,test_loc_setitem_indexer_differently_orderedrÁ  T  s®   € ä	×	 Ñ	  3¨ *¨q°!¨fÐ!5Ó	6€BÜ	�Q˜�F˜Q ˜F Q¨ F¨Q°¨FÐ3¸2Ô	>€Bà�Q˜�Fˆm€GÜŸ™ A r 7¨R°¨HÐ"5Ó6€B‡F�Fˆ7’Aˆ:ÑÜ˜2˜r˜( Q¨ G¨a°¨V°a¸°VÐ<ÀBÔG€HÜ×Ñ˜"˜hÕ'r   c                  óø   — t        ddgddgddgddggg d	¢g d
¢gddg¬«      } | j                  t        d «      ddgfd d …f   }t        ddgddgddgddggg d¢g d¢gddg¬«      }t        j                  ||«       y )Nr	   r   r"   r3   r   r   r#   rX   r¨  ©r	   r   r	   r   r™   rš   rÍ   )r™   rš   r™   rš   )r   r   r	   r	   )r   r$   rÉ   rB   rD   r0  s      r   Ú5test_loc_getitem_index_differently_ordered_slice_nonerÄ  _  s    € ä	Ø
ˆQˆ�!�Q�˜!˜Q˜ ! Q Ð(Ú#¢\Ð2Ø�c�
ô
€Bð
 �V‰V”U˜4“[ 1 a &Ð)ª1Ð,Ñ-€FÜØ
ˆQˆ�!�Q�˜!˜Q˜ ! Q Ð(Ú#¢\Ð2Ø�c�
ô€Hô
 ×Ñ˜& (Õ+r   rÙ   )r	   r   r#   r   r   r"   rX   r#   )r	   r   r#   r   r"   rX   c                 óv  — t        dgdz  t        j                  g d¢«      dg¬«      }|j                  t	        d «      | fd d …f   }t        dgdz  g d¢g d¢gdg¬«      }t        j                  ||«       |j                  |j                  j                  | d¬«      d d …f   }t        j                  ||«       y )	Nr	   rX   )r|  ré   )r	   r#   r£  r  )r   r"   )r   rX   )r   r#   r™   rÍ   )r	   r	   r   r	   r   r	   r   r   )r	   r   r   r#   r#   r   r"   rX   )r'  )	r   r   rß   r$   rÉ   rB   rD   r   Úisin)rÙ   r-   rp   rQ   s       r   Ú@test_loc_getitem_index_differently_ordered_slice_none_duplicatesrÇ  o  s´   € ô 
Ø	
ˆˆa‰Ü×$Ñ$ÚLó
ð �ô
€Bð �V‰V”U˜4“[ 'Ð*ªAÐ-Ñ.€FÜØ	
ˆˆa‰Ú'Ò)AÐBØ�ô€Hô
 ×Ñ˜& (Ô+à�V‰V�B—H‘H—M‘M '°�MÓ3²QÐ6Ñ7€FÜ×Ñ˜& "Õ%r   c                  ó€  — t        j                  dgdgdggg d¢¬«      } t        ddgi| ¬«      }|j                  dd	g«      }|j                  dd d …df   }t        j                  ||«       t        dg| ¬«      }|j                  dd d …df   }t        dgt        dgd
¬«      ¬«      }t        j                  ||«       y )Nr}   r~   Úzr±   r>   rœ   r   r   r   rš   r³  )
r   rH   r   rŽ   r$   rB   rD   r   r   rm   )râ   r-   rQ   rp   ro   s        r   Ú3test_loc_getitem_drops_levels_for_one_row_dataframerÊ  …  s²   € ä	×	Ñ	 # ¨¨°¨uÐ 5º_Ô	M€BÜ	�C˜!˜�: RÔ	(€BØ�|‰|˜Q ˜FÓ#€HØ�V‰V�Cš˜C�KÑ €FÜ×Ñ˜& (Ô+ä
�!�˜BÔ
€CØ�W‰W�Sš!˜S�[Ñ!€FÜ�q�c¤¨ u°3Ô!7Ô8€HÜ×Ñ˜6 8Õ,r   c                  ó:  — t        j                  g d¢ddgg«      } t        t        j                  d«      | ¬«      }|j
                  d d …ddgf   }t        t        j                  d«      t        j                  g d	¢«      ¬«      }t        j                  ||«       y )
Nrt   r	   r   r&  r¦   r!   rg   )r   r3   ))r!   r	   )r!   r   )rg   r	   )rg   r   )	r   r{   r   r   Úzerosr$   rß   rB   rD   )Úcolsr-   rp   rQ   s       r   Ú$test_mi_columns_loc_list_label_orderrÎ  “  s}   € ä×"Ñ"¢O°a¸°VÐ#<Ó=€DÜ	”2—8‘8˜FÓ#¨TÔ	2€BØ�V‰V’A˜˜S�z�MÑ"€FÜÜ
�‰�ÓÜ×&Ñ&Ò'OÓPô€Hô ×Ñ˜& (Õ+r   c                  óN  — t        t        j                  d«      j                  d«      g d¢g d¢gg d¢g d¢g¬«      } dd	g| j                  _        d
dg| j                  _        t        j                  t        d¬«      5  | j                  ddgdf    d d d «       y # 1 sw Y   y xY w)Nr5   rª  r¨  rÃ  )ÚOhiorÐ  ÚColorado)ÚGreenÚRedrÒ  rÍ   Úkey1Úkey2ÚstateÚcolorz\[2\] not in indexr]   rš   r   rÑ  )r   r   rª   r«   r   r?   r(   r`   ra   rb   r$   )r+   s    r   Ú$test_mi_partial_indexing_list_raisesrØ  Ÿ  s�   € äÜ
�	‰	�"‹×Ñ˜fÓ%Ú#¢\Ð2Ú-Ò/HÐIô€Eð
   Ð(€E‡K�KÔØ" GÐ,€E‡M�MÔÜ	�‰”xÐ'=Ô	>ñ (Ø�	‰	�3˜�(˜JÐ&Ò'÷(÷ (ñ (ús   Á>BÂB$c                  óä   — t        t        d«      t        j                  ddgddgg«      ¬«      } t	        j
                  t        d¬«      5  | j                  d	d
g    d d d «       y # 1 sw Y   y xY w)Nr3   r	   r   r™   rš   r   z\['not' 'found'\] not in indexr]   ÚnotÚfound)r   r'   r   r{   r`   ra   rb   r$   )r¡   s    r   Ú(test_mi_indexing_list_nonexistent_raisesrÜ  ¬  s_   € äŒu�Q‹xœz×6Ñ6¸¸A¸ÀÀcÀ
Ð7KÓLÔM€AÜ	�‰”xÐ'IÔ	Jñ  Ø	�‰ˆu�gÐÒ÷ ÷  ñ  ús   ÁA&Á&A/c            	      óª  — t        g d¢g d¢gddgt        j                  ddgddgg«      ¬«      } d	| j                  d
<   d| j                  d<   d| j                  d<   t        g d¢g d¢g d¢dt        j
                  t        j
                  t        j
                  ggg d¢t        j                  ddgddgg«      ¬«      }t        j                  | |«       y )N)r	   r   r   r   )r"   r3   r#   rX   r™   r	   r   rg   r!   rÍ   r§   r›   r"   )r›   ©r	   rg   )rœ   rÞ  )rè   r¶  g      @g      @)r·  r4   g      @g       @)r·  g      ð¿r§   r§   r·  )r™   r™   r›   rœ   )r   r   r{   r$   r   r  rB   rD   )rp   rQ   s     r   Ú'test_mi_add_cell_missing_row_non_uniquerß  ³  sÃ   € äÚ	’|Ð$Ø�CˆjÜ×'Ñ'¨!¨Q¨°#°s°Ð(<Ó=ô€Fð
 €F‡J�Jˆs�OØ !€F‡J�Jˆ}ÑØ !€F‡J�Jˆ}ÑÜâ Ú ÚØ”"—&‘&œ"Ÿ&™&¤"§&¡&Ð)ð		
ò #Ü×'Ñ'¨!¨Q¨°#°s°Ð(<Ó=ô	€Hô ×Ñ˜& (Õ+r   c                  óB  — t        dddœt        j                  dgdggddg¬«      ¬	«      } | j                  d
   }|dk(  sJ ‚t	        |t
        j                  «      sJ ‚| j                  dgdf   j                  d   }|dk(  sJ ‚t	        |t
        j                  «      sJ ‚y )Nrè   r   rŸ   r"   r3   r›   rœ   r>   r   )rë   rš   rë   rš   r   )r   r   rH   r$   Ú
isinstancer   rƒ   rE   )r-   rp   s     r   Ú$test_loc_get_scalar_casting_to_floatrâ  Ê  sŸ   € ä	Ø˜Ñ¤*×"8Ñ"8¸1¸#À¸s¸ÈCÐQTÈ:Ô"Vô
€Bð �V‰V�KÑ €FØ�QŠ;Ðˆ;Ü�fœbŸh™hÔ'Ð'Ð'Ø�V‰V�V�H˜c�MÑ"×'Ñ'¨Ñ*€FØ�QŠ;Ðˆ;Ü�fœbŸh™hÔ'Ð'Ñ'r   c                  ó2  — t        j                  ddgddggddg¬«      } t        | t        j                  ¬«      }|j
                  d   }t        t        j                  t        j                  gt        ddgd¬	«      ¬
«      }t        j                  ||«       y )Nr™   rš   rg   r!   r	   r   r>   rz   r³  r   )
r   r{   r   r   r|   r$   r  r   rB   rm   )r   Ús2rp   rQ   s       r   Ú)test_loc_empty_single_selector_with_namesrå  ×  sv   € ä
×
!Ñ
! C¨ :°°S¨zÐ":À1ÀaÀ&Ô
I€CÜ	�c¤§¡Ô	,€BØ�V‰V�C‰[€FÜ”r—v‘vœrŸv™vÐ&¬e°S¸#°JÀQÔ.GÔH€HÜ×Ñ˜6 8Õ,r   c                  óà   — t        g d¢g d¢t        d«      dœ«      } | j                  ddg«      } t        j                  t
        d¬«      5  | j                  d	    d d d «       y # 1 sw Y   y xY w)
N)r»  r»  éÈ   rç  é,  rè  )rY   rY   rÀ   é   r¼  é!   r   rt   rg   r!   z^1$r]   )r»  r	   )r   r'   rA   r`   ra   rb   r$   r¸  s    r   Ú'test_loc_keyerror_rightmost_key_missingrë  à  sc   € ô 
â/Ú)Ü�q“ñ	
ó
€Bð 
�‰�s˜C�jÓ	!€BÜ	�‰”x uÔ	-ñ Ø
�‰ˆxÒ÷÷ ñ ús   ÁA$Á$A-c                  ó|   — t        j                  ddg«      } t        ddg| ¬«      }|j                  d   }|dk(  sJ ‚y )Nré   )r"   )r3   r   r	   r   r   )r   rß   r   r$   )râ   ro   rp   s      r   Ú*test_multindex_series_loc_with_tuple_labelrí  ï  sA   € ä	×	Ñ	 ¨Ð 5Ó	6€BÜ
�!�Q�˜rÔ
"€CØ�W‰W�[Ñ!€FØ�QŠ;Ð‰;r   )6Únumpyr   r`   Úpandas.errorsr   Úpandasrú   r   r   r   r   Úpandas._testingÚ_testingrB   Úfixturer   r   r  r  rÉ   Ú
IndexSlicer!  r)  r1  r3  r6  r8  r;  rF  rW  rk  rw  rz  r  r‡  r”  rž  r   r¯  r´  r¹  r¿  rÁ  rÄ  rÇ  rÊ  rÎ  rØ  rÜ  rß  râ  rå  rë  rí  rÏ   r   r   ú<module>rõ     sð  ðÛ Û å 'ã ÷ó õ ð ‡�ñTó ðT÷qñ qðh ‡�×ÑØà	ˆRˆØ
ˆ‘�a“ÐØ
ˆsˆ�RÐØ
ˆsˆ�RÐØ
ˆ�ˆØ	�‰’q˜5˜'�zÑ	"¡E¨!¨T°1Ó$5Ð6Ø	�‰’q˜5 %˜.Ð(Ñ	)©5°°D¸!Ó+<Ð=ðóñ1óð1ð* ‡�×ÑÐ*¨b±%¸³+Ð->À%ÀÈ"ÀÐ,NÓOñ,ó Pð,ò 
ò-ò,òòò(ò.,ò<ò@-ò&	(ò,ò&-ò0)ò(÷ !"ñ !"òH-ò,ò  ò<ò,(ò,ð  ‡�×Ñ˜Ò%=Ò?QÐ$RÓSñ&ó Tð&ò*-ò	,ò
(ò ò,ò.
(ò-òór   