Ë
    u™ãjm  ã                   ó¶  — d dl Zd dlZd dlZd dlmZ ej                  d„ «       Z	ej                  j                  dd„ d„ fd„ d„ fd„ d	„ fg«      d
„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  j                  dg d¢g d¢gg d¢g d¢ddgfg d¢g d¢gg d¢g d¢ddgfg d¢g d ¢gg d¢g d!¢d"d#gfg d$¢g d¢g d%¢gg d¢g d&¢g d'¢fg«      d(„ «       Zd)„ Zy)*é    Nc                  ó¦   — t         j                  j                  d«      j                  d«      } t	        j
                  | g d¢g d¢gg d¢g d¢g¬«      S )z—
    Factory function to create simple 3 x 3 dataframe with
    both columns and row MultiIndex using supplied data or
    random data by default.
    é   )é   r   ©r   r   é   ©é   é   é
   ©r   r   r
   ©r
   r   é   ©ÚcolumnsÚindex)ÚnpÚrandomÚdefault_rngÚstandard_normalÚpdÚ	DataFrame)Údatas    úu/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/indexing/multiindex/test_iloc.pyÚsimple_multiindex_dataframer      sE   € ô �9‰9× Ñ  Ó#×3Ñ3°FÓ;€DÜ�<‰<Ø’y¢*Ð-²iÂÐ5Môð ó    zindexer, expectedc                 ó    — | j                   d   S )Nr   ©Úiloc©Údfs    r   ú<lambda>r!      ó   € �r—w‘w˜q‘z€ r   c                 óD   — t        j                  | d   g d¢g d¢gd¬«      S )Nr   r   r   )r   r
   ©r   Úname©r   ÚSeries©Úarrs    r   r!   r!      s   € œŸ	™	 # a¡&²ºJÐ0GÈfÔU€ r   c                 ó    — | j                   d   S ©Nr   r   r   s    r   r!   r!      r"   r   c                 óD   — t        j                  | d   g d¢g d¢gd¬«      S )Nr   r   r   )r
   r   r$   r&   r(   s    r   r!   r!      s   € œŸ	™	 # a¡&²ºJÐ0GÈgÔV€ r   c                 ó(   — | j                   d d …df   S r+   r   r   s    r   r!   r!   "   s   € �r—w‘wšq !˜t‘}€ r   c                 óL   — t        j                  | d d …df   g d¢g d¢gd¬«      S )Nr   r   r   )r   r   r$   r&   r(   s    r   r!   r!   #   s#   € œŸ	™	Ø’A�q�D‘	¢)ª[Ð!9Àô€ r   c                 ól   — |}|j                   } | |«      } ||«      }t        j                  ||«       y )N)ÚvaluesÚtmÚassert_series_equal)ÚindexerÚexpectedr   r    r)   Úresults         r   Útest_iloc_returns_seriesr6      s4   € ð( 
%€BØ
�)‰)€CÙ�R‹[€FÙ˜‹}€HÜ×Ñ˜6 8Õ,r   c                 ó|   — | }|j                   ddg   }|j                  dd¬«      }t        j                  ||«       y )Nr   é   r   F©Ú
drop_level)r   Úxsr1   Úassert_frame_equal)r   r    r5   r4   s       r   Útest_iloc_returns_dataframer=   1   s:   € Ø	$€BØ�W‰W�a˜�V‰_€FØ�u‰u�Q 5ˆuÓ)€HÜ×Ñ˜& (Õ+r   c                 óV   — | }|j                   }|j                  d   }|d   }||k(  sJ ‚y )N©r   r   )r0   r   )r   r    r)   r5   r4   s        r   Útest_iloc_returns_scalarr@   8   s4   € Ø	$€BØ
�)‰)€CØ�W‰W�T‰]€FØ�4‰y€HØ�XÒÐÑr   c                  ó^  — t        g d¢g d¢gddiŽ} t        j                  j                  | «      }t        j                  t
        j                  j                  d«      j                  d«      |¬«      }|j                  ddg   }|j                  d	d
¬«      }t        j                  ||«       y )N)ÚarB   ÚbrC   )ÚxÚyrD   rE   ÚstrictTr   )r   r   ©r   r   rC   Fr9   )Úzipr   Ú
MultiIndexÚfrom_tuplesr   r   r   r   r   r   r;   r1   r<   )Útupr   r    r5   r4   s        r   Ú test_iloc_getitem_multiple_itemsrL   @   s‰   € ä
Ò$Ò&:Ð;Ð
IÀDÑ
I€CÜ�M‰M×%Ñ% cÓ*€EÜ	�‰”b—i‘i×+Ñ+¨AÓ.×>Ñ>¸vÓFÈeÔ	T€BØ�W‰W�a˜�V‰_€FØ�u‰u�S UˆuÓ+€HÜ×Ñ˜& (Õ+r   c                  óÞ   — t         j                  j                  d«      j                  d«      } t	        j
                  | g d¢g d¢gg d¢g d¢g¬«      }|j                  d   }| d   }||k(  sJ ‚y )	Nr   ©r   r   )ÚirO   Új)ÚArQ   ÚB)rO   rO   rP   Úk)ÚXrT   ÚYrU   r   r?   )r   r   r   r   r   r   r   )r)   r    r5   r4   s       r   Útest_iloc_getitem_labelsrV   J   si   € ä
�)‰)×
Ñ
 Ó
"×
2Ñ
2°6Ó
:€CÜ	�‰ØÚ ¢/Ð2Ú#Ò%9Ð:ô
€Bð
 �W‰W�T‰]€FØ�4‰y€HØ�XÒÐÑr   c                 ó\   — | }|j                   d d }|d d }t        j                  ||«       y )Nr   )r   r1   r<   ©Ú multiindex_dataframe_random_datar    r5   r4   s       r   Útest_frame_getitem_slicerZ   W   s1   € Ø	)€BØ�W‰W�R�aˆ[€FØ�"�1ˆv€HÜ×Ñ˜& (Õ+r   c                 ó®   — | }d|j                   d d |j                  d d dk(  j                  «       sJ ‚|j                  dd  dk7  j                  «       sJ ‚y )Nr   r   )r   r0   Úall)rY   r    s     r   Útest_frame_setitem_slicer]   ^   sX   € Ø	)€BØ€B‡G�GˆBˆQ€Kà�I‰I�b�qˆM˜QÑ×#Ñ#Ô%Ð%Ð%Ø�I‰I�a�bˆM˜QÑ×#Ñ#Ô%Ð%Ñ%r   c                  ót  — t         j                  j                  g d¢«      } t         j                  j                  g d¢«      }t        j                  t	        j
                  d«      j                  d«      || ¬«      }|j                  d d …df   }|j                  d d …df   }t        j                  ||«       y )N))ÚOhioÚGreen©r_   ÚRed)ÚColorador`   ))rB   r8   )rB   r   )rC   r8   )rC   r   r   rN   )r   r   r8   ra   )r   rI   rJ   r   r   ÚarangeÚreshaper   Úlocr1   r2   )r   r   r    r5   r4   s        r   Ú test_indexing_ambiguity_bug_1678rg   f   s‰   € ä�m‰m×'Ñ'ÚCó€Gô �M‰M×%Ñ%Ò&NÓO€Eä	�‰”b—i‘i “m×+Ñ+¨FÓ3¸5È'Ô	R€Bà�W‰W’Q˜�T‰]€FØ�v‰v’a˜Ð(Ñ)€HÜ×Ñ˜6 8Õ,r   c                  óª  — ddgddgddgddgd	d
gg} t         j                  j                  g d¢«      }t        j                  | «      }t        j                  | |¬«      }t        j                  t	        d«      D ��cg c]*  }t	        d«      D �cg c]  }|j
                  ||f   ‘Œ c}‘Œ, c}}«      }t        j                  ||«       y c c}w c c}}w )NÚstr00Ústr01Ústr10Ústr11Ústr20Úsrt21Ústr30Ústr31Ústr40Ústr41))ÚCCrQ   ©rs   rR   rt   )ÚBBrB   )ru   rC   rG   é   r   )r   rI   rJ   r   Úranger   r1   r<   )r   r   r4   r    ÚrÚcr5   s          r   Útest_iloc_integer_locationsrz   t   s¼   € ð 
�'ÐØ	�'ÐØ	�'ÐØ	�'ÐØ	�'Ðð€Dô �M‰M×%Ñ%ÚIó€Eô �|‰|˜DÓ!€HÜ	�‰�d %Ô	(€Bä�\‰\ÄeÈAÃh×OÀ´5¸³8Ö<¨a˜BŸG™G A q D›MÔ<ÓOÓP€Fä×Ñ˜& (Õ+ùò =ùÓOs   Á<C
ÂC
Â&C
Ã
C
z!data, indexes, values, expected_k)r   é   rv   )r   é!   r	   )r   éÿÿÿÿr8   )r   r   r8   é   r   )r8   r{   i+  )r8   r|   iš  )éÈ   i,  éd   ió  i*  )r8   r   r~   )r   r   r
   )r   r   iè  é   iú  )r8   é   r   )r   r|   r	   )r   r~   r   )r
   é   é   c                 ó8  — t        j                  | g d¢¬«      }|j                  ddg«      }|j                  j	                  «       }t        ||d¬«      D ]  \  }}|j                  |xx   |z  cc<   Œ ||d<   |j                  }t        j                  ||«       y )N)rO   rP   rS   )r   r   rO   rP   T)rF   rS   )	r   r   Ú	set_indexrS   ÚcopyrH   r   r1   r2   )	r   Úindexesr0   Ú
expected_kr    ÚseriesrO   Úvr4   s	            r   Ú'test_iloc_setitem_int_multiindex_seriesrŒ   Š   s‡   € ô 
�‰˜4ªÔ	9€BØ	�‰�s˜C�jÓ	!€Bà�T‰T�Y‰Y‹[€FÜ�G˜V¨DÔ1ò ‰ˆˆ1Ø�‰�A‹˜!ÑŒðð €B€s�GØ�t‰t€HÜ×Ñ˜6 8Õ,r   c                 óŽ   — | }|j                   d   }|j                  |j                  d   «      }t        j                  ||«       y r+   )r   r;   r   r1   r2   rX   s       r   Útest_getitem_ilocrŽ   ¥   s:   € Ø	)€BØ�W‰W�Q‰Z€FØ�u‰u�R—X‘X˜a‘[Ó!€HÜ×Ñ˜6 8Õ,r   )Únumpyr   ÚpytestÚpandasr   Úpandas._testingÚ_testingr1   Úfixturer   ÚmarkÚparametrizer6   r=   r@   rL   rV   rZ   r]   rg   rz   rŒ   rŽ   © r   r   ú<module>r˜      s)  ðÛ Û ã Ý ð ‡�ñ
ó ð
ð ‡�×ÑØñ "ÙUð	
ñ
 "ÙVð	
ñ
 %ñð	
ðóñ&-ó'ð&-ò,òò,ò
ò,ò&ò-ò,ð, ‡�×ÑØ'ò ’jÐ	!¢:ªy¸1¸b¸'ÐBâ
šÐ	%¢z²?ÀSÈ$ÀKÐPâ
’YÐ	¢ª^¸bÀ$¸ZÐHâ
’j¢*Ð	-ªzº:Â{ÐSð	óñ-óð-ó-r   