Ë
    ômxi�  ã                   ó  — d dl Zd dlZd dlmZ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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.„ Z0d/„ Z1d0„ Z2d1„ Z3d2„ Z4d3„ Z5d4„ Z6d5„ Z7y)6é    N)ÚIndexingErrorÚPerformanceWarning)Ú	DataFrameÚIndexÚ
MultiIndexÚSeriesc                  ó,   — t        g d¢gg d¢gdg¬«      S )zsingle level MultiIndex)ÚfooÚbarÚbazÚqux)r   é   é   é   Úfirst)ÚlevelsÚcodesÚnames)r   © ó    ú`/home/htdocs/ttos/venv/lib/python3.12/site-packages/pandas/tests/indexing/multiindex/test_loc.pyÚsingle_level_multiindexr      s   € ô Ú,Ð-²l°^ÈGÈ9ôð r   c                  ó®   — 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   r   r   )r   r   r   )é   r   ©Úindex)r   r   ÚnpÚrandomÚdefault_rngÚstandard_normal)r   r   r   s      r   Ú%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ÐSr   c                   óØ  — e Zd Zej                  j                  d«      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j6                  eef«      ej                  j                  deeeeej6                  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jB                  fg«      d&„ «       Z"d'„ Z#d(„ Z$d)„ Z%y#)*ÚTestMultiIndexLocz.ignore:Setting a value on a view:FutureWarningÚ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é   )©r   ÚtwoÚBr   é   )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                  t
        «      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)r@   rA   r@   rA   )Úkeys)r<   r=   r   T)Úinplacer   ©Údtype©r   r?   )r8   r9   r:   r   )r   ÚastypeÚ	set_indexÚtmÚassert_produces_warningr   Úassert_frame_equalr,   ÚilocÚ
sort_indexr   Úarrayr   Úfrom_arrays)r1   Úany_real_numpy_dtyperE   Údatar5   ÚkeyÚreturn_valueÚresÚcol_arrÚyear_arrr   Úexpecteds               r   Útest_loc_getitem_generalz*TestMultiIndexLoc.test_loc_getitem_general7   sL  € à$ˆà #¨#°#¸#Ñ>Ø˜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   Á)1E Å 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   r;   ©r   é   é
   ©r;   r;   r^   ©r^   r_   r=   ©r0   r   z^2$©Úmatch©	r   r   r   r    r!   ÚpytestÚraisesÚKeyErrorr,   ©r1   r5   s     r   Ú0test_loc_getitem_multiindex_missing_label_raiseszBTestMultiIndexLoc.test_loc_getitem_multiindex_missing_label_raisesT   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   r_   )rp   r   é   )Úreindexr   r,   rI   Úassert_series_equal)r1   Ú/multiindex_year_month_day_dataframe_random_dataÚserrW   Úresults        r   Ú/test_loc_getitem_list_of_tuples_with_multiindexzATestMultiIndexLoc.test_loc_getitem_list_of_tuples_with_multiindex_   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
                  ¬«      t        j
                  ¬«      }|j                  |   }t        j                  ||«       y )N©r   r   r   ©rm   r*   ÚCé	   ©r   rQ   rE   r   r   ©r   r   r   r   r+   r^   ©rQ   r   rE   r   r   )rQ   rE   ©r   r   rE   ©r   rE   )
r   Úfrom_productr   r/   r   Úfloat64r,   rI   rs   r   )r1   r   ÚxÚyrW   rv   Úy1Úemptys           r   Útest_loc_getitem_seriesz)TestMultiIndexLoc.test_loc_getitem_seriesg   s5  € ô ×'Ñ'ª²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¸ÌÏ
É
ÔSÜ—*‘*ô
ˆð
 —‘�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t        j
                  ¬	«      d
¬«      }|j                  |   }t        j                  ||«       t	        j                  d«      }t        g d¢g d¢t        j
                  ¬«      }|j                  |   }t        j                  ||«       y )Nry   rz   r|   r}   r   r   r~   r   r€   rƒ   r�   r   )r   r‚   r   r/   r   rƒ   rN   r,   rI   rs   r   Úint64)r1   r   r„   r…   rW   rv   r‡   Úscalars           r   Útest_loc_getitem_arrayz(TestMultiIndexLoc.test_loc_getitem_array†   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¸ÌÏ
É
ÔSØô
ˆð
 —‘�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   r[   )ÚirŽ   Új)rm   rm   r*   )ÚXr�   ÚYrb   r   r   rŽ   ©Úaxisr�   )rŽ   r�   ©
r   r   r   r    r!   rL   Ú	droplevelr,   rI   rK   ©r1   r5   rW   rv   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   r[   r\   r]   r`   ra   rb   r   r   r;   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rZ   re   ri   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÷	÷ 	ñ 	úrk   zkey, posr   r;   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   r[   r\   r]   r`   ra   rb   znot in indexrc   re   )r1   rR   Úposr5   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÷	÷ 	ñ 	úrk   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)Nr^   ÚaÚbÚcÚdÚeÚfr   z^\('a', 'b'\)$rc   ©r    r¡   z^\('a', 'd', 'g'\)$)r    r£   ÚgzToo many indexers)r    r£   r§   r�   )	r   r/   r   r‚   rf   rg   rh   r,   r   )r1   Ú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   )r_   r'   g      à?©r0   r=   éÿÿÿÿ©r   r   r   r;   ry   r   )r/   Ústrr   r‚   r   r   r    r!   r   rI   rK   ÚarangeÚreshaper,   )r1   rŽ   Ú
attributesÚattribute_valuesr   r5   rv   rW   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Š   rD   r'   ©r    r¡   r¢   r    r¢   r   r;   )r   r+   r^   r=   rq   é   r   )
r   r   r±   r   r‚   r/   r,   rI   rs   rL   )r1   r¨   rW   rv   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        t        j                  j                  d«      j	                  t        |«      «      |¬«      }|j                  D ]  }||    Œ	 y )Nr   r   )r   r   r   r    r!   ÚlenÚvalues)r1   r   Úsingle_levelr¨   Úks        r   Útest_get_loc_single_levelz+TestMultiIndexLoc.test_get_loc_single_level   sT   € Ø.ˆÜÜ�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+   r^   r    r¡   r   )r   r   r   r^   ©r_   é   é   rÃ   rÄ   r_   r   )r   r‚   r   r   r   r    r!   r,   rI   rK   rL   r   )r1   r   r5   rv   rW   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   ÚndarrayrN   Úslice)Úindexer_typerB   s     r   Úconvert_nested_indexerzQTestMultiIndexLoc.test_loc_getitem_nested_indexer.<locals>.convert_nested_indexerN  s9   € ØœrŸz™zÒ)Ü—x‘x “~Ð%ØœuÒ$Ü˜d�|Ð#Ù Ó%Ð%r   rÂ   ry   rŠ   rD   ÚData©r   r0   r_   rÃ   r   r   c              3   ó6   •K  — | ]  \  }} ‰||«      –— Œ y ­wrÊ   r   )Ú.0rÍ   r¿   rÎ   s      €r   ú	<genexpr>zDTestMultiIndexLoc.test_loc_getitem_nested_indexer.<locals>.<genexpr>a  s$   øè ø€ ò 
á�˜añ # <°×3ñ
ùs   ƒzas an indexer is not supportedrc   )r   r   r;   r'   ©Únamer   )r   r‚   r   r   r±   r¼   ÚtupleÚzipÚsetrf   rg   Ú	TypeErrorr,   r   rI   rs   )r1   rÆ   rÇ   r    r¡   r   r5   rB   ÚtypesÚindexerrv   rW   rÎ   s               @r   Útest_loc_getitem_nested_indexerz1TestMultiIndexLoc.test_loc_getitem_nested_indexerC  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    rm   ©r¡   rm   r   r   r   r   ©r    )r   Úfrom_tuplesr,   rI   Úassert_equal)r1   Úframe_or_seriesÚmiÚobjrW   s        r   Ú)test_multiindex_loc_one_dimensional_tuplez;TestMultiIndexLoc.test_multiindex_loc_one_dimensional_tupler  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,   rI   rK   )r1   rÛ   rä   rå   rW   s        r   Ú-test_multiindex_one_dimensional_tuple_columnsz?TestMultiIndexLoc.test_multiindex_one_dimensional_tuple_columnsz  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   r;   r   r   r   r;   r    r¡   rÐ   rê   r¢   r£   )r   r   rê   rê   ©r    r¡   r¢   r£   rè   )r1   rÛ   Ú	exp_valuerä   r5   rW   s         r   Ú)test_multiindex_setitem_columns_enlargingz;TestMultiIndexLoc.test_multiindex_setitem_columns_enlargingƒ  s‚   € ô
 ×#Ñ# V¨VÐ$4Ó5ˆÜ˜˜A˜  A Ð'¨r¸CÀ¸:ÔFˆØ&)ˆ�‰ˆw˜˜c˜
Ð"Ñ#ÜÚ  1 i°Ð;Ð<ØÚ(ô
ˆô
 	×Ñ˜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   ©Úperiodsr    r¡   r   r   r’   z
2011-01-01z
2011-01-02©r   r   )r   r‚   ÚpdÚ
date_ranger   r   Úconcatr-   r,   rI   rK   r   rr   r   )r1   ÚmidxÚser1Úser2r5   rW   rv   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_rI   rK   )r1   r5   rT   rW   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   r;   z(1, 4)rc   )r   ©r   r;   )r   rf   rg   rh   r,   ri   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__rf   ÚmarkÚfilterwarningsÚparametrizer6   rX   rj   rw   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$   #   sµ  „ Ø‡[�[×ÑÐ PÓQØ‡[�[×Ñ˜Y¨¨u¨Ó6ñ.ó 7ó Rð.ò"-ò:	ò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, posrm   r   ÚDÚ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)Nrz   ©r
   r   r   Úoner)   rF   r|   rŠ   rD   r   r   rc   r
   r  z'bah')r   r‚   r   r   r±   rM   rL   Úsizerf   rg   rh   r°   r,   rÌ   rI   rs   )rÛ   r�   Úidxru   rW   rv   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/   rM   rr   r,   rI   rK   )r  Úmulti_indexr5   rW   rv   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Õ   rb   )r&  r$  )r   r   r"  r#  r   rá   r,   ©r5   rv   rW   s      r   Ú=test_loc_getitem_duplicates_multiindex_non_scalar_type_objectr(  ò  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 )Nr_   r   rî   r    r¡   )r   r   )
r   r   r±   r   r    r!   rH   r,   rI   rs   )r5   rW   rv   s      r   Ú!test_loc_getitem_tuple_plus_slicer*  ÿ  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•   rI   rK   )r"   r5   rv   rW   s       r   Útest_loc_getitem_intr-    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$rc   r   )rf   rg   rh   r,   )r"   r5   s     r   Ú%test_loc_getitem_int_raises_exceptionr/    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'\)$rc   ))r   Úthreer*   r   )rf   rg   rh   r,   rM   )r2   r5   rW   rv   s       r   Ú test_loc_getitem_lowerdim_cornerr2    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    Úlabelsr;   ))rm   Ú1)rm   Ú2)r*   r9  r*   r   )r   r.   r   r‚   r   r,   rI   Úassert_numpy_array_equalr   Úasarrayr  r/   rá   r-   r±   rL   rK   )r5   rW   s     r   Ú$test_loc_setitem_single_column_slicer=  *  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 Thingsr{   ÚRz
Bad ThingsÚT)úOkay ThingsÚNr*   )rA  rB  r  rA  r*   r  )r^   r;   )Úd1Úd2Úd3Úd4)Úu1Úu2Úu3rF   rb   r  Úobjectr°   rI  )rE   rÕ   rÐ   )
r   r  r   Úonesr   r   rá   r,   rI   rK   )Úusing_infer_stringÚtupsr5   rv   rW   s        r   Útest_loc_nan_multiindexrN  A  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)Úfreq)éW  i®  i  )ÚPeriodÚCVRrF   )	ÚOMSÚOMKÚRESÚ	DRIFT_INDÚ
OEVRIG_INDÚFIN_INDÚVARE_UDÚLOEN_UDÚFIN_UDrÐ   ))rP  rT  rW  r   rT  rW  )rö   Úperiod_ranger   r‚   r   r,   r   Úisnan)r    rŽ   r  r5   rv   Úalts         r   Útest_loc_period_string_indexingrc  _  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ÚIdx2rF   r   r   r   r;   r'   r   r+   ÚC1ÚC2©rQ   r   r0   r   rÔ   )rö   Úto_datetimer   r‚   r   r,   r   Úget_level_valuesr   rá   Ú	TimestamprI   rs   )Údt_idxÚm_idxr5   rv   rW   s        r   Útest_loc_datetime_mask_slicingro    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¡   rF   r¢   )r   rÕ   )rö   rl  r   r   rá   r,   rI   rs   )Údateru   rv   s      r   Ú&test_loc_datetime_series_tuple_slicingrs  ’  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   ru  r   rr  rF   ÚauthorÚpriceri  rõ   ru  )rõ   ru  ru  rÐ   )r   r   rá   r,   rI   rK   )r5   r  rv   rW   s       r   Útest_loc_with_mi_indexerrx  ž  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_framerH   r   r   Úget_locr,   rL   r•   rI   rK   rs   )Údtiru   r5   Údf2rv   rW   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   ÚsplitrH   rM   r,   rÌ   r•   rI   rK   )r5   r  rT   rW   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Õ   rS  )rm   rm   ÚZÚW)r*   r{   rR  ÚFr;   r�   r   rm   r*   g        )	rö   ÚPeriodIndexr   rO   r   r/   r   rƒ   r,   )ÚpiÚlev2Úlev3rä   ru   rv   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)Nr=   r;   r   rz   r­   rm   r*   r9  rc   ©r   r   )	r   r   r±   r²   rH   rf   rg   rh   r,   )r1   r5   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\)rc   )r   r   )r   r   r‚   rf   rg   rh   r,   )r1   ru   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¡   )r9  r:  r:  Ú3)r¢   r£   r¢   r£   )r  r)   r1  rF   r   ©r;   r   r   z'\('b', '1', slice\(None, None, None\)\)rc   r¡   r9  z\('b', '1'\))r¡   r9  )r   rO   r   rN   r   r   r    rf   rg   rh   r,   rÌ   r   Úget_locs)r1   rä   r5   Ú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 )Nrm   )rp   r'   )r,   rI   rs   )rt   r5   ru   rv   rW   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   r;   r'   )r@   Úind1Úind2r©  rª  r@   r   )r    r   rF   r   ©rÕ   )
r   r   r  rH   r,   r   rá   rI   rK   r   r'  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\)rc   )ç       @r®  ç      @)r   rH   rf   rg   rh   r,   ©r5   s    r   Útest_getitem_non_found_tupler±  )  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 )Nz
2001-01-01éd   ró   z2001-01r   é   r   )rö   r÷   r   rO   r}  rÌ   Úrepeatr{  rI   r;  Únonzero)r   rä   r,   rW   s       r   Útest_get_loc_datetime_indexr·  2  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   r;   r'   r   r+   r^   r   r|   r_   r>   r=   )r   r‚   r   r   rN   r,   rI   rK   )rä   r5   rÛ   rW   s       r   Ú,test_loc_setitem_indexer_differently_orderedr¹  H  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   r;   r'   r   r+   r^   r   ©r   r   r   r   r    r¡   rÐ   )r    r¡   r    r¡   )r   r   r   r   )r   r,   rÌ   rI   rK   r'  s      r   Ú5test_loc_getitem_index_differently_ordered_slice_noner¼  S  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   r^   r+   )r   r   r+   r   r   r^   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   r^   )ru  rë   )r   r+   r›  r  )r   r   )r   r^   )r   r+   r    rÐ   )r   r   r   r   r   r   r   r   )r   r   r   r+   r+   r   r   r^   )r  )	r   r   rá   r,   rÌ   rI   rK   r   Úisin)rÛ   r5   rv   rW   s       r   Ú@test_loc_getitem_index_differently_ordered_slice_none_duplicatesr¿  c  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¸   rF   r£   r   r   r   r¡   r«  )
r   rO   r   r•   r,   rI   rK   r   r   rs   )rä   r5   rW   rv   ru   s        r   Ú3test_loc_getitem_drops_levels_for_one_row_dataframerÂ  y  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 )
Nrz   r   r   r  r­   r*   rm   )r'   r;   ))r*   r   )r*   r   )rm   r   )rm   r   )	r   r‚   r   r   Úzerosr,   rá   rI   rK   )Úcolsr5   rv   rW   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)Nr=   r¢  r   r»  )ÚOhiorÈ  ÚColorado)ÚGreenÚRedrÊ  rÐ   Úkey1Úkey2ÚstateÚcolorz\[2\] not in indexrc   r¡   r   rÉ  )r   r   r±   r²   r   r   r0   rf   rg   rh   r,   )r3   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)Nr;   r   r   r    r¡   r   z\['not' 'found'\] not in indexrc   ÚnotÚfound)r   r/   r   r‚   rf   rg   rh   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   r;   r+   r^   r    r   r   rm   r*   rÐ   r®   r¢   r   )r¢   ©r   rm   )r£   rÖ  )rê   r®  g      @g      @)r¯  r<   g      @g       @)r¯  g      ð¿r®   r®   r¯  )r    r    r¢   r£   )r   r   r‚   r,   r   r  rI   rK   )rv   rW   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   r;   r¢   r£   rF   r   )rí   r¡   rí   r¡   r   )r   r   rO   r,   Ú
isinstancer   rŠ   rL   )r5   rv   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¡   rm   r*   r   r   rF   r�   r«  r   )
r   r‚   r   r   rƒ   r,   r  r   rI   rs   )r  Ús2rv   rW   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à  )r_   r_   rÃ   é   r´  é!   r   rz   rm   r*   z^1$rc   )r³  r   )r   r/   rH   rf   rg   rh   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   )r;   r'   r   r   r   )r   rá   r   r,   )rä   ru   rv   s      r   Ú*test_multindex_series_loc_with_tuple_labelrå  ã  sA   € ä	×	Ñ	 ¨Ð 5Ó	6€BÜ
�!�Q�˜rÔ
"€CØ�W‰W�[Ñ!€FØ�QŠ;Ð‰;r   )8Únumpyr   rf   Úpandas.errorsr   r   Úpandasrö   r   r   r   r   Úpandas._testingÚ_testingrI   Úfixturer   r"   r$   r  r  rÌ   Ú
IndexSlicer  r   r(  r*  r-  r/  r2  r=  rN  rc  ro  rs  rx  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÷Zñ Zðz ‡�×ÑØà	ˆ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   