Ë
    ¤eh€  ã                   ó  — 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   © ó    úg/var/www/skyplay_api_hub/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                   óZ  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zej                  j                  d
dd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$y)&ÚTestMultiIndexLocc                 óæ   — |}d|j                   d<   |j                   d   dk(  sJ ‚|j                  «       }t        t        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_dataÚframeÚdfs       r   Ú&test_loc_setitem_frame_with_multiindexz8TestMultiIndexLoc.test_loc_setitem_frame_with_multiindex$   sq   € Ø0ˆØ)*ˆ�	‰	Ð%Ñ&Ø�y‰yÐ,Ñ-°Ò2Ð2Ð2ð �Z‰Z‹\ˆÜœ% ›(“^ˆŒ
Ø$%ˆ�‰Ð Ñ!Ø�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>   r?   r>   r?   )Úkeys)r:   r;   r   T)Úinplacer   ©Údtype©r   r=   )r6   r7   r8   r   )r   ÚastypeÚ	set_indexÚtmÚassert_produces_warningr   Úassert_frame_equalr+   ÚilocÚ
sort_indexr   Úarrayr   Úfrom_arrays)r0   Úany_real_numpy_dtyperC   Údatar3   ÚkeyÚreturn_valueÚresÚcol_arrÚyear_arrr   Úexpecteds               r   Útest_loc_getitem_generalz*TestMultiIndexLoc.test_loc_getitem_general/   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   r9   ©r   é   é
   ©r9   r9   r\   ©r\   r]   r;   ©r/   r   z^2$©Úmatch©	r   r   r   r    r!   ÚpytestÚraisesÚKeyErrorr+   ©r0   r3   s     r   Ú0test_loc_getitem_multiindex_missing_label_raiseszBTestMultiIndexLoc.test_loc_getitem_multiindex_missing_label_raisesL   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]   )rn   r   é   )Úreindexr   r+   rG   Úassert_series_equal)r0   Ú/multiindex_year_month_day_dataframe_random_dataÚserrU   Úresults        r   Ú/test_loc_getitem_list_of_tuples_with_multiindexzATestMultiIndexLoc.test_loc_getitem_list_of_tuples_with_multiindexW   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   ©rk   r)   ÚCé	   ©r   rO   rC   r   r   ©r   r   r   r   r*   r\   ©rO   r   rC   r   r   )rO   rC   ©r   r   rC   ©r   rC   )
r   Úfrom_productr   r.   r   Úfloat64r+   rG   rq   r   )r0   r   ÚxÚyrU   rt   Úy1Úemptys           r   Útest_loc_getitem_seriesz)TestMultiIndexLoc.test_loc_getitem_series_   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 )Nrw   rx   rz   r{   r   r   r|   r}   r~   r�   r   r   )r   r€   r   r.   r   r�   rL   r+   rG   rq   r   Úint64)r0   r   r‚   rƒ   rU   rt   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   rY   )ÚirŒ   Új)rk   rk   r)   )ÚXrŽ   ÚYr`   r   r   rŒ   ©Úaxisr�   )rŒ   rŽ   ©
r   r   r   r    r!   rJ   Ú	droplevelr+   rG   rI   ©r0   r3   rU   rt   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   rY   rZ   r[   r^   r_   r`   r   r   r9   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rX   rc   rg   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÷	÷ 	ñ 	úri   zkey, posr   r9   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   rY   rZ   r[   r^   r_   r`   znot in indexra   rc   )r0   rP   Úposr3   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÷	÷ 	ñ 	úri   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'\)$ra   ©rž   rŸ   z^\('a', 'd', 'g'\)$)rž   r¡   ÚgzToo many indexers)rž   r¡   r¥   r�   )	r   r.   r   r€   rd   re   rf   r+   r   )r0   Ú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      à?©r/   r;   éÿÿÿÿ©r   r   r   r9   rw   r   )r.   Ústrr   r€   r   r   r    r!   r   rG   rI   ÚarangeÚreshaper+   )r0   rŒ   Ú
attributesÚattribute_valuesr   r3   rt   rU   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ˆ   rB   r&   ©rž   rŸ   r    rž   r    r   r9   )r   r*   r\   r;   ro   é   r   )
r   r   r¯   r   r€   r.   r+   rG   rq   rJ   )r0   r¦   rU   rt   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)r0   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+   rG   rI   rJ   r   )r0   r   r3   rt   rU   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   ÚndarrayrL   Úslice)Úindexer_typer@   s     r   Úconvert_nested_indexerzQTestMultiIndexLoc.test_loc_getitem_nested_indexer.<locals>.convert_nested_indexerF  s9   € ØœrŸz™zÒ)Ü—x‘x “~Ð%ØœuÒ$Ü˜d�|Ð#Ù Ó%Ð%r   rÀ   rw   rˆ   rB   ÚData©r   r/   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>Y  s$   øè ø€ ò 
á�˜añ # <°×3ñ
ùs   ƒzas an indexer is not supportedra   )r   r   r9   r&   ©Únamer   )r   r€   r   r   r¯   rº   ÚtupleÚzipÚsetrd   re   Ú	TypeErrorr+   r   rG   rq   )r0   rÄ   rÅ   rž   rŸ   r   r3   r@   ÚtypesÚindexerrt   rU   rÌ   s               @r   Útest_loc_getitem_nested_indexerz1TestMultiIndexLoc.test_loc_getitem_nested_indexer;  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ž   rk   ©rŸ   rk   r   r   r   r   ©rž   )r   Úfrom_tuplesr+   rG   Úassert_equal)r0   Úframe_or_seriesÚmiÚobjrU   s        r   Ú)test_multiindex_loc_one_dimensional_tuplez;TestMultiIndexLoc.test_multiindex_loc_one_dimensional_tuplej  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+   rG   rI   )r0   rÙ   râ   rã   rU   s        r   Ú-test_multiindex_one_dimensional_tuple_columnsz?TestMultiIndexLoc.test_multiindex_one_dimensional_tuple_columnsr  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   r9   r   r   r   r9   rž   rŸ   rÎ   rè   r    r¡   )r   r   rè   rè   ©rž   rŸ   r    r¡   ræ   )r0   rÙ   Ú	exp_valuerâ   r3   rU   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+   rG   rI   r   rp   r   )r0   ÚmidxÚser1Úser2r3   rU   rt   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_rG   rI   )r0   r3   rR   rU   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   r9   z(1, 4)ra   )r   ©r   r9   )r   rd   re   rf   r+   rg   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__r4   rV   rh   ru   r†   rŠ   r•   r—   r™   rd   ÚmarkÚparametrizerœ   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$   #   sz  „ ò	.ò-ò:	ò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, posrk   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)Nrx   ©r
   r   r   Úoner(   rD   rz   rˆ   rB   r   r   ra   r
   r  z'bah')r   r€   r   r   r¯   rK   rJ   Úsizerd   re   rf   r®   r+   rÊ   rG   rq   )rÙ   r›   Úidxrs   rU   rt   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.   rK   rp   r+   rG   rI   )r  Úmulti_indexr3   rU   rt   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+   ©r3   rt   rU   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!   rF   r+   rG   rq   )r3   rU   rt   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“   rG   rI   )r"   r3   rt   rU   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$ra   r   )rd   re   rf   r+   )r"   r3   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'\)$ra   ))r   Úthreer)   r   )rd   re   rf   r+   rK   )r1   r3   rU   rt   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ž   Úlabelsr9   ))rk   Ú1)rk   Ú2)r)   r6  r)   r   )r   r-   r   r€   r   r+   rG   Úassert_numpy_array_equalr   Úasarrayr  r.   rß   r,   r¯   rJ   rI   )r3   rU   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 Thingsry   ÚRz
Bad ThingsÚT)úOkay ThingsÚNr)   )r>  r?  r  r>  r)   r  )r\   r9   )Úd1Úd2Úd3Úd4)Úu1Úu2Úu3rD   r`   r  Úobjectzstring[pyarrow_numpy]rF  )rC   rÓ   rÎ   )
r   r  r   Úonesr   r   rß   r+   rG   rI   )Úusing_infer_stringÚtupsr3   rt   rU   s        r   Útest_loc_nan_multiindexrK  9  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‘(Ð:QØô
ô
 Ò.Ó/ô€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ÚCVRrD   )	ÚOMSÚOMKÚRESÚ	DRIFT_INDÚ
OEVRIG_INDÚFIN_INDÚVARE_UDÚLOEN_UDÚFIN_UDrÎ   ))rM  rQ  rT  r   rQ  rT  )rô   Úperiod_ranger   r€   r   r+   r   Úisnan)rž   rŒ   r  r3   rt   Úalts         r   Útest_loc_period_string_indexingr`  W  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ÚIdx2rD   r   r   r   r9   r&   r   r*   ÚC1ÚC2©rO   r   r/   r   rÒ   )rô   Úto_datetimer   r€   r   r+   r   Úget_level_valuesr   rß   Ú	TimestamprG   rq   )Údt_idxÚm_idxr3   rt   rU   s        r   Útest_loc_datetime_mask_slicingrl  w  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Ÿ   rD   r    )r   rÓ   )rô   ri  r   r   rß   r+   rG   rq   )Údaters   rt   s      r   Ú&test_loc_datetime_series_tuple_slicingrp  Š  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   rr  r   ro  rD   ÚauthorÚpricerf  ró   rr  )ró   rr  rr  rÎ   )r   r   rß   r+   rG   rI   )r3   r  rt   rU   s       r   Útest_loc_with_mi_indexerru  –  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_framerF   r   r   Úget_locr+   rJ   r“   rG   rI   rq   )Údtirs   r3   Údf2rt   rU   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   ÚsplitrF   rK   r+   rÊ   r“   rG   rI   )r3   r|  rR   rU   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Ó   rP  )rk   rk   ÚZÚW)r)   ry   rO  ÚFr9   r   r   rk   r)   g        )	rô   ÚPeriodIndexr   rM   r   r.   r   r�   r+   )ÚpiÚlev2Úlev3râ   rs   rt   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;   r9   r   rx   r«   rk   r)   r6  ra   ©r   r   )	r   r   r¯   r°   rF   rd   re   rf   r+   )r0   r3   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\)ra   )r   r   )r   r   r€   rd   re   rf   r+   )r0   rs   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Ÿ   )r6  r7  r7  Ú3)r    r¡   r    r¡   )r  r(   r.  rD   r   ©r9   r   r   z'\('b', '1', slice\(None, None, None\)\)ra   rŸ   r6  z\('b', '1'\))rŸ   r6  )r   rM   r   rL   r   r   r    rd   re   rf   r+   rÊ   r   Úget_locs)r0   râ   r3   Ú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 )Nrk   )rn   r&   )r+   rG   rq   )rr   r3   rs   rt   rU   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   r9   r&   )r>   Úind1Úind2r¦  r§  r>   r   )rž   r   rD   r   ©rÓ   )
r   r   r  rF   r+   r   rß   rG   rI   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\)ra   )ç       @r«  ç      @)r   rF   rd   re   rf   r+   ©r3   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   rM   rz  rÊ   Úrepeatrx  rG   r8  Únonzero)r   râ   r+   rU   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   r9   r&   r   r*   r\   r   rz   r]   r<   r;   )r   r€   r   r   rL   r+   rG   rI   )râ   r3   rÙ   rU   s       r   Ú,test_loc_setitem_indexer_differently_orderedr¶  @  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   r9   r&   r   r*   r\   r�  ©r   r   r   r   rž   rŸ   rÎ   )rž   rŸ   rž   rŸ   )r   r   r   r   )r   r+   rÊ   rG   rI   r$  s      r   Ú5test_loc_getitem_index_differently_ordered_slice_noner¹  K  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\   )rr  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Ê   rG   rI   r   Úisin)rÙ   r3   rt   rU   s       r   Ú@test_loc_getitem_index_differently_ordered_slice_none_duplicatesr¼  [  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¶   rD   r¡   r   r   r   rŸ   r¨  )
r   rM   r   r“   r+   rG   rI   r   r   rq   )râ   r3   rU   rt   rs   s        r   Ú3test_loc_getitem_drops_levels_for_one_row_dataframer¿  q  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 )
Nrx   r   r   r  r«   r)   rk   )r&   r9   ))r)   r   )r)   r   )rk   r   )rk   r   )	r   r€   r   r   Úzerosr+   rß   rG   rI   )Úcolsr3   rt   rU   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 indexra   rŸ   r   rÆ  )r   r   r¯   r°   r   r   r/   rd   re   rf   r+   )r2   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)Nr9   r   r   rž   rŸ   r   z\['not' 'found'\] not in indexra   ÚnotÚfound)r   r.   r   r€   rd   re   rf   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   r9   r*   r\   rž   r   r   rk   r)   rÎ   r¬   r    r   )r    ©r   rk   )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  rG   rI   )rt   rU   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   r9   r    r¡   rD   r   )rë   rŸ   rë   rŸ   r   )r   r   rM   r+   Ú
isinstancer   rˆ   rJ   )r3   rt   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Ÿ   rk   r)   r   r   rD   r   r¨  r   )
r   r€   r   r   r�   r+   r  r   rG   rq   )r  Ús2rt   rU   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   rx   rk   r)   z^1$ra   )r°  r   )r   r.   rF   rd   re   rf   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   )r9   r&   r   r   r   )r   rß   r   r+   )râ   rs   rt   s      r   Ú*test_multindex_series_loc_with_tuple_labelrâ  Û  sA   € ä	×	Ñ	 ¨Ð 5Ó	6€BÜ
�!�Q�˜rÔ
"€CØ�W‰W�[Ñ!€FØ�QŠ;Ð‰;r   )8Únumpyr   rd   Úpandas.errorsr   r   Úpandasrô   r   r   r   r   Úpandas._testingÚ_testingrG   Úfixturer   r"   r$   r
  r  rÊ   Ú
IndexSlicer  r  r%  r'  r*  r,  r/  r:  rK  r`  rl  rp  ru  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÷Rñ Rðj ‡�×ÑØà	ˆ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   