
    Mh6                        S SK rS SKrS SKJrJrJr  S SKJr	  \R                  S 5       r\R                  R                  SS S 4S S 4S	 S
 4/5      S 5       rS rS rS rS rS rS rS rS r\R                  R                  S/ SQ/ SQ// SQ/ SQSS/4/ SQ/ SQ// SQ/ SQSS/4/ S Q/ S!Q// SQ/ S"QS#S$/4/ S%Q/ SQ/ S&Q// SQ/ S'Q/ S(Q4/5      S) 5       rS* rg)+    N)	DataFrame
MultiIndexSeriesc                      [         R                  R                  S5      R                  S5      n [	        U / SQ/ SQ// SQ/ SQ/S9$ )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    \/var/www/html/env/lib/python3.13/site-packages/pandas/tests/indexing/multiindex/test_iloc.pysimple_multiindex_dataframer      sA     99  #33F;Dy*-i5M     zindexer, expectedc                      U R                   S   $ )Nr   ilocdfs    r   <lambda>r"          rwwqzr   c                 *    [        U S   / SQ/ SQ/SS9$ )Nr   r	   r   )r
   r   r   namer   arrs    r   r"   r"      s    s1vi-D6Rr   c                      U R                   S   $ Nr   r   r    s    r   r"   r"   "   r#   r   c                 *    [        U S   / SQ/ SQ/SS9$ )Nr   r	   r   )r   r   r%   r'   r(   s    r   r"   r"   #   s    s1vi-D7Sr   c                 (    U R                   S S 2S4   $ r+   r   r    s    r   r"   r"   &   s    rwwq!t}r   c                 2    [        U S S 2S4   / SQ/ SQ/SS9$ )Nr   r   r   )r
   r   r%   r'   r(   s    r   r"   r"   '   s    s1a4yK0HwWr   c                 l    UnUR                   nU " U5      nU" U5      n[        R                  " XQ5        g )N)valuestmassert_series_equal)indexerexpectedr   r!   r)   results         r   test_iloc_returns_seriesr6      s2    $ 
%B
))CR[F}H6,r   c                 v    U nUR                   SS/   nUR                  SSS9n[        R                  " X#5        g )Nr      r
   F
drop_level)r   xsr1   assert_frame_equal)r   r!   r5   r4   s       r   test_iloc_returns_dataframer=   3   s8    	$BWWaV_FuuQ5u)H&+r   c                 V    U nUR                   nUR                  S   nUS   nX4:X  d   eg )Nr   r   )r0   r   )r   r!   r)   r5   r4   s        r   test_iloc_returns_scalarr@   :   s2    	$B
))CWWT]F4yHr   c                  &   [        / SQ/ SQ/6 n [        R                  " U 5      n[        [        R
                  R                  S5      R                  S5      US9nUR                  SS/   nUR                  SSS	9n[        R                  " X45        g )
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   sz    
$&:;
<C""3'E	299((+;;FC5	QBWWaV_FuuSUu+H&+r   c                      [         R                  R                  S5      R                  S5      n [	        U / SQ/ SQ// SQ/ SQ/S9nUR
                  S   nU S   nX#:X  d   eg )	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   sc    
))


"
2
26
:C	 /2#%9:
B
 WWT]F4yHr   c                 \    U nUR                   S S nUS S n[        R                  " X#5        g )Nr
   )r   r1   r<    multiindex_dataframe_random_datar!   r5   r4   s       r   test_frame_getitem_slicerX   Y   s/    	)BWWRa[F"1vH&+r   c                     U nSUR                   S S& UR                  S S S:H  R                  5       (       d   eUR                  SS  S:g  R                  5       (       d   eg )Nr   r
   )r   r0   all)rW   r!   s     r   test_frame_setitem_slicer[   `   s^    	)BBGGBQKIIbqMQ##%%%%IIabMQ##%%%%r   c                  6   [         R                  " / SQ5      n [         R                  " / SQ5      n[        [        R                  " S5      R                  S5      XS9nUR                  S S 2S4   nUR                  S S 2S4   n[        R                  " X45        g )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   sy    $$CG ""#KLE	299R=((0	OBWWQT]Fvva()H6,r   c                  \   SS/SS/SS/SS/S	S
//n [         R                  " / SQ5      n[        U 5      n[        XS9n[        [        S5       VVs/ s H,  n[        S5       Vs/ s H  oSR                  XE4   PM     snPM.     snn5      n[
        R                  " Xb5        g s  snf s  snnf )Nstr00str01str10str11str20srt21str30str31str40str41))CCrO   rq   rP   rr   )BBrB   )rs   rC   rF      r   )r   rH   r   ranger   r1   r<   )r   r   r4   r!   rcr5   s          r   test_iloc_integer_locationsrx   v   s     
'	'	'	'	'D ""IE H	4	%B58L8aa9198LMF&+ :Ls   B(
$B#=B(
#B(
z!data, indexes, values, expected_k)r      rt   )r   !   r   )r   r8   )r   r   r8      r   )r8   ry   i+  )r8   rz   i  )   i,  d   i  i*  )r8   r   r|   )r   r
   r   )r   r   i     i  )r8      r
   )r   rz   r   )r
   r|   r   )r         c                    [        U / SQS9nUR                  SS/5      nUR                  R                  5       n[	        X5       H  u  pgUR
                  U==   U-  ss'   M     X4S'   UR                  n[        R                  " XX5        g )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      st     
o	6B	sCj	!BTTYY[FG$A! % sGttH6,r   c                     U nUR                   S   nUR                  UR                  S   5      n[        R                  " X#5        g r+   )r   r;   r   r1   r2   rV   s       r   test_getitem_ilocr      s8    	)BWWQZFuuRXXa[!H6,r   )numpyr   pytestpandasr   r   r   pandas._testing_testingr1   fixturer   markparametrizer6   r=   r@   rJ   rT   rX   r[   re   rx   r   r    r   r   <module>r      s0     
  
 
  "R	

 "S	

 %W	
"-#"-,,
,&-,, ' j	!:y1b'B
	%z?S$KP
Y	^b$ZH
j*	-z:{S	---r   