
    Owg                     N   d Z ddlmZ ddlZddlZddlZddlmZ ddlm	c m
Z ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZ ddlm Z  ddl!m"Z"  ejF                  d      Z$ G d	 d
      Z% G d d      Z& G d d      Z' G d d      Z( G d d      Z) G d d      Z*y)z* test positional based indexing with iloc     )datetimeN)IndexingError)NACategoricalCategoricalDtype	DataFrameIndexIntervalNaTSeries	Timestamparrayconcat
date_rangeinterval_rangeisnato_datetime)	is_scalar)"check_indexing_smoketest_or_raiseszuonly integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indicesc                       e Zd Zej                  j                  dddg dg      ej                  j                  dddg      ej                  j                  dg d	      d
                      Zy)TestiLockey   r      r   kindseriesframecol)labelsmixedtsfloatsemptyc                 V    |j                  | d|       }t        |d|t               y )N_iloc)fails)getfixturevaluer   
IndexError)selfr   r   r    requestobjs         V/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/indexing/test_iloc.py"test_iloc_getitem_int_and_list_intz+TestiLoc.test_iloc_getitem_int_and_list_int)   s2     %%auo6*		
    N)__name__
__module____qualname__pytestmarkparametrizer0    r1   r/   r   r   (   sg    [[UQI$67[[Vh%89[[4
	 : 8
r1   r   c                      e Zd ZdZej
                  j                  d ed       ed       ed      g d e	 ed             e
j                  g d      g      ej
                  j                  dej                  ej                  g      d               Zej
                  j                  deeg      d	        Zd
 Zd Zej
                  j                  d e
j*                  d       ed      fg      ej
                  j                  d ed      ddggddg ed      f eddd      g ed      fg      d               Zd Zd Zd Zd Zd Zd Zej
                  j                  dddgg d 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,ej
                  j                  dd/g eddd       e
j                   d/g      g      ej
                  j                  d0d1g e
j                   d1g      g      d2               Z-ej
                  j]                  d3      d4        Z/d5 Z0d6 Z1d7 Z2d8 Z3d9 Z4d: Z5d; Z6d< Z7d= Z8ej
                  j                  d0de9e
jt                  g      d>        Z;ej
                  j                  d? e<d/d      d@dAg      dB        Z=dC Z>ej
                  j                  dej                  ej                  g      dD        Z?dE Z@dF ZAej
                  j                  dGee
j                   g      dH        ZBej
                  j                  ddg eddI      g      dJ        ZCdK ZDdL ZEdM ZFdN ZGdO ZHdP ZIej
                  j                  dQee
j                   g      ej
                  j                  dRee
j                   g      dS               ZJdT ZKdU ZLeMj                  dV        ZOdW ZPy)XTestiLocBaseIndependentzTests Independent Of Base Classr   N   r   indexerc                 (   t        dt        d      it              }t        g d      }|s*|j                  j
                  d   j                  |      sJ |j                         }|j                  }| ||      |df<   t        d|i      j                  t              }|s%t        j                  |d   j                  |      sJ t        j                  ||       d|j                  d<   |d   dk7  sJ t        t        j                  g dt              t        d      d      }|j                         }| ||      |df<   t        t!        |j                  t              t              t        d      d      }t        j                  ||       y )	Nr   r;   dtype)alphabetagammarB   r   r   r   r   r   )r   rangeobjectr   _mgrblocks_can_hold_elementcopyvaluesastypenpshares_memorytmassert_frame_equalr(   r   r   )	r,   r<   r   using_array_managerr   catdf	orig_valsexpecteds	            r/   %test_iloc_setitem_fullcol_categoricalz=TestiLocBaseIndependent.test_iloc_setitem_fullcol_categorical?   sK    1eAh-v645"::$$Q'99#>>>ZZ\II	!CFaX&--f5"##BqELL)<<<
b(+  1v   
 bhhy?E!HMNZZ\!CF

6(:&!IeTUhWX
b(+r1   boxc                 r   t        g d      } ||j                  d            }|t        u r|j                  }n|j                  j
                  d   }|t        u r ||dd        |j                  d d n ||dd        |j                  d ddf<    |t        j                   g dd            }t        j                  ||       |t        u rF|r2|j                  |usJ t        j                  |j                  |      sJ |j                  |u sJ y y t        j                  |d   j                  |      sJ y )Nr   r   r;      i8r   r   )r;   rZ   r;   rZ   r>   )r   to_numpyr   rK   rG   arraysr(   rM   rO   assert_equalrN   )r,   frame_or_seriesrW   using_copy_on_writearrr.   rK   rU   s           r/   test_iloc_setitem_ea_inplacez4TestiLocBaseIndependent.test_iloc_setitem_ea_inplacek   s    L!cll401f$ZZFXX__Q'Ff$s12w<CHHRaL!#ab'lCHHRaRUO"288L#EF
X& f$"zz///''

F;;;zzV+++ < ##CFMM6:::r1   c                     t        g d      }t        t        d      |      }|j                  j	                  d      sJ |j                         }|j                  j	                  d      sJ y )N)r   r   r   r;   index)r   r   r   )r	   r   rE   r(   _is_scalar_accessto_frame)r,   re   serrS   s       r/   test_is_scalar_accessz-TestiLocBaseIndependent.test_is_scalar_access   sW    i U1XU+xx))$///\\^ww((000r1   c           
      (   t        t        j                  j                  d      j                  d      t	        d            }d}t        j                  t        |      5  |j                  d d g df    d d d        t        j                  t        |      5  |j                  dd	g    d d d        t        j                  t        |      5  |j                  dd
g    d d d        t        j                  t        |      5  |j                  dg    d d d        |d   }t        j                  t        |      5  |j                  dg    d d d        t        j                  t        |      5  |j                  dg    d d d        d}t        j                  t        |      5  |j                  d	    d d d        t        j                  t        |      5  |j                  d
    d d d        t        j                  t        |      5  |j                  d	    d d d        t        j                  t        |      5  |j                  d
    d d d        |j                  d d ddf   }|j                  d d dd f   }t        j                  ||       |j                  d d ddf   }|j                  d d d df   }t        j                  ||       |j                  d d dddf   }|j                  d d d ddf   }t        j                  ||       |j                  d d dddf   }|j                  d d dd df   }t        j                  ||       |j                  d d ddf   }|j                  d d d df   }t        j                  ||       |j                  d d ddf   }|j                  d d d df   }t        j                  ||       |j                  d d dddf   }|j                  d d d df   }t        j                  ||       |j                  d d ddf   }|j                  d d d df   }t        j                  ||       |j                  dd	 }|j                  dd  }t        j                  ||       |j                  d	d  }|j                  d d }t        j                  ||       |j                  d	d d   }|j                  d d d   }t        j                  ||       t        t        j                  j                  d      j                  d      t	        d            }t        j                  |j                  d d ddf   t        |j                  t        g |j                  j                                      t        j                  |j                  d d ddf   |j                  d d dgf          t        j                  |j                  dd |j                  dg          d}t        j                  t        |      5  |j                  g d    d d d        d}t        j                  t        |      5  |j                  d d df    d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   cxY w# 1 sw Y   <xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nr   )      ABCDEcolumnsz%positional indexers are out-of-boundsmatchr   r   r   r;   rZ   rm   r      id   Aiz*single positional indexer is out-of-boundsrZ   
   ir   r   i      rm   r   ABr;   r>   re   rp      rZ   rm   r~   )r   rM   randomdefault_rnglistr5   raisesr+   r(   rO   rP   assert_series_equalstandard_normalre   r	   rp   r?   )r,   rS   msgsresultrU   dfls          r/   test_iloc_exceeds_boundsz0TestiLocBaseIndependent.test_iloc_exceeds_bounds   s    ryy,,Q/66w?gW 6]]:S1 	+GGA))*	+]]:S1 	GGQG	]]:S1 	GGQH	]]:S1 	GGSEN	 sG]]:S1 	FFC5M	]]:S1 	FFD6N	 ;]]:S1 	GGBK	]]:S1 	GGCL	 ]]:S1 	FF2J	]]:S1 	FF3K	 AbD!771ab5>
fh/BsF#771bqb5>
fh/BqG$771eqe8$
fh/Ac"H%771aee8$
fh/CE"771bqb5>
fh/BqD!771bqb5>
fh/CBJ'771bqb5>
fh/BrE"771bqb5>
fh/ 266"#;
vx066"1:
vx0B66$B$<
vx0 II!!!$44V<d4j
 	HHQ!VCIIuRs{{?P?P/QR	
 	chhq!A#v.QC0@A
chhqmSXXqc];5]]:S1 	 HHY	 :]]:S1 	HHQTN	 	w	+ 	+	 		 		 		 		 	
	 		 		 		 	z	  	 	 	s    Y:ZZZ!<Z.0Z;&[[["?[/&[<\:ZZZ!Z+.Z8;[[["[,/[9<\\zindex,columnsrl   rn   zindex_vals,column_valsrv   D12i  r   c                 &   t        t        j                  j                  d      j	                  t        |      t        |      f      ||      }d}t        j                  t        |      5  |j                  ||f    d d d        y # 1 sw Y   y xY w)Nr   r}   z$.iloc requires numeric indexers, gotrq   )
r   rM   r   r   r   lenr5   r   r+   r(   )r,   re   rp   
index_valscolumn_valsrS   r   s          r/   test_iloc_non_integer_raisesz4TestiLocBaseIndependent.test_iloc_non_integer_raises   sy     II!!!$44c%j#g,5OP

 5]]:S1 	-GGJ+,	- 	- 	-s   ,BBc                 
   t        t        j                  d      j                  dd            }t	        j
                  ||      }t        j                  t        d      5  |j                  d    d d d        y # 1 sw Y   y xY w)Nru   rw   zCannot index by location indexrq   a)
r   rM   arangereshaperO   get_objr5   r   	TypeErrorr(   )r,   r_   r.   s      r/    test_iloc_getitem_invalid_scalarz8TestiLocBaseIndependent.test_iloc_getitem_invalid_scalar  sb     		#..r267jjo.]]9,LM 	HHSM	 	 	s    A99Bc                     t        j                  g d      }|j                         }t        g dg dg ddg d      }|j                  |    t        j                  ||       |j                  d d |f    t        j                  ||       y )N)r   r   r   )ru   e   f   )g   h   i   )j   k   l   rv   BCr   r   r;   rd   )rM   r   rJ   r   r(   rO   assert_numpy_array_equal)r,   array_with_neg_numbers
array_copyrS   s       r/   -test_iloc_array_not_mutating_negative_indiceszETestiLocBaseIndependent.test_iloc_array_not_mutating_negative_indices  sy    !#*!5+002
!oN
 	&'
##$:JG
))*
##$:JGr1   c                 &   t        g dg dd      }|d   }|j                  d   }|j                  d   }t        j                  ||       |j                  dg   }|j                  dg   }t        j                  ||       |j                  d   }|j                  d   }||k(  sJ |j                  dg   }|j                  dg   }t        j                  ||       t        dgdg      }|j                  d	g   }t        j                  ||       y )
N)r   r;   rm   )   ry      rv   r   rv   r   r   rd   r   )r   r(   rO   r   rP   r   )r,   rS   r   rU   r   s        r/   /test_iloc_getitem_neg_int_can_reach_first_indexzGTestiLocBaseIndependent.test_iloc_getitem_neg_int_can_reach_first_index"  s     Y[9:sG771:
vx077A3<"
fh/66!9!!!661#;
vx0 3%u-t$
vx0r1   c                 <   t        d dddddg      }t        ddddddg      }t        ||gd      }|j                  d   }t        |      sJ |j                  dd d f   }t	        t
        j                  dddgg d	d
      }t        j                  ||       y )Nr   r   r   r;   rZ   axisrC   r   rv   r   rv   r   )re   name)	r   r   r(   r   r   rM   nanrO   r   )r,   df1df2rS   r   rU   s         r/   test_iloc_getitem_dupsz.TestiLocBaseIndependent.test_iloc_getitem_dups=  s    t!,AA.>?@qq)+;<=S#JQ' F||A2661a+3GaP
vx0r1   c                    t        dddddddddd	d
dg      }t        ddddg      }t        j                  |j                  dg   |       t        ddddddddg      }t        j                  |j                  ddg   |       t        dddd	d
dgddg      }|j                  ddgddgf   }t        j                  ||       y )Nr   r   r;   r   ru      ,        r   )r   r   rd   )r   rO   rP   r(   r,   rS   rU   r   s       r/   test_iloc_getitem_arrayz/TestiLocBaseIndependent.test_iloc_getitem_arrayK  s    aa(#.D1
 AAA678
bggqclH5AAA6cRU8VWX
bggq!fox8AA.d0FGPQSTvV!Q!Q(
fh/r1   c                 .   t        dddddddddd	d
dg      }t        ddddddddg      }|j                  g d   }t        j                  ||       t        dddddd	d
dgddg      }|j                  d    }t        j                  ||       y )Nr   r   r;   r   ru   r   r   r   r   r   )TTFr   rd   c                 &    | j                   dz  dk(  S )Nr   r   rd   xs    r/   <lambda>z@TestiLocBaseIndependent.test_iloc_getitem_bool.<locals>.<lambda>n  s    177Q;!#3 r1   r   r(   rO   rP   r   s       r/   test_iloc_getitem_boolz.TestiLocBaseIndependent.test_iloc_getitem_bool^  s    aa(#.D1
 AAA6cRU8VWX,-
fh/11%T4'HIRSUVQW
 34
fh/r1   re   TF)TFTFc                     t        g d      }dt        |       dt        |       }t        j                  t        |      5  |j
                  |    d d d        y # 1 sw Y   y xY w)Nr   z Boolean index has wrong length: z instead of rq   )r   r   r5   r   r+   r(   )r,   re   r   r   s       r/   test_iloc_getitem_bool_diff_lenz7TestiLocBaseIndependent.test_iloc_getitem_bool_diff_lenq  sV     90ULQQ]]:S1 	FF5M	 	 	s   AA%c                    t        dddddddddd	d
dg      }t        ddddddddg      }|j                  d d }t        j                  ||       t        dddgdg      }|j                  ddddf   }t        j                  ||       t        dddddddd
dg      }|j                  d d d f   }t        j                  ||       y )Nr   r   r;   r   ru   r   r   r   r   r   r   rd   r   )rv   r   c                 
    ddgS )Nr   r   r8   )rS   s    r/   r   zATestiLocBaseIndependent.test_iloc_getitem_slice.<locals>.<lambda>  s
    1v r1   r   r   s       r/   test_iloc_getitem_slicez/TestiLocBaseIndependent.test_iloc_getitem_slicey  s    aa(#.D1
 AAA6cRU8VWX!
fh/Cc23A3?1ac"
fh/1Ss34d5KL
 --.
fh/r1   c                    t        t        j                  j                  d      j	                  d      g d      }t        t        j                  j                  d      j                  ddd      j                  dd      d	d
g      }t        ||gd      }t        j                  |j                  d d d df   |       t        j                  |j                  d d dd f   |       t        ||gd      }t        j                  |j                  d d d df   |       t        j                  |j                  d d dd f   |       t        ||j                  d d dgf   gd      }t        j                  |j                  d d ddf   |       t        ||gd      }t        j                  |j                  ddd df   |       t        j                  |j                  dddd f   |       t        j                  |j                  dd d df   |       t        j                  |j                  dd dd f   |       y )Nr   rw   rZ   )rv   rv   r   r   ro   r   rw   rl   sizerv   r   r   r   rZ   r;   )r   rM   r   r   r   integersr   r   rO   rP   r(   )r,   r   r   rS   exps        r/   test_iloc_getitem_slice_dupsz4TestiLocBaseIndependent.test_iloc_getitem_slice_dups  s   II!!!$44W=(
 II!!!$--a"-=EEb!L#J
 S#JQ'
bgga!enc2
bggaenc2S#JQ'
bgga!enc2
bggaenc2c388AsF+,15
bgga1fos3 RH1%
bggadBQBh/5
bggadABh/5
bggbc2A2g.4
bggbc12g.4r1   c           	      \   t        t        j                  j                  d      j	                  d      t        j
                  ddd      t        j
                  ddd            }d|j                  d	<   |j                  d	   }|dk(  sJ d|j                  d d ddf<   |j                  d d ddf   }|j                  d d ddf   }t        j                  ||       t        dg d
      }|j                  ddxxx dz  ccc t        g dg d
      }t        j                  ||       y )Nr   rZ   rZ   r         r;   r}   r   r   r   r   rd   r   r   r   )r   rM   r   r   r   r   r(   rO   rP   r   r   )r,   warn_copy_on_writerS   r   rU   r   s         r/   test_iloc_setitemz)TestiLocBaseIndependent.test_iloc_setitem  s    II!!!$44V<))Aq!$IIaQ'
 {{1Q3771ac6?AaC
fh/ 1I&	qq)95
q(+r1   c                 (   t        g dg dg dg      }|d   j                  t              |d<   t        g dg dg dg      }|d   j                  t              |d<   d|j                  d      d	<   t	        j
                  ||       t        g dg dg dg      }|d   j                  t              |d<   t        g d
g dg dg      }|d   j                  t              |d<   d|j                  d      d	<   t	        j
                  ||       y )N)r~   crw   )r   dry   )r   er   r   )rm   rm   rm   rm   r   r   r   )r~   r   rm   )r   r   rm   )r   r   rm   )r   rL   rF   r(   rO   rP   r,   rS   rU   s      r/   test_iloc_setitem_axis_argumentz7TestiLocBaseIndependent.test_iloc_setitem_axis_argument  s    lLAB1V$1lL)DEqk((0Q
b(+lLAB1V$1k;DEqk((0Q
b(+r1   c                 h   t        t        j                  d      j                  d      g dg d      }|j                  ddgddgf    |j                  ddgddgfxx   dz  cc<   t        t        j
                  g d	      j                  d      g dg d      }t        j                  ||       y )
N	   r;   r;   r   r}   r   r   r   ru   )	r   r   r   r;   r   r   r~   r   r   )r   rM   r   r   r(   r   rO   rP   r   s      r/   test_iloc_setitem_listz.TestiLocBaseIndependent.test_iloc_setitem_list  s    IIaL  (
 	AA
AA3&HH89AA&I!#

 	b(+r1   c                 @   t        g d      }t        g d      }|j                         }ddg|j                  t        ddg      <   t        j                  ||       |j                         }ddg|j                  t        ddg      <   t        j                  ||       y )N)r   r   r   r;   )r   r   r;   r   r   r   r   )r   rJ   r(   rO   r   r	   )r,   s_origrU   r   s       r/   test_iloc_setitem_pandas_objectz7TestiLocBaseIndependent.test_iloc_setitem_pandas_object  s    %.)KKM"$bvq!f~
q(+KKM!#RuaV}
q(+r1   c                 V   t        d dddddg      }t        ddddddg      }t        ||gd      }|j                  d      }t        j                  |j
                  d d df         }||   j                  }|j
                  |df   |j
                  |df<   t        j                  ||       t        ddgddgd      }d	d	g|_	        |d
= t        j                  ||       |j
                  ddgddgf   |j
                  ddgddgf<   t        j                  ||       |j
                  ddgddgf   j                  d      |j
                  ddgddgf<   |j
                  ddgddgf   j                  d      |j
                  ddgddgf<   t        j                  ||       y )Nr   r   r   r;   rZ   r   r   rD   r   rv   T)drop)r   r   fillnarM   isnanr(   re   rO   rP   rp   reset_index)r,   r   r   rS   rU   indsmasks          r/   test_iloc_setitem_dupsz.TestiLocBaseIndependent.test_iloc_setitem_dups  s    t!,AA.>?@qq)+;<=S#JQ'99Q<xx1&Dz7747+a
b(+ !QQF34:sG
b(+ #%''1a&1a&."9AA
b(+ #%''1a&1a&."9"E"E4"E"PAA"$''1a&1a&."9"E"E4"E"PAA
b(+r1   c                 v   t        ddgddggddg      }|j                  d d df   j                  d      |j                  d d df<   |s$t        |j                  j
                        dk(  sJ t        j                  t        d	      5  |j                  d d df   d
z   |j                  d d df<   d d d        |s$t        |j                  j
                        dk(  sJ |j                         }|j                  ddgddgf   |j                  ddgddgf<   t        j                  ||       y # 1 sw Y   ~xY w)Nr   r   r   r;   r   ro   f8incompatible dtyperq   g      ?)r   r(   rL   r   rG   rH   rO   assert_produces_warningFutureWarningrJ   rP   )r,   rQ   rS   rU   s       r/   9test_iloc_setitem_frame_duplicate_columns_multiple_blockszQTestiLocBaseIndependent.test_iloc_setitem_frame_duplicate_columns_multiple_blocks  s   
 AA'#s< 1,,T21"rww~~&!+++ ''=QR 	0GGAqDMC/BGGAqDM	0"rww~~&!+++779 #%''1a&1a&."9AA
b(+	0 	0s   
(D//D8c           	         t        t        j                  j                  d      j	                  d      t        ddd      t        ddd            }|j                  d   }|j                  d   }t        j                  ||       |j                  d   }|j                  d	   }||k(  sJ |j                  dd }|j                  dd
 }t        j                  ||       |j                  d d ddf   }|j                  d d ddf   }t        j                  ||       |j                  g d   }|j                  g d   }t        j                  ||       |j                  g dddgf   }|j                  g dddgf   }t        j                  ||       |j                  g dddgf   }|j                  g dddgf   }t        j                  ||       |j                  g dddgf   }|j                  g dddgf   }t        j                  ||       t        t        dd      t              }|j                  |j                     }|j                  g d   }t        j                  ||       y )Nr   r   r   rl   r   r}   rZ   )r   r   r      r;   rm   )r   r   r;   )r   r   r~   r   )r   r   r;   r   )rz   r   r~   r~   )r   r   r   r;   )rz   rz   r   r~   )re   r?   )r   rZ   r~   r   )r   rM   r   r   r   rE   r(   locrO   r   rP   r   rF   re   )r,   rS   r   r   rU   r   s         r/   test_iloc_getitem_framez/TestiLocBaseIndependent.test_iloc_getitem_frame(  s+   II!!!$44W=2q/!QN
 ffQi
vs+ffTl}} 166!B<
fh/AaC66!QqS&>
fh/ #66)$
fh/QF*+66)aV+,
fh/ b!W,-66*q!f,-
fh/ "a0166.1a&01
fh/ q!F3!66,'
fh/r1   c                    t        t        j                  j                  d      j	                  d      t        d      t        d            }|j                  d   }|j                  d   }||k(  sJ |j                  d d ddf   }|j                  d d d	gf   }t        j                  ||       |j                  d
   }|j                  d   }||k(  sJ d}t        j                  t        |      5  |j                  d    d d d        d}t        j                  t        |      5  |j                  d    d d d        y # 1 sw Y   ?xY w# 1 sw Y   y xY w)Nr   r   
abcdefghijABCDr}   r   )br   r;   r   )r   r   )jr   zCindex 5 is out of bounds for axis 0 with size 4|index out of boundsrq   )rw   rm   zLocation based indexing can only have \[integer, integer slice \(START point is INCLUDED, END point is EXCLUDED\), listlike of integers, boolean array\] types)r   rM   r   r   r   r   r(   r   rO   rP   r5   r   r+   
ValueError)r,   rS   r   r   rU   r   s         r/    test_iloc_getitem_labelled_framez8TestiLocBaseIndependent.test_iloc_getitem_labelled_frameY  s9   II!!!$44W=|$L
 ffX}}AaC66!cU(#
fh/ ffX}} T]]:S1 	GGEN	
; 	
 ]]:S1 	GGH	 		 		 	s   3E(EE
Ec                    t         j                  j                  d      j                  d      }t	        dd      }t        d      }t        |||      }|j                          |j                  dd	d
df   }t        |dd	d
df   |dd	 |d
d       }t        j                  ||       t        d      |_        |j                  dd	d
df   }t        |dd	d
df   |dd	 t        d            }t        j                  ||       t         j                  j                  d      j                  d      }t        t        d
dd            }t        t        d
dd            }t        |||      }|s#|j                  j                  d
   j                   |j                  dd	ddf   }t        |dd	ddf   |dd	 |dd       }t        j                  ||       y )Nr   )r~   rZ   20130101r~   )periodsr   r}   r;   rm   r   aaaaaar   r   r   rZ   )rM   r   r   r   r   r   r   describer(   rO   rP   rp   rE   rG   rH   mgr_locs)r,   rQ   ra   re   rp   rS   r   rU   s           r/   test_iloc_getitem_doc_issuez3TestiLocBaseIndependent.test_iloc_getitem_doc_issue|  s    ii##A&66v>:q1v,s%9 	1ac"S1ac]%!*gaPQlS
fh/ &\
1ac"S1ac]%!*d4jQ
fh/ ii##A&66v>U1b!_%uQ1~&s%9"GGNN1&&1ac"S1ac]%!*gaPQlS
fh/r1   c                    t        t        j                  j                  d      j	                  d      t        d      t        d            }d|j                  d<   |j                  d   }|dk(  sJ d|j                  d d dd	f<   |j                  d d dd	f   }|j                  d d dd	f   }t        j                  ||       t        t        j                  j                  d      j	                  d
      t        ddd            }d|j                  d<   |j                  d   }|dk(  sJ d|j                  d d |j                  d d }|j                  d d }t        j                  ||       t        dgdz        }g d|j                  dd d<   g d|j                  dd d<   |}t        g d      }t        j                  ||       y )Nr   r   r   r   r}   r   r   r   r;   rw   rl   rd   rZ   r   r~   )r   r   rZ   )r   r;   rm   rs   )r   rM   r   r   r   r   r(   rO   rP   r   rE   r   )r,   rS   r   rU   r   s        r/   test_iloc_setitem_seriesz0TestiLocBaseIndependent.test_iloc_setitem_series  s   II!!!$44W=|$L
 {{1Q3771ac6?AaC
fh/299((+;;B?uQPRTUWq	{{r
66"1:
vx0B4!8 qt!t qt!t,-
vx0r1   c                    t        t        j                  dd      t        j                  ddd      d      }ddgddgg|j                  d	d
 t        g dg dd      }t	        j
                  ||       t        g dt        j                  ddd      d      }ddgddgg|j                  d	d
 t        g dg dd      }t	        j
                  ||       y )Nrm   int64r>   rw   r   ry   r   r   r   rZ   )r   r   rw   r   rZ   )rm   r~   ry   r   r   r   r   r   r   r   r   y)r   r   r   r  r   )r   rM   r   r(   rO   rP   r   s      r/   test_iloc_setitem_list_of_listsz7TestiLocBaseIndependent.test_iloc_setitem_list_of_lists  s     ))AW-BIIa74ST
 R2r(+!#4;LMN
b(++"))Ar2QR
 b	C9-!#<CTUV
b(+r1   r   valueZc                     t        ddgddggddg      j                  dt        i      }||j                  d|f<   |j                  d	   }t	        |      r|d
k(  sJ y )Nr   r   r;   rZ   rv   r   ro   r   rC   r  )r   rL   rF   r(   r   )r,   r<   r  rS   r   s        r/   #test_iloc_setitem_with_scalar_indexz;TestiLocBaseIndependent.test_iloc_setitem_with_scalar_index  se     AA'#s<CCS&MR#7
 Vs]22]r1   zignore::UserWarningc                    t        t        t        d            t        d      dg      }|j                  dz  dk(  }d}t	        j
                  t        |      5  |j                  |    d d d        t        t        |            |_	        d	}t	        j
                  t        |      5  |j                  |    d d d        |j                  t        j                  d
gt        |      z  t                 }t        j                  ||       t        j                   d      }d|z  }|D cg c]  }t#        |       }}t        ||d|      }ddddddddd	d	}	dD ]  }
|j$                  dkD  j&                  }|
r't)        ||
      d d d   }t+        |t        |            }dD ]n  }	 |rt)        ||dd        }n|}t-        t#        ||   d   j/                                     }|
|f}|	j3                  |      }||k7  s[t5        d| d| d| d        y # 1 sw Y   xY w# 1 sw Y   lxY wc c}w # t        t0        t        f$ r}t-        |      }Y d }~wd }~ww xY w)Nrm   rn   r   r}   r   r   zBiLocation based boolean indexing cannot use an indexable as a maskrq   zDiLocation based boolean indexing on an integer type is not availableTr>   rZ   )locsnums0b11000b11ztUnalignable boolean Series provided as indexer (index of the boolean Series and of the indexed object do not match).)	)N )N.loc)N.iloc)re   r  )re   r  )re   r  )r  r  )r  r  )r  r  )Nre   r  r   )r  r  r  r   r  [z] does not match [z], received [])r   r   rE   r   r5   r   r  r(   r   re   NotImplementedErrorrM   r   boolrO   rP   r   binr  rK   getattrr   strsumr   getAssertionError)r,   rS   r   r   r   r  r  numrepsrU   idx
mask_indexmethodaccessoranswererrr   rs                     r/   test_iloc_maskz&TestiLocBaseIndependent.test_iloc_mask  sY    tE!H~T']SEJttax1}R]]:S1 	GGDM	3t9%
T]].c: 	GGDM	 4&3t9"4DAB
fb) yy|$w$()SC))d3T: !$%!%T$,0!
, + 	CGGaK''D$R-dd3
dD$45/ &#*2vabz#:#% Xd^F%;%?%?%A!BCF
  LL%;(C5 26(-s!L !	O	 		 	 *J #M3FG & XF&s6   H(H")H/%<H4H"H,4IIIc                    t        dgdz  dgdz  d      }t        j                  d      dz  }|j                  |   }t	        |d|z  d|z  g      }|j                  |   }t        j                  ||       t        dgd	z  dgd	z  d      }t	        |d|z  d|z  g      }t        j                  t        d
      5  |j                  |    d d d        y # 1 sw Y   y xY w)N皙?r   r   r   rt   c   r   r;   r   znot in indexrq   )r   rM   r   r(   r   rO   rP   r5   r   KeyErrorr   )r,   rS   r+  rU   df3r   r   s          r/   test_iloc_non_unique_indexingz5TestiLocBaseIndependent.test_iloc_non_unique_indexing'  s    cUT\d
;<iimb 773<b!b&!b&)*#
fh/sedl!t<=c1s7AG,-]]8>: 	GGCL	 	 	s   <CCc                 T   t        t        j                  d      t        t	        d      D cg c]  }d| 	 c}d      t        t	        d      D cg c]  }d| 	 c}d            }t        j                  |j                  d d g f   |j                  d d d df   d	d	
       t        j                  |j                  g d d f   |j                  d dd d f   d	d	
       t        j                  |j                  g    |j                  d dd d f   d	d	
       y c c}w c c}w )Nr{   rm   zi-r   r   r   r}   r   T)check_index_typecheck_column_type)r   rM   onesr	   rE   rO   rP   r(   )r,   irS   s      r/   "test_iloc_empty_list_indexer_is_okz:TestiLocBaseIndependent.test_iloc_empty_list_indexer_is_ok8  s    GGFO584a2aS43?U1X6Rs86SA
 	GGArENGGArrEN!"		
 	GGBENGGBQBEN!"		
 	GGBK!Q$RV	
% 56s   D D%c                 n   t        dg di      }|j                  d d  }||usJ t        j                  |d   |d         sJ t	        j
                  |      5  g d|j                  d d df<   d d d        |r|d   g dk(  j                         sJ |d   dk(  j                         sJ t        g d      }|j                  d d  }||usJ t	        j
                  |      5  g d|d d d d d        |rt        |d d g dk(        sJ y t        |d d g dk(        sJ y # 1 sw Y   xY w# 1 sw Y   CxY w)Nr   r   )rZ   rZ   rZ   rZ   )r   r   r;   rZ   rm   r~   r   r   r   r;   )	r   r(   rM   rN   rO   assert_cow_warningr   allr   )r,   r`   r   original_df	sliced_dforiginal_seriessliced_seriess          r/   &test_identity_slice_returns_new_objectz>TestiLocBaseIndependent.test_identity_slice_returns_new_objectQ  sU     i 01$$Q'	+++ C 0)C.AAA ""#56 	0&/KOOAsF#	0cNi/44666cNa',,... !34',,Q/O333 ""#56 	,"+OBQ	,}Ra(I5666}Ra(I5666%	0 	0	, 	,s   D!D+D(+D4c                     t        ddgddgg      }|j                  t        j                  d         }t	        ddgd      }t        j                  ||       y )Nr   r   r;   rZ   r   r:  )r   r(   rM   r   r   rO   r   )r,   rS   r   r   s       r/   test_indexing_zerodim_np_arrayz6TestiLocBaseIndependent.test_indexing_zerodim_np_arrayr  sO    AA'(!%Aq6"
vq)r1   c                 p    t        ddg      }|j                  t        j                  d         }|dk(  sJ y )Nr   r   r   )r   r(   rM   r   )r,   r   r   s      r/   %test_series_indexing_zerodim_np_arrayz=TestiLocBaseIndependent.test_series_indexing_zerodim_np_arrayy  s1    Aq6N${{r1   c                 .   t        g d      }t        |g ddd      }t        j                  |d   |      sJ |d d d   |j                  d d df<   t        j                  |d   |      sJ t        g d	g d
      }t        j
                  ||       y )Nr   r   )r   r   F)rJ   r   r   r   )r   r   rv   
categories)r   r   rO   rN   r(   assert_categorical_equal)r,   rR   rS   rU   s       r/   -test_iloc_setitem_categorical_updates_inplacezETestiLocBaseIndependent.test_iloc_setitem_categorical_updates_inplace  s    /*39-E:1s+++ DbD	11s+++?K
##C2r1   c                    t        ddgddgddgdt        j                  gg      }|j                  |j                  dk  xx   dz  cc<   t        ddgddgdd	gdt        j                  gg      }t        j                  ||       |j                  |j                  dkD  xx   dz  cc<   t        ddgddgdd	gd
t        j                  gg      }t        j                  ||       |j                  g dxx   dz  cc<   t        ddgdd
gdd	gd
t        j                  gg      }t        j                  ||       |j                  g dxx   dz  cc<   t        ddgddgddgdt        j                  gg      }t        j                  ||       y )Nr   r   r   r;   rZ   rm   r~   r   rw   r   )TTFF)FFTTg      @g      (@g      @)r   rM   r   r(   re   rO   rP   r,   r   rU   s      r/    test_iloc_with_boolean_operationz8TestiLocBaseIndependent.test_iloc_with_boolean_operation  si   QFQFQFQK@AFLLA%&!+&q!fq!fq"g266{CD
fh/FLL1$%*%q!fq!fq"gBFF|DE
fh/./14/q!fq"g2wRVVEF
fh/./14/q#hD	As8a[IJ
fh/r1   c                     t        dt        dj                               i      }|j                  d   }t        dgg d      }t	        |dgdd      }t        j                  ||       y )	Nr   z	a b c d er   r   r  rN  category)re   r   r?   )r   r   splitr(   r   rO   r   )r,   rS   r   raw_catrU   s        r/   ?test_iloc_getitem_singlerow_slice_categoricaldtype_gives_serieszWTestiLocBaseIndependent.test_iloc_getitem_singlerow_slice_categoricaldtype_gives_series  s]    [):):)<=>?se0IJ'#QjI
vx0r1   c                 
   t        g d      j                  d      }|j                  dd }t        ddg      j                  t        g d            }t	        j
                  ||       |j                  ddg   }t        ddg      j                  t        g d            }t	        j
                  ||       |j                  g d   }t        dg      j                  t        g d            }t	        j
                  ||       y )Nr   rV  r   r   r   TFF)r   rL   r(   r   rO   r   )r,   ri   r   rU   s       r/   $test_iloc_getitem_categorical_valuesz<TestiLocBaseIndependent.test_iloc_getitem_categorical_values  s     Y&&z2 !A1a&>(()9))DE
vx0 1a&!1a&>(()9))DE
vx0 ./1#;%%&6y&AB
vx0r1   c                     t        g dd      }||j                  d<   t        t        ddgd      }t        j                  ||       y )Nr   ztimedelta64[ns]r>   r   r   r   )r   r(   r   rO   r   )r,   r  r   rU   s       r/   %test_iloc_setitem_td64_values_cast_naz=TestiLocBaseIndependent.test_iloc_setitem_td64_values_cast_na  sA     	):;A31+->?
vx0r1   not_nar   g      ?c                     t        |g      }t        ||||g|      }|||g|j                  d d t        ||||g|      }t        j                  ||       y )NrN  r>   r;   )r   r   r(   rO   r   )r,   r_  nulls_fixturer?   ri   r   s         r/   $test_setitem_mix_of_nan_and_intervalz<TestiLocBaseIndependent.test_setitem_mix_of_nan_and_interval  sg     !VH5M=-HPU
 &v}=!mV]MJRWX
sC(r1   c                    t        g       }t        t        j                  j	                  d      j                  t        |      t        |      f      ||      }t        j                  j	                  d      j                  dd      }d|j                   }t        j                  t        |      5  d|j                  |<   d d d        y # 1 sw Y   y xY w)	Nr   r}   rm   )r   r   r   r   zCannot set values with ndim > rq   r   )r	   r   rM   r   r   r   r   r   ndimr5   r   r  r(   )r,   r+  r.   nd3r   s        r/   4test_iloc_setitem_empty_frame_raises_with_3d_ndarrayzLTestiLocBaseIndependent.test_iloc_setitem_empty_frame_raises_with_3d_ndarray  s    BiII!!!$44c#hC5IJ

 ii##A&//	/B.sxxj9]]:S1 	CHHSM	 	 	s   4CCc                    t        j                  d      }t        |      }t        j                  d      }|j                  d       t        |      }t	        j
                   ||      g d    ||      g d          t	        j
                   ||      dg    ||      dg          t	        j                   ||      d    ||      d          t	        j
                   ||      dd  ||      dd        y )Nrw   F)writer   r   r;   )rM   eyer   setflagsrO   rP   r   )r,   r<   rw_arrayrw_dfro_arrayro_dfs         r/   "test_iloc_getitem_read_only_valuesz:TestiLocBaseIndependent.test_iloc_getitem_read_only_values  s     66":(#66":&(#
genY7	9RS
genaS175>1#3FG
wu~a0'%.2CD
genQq175>!A3FGr1   c                 |   t        dt        j                  dd      i      }t        j                  g d      }d|j                  _        |j                  |   }|j                  g d   }t        j                  ||       |d   j                  |   }|d   j                  g d   }t        j                  ||       y )Ndataru   float64r>   )r   r;   r~   F)r   rM   r=  r   flags	writeabler(   r   rO   rP   r   )r,   rS   indicesr   rU   s        r/   test_iloc_getitem_readonly_keyz6TestiLocBaseIndependent.test_iloc_getitem_readonly_key  s    9 =>?((9%"'!66)$
fh/F)f:>>),
vx0r1   c                     t        dgdg      }t        g d      |j                  d<   t        dt        g d      gidgdg      }t        j                  ||       y )Nr   r   rp   re   r   rC   )r   r   r(   rO   rP   r   s      r/   "test_iloc_assign_series_to_df_cellz:TestiLocBaseIndependent.test_iloc_assign_series_to_df_cell  sS    uQC0y)cF9$5#67#qcR
b(+r1   klassc                     t        g dg dd      } |g d      }|j                  |df   dz  |j                  |df<   t        g dg dd      }t        j                  ||       y )N)r   r  z)r   r;   rZ   )flagr  r[  r   r   )r   r;   rZ   r   )r,   rz  rS   r<   rU   s        r/   test_iloc_setitem_bool_indexerz6TestiLocBaseIndependent.test_iloc_setitem_bool_indexer  sa     )DE,- gggqj1A5
o	JK
b(+r1   r   c                     t        g dg dd      }t        g dg dg dd      }|j                  d d dgf   |j                  d d |f<   t        g dg dg dd      }t        j                  ||       y )	N)ry   r   r   )r         )a2b2r   r   rA  r   r   r   r   r   )r,   r<   r   r   rU   s        r/   %test_iloc_setitem_pure_position_basedz=TestiLocBaseIndependent.test_iloc_setitem_pure_position_based  sf     |<@AiiiHI"xxA3/G9<iPQ
c8,r1   c                 2   t        ddgddgd      }ddd}||j                  d<   t        ddgddgd      }t        j                  ||       t        ddgddgd      }||j                  d<   t        ddgddgd      }t        j                  ||       y )Nr   r   )r   r  r   r5  g       @g     X@r   )r,   rS   rhsrU   s       r/   "test_iloc_setitem_dictionary_valuez:TestiLocBaseIndependent.test_iloc_setitem_dictionary_value  s    aV1a&12B
Aq6B89
b(+ aV3*56
Aq6d<=
b(+r1   c                    t        t        j                  j                  d      j	                  d      g dt        d            }|j                  dd  }t        j                  |j                  d   |       |j                  dd df   }t        j                  |j                  d	   |       g d
|_        |j                  dd  }t        j                  |j                  d   |       |j                  dd df   }t        j                  |j                  d	   |       t        t        j                  j                  d      j	                  d      g dt        d            }|j                  dd }t        j                  |j                  d   |       |j                  dddf   }t        j                  |j                  d	   |       g d|_        |j                  ddg   }t        j                  |j                  d   |       |j                  ddgdf   }t        j                  |j                  d	   |       y )Nr   r   )r4  皙?r  abcr}   r   r  r   )r  r   )r   r  r  )rZ   r;   )r   r  r  r   r   )r4  r  r   r  )r   rM   r   r   r   r   r(   rO   rP   r   r   re   )r,   rS   expects      r/   "test_iloc_getitem_float_duplicatesz:TestiLocBaseIndependent.test_iloc_getitem_float_duplicates$  s   II!!!$44V<!K

 
bffSk62Q
rvvh/8 
bffSk62Q
rvvh/8II!!!$44V<"K

 2
bffSk622q!
rvvh/8%!R!
bffSk62!R!$
rvvh/8r1   c                     G d d      }t        ddgdg      } |d      |j                  d<    |d      |j                  d<   t        ddgdg      } |d      |j                  d<   t        j                  ||       t        ddgdg      } |d      |j                  d<   t        j
                  |j                  d<   t        ddgdg      }t        j                  ||       y )Nc                   6    e Zd ZddZdefdZeZdefdZd Z	y)CTestiLocBaseIndependent.test_iloc_setitem_custom_object.<locals>.TOreturnNc                     || _         y Nr  )r,   r  s     r/   __init__zLTestiLocBaseIndependent.test_iloc_setitem_custom_object.<locals>.TO.__init__L  s	    "
r1   c                 "    d| j                    dS )Nr  r   r  r,   s    r/   __str__zKTestiLocBaseIndependent.test_iloc_setitem_custom_object.<locals>.TO.__str__O  s    4::,a((r1   c                 4    | j                   |j                   k(  S r  r  )r,   others     r/   __eq__zJTestiLocBaseIndependent.test_iloc_setitem_custom_object.<locals>.TO.__eq__T  s    zzU[[00r1   c                     | S r  r8   r  s    r/   viewzHTestiLocBaseIndependent.test_iloc_setitem_custom_object.<locals>.TO.viewW  s    r1   )r  N)
r2   r3   r4   r  r%  r  __repr__r"  r  r  r8   r1   r/   TOr  K  s+    #) ) H1t 1r1   r  r   r   r}   rf   r   )r   r(   rO   rP   rM   r   )r,   r  rS   r   s       r/   test_iloc_setitem_custom_objectz7TestiLocBaseIndependent.test_iloc_setitem_custom_objectI  s    	 	 aVaS111!Q!5qED
fb) aVaS11!Q!5
fb)r1   c                    t        t        j                  j                  d      j                  d      t	        d      t	        d            }|j
                  d   }t        |t              sJ t        j                  |j                  |j                  d          |j                  j
                  d d df   }t        |t              sJ t        j                  |j                  |j                  d          y )Nr   r   ABCaabrx  r   )r   rM   r   r   r   r(   
isinstancer   rO   assert_almost_equalrK   T)r,   rS   r   s      r/   !test_iloc_getitem_with_duplicatesz9TestiLocBaseIndependent.test_iloc_getitem_with_duplicatesk  s    II!!!$++F3Ku+
 &&)))
v}}biil;1a4&&)))
v}}biil;r1   c                     t        g dg dgg d      }|j                  d d dgf   }|j                  dgd      }t        j                  ||       y )Nr   r   )r   r   r   ro   r   r   r   )r   r(   takerO   rP   r,   rS   r   rU   s       r/   "test_iloc_getitem_with_duplicates2z:TestiLocBaseIndependent.test_iloc_getitem_with_duplicates2z  sJ    	9-yAQC77A3Q7'
fh/r1   c                    t        t        dd      ddgi      }|j                  d   }t        t        dd      did      }t	        j
                  ||       |j                  d d df   }t        ddgt        dd            }t	        j
                  ||       |j                         }|j                  d d dfxx   dz  cc<   t        t        dd      ddgi      }t	        j                  ||       y )Nr   r   r   r:  r;   )r   r
   r(   r   rO   r   rJ   rP   r  s       r/   test_iloc_intervalz*TestiLocBaseIndependent.test_iloc_interval  s    AA/08Aq>1-A6
vx0A1a&x1~6
vx0AqDQhq!nq!f56
fh/r1   indexing_funcrhs_funcc                 L   t        g d      } |ddg      |j                   |g d      <   t        g d      }t        j                  ||       t	        dg di      } |dgdgg      |j                   |g d      <   t	        dg di      }t        j
                  ||       y )Nr   rm   rw   TFT)rm   r   rw   r   )r   r(   rO   r   r   rP   )r,   r  r  ri   rU   rS   s         r/   test_loc_setitem_boolean_listz5TestiLocBaseIndependent.test_loc_setitem_boolean_list  s     Y7?B7H234*%
sH-Y'(6>bT{6K123c:./
b(+r1   c                    t        dg did      }|j                  d d d d df   }t        j                  ||       d|d<   |j                  d d d d df   }t        |d   |d   d      }t        j                  ||       y )	Nrv   r   Int64r>   r   foor   )r   rv   r   )r,   rS   resrU   s       r/   .test_iloc_getitem_slice_negative_step_ea_blockzFTestiLocBaseIndependent.test_iloc_getitem_slice_negative_step_ea_block  s    Y'w7gga2g
c2&3gga2g2c7C9:
c8,r1   c                 0   t        dg did      }t        j                  dgdgg      |j                  t        j                  ddg      t        j                  dg      f<   t        dg di|d   j                        }t        j                  ||       y )	Nstatusr  rV  r>   r   r   r   )r   r   r   )r   rM   r   r(   r?   rO   rP   r   s      r/   *test_iloc_setitem_2d_ndarray_into_ea_blockzBTestiLocBaseIndependent.test_iloc_setitem_2d_ndarray_into_ea_block  sy    /2*E3588cUSEN3K!Q "((A3-/0h88@R@RS
b(+r1   c                     t        dd      j                  }t        |      }|j                  d   }|d   |d   k7  sJ |d   |d<   |d   |d   k(  sJ y )Nr   g      $@r   r   r   )r   _valuesr   r(   )r,   ra   rS   ri   s       r/   *test_iloc_getitem_int_single_ea_block_viewzBTestiLocBaseIndependent.test_iloc_getitem_int_single_ea_block_view  si     Q%--s^ ggaj 1vR   RA1vR   r1   c                     t        ddgddgd      }t        dt        ddg      i      |j                  d d dgf<   t        t        d      t        d	      gddgd      }t	        j
                  ||d
       y )Nz
2022-01-01z
2022-01-0220212022r   rv   r   z2021-01-01 00:00:00z2022-01-01 00:00:00F)check_dtype)r   r   r(   r   rO   rP   r   s      r/   )test_iloc_setitem_multicolumn_to_datetimezATestiLocBaseIndependent.test_iloc_setitem_multicolumn_to_datetime  s    lL9@PQR#S+vv6F*G$HIA3 3434 f%
 	b(>r1   )Qr2   r3   r4   __doc__r5   r6   r7   slicerE   r	   rM   asarrayrO   r   r(   rV   r   r   rb   rj   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  filterwarningsr2  r8  r?  rH  rJ  rL  rQ  rT  rY  r\  r   r   r^  r
   rb  rf  ro  rv  ry  r~  r  r  r  r  r  r  r  r  r  r  td&skip_array_manager_not_yet_implementedr  r  r8   r1   r/   r:   r:   <   sJ   )[[$K!H!H%(OBJJy!	

 [[Y(9:, ;
,@ [[UUFO4; 5;:1cJ [[_			"tG}/M.NO[[ DkC:&3Zt%tQ"#U4[1	
	- P	-H1610&0& [[We}6P&QR S0.5:,,, ,,,8,:/0b!F"0H 1D," [[Y!eD!T.BHBHHaSM(RS[[Wuhbhhuo&>?
3 @ T
3 [[ 56C 7CJ"
27B*30&11* [[WtS"&&&9:1 ;1 [[XAS'AB) C) [[Y(9:H ;H1, [[WtRXX&67, 8, [[Y!eAqk(:;- <-,#9J *D<00" [[_tRXX.>?[[Z$)9:
, ; @
,
-, ..! /!?r1   r:   c                       e Zd Zd Zd Zd Zy)TestILocErrorsc                    |}|t         u r|j                         }d}t        j                  t        |      5  |j
                  d    d d d        t        j                  t        t              5  t        j                  |xr |t         u       5  d|j
                  d<   d d d        d d d        y # 1 sw Y   ixY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nz5Cannot index by location index with a non-integer keyrq   g      @r   )
r   rh   r5   r   r   r(   r+   _slice_iloc_msgrO   rB  )r,   series_with_simple_indexr_   r   r.   r   s         r/   test_iloc_float_raisesz%TestILocErrors.test_iloc_float_raises  s     'i',,.CE]]9C0 	HHSM	 ]]:_= 	"&&"C)'C " !""	" 	"	 	" "	" 	"s/   B0/ CB<C0B9<C	CCc                 $   t        j                  t        d      5  |j                  d d d d d d f    d d d        t        j                  t        d      5  d|j                  d d d d d d f<   d d d        y # 1 sw Y   FxY w# 1 sw Y   y xY w)NzToo many indexersrq   ztoo many indices for arrayr   )r5   r   r   r(   r+   )r,   float_frames     r/   *test_iloc_getitem_setitem_fancy_exceptionsz9TestILocErrors.test_iloc_getitem_setitem_fancy_exceptions  s{    ]]=0CD 	&Q1W%	& ]]:-IJ 	*()KQ1W%	* 	*	& 	&	* 	*s   A:B:BBc                 D   t        dg di      }t        dg di      }d}t        j                  t        |      5  d|j                  |<   d d d        d}t        j                  t
        |      5  |j                  |    d d d        y # 1 sw Y   ?xY w# 1 sw Y   y xY w)Nr   r   r  zADataFrame indexer for .iloc is not supported. Consider using .locrq   r   zWDataFrame indexer is not allowed for .iloc
Consider using .loc for automatic alignment.)r   r5   r   r   r(   r+   )r,   rS   r<   r   s       r/   test_iloc_frame_indexerz&TestILocErrors.test_iloc_frame_indexer  s    Y'(S"567Q]]9C0 	! BGGG	!; 	 ]]:S1 	GGG	 		! 	!	 	s   B
1B
BBN)r2   r3   r4   r  r  r  r8   r1   r/   r  r    s    "0*r1   r  c                   j    e Zd Zd Zd Zd Zej                  j                  g dddg      d        Z	y)	TestILocSetItemDuplicateColumnsc                 4   t        d dddddg      }t        ddddddg      }t        ||gd      }d|j                  d<   |j                  d   dk(  sJ |j                  d	   dk(  sJ |j                  j                  d   t        j
                  k(  sJ y )
Nr   r   r   r;   rZ   r   r   rC   )r   r   )r   r   r(   dtypesrM   r  )r,   r   r   rS   s       r/   *test_iloc_setitem_scalar_duplicate_columnszJTestILocSetItemDuplicateColumns.test_iloc_setitem_scalar_duplicate_columns  s    t!,AA.>?@qq)+;<=S#JQ'wwt}"""wwt}!!!yy~~a BHH,,,r1   c                     t        g dgg d      }dg|j                  d d df<   t        g dgg d      }t        j                  ||       y )N)r   r%  str2r   r   r   ro   str3r   )r   r%  r  r   r   s      r/   (test_iloc_setitem_list_duplicate_columnszHTestILocSetItemDuplicateColumns.test_iloc_setitem_list_duplicate_columns  sE    *+_E101?K
b(+r1   c                 b   t        t        j                  dt        j                        j	                  dd      g d      }|j
                  d d df   j                  t        j                        |j
                  d d df<   |j                  j
                  d   t        j                  k(  sJ y )Nr   r>   r   rZ   r   ro   r   )	r   rM   r   r  r   r(   rL   rr  r  )r,   rS   s     r/   *test_iloc_setitem_series_duplicate_columnszJTestILocSetItemDuplicateColumns.test_iloc_setitem_series_duplicate_columns  s{    IIarxx(00A6@T
 1,,RZZ81yy~~a BHH,,,r1   )r  
init_valueexpected_value)r  0r   )floatz1.2g333333?c                     t        |ddggg dt              }|j                  d d df   j                  |      |j                  d d df<   t        |ddggg dt              }t	        j
                  ||       y )Nr%  r  r  )rp   r?   r   )r   rF   r(   rL   rO   rP   )r,   r  r  r  rS   expected_dfs         r/   *test_iloc_setitem_dtypes_duplicate_columnszJTestILocSetItemDuplicateColumns.test_iloc_setitem_dtypes_duplicate_columns#  sx     %()?&
 1,,V41eV,-#

 	b+.r1   N)
r2   r3   r4   r  r  r  r5   r6   r7   r  r8   r1   r/   r  r    s@    	-,- [[2	12/	/r1   r  c                       e Zd Zd Zd Zy)TestILocCallablec                    t        g dt        d      dt        d            }|j                  d    }t        j                  ||j                  ddg          |j                  d	 d d f   }t        j                  ||j                  ddgd d f          |j                  d
 d f   }t        j
                  ||j                  ddgdf          |j                  d d f   }t        j                  ||j                  ddgdgf          |j                  ddgd f   }t        j
                  ||j                  ddgdf          |j                  ddgd f   }t        j                  ||j                  ddgdgf          |j                  d df   }t        j
                  ||j                  ddgdf          |j                  d dgf   }t        j                  ||j                  ddgdgf          y )NrY   aabbXYr   rd   c                 
    ddgS Nr   r;   r8   r   s    r/   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>A  
    A r1   r   r;   c                 
    ddgS r  r8   r   s    r/   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>D  r  r1   c                 
    ddgS r  r8   r   s    r/   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>G  r  r1   c                      yNr   r8   r   s    r/   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>G      r1   r   c                 
    ddgS r  r8   r   s    r/   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>J  r  r1   c                     dgS r  r8   r   s    r/   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>J  s    1# r1   c                      yr  r8   r   s    r/   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>N  r  r1   c                     dgS r  r8   r   s    r/   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>Q  s     r1   c                 
    ddgS r  r8   r   s    r/   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>T  r  r1   c                 
    ddgS r  r8   r   s    r/   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>W  r  r1   )r   r   r(   rO   rP   r   )r,   rS   r  s      r/    test_frame_iloc_getitem_callablez1TestILocCallable.test_frame_iloc_getitem_callable<  s   \V=T&\R gg&'
c277Aq6?3gg&)*
c277Aq619#56gg&34
sBGGQFAI$67gg&56
c277Aq6A3;#78 ggq!fk)*
sBGGQFAI$67ggq!fm+,
c277Aq6A3;#78gg&)*
sBGGQFAI$67gg&+,
c277Aq6A3;#78r1   c                 6   t        g dt        t        d      t              dt        d            }|j	                         }d|j
                  d <   |j	                         }d|j
                  d	d
g<   t        j                  ||       |j	                         }d|j
                  d d d f<   |j	                         }d|j
                  d	d
gd d f<   t        j                  ||       |j	                         }d|j
                  d d f<   |j	                         }d|j
                  d	d
gdf<   t        j                  ||       |j	                         }d|j
                  d d f<   |j	                         }d|j
                  d	d
gdgf<   t        j                  ||       |j	                         }d|j
                  d	d
gd f<   |j	                         }d|j
                  d	d
gdf<   t        j                  ||       |j	                         }d|j
                  d	d
gd f<   |j	                         }d|j
                  d	d
gdgf<   t        j                  ||       |j	                         }d|j
                  d df<   |j	                         }d|j
                  d	d
gdf<   t        j                  ||       |j	                         }ddg|j
                  d dgf<   |j	                         }ddg|j
                  d	d
gdgf<   t        j                  ||       y )NrY   r  r>   r  r   rd   r   c                 
    ddgS r  r8   r   s    r/   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>c  
    Aq6 r1   r   r;   r   c                 
    ddgS r  r8   r   s    r/   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>i  r  r1   rm   c                 
    ddgS r  r8   r   s    r/   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>o  r  r1   c                      yr  r8   r   s    r/   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>o  r  r1      c                 
    ddgS r  r8   r   s    r/   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>u  r  r1   c                     dgS r  r8   r   s    r/   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>u  s    aS r1   r   c                      yr  r8   r   s    r/   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>|  r  r1   c                     dgS r  r8   r   s    r/   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>  s    A3 r1   rw   c                 
    ddgS r  r8   r   s    r/   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>  r  r1   c                 
    ddgS r  r8   r   s    r/   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>  r  r1   )r   r   r   rF   rJ   r(   rO   rP   )r,   rS   r  r   s       r/    test_frame_iloc_setitem_callablez1TestILocCallable.test_frame_iloc_setitem_callableZ  s   VDL%GHv,
 ggi%&!"ggi!Q
c3'ggi(*!1$%ggi !Q
c3'ggi23!;./ggi!Q
c3'ggi46!=01ggi "!Q!
c3' ggi(*!Q$%ggi !Q
c3'ggi*,!Q&'ggi "!Q!
c3'ggi(*!1$%ggi !Q
c3'ggi+-r(!A3&'ggi!#R!Q!
c3'r1   N)r2   r3   r4   r  r  r8   r1   r/   r  r  ;  s    9<7(r1   r  c                   $    e Zd Zd Zd Zd Zd Zy)TestILocSeriesc           
         t        t        j                  j                  d      j	                  d      t        t        ddd                  }|j                         }t        t        |            D ]9  }|j                  |   }||j                  |      }t        j                  ||       ; |j                  t        dd         }|j                  dd }t        j                  ||       t        j                   d       5  t        j"                  |      5  d|d d  d d d        d d d        |rt        j                  ||       n"|j                  dd dk(  j%                         sJ |j                  g d	   }|j'                  |j                  g d	         }t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   xY w)
Nr   rw   r   rl   rd   r   r;   rZ   )r   r   r;   rZ   rm   )r   rM   r   r   r   r   rE   rJ   r   r(   re   rO   r  r  r   r   r   rB  rC  reindex)	r,   r`   r   ri   ser_originalr>  r   r   rU   s	            r/   	test_iloczTestILocSeries.test_iloc  s   II!!!$44R8U1bRS_@U
 xxzs3x 	0AXXa[Fciil#C""63/	0 %1+&771Q<
vx0 ''- 	&&'9: q		 ""35HHQqMQ&++--- /*;;syy9:
vx0 	 	s$   F<F0F<0F9	5F<<Gc                 N    t        g dg d      }|j                  d   dk(  sJ y )Nr   r   rd   r   )r   r(   )r,   ri   s     r/   test_iloc_getitem_nonuniquez*TestILocSeries.test_iloc_getitem_nonunique  s$    Yi0xx{ar1   c                     t        g d      }t        g dg d      }|j                  dd |j                  dd t        g d      }t        j                  ||       y )Nr   r   )r   r   r   rd   r   r;   )r   rm   r~   )r   r(   rO   r   )r,   ser1ser2rU   s       r/   r  z4TestILocSeries.test_iloc_setitem_pure_position_based  sK    i iy11Q		!A)$
tX.r1   c                 p   t        dgt        j                  gd      }t        j                  t
        d      5  |j                  d d df   j                  d      |j                  d d df<   d d d        t        dgt        t        gd      d      }t        j                  ||       y # 1 sw Y   ?xY w)Ntest)r   r   r   rq   r   r  r>   )r   rM   r   rO   r   r   r   rL   r   r   rP   rS  s      r/   #test_iloc_nullable_int64_size_1_nanz2TestILocSeries.test_iloc_nullable_int64_size_1_nan  s    &9:''=QR 	D!'AsF!3!:!:7!CFJJq#v	DF8%G2LMN
fh/	D 	Ds   4B,,B5N)r2   r3   r4   r  r  r  r  r8   r1   r/   r  r    s    1> /0r1   r  )+r  r   renumpyrM   r5   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorsr  pandasr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   pandas._testing_testingrO   pandas.api.typesr   pandas.tests.indexing.commonr   escaper  r   r:   r  r  r  r  r8   r1   r/   <module>r&     s    0  	   ' ) )    "  & K "))6
 
(U? U?p$0 0f1/ 1/hV( V(r20 20r1   