§
    tŠtj6  ã                   óÈ  — d dl Zd dlZd dlmZmZmZ d dlmZ	 ej
        d„ ¦   «         Ze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                             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dS )+é    N)Ú	DataFrameÚ
MultiIndexÚSeriesc                  ó¢   — t           j                             d¦  «                             d¦  «        } t	          | 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_normalr   )Údatas    úh/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pandas/tests/indexing/multiindex/test_iloc.pyÚsimple_multiindex_dataframer      s_   € õ Œ9× Ò  Ñ#Ô#×3Ò3°FÑ;Ô;€DÝØ�y�y�y * * *Ð-°i°i°iÀÀÀÐ5Mðñ ô ð ó    zindexer, expectedc                 ó   — | j         d         S )Nr   ©Úiloc©Údfs    r   ú<lambda>r"      ó   € �r”w˜q”z€ r   c                 ó>   — t          | d         g d¢g d¢gd¬¦  «        S )Nr   r	   r   )r
   r   ©r   Úname©r   ©Úarrs    r   r"   r"      s&   € �˜s 1œv¨i¨i¨i¸¸¸Ð-DÈ6ÐRÑRÔR€ r   c                 ó   — | j         d         S ©Nr   r   r    s    r   r"   r"   "   r#   r   c                 ó>   — t          | d         g d¢g d¢gd¬¦  «        S )Nr   r	   r   )r   r   r%   r'   r(   s    r   r"   r"   #   s&   € �˜s 1œv¨i¨i¨i¸¸¸Ð-DÈ7ÐSÑSÔS€ r   c                 ó$   — | j         d d …df         S r+   r   r    s    r   r"   r"   &   s   € �r”w˜q˜q˜q !˜t”}€ r   c                 óF   — t          | d d …df         g d¢g d¢gd¬¦  «        S )Nr   r   r   )r
   r   r%   r'   r(   s    r   r"   r"   '   s.   € �˜s 1 1 1 a 4œy°°°¸K¸K¸KÐ0HÈwÐWÑWÔW€ r   c                 ón   — |}|j         } | |¦  «        } ||¦  «        }t          j        ||¦  «         d S )N)ÚvaluesÚtmÚassert_series_equal)ÚindexerÚexpectedr   r!   r)   Úresults         r   Útest_iloc_returns_seriesr6      sC   € ð$ 
%€BØ
Œ)€CØˆW�R‰[Œ[€FØˆx˜‰}Œ}€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                 ó€   — | }|j         ddg         }|                     dd¬¦  «        }t          j        ||¦  «         d S )Nr   é   r
   F©Ú
drop_level)r   Úxsr1   Úassert_frame_equal)r   r!   r5   r4   s       r   Útest_iloc_returns_dataframer=   3   sD   € Ø	$€BØŒW�a˜�VŒ_€FØ�uŠu�Q 5ˆuÑ)Ô)€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                 óR   — | }|j         }|j        d         }|d         }||k    sJ ‚d S )N©r   r   )r0   r   )r   r!   r)   r5   r4   s        r   Útest_iloc_returns_scalarr@   :   s9   € Ø	$€BØ
Œ)€CØŒW�TŒ]€FØ�4Œy€HØ�XÒÐÐÐÐÐr   c                  óD  — t          g d¢g d¢gŽ } t          j        | ¦  «        }t          t          j                             d¦  «                             d¦  «        |¬¦  «        }|j        ddg         }| 	                    dd¬	¦  «        }t          j        ||¦  «         d S )
N)ÚarB   ÚbrC   )ÚxÚyrD   rE   r   )r
   r
   ©r   r   rC   Fr9   )Úzipr   Úfrom_tuplesr   r   r   r   r   r   r;   r1   r<   )Útupr   r!   r5   r4   s        r   Ú test_iloc_getitem_multiple_itemsrJ   B   sœ   € å
Ð$Ð$Ð$Ð&:Ð&:Ð&:Ð;Ð
<€CÝÔ" 3Ñ'Ô'€EÝ	•2”9×(Ò(¨Ñ+Ô+×;Ò;¸FÑCÔCÈ5Ð	QÑ	QÔ	Q€BØŒW�a˜�VŒ_€FØ�uŠu�S UˆuÑ+Ô+€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                  óà   — t           j                             d¦  «                             d¦  «        } t	          | g d¢g d¢gg d¢g d¢g¬¦  «        }|j        d         }| d         }||k    sJ ‚d S )	Nr   ©r
   r   )ÚirM   Új)ÚArO   ÚB)rM   rM   rN   Úk)ÚXrR   ÚYrS   r   r?   )r   r   r   r   r   r   )r)   r!   r5   r4   s       r   Útest_iloc_getitem_labelsrT   L   sŽ   € å
Œ)×
Ò
 Ñ
"Ô
"×
2Ò
2°6Ñ
:Ô
:€CÝ	ØØ �� / / /Ð2Ø#Ð#Ð#Ð%9Ð%9Ð%9Ð:ð
ñ 
ô 
€Bð
 ŒW�TŒ]€FØ�4Œy€HØ�XÒÐÐÐÐÐr   c                 óf   — | }|j         d d…         }|d d…         }t          j        ||¦  «         d S )Nr
   )r   r1   r<   ©Ú multiindex_dataframe_random_datar!   r5   r4   s       r   Útest_frame_getitem_slicerX   Y   s<   € Ø	)€BØŒW�R�a�RŒ[€FØ�"�1�"Œv€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                 ó¾   — | }d|j         d d…<   |j        d d…         dk                         ¦   «         sJ ‚|j        dd …         dk                         ¦   «         sJ ‚d S )Nr   r
   )r   r0   Úall)rW   r!   s     r   Útest_frame_setitem_slicer[   `   sj   € Ø	)€BØ€B„GˆBˆQˆB�KàŒI�b�q�bŒM˜QÒ×#Ò#Ñ%Ô%Ð%Ð%Ð%ØŒI�a�b�bŒM˜QÒ×#Ò#Ñ%Ô%Ð%Ð%Ð%Ð%Ð%r   c                  ó:  — t          j        g d¢¦  «        } t          j        g d¢¦  «        }t          t          j        d¦  «                             d¦  «        || ¬¦  «        }|j        d d …df         }|j        d d …df         }t          j	        ||¦  «         d S )N))ÚOhioÚGreen©r]   ÚRed)ÚColorador^   ))rB   r8   )rB   r   )rC   r8   )rC   r   r   rL   )r   r   r8   r_   )
r   rH   r   r   ÚarangeÚreshaper   Úlocr1   r2   )r   r   r!   r5   r4   s        r   Ú test_indexing_ambiguity_bug_1678re   h   s¡   € åÔ$ØCÐCÐCñô €Gõ Ô"Ð#KÐ#KÐ#KÑLÔL€Eå	•2”9˜R‘=”=×(Ò(¨Ñ0Ô0¸ÀwÐ	OÑ	OÔ	O€BàŒW�Q�Q�Q˜�TŒ]€FØŒv�a�a�a˜Ð(Ô)€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                  ó  ‡— ddgddgddgddgd	d
gg} t          j        g d¢¦  «        }t          | ¦  «        }t          | |¬¦  «        Št          ˆfd„t          d¦  «        D ¦   «         ¦  «        }t	          j        ||¦  «         d S )NÚstr00Ústr01Ústr10Ústr11Ústr20Úsrt21Ústr30Ústr31Ústr40Ústr41))ÚCCrO   ©rq   rP   rr   )ÚBBrB   )rs   rC   rF   c                 óJ   •‡— g | ]Šˆˆfd „t          d¦  «        D ¦   «         ‘ŒS )c                 ó.   •— g | ]}‰j         ‰|f         ‘ŒS © r   )Ú.0Úcr!   Úrs     €€r   ú
<listcomp>z:test_iloc_integer_locations.<locals>.<listcomp>.<listcomp>‡   s#   ø€ Ð9Ð9Ð9¨1˜œ  A œÐ9Ð9Ð9r   r   )Úrange)rw   ry   r!   s    @€r   rz   z/test_iloc_integer_locations.<locals>.<listcomp>‡   s8   øø€ ÐLÐLÐL¸aÐ9Ð9Ð9Ð9Ð9µ°a±´Ð9Ñ9Ô9ÐLÐLÐLr   é   )r   rH   r   r{   r1   r<   )r   r   r4   r5   r!   s       @r   Útest_iloc_integer_locationsr}   v   s±   ø€ ð 
�'ÐØ	�'ÐØ	�'ÐØ	�'ÐØ	�'Ðð€Dõ Ô"ØIÐIÐIñô €Eõ ˜‰Œ€HÝ	�4˜uÐ	%Ñ	%Ô	%€BåÐLÐLÐLÐLÅ5ÈÁ8Ä8ÐLÑLÔLÑMÔM€FåÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   z!data, indexes, values, expected_k)r   é   r|   )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                 ó$  — t          | g d¢¬¦  «        }|                     ddg¦  «        }|j                             ¦   «         }t	          ||¦  «        D ]\  }}|j        |xx         |z  cc<   Œ||d<   |j        }t          j        ||¦  «         d S )N)rM   rN   rQ   )r   r   rM   rN   rQ   )r   Ú	set_indexrQ   ÚcopyrG   r   r1   r2   )	r   Úindexesr0   Ú
expected_kr!   ÚseriesrM   Úvr4   s	            r   Ú'test_iloc_setitem_int_multiindex_seriesr�   Œ   sž   € õ 
˜ o o oÐ	6Ñ	6Ô	6€BØ	�Š�s˜C�jÑ	!Ô	!€BàŒT�YŠY‰[Œ[€FÝ�G˜VÑ$Ô$ð ð ‰ˆˆ1ØŒ�AˆˆŒ˜!Ñˆˆ‰ˆà€B€s�GØŒt€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                 óŽ   — | }|j         d         }|                     |j        d         ¦  «        }t          j        ||¦  «         d S r+   )r   r;   r   r1   r2   rV   s       r   Útest_getitem_ilocr‘   §   sB   € Ø	)€BØŒW�QŒZ€FØ�uŠu�R”X˜a”[Ñ!Ô!€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   )Únumpyr   ÚpytestÚpandasr   r   r   Úpandas._testingÚ_testingr1   Úfixturer   ÚmarkÚparametrizer6   r=   r@   rJ   rT   rX   r[   re   r}   r�   r‘   rv   r   r   ú<module>rš      sS  ðØ Ð Ð Ð Ø €€€ðð ð ð ð ð ð ð ð ð ð
 Ð Ð Ð Ð Ð ð „ð
ð 
ñ „ð
ð „×ÒØð "Ð!ØRÐRð	
ð
 "Ð!ØSÐSð	
ð
 %Ð$ØWÐWð	
ðñô ð"-ð -ñ#ô ð"-ð,ð ,ð ,ðð ð ð,ð ,ð ,ð
ð 
ð 
ð,ð ,ð ,ð&ð &ð &ð-ð -ð -ð,ð ,ð ,ð, „×ÒØ'ð ˆ*ˆ*�j�j�jÐ	! : : :¨y¨y¨y¸1¸b¸'ÐBà
ˆ,ˆ,˜˜˜Ð	% z z z°?°?°?ÀSÈ$ÀKÐPà
ˆ)ˆ)�Y�Y�YÐ	   ¨^¨^¨^¸bÀ$¸ZÐHà
ˆ*ˆ*�j�j�j * * *Ð	-¨z¨z¨z¸:¸:¸:À{À{À{ÐSð	ñô ð-ð -ñô ð-ð-ð -ð -ð -ð -r   