
    PiR                     |   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	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j%        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,dS )z(test positional based indexing with iloc    )datetimeN)pa_version_under16p0)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                   L   e Zd Zej                            dddg dg          ej                            d e ed          e           eg de           e	d	d
           e e
ddd          ej                   eg           g          d                         ZdS )TestiLockey   r      r   indexabcddtype)r      null   20130101r"   periodsr   r$   c                      |t          t          |                    |          }t          |d|t                     d S )Nr   iloc)fails)rangelenr   
IndexError)selfr   frame_or_seriesr   requestobjs         s/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/indexing/test_iloc.py"test_iloc_getitem_int_and_list_intz+TestiLoc.test_iloc_getitem_int_and_list_int*   sS     oeCJJ//u===*		
 	
 	
 	
 	
 	
    N)__name__
__module____qualname__pytestmarkparametrizer
   listobjectr   r,   npfloat64r4    r5   r3   r   r   )   s        [UQIII$677[E$$v,,f---E###6222Jz1---E%%1a..
333E"II	
	 	
 
	 	 87
 
 
r5   r   c                   	   e Zd ZdZej                            d ed           ed           ed          g d e	 ed                     e
j        g d          g          d             Zej                            ddd	g          d
             Zd Zej                            ed          d             Zej                            d e
j        d           ed          fg          e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                            d dd	gg d!g          d"             Zd# Zd$ Zej                            ddd	g          d%             Zej                            ddd	g          d&             Z ej                            ddd	g          d'             Z!d( Z"d) Z#d* Z$d+ Z%d, Z&d- Z'ej                            ddd	g          d.             Z(ej                            ddd	g          d/             Z)ej                            ddd	g          ej                            d0d1g eddd           e
j*        d1g          g          ej                            d2d3g e
j*        d3g          g          d4                                     Z+ej        ,                    d5          d6             Z-d7 Z.d8 Z/d9 Z0d: Z1d; Z2d< Z3d= Z4d> Z5d? Z6d@ Z7dA Z8dB Z9dC Z:ej                            d2de;e
j<        g          dD             Z=ej                            dE e>d1d          dFdGg          dH             Z?dI Z@dJ ZAdK ZBdL ZCej                            dMee
j*        g          dN             ZDej                            ddd	g          ej                            d0dg eddO          g          dP                         ZEej                            ddd	g          dQ             ZFdR ZGdS ZHdT ZIdU ZJdV ZKej                            dWee
j*        g          ej                            dXee
j*        g          dY                         ZLdZ ZMd[ ZNd\ ZOd] ZPdS )^TestiLocBaseIndependentzTests Independent Of Base Classr   N   r   c                    t          dt          d          it                    }t          g d          }|j        j        d                             |          sJ |                                }|j        }| ||          |df<   t          d|i          	                    t                    }t          j        |d         j        |          sJ t          j        ||           d|j        d<   |d         dk    sJ t          t          j        g dt                    t          d          d          }|                                }| ||          |df<   t          t!          |	                    t                    t                    t          d          d          }t          j        ||           d S )	Nr   rC   r    )alphabetagammarG   r   r   r   r   r   )r	   r,   r=   r   _mgrblocks_can_hold_elementcopyvaluesastyper>   shares_memorytmassert_frame_equalr*   r   r   )r/   
indexer_lir   framecatdf	orig_valsexpecteds           r3   %test_iloc_setitem_fullcol_categoricalz=TestiLocBaseIndependent.test_iloc_setitem_fullcol_categoricalE   s    1eAhh-v66644455z #55c:::::ZZ\\I	!$

2sAvaX&&--f551i88888
b(+++  1v    
 bhyyy???E!HHMMNNZZ\\!$

2sAv

6(:(:&!I!I!IeTUhhWWXX
b(+++++r5   has_refTFc                 t   t          g d          } ||                    d                    }|r
|d d          }|t          u r|j        }n|j        j        d         j        }|t          u r ||dd                    |j        d d<   n ||dd                    |j        d ddf<    |t          j         g dd                    }t          j	        ||           |sT|t          u r)|j        |usJ t          j
        |j        |          sJ d S t          j
        |d         j        |          sJ d S d S )Nr   r   rC   r"   i8r   r   )rC   r"   rC   r"   r    )r   to_numpyr   rN   rJ   rK   r*   r>   rQ   assert_equalrP   )	r/   r0   index_or_series_or_arrayrZ   arrr2   viewrN   rX   s	            r3   test_iloc_setitem_ea_inplacez4TestiLocBaseIndependent.test_iloc_setitem_ea_inplacen   sm    LLL!!ocll40011 	qqq6Df$$ZFFX_Q'.Ff$$33CG<<CHRaRLL66s122w??CHRaRUO"?28LLL#E#E#EFF
X&&&  	?&((z////'
F;;;;;;;'Av>>>>>	? 	?
 ?>r5   c                     t          g d          }t          t          d          |          }|j                            d          sJ |                                }|j                            d          sJ d S )N)r   r   r   rC   r)   )r   r   r   )r
   r   r,   r*   _is_scalar_accessto_frame)r/   r   serrV   s       r3   test_is_scalar_accessz-TestiLocBaseIndependent.test_is_scalar_access   sv    iii  U1XXU+++x))$/////\\^^w((0000000r5   z,https://github.com/apache/arrow/issues/40642)reasonc           
         t          t          j                            d                              d          t	          d                    }d}t          j        t          |          5  |j        d d g df          d d d            n# 1 swxY w Y   t          j        t          |          5  |j        dd	g          d d d            n# 1 swxY w Y   t          j        t          |          5  |j        dd
g          d d d            n# 1 swxY w Y   t          j        t          |          5  |j        dg          d d d            n# 1 swxY w Y   |d         }t          j        t          |          5  |j        dg          d d d            n# 1 swxY w Y   t          j        t          |          5  |j        dg          d d d            n# 1 swxY w Y   d}t          j        t          |          5  |j        d	          d d d            n# 1 swxY w Y   t          j        t          |          5  |j        d
          d d d            n# 1 swxY w Y   t          j        t          |          5  |j        d	          d d d            n# 1 swxY w Y   t          j        t          |          5  |j        d
          d d d            n# 1 swxY w Y   |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                            d                              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            n# 1 swxY w Y   d}t          j        t          |          5  |j        d d df          d d d            d S # 1 swxY w Y   d S )Nr   )      ABCDEcolumnsz%positional indexers are out-of-boundsmatchr   r   r   rC   r"   rm   r      id   Aiz*single positional indexer is out-of-boundsr"   
   ir   r   i      rm   r   ABrC   r    r   rp      r"   rm   r~   )r	   r>   randomdefault_rngr<   r9   raisesr.   r*   rQ   rR   assert_series_equalstandard_normalr   r
   rp   r!   )r/   rV   msgsresultrX   dfls          r3   test_iloc_exceeds_boundsz0TestiLocBaseIndependent.test_iloc_exceeds_bounds   s	    ry,,Q//66w??gWWW 6]:S111 	+ 	+GAAA))))**	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+]:S111 	 	GQG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	GQH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	GSENN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 sG]:S111 	 	FC5MM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	FD6NN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ;]:S111 	 	GBKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	GCLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]:S111 	 	F2JJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	F3KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 AbD!7111abb5>
fh///BsF#7111bqb5>
fh///BqG$7111eqe8$
fh///Ac"H%7111aee8$
fh///CE"7111bqb5>
fh///BqD!7111bqb5>
fh///CBJ'7111bqb5>
fh///BrE"7111bqb5>
fh/// 26"##;
vx0006"1":
vx000B6$$B$<
vx000 I!!!$$44V<<d4jj
 
 
 	HQQQ!VCIuRs{?P/Q/Q/QRRR	
 	
 	
 	chqqq!A#v.QC0@AAA
chqsmSXqc];;;5]:S111 	  	 HYYY	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 :]:S111 	 	HQQQTNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   ,BBB2CCC4DDD6EEE?FF!F GG"GHH!$H!II!$I!JJ!$J!KK!$K!ZZ"%Z"[%%[),[)zindex,columnsrl   rn   zindex_vals,column_valsrv   D12i  r   c                 L   t          t          j                            d                              t          |          t          |          f          ||          }d}t          j        t          |          5  |j	        ||f          d d d            d S # 1 swxY w Y   d S )Nr   r}   z$.iloc requires numeric indexers, gotrq   )
r	   r>   r   r   r   r-   r9   r   r.   r*   )r/   r   rp   
index_valscolumn_valsrV   r   s          r3   test_iloc_non_integer_raisesz4TestiLocBaseIndependent.test_iloc_non_integer_raises   s     I!!!$$44c%jj#g,,5OPP
 
 

 5]:S111 	- 	-GJ+,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-s   <BB Bc                    t          t          j        d                              dd                    }t	          j        ||          }t          j        t          d          5  |j	        d          d d d            d S # 1 swxY w Y   d S )Nru   rw   zCannot index by location indexrq   a)
r	   r>   arangereshaperQ   get_objr9   r   	TypeErrorr*   )r/   r0   r2   s      r3    test_iloc_getitem_invalid_scalarz8TestiLocBaseIndependent.test_iloc_getitem_invalid_scalar  s     	#..r26677jo..]9,LMMM 	 	HSMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   &BBBc                 $   t          j        g d          }|                                }t          g dg dg ddg d          }|j        |          t          j        ||           |j        d d |f          t          j        ||           d S )N)r   r   r   )ru   e   f   )g   h   i   )j   k   l   rv   BCr   r   rC   r)   )r>   r   rM   r	   r*   rQ   assert_numpy_array_equal)r/   array_with_neg_numbers
array_copyrV   s       r3   -test_iloc_array_not_mutating_negative_indiceszETestiLocBaseIndependent.test_iloc_array_not_mutating_negative_indices  s    !#***!5!5+0022
!//oooNN))
 
 
 	&''
#$:JGGG
))**
#$:JGGGGGr5   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        ||           d S )
N)r   rC   rm   )   ry      rv   r   rv   r   r   r)   r   )r	   r*   rQ   r   rR   r   )r/   rV   r   rX   r   s        r3   /test_iloc_getitem_neg_int_can_reach_first_indexzGTestiLocBaseIndependent.test_iloc_getitem_neg_int_can_reach_first_index*  s    YYY[[[99::sG71:
vx0007A3<"
fh///6!9!!!!61#;
vx000 3%u---t$
vx00000r5   c                 T   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        ||           d S )Nr   r   r   rC   r"   axisrH   r   rv   r   rv   r   )r   name)	r	   r   r*   r   r   r>   nanrQ   r   )r/   df1df2rV   r   rX   s         r3   test_iloc_getitem_dupsz.TestiLocBaseIndependent.test_iloc_getitem_dupsE  s    t!,,AA.>.>?@@qq))+;+;<==S#JQ''' F|||AAA261a+3G3G3GaPPP
vx00000r5   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        ||           d S )Nr   r   rC   r   ru      ,        r   )r   r   r)   )r	   rQ   rR   r*   r/   rV   rX   r   s       r3   test_iloc_getitem_arrayz/TestiLocBaseIndependent.test_iloc_getitem_arrayS  s   aa((#..D11
 
 AAA66788
bgqclH555AAA66cRU8V8VWXX
bgq!fox888AA..d0F0FGPQSTvVVV!Q!Q(
fh/////r5   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        ||           d S )Nr   r   rC   r   ru   r   r   r   r   r   )TTFr   r)   c                     | j         dz  dk    S )Nr   r   r)   xs    r3   <lambda>z@TestiLocBaseIndependent.test_iloc_getitem_bool.<locals>.<lambda>v  s    17Q;!#3 r5   r	   r*   rQ   rR   r   s       r3   test_iloc_getitem_boolz.TestiLocBaseIndependent.test_iloc_getitem_boolf  s    aa((#..D11
 
 AAA66cRU8V8VWXX,,,-
fh///11%%T4'H'HIRSUVQW
 
 
 334
fh/////r5   r   )TFTFc                     t          g d          }dt          |           dt          |           }t          j        t          |          5  |j        |          d d d            d S # 1 swxY w Y   d S )Nr   z Boolean index has wrong length: z instead of rq   )r   r-   r9   r   r.   r*   )r/   r   r   r   s       r3   test_iloc_getitem_bool_diff_lenz7TestiLocBaseIndependent.test_iloc_getitem_bool_diff_leny  s     999QUQQQQQ]:S111 	 	F5MM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A**A.1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        ||           d S )Nr   r   rC   r   ru   r   r   r   r   r   r   r)   r   )rv   r   c                 
    ddgS )Nr   r   r@   )rV   s    r3   r   zATestiLocBaseIndependent.test_iloc_getitem_slice.<locals>.<lambda>  s
    1v r5   r   r   s       r3   test_iloc_getitem_slicez/TestiLocBaseIndependent.test_iloc_getitem_slice  s7   aa((#..D11
 
 AAA66cRU8V8VWXX!
fh///Cc223A3???1ac"
fh///1Ss334d5K5KL
 
 ---.
fh/////r5   c                    t          t          j                            d                              d          g d          }t          t          j                            d                              ddd                              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         |           d S )Nr   rw   r"   )rv   rv   r   r   ro   r   rw   rl   sizerv   r   r   r   r"   rC   )r	   r>   r   r   r   integersr   r   rQ   rR   r*   )r/   r   r   rV   exps        r3   test_iloc_getitem_slice_dupsz4TestiLocBaseIndependent.test_iloc_getitem_slice_dups  sZ   I!!!$$44W==(((
 
 
 I!!!$$--a"-==EEb!LL#J
 
 
 S#JQ'''
bgaaa!enc222
bgaaaenc222S#JQ'''
bgaaa!enc222
bgaaaenc222c38AAAsF+,1555
bgaaa1fos333 RH1%%%
bgadBQBh/555
bgadABBh/555
bgbcc2A2g.444
bgbcc122g.44444r5   c           	      n   t          t          j                            d                              d          t          j        ddd          t          j        ddd                    }|r
|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         dz  cc<   t          g dg d
          }t          j
        ||           d S )Nr   r"   r"   r   r$      rC   r}   r   r   r   r   r)   r   r   r   )r	   r>   r   r   r   r   r*   rQ   rR   r   r   )selrZ   rV   rb   r   rX   r   s          r3   test_iloc_setitemz)TestiLocBaseIndependent.test_iloc_setitem  sR   I!!!$$44V<<)Aq!$$IaQ''
 
 

  	aaa5D{{{{1Q37111ac6?AaC
fh/// 1III&&&	qsq)))999555
q(+++++r5   c                    t          g dg dg dg          }|d                             t                    |d<   |r
|d d          }t          g dg dg dg          }|d                             t                    |d<   d|                    d          d	<   t	          j        ||           t          g dg dg dg          }|d                             t                    |d<   |r
|d d          }t          g d
g dg dg          }|d                             t                    |d<   d|                    d          d	<   t	          j        ||           d S )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	   rO   r=   r*   rQ   rR   r/   rZ   rV   rb   rX   s        r3   test_iloc_setitem_axis_argumentz7TestiLocBaseIndependent.test_iloc_setitem_axis_argument  sn    lllLLLABB1V$$1 	aaa5DlllLLL)))DEEqk((00Q
b(+++lllLLLABB1V$$1 	aaa5Dkkk;;;DEEqk((00Q
b(+++++r5   c                    t          t          j        d                              d          g dg d          }|r
|d 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	                              d          g dg d          }t          j        ||           d S )
N	   rC   rC   r   r}   r   r   r   ru   )	r   r   r   rC   r   r   r~   r   r$   )r	   r>   r   r   r*   r   rQ   rR   r   s        r3   test_iloc_setitem_listz.TestiLocBaseIndependent.test_iloc_setitem_list  s     IaLL  ((
 
 
  	aaa5D
AA
AA3&H88899AA&II!//#OO
 
 

 	b(+++++r5   c                 Z   t          g d          }t          g d          }|                                }ddg|j        t          ddg          <   t          j        ||           |                                }ddg|j        t          ddg          <   t          j        ||           d S )N)r   r   r   rC   )r   r   rC   r   r   r   r   )r   rM   r*   rQ   r   r
   )r/   s_origrX   r   s       r3   test_iloc_setitem_pandas_objectz7TestiLocBaseIndependent.test_iloc_setitem_pandas_object  s    %%...))KKMM"$bvq!f~~
q(+++KKMM!#RuaV}}
q(+++++r5   c                 F   t          d dddddg          }t          ddddddg          }t          ||gd          }|                    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         
                    d          |j        ddgddgf<   |j        ddgddgf         
                    d          |j        ddgddgf<   t          j        ||           d S )Nr   r   r   rC   r"   r   r   rI   r   rv   T)drop)r	   r   fillnar>   isnanr*   r   rQ   rR   rp   reset_index)r/   r   r   rV   rX   indsmasks          r3   test_iloc_setitem_dupsz.TestiLocBaseIndependent.test_iloc_setitem_dups  s    t!,,AA.>.>?@@qq))+;+;<==S#JQ'''99Q<<x1&&Dz747+a
b(+++ !QQF3344:sG
b(+++ #%'1a&1a&."9AA
b(+++ #%'1a&1a&."9"E"E4"E"P"PAA"$'1a&1a&."9"E"E4"E"P"PAA
b(+++++r5   c                    t          ddgddggddg          }|j        d d df                             d          |j        d d df<   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            n# 1 swxY w Y   |	                                }|j        ddgddgf         |j        ddgddgf<   t          j        ||           d S )Nr   r   r   rC   r   ro   f8Invalid valuerq   g      ?)r	   r*   rO   r-   rJ   rK   r9   r   r   rM   rQ   rR   r/   rV   rX   s      r3   9test_iloc_setitem_frame_duplicate_columns_multiple_blockszQTestiLocBaseIndependent.test_iloc_setitem_frame_duplicate_columns_multiple_blocks  s\    AA'#s<<< 1,,T22127>""a'''' ]9O<<< 	0 	0GAAAqDMC/BGAAAqDM	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 7799 #%'1a&1a&."9AA
b(+++++s   !B11B58B5c           	         t          t          j                            d                              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
        ||           d S )Nr   r   r   rl   r$   r}   r"   )r   r   r      rC   rm   )r   r   rC   )r   r   r~   r   )r   r   rC   r   )rz   r   r~   r~   )r   r   r   rC   )rz   rz   r   r~   )r   r!   )r   r"   r~   r$   )r	   r>   r   r   r   r,   r*   locrQ   r   rR   r   r=   r   )r/   rV   r   r   rX   r   s         r3   test_iloc_getitem_framez/TestiLocBaseIndependent.test_iloc_getitem_frame6  sn   I!!!$$44W==2q//!QNN
 
 
 fQi
vs+++fTl}}}} 16!B$<
fh///AaC6!!!QqS&>
fh/// #6)))$
fh///QF*+6)))aV+,
fh/// b!W,-6***q!f,-
fh/// "a016...1a&01
fh/// q!F333!6,,,'
fh/////r5   c                    t          t          j                            d                              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            n# 1 swxY w Y   d}t          j        t          |          5  |j        d          d d d            d S # 1 swxY w Y   d S )Nr   r   
abcdefghijABCDr}   r   )br   rC   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	   r>   r   r   r   r<   r*   r   rQ   rR   r9   r   r.   
ValueError)r/   rV   r   r   rX   r   s         r3    test_iloc_getitem_labelled_framez8TestiLocBaseIndependent.test_iloc_getitem_labelled_frameg  s   I!!!$$44W==|$$LL
 
 
 fX}}}}AaC6!!!cU(#
fh/// fX}}}} T]:S111 	 	GENN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
; 	
 ]:S111 	 	GH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   8DDD:EEEc                 Z   t           j                            d                              d          }t	          dd          }t          d          }t          |||          }|                                 |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                            d                              d          }t          t          d
dd                    }t          t          d
dd                    }t          |||          }|j        j        d
         j         |j        dd	ddf         }t          |dd	ddf         |dd	         |dd                   }t          j
        ||           d S )Nr   )r~   r"   r%   r~   r&   r   r}   rC   rm   r   aaaaaar   r$   r   r"   )r>   r   r   r   r   r<   r	   describer*   rQ   rR   rp   r,   rJ   rK   mgr_locs)r/   ra   r   rp   rV   r   rX   s          r3   test_iloc_getitem_doc_issuez3TestiLocBaseIndependent.test_iloc_getitem_doc_issue  s    i##A&&66v>>:q111v,,s%999 	1ac"S1ac]%!*gaPQclSSS
fh/// &\\
1ac"S1ac]%!*d4jjQQQ
fh/// i##A&&66v>>U1b!__%%uQ1~~&&s%999
q""1ac"S1ac]%!*gaPQclSSS
fh/////r5   c                    t          t          j                            d                              d          t          d          t          d                    }|r
|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          t          j                            d                              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        ||           d S )Nr   r   r   r   r}   r   r   r   rC   rw   rl   r)   r"   r   r~   r   r   r"   )r   rC   rm   rs   )r	   r>   r   r   r   r<   r*   rQ   rR   r   r,   r   )r/   rZ   rV   rb   r   rX   r   s          r3   test_iloc_setitem_seriesz0TestiLocBaseIndependent.test_iloc_setitem_series  s   I!!!$$44W==|$$LL
 
 

  	aaa5D{{{{1Q37111ac6?AaC
fh///29((++;;B??uQPRTUWWWq	{{{{rr
6"1":
vx000B4!8 yyqt!t yyqt!t,,,--
vx00000r5   c                    t          t          j        dd          t          j        ddd          d          }|r
|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          }|r
|d d          }ddgddgg|j        d	d
<   t          g dg dd          }t	          j        ||           d S )Nrm   int64r    rw   r   ry   r   r   r   r"   )r   r   rw   r   r"   )rm   r~   ry   r   r   r   r   r   r   r   r   y)r   r   r   r  r   )r	   r>   r   r*   rQ   rR   r   s        r3   test_iloc_setitem_list_of_listsz7TestiLocBaseIndependent.test_iloc_setitem_list_of_lists  sG    )AW---BIa74S4S4STT
 
  	aaa5DR2r(+!#4#4#4;L;L;LMMNN
b(++++++")Ar2Q2Q2QRR
 
  	aaa5Db	C9-!#<#<#<CTCTCTUUVV
b(+++++r5   indexerr   valueZc                     t          ddgddggddg                              dt          i          }|r
|d d          }||j        d|f<   |j        d	         }t	          |          r|d
k    sJ d S )Nr   r   rC   r"   rv   r   ro   r   rH   r  )r	   rO   r=   r*   r   )r/   rZ   r  r  rV   rb   r   s          r3   #test_iloc_setitem_with_scalar_indexz;TestiLocBaseIndependent.test_iloc_setitem_with_scalar_index  s     AA'#s<<<CCS&MRR 	aaa5D#7
  2Vs]]]2]]r5   zignore::UserWarningc           
      d   t          t          t          d                    t          d          dg          }|j        dz  dk    }d}t	          j        t          |          5  |j        |          d d d            n# 1 swxY w Y   t          t          |                    |_	        d	}t	          j        t          |          5  |j        |          d d d            n# 1 swxY w Y   |j        t          j        d
gt          |          z  t                             }t          j        ||           t          j        d          }d|z  }d |D             }t          ||d|          }ddddddd	d	d	d	}dD ].}	|j        dk    j        }|	r6t'          ||	          d d d         }
t)          |t          |
                    }dD ]}	 |rt'          ||dd                    }n|}t+          t-          ||         d                                                             }n-# t          t          f$ r}t+          |          }Y d }~nd }~ww xY w|	|f}|                    |          }|	|	dk    r"|dk    rd|v r||k    sJ d| d| d            ||v sJ d| d| d            0d S )Nrm   rn   r   r}   r   r   zBiLocation based boolean indexing cannot use an indexable as a maskrq   .Unalignable boolean Series provided as indexerTr    r"   c                 ,    g | ]}t          |          S r@   )bin).0nums     r3   
<listcomp>z:TestiLocBaseIndependent.test_iloc_mask.<locals>.<listcomp>  s    )))SC)))r5   )locsnums0b11000b11)	)N )N.loc)N.iloc)r   r  )r   r  )r   r   )r  r  )r  r  )r  r   )Nr   r  r   )r  r  r   r   r  r   r   0b[z] does not match []z] not found in [)r	   r<   r,   r   r9   r   r   r*   r-   r   r   r>   r   boolrQ   rR   r   r  rN   getattrr   strr  sumget)r/   rV   r   r   r   r  r  repsrX   idx
mask_indexmethodaccessoranswererrr   expected_results                    r3   test_iloc_maskz&TestiLocBaseIndependent.test_iloc_mask  s    tE!HH~~T']]SEJJJtax1}R]:S111 	 	GDMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 3t99%%
>]=444 	 	GDMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 4&3t99"4DAAAB
fb))) y||$w))D)))d33T:: !$%!% TJNO
 
  + 	Y 	YCGaK'D 6$R--ddd3
dD$4$455/ Y Y& &#*2vabbz#:#:#% Xd^F%;%?%?%A%A!B!BCCFF"M2 & & & XXFFFFFF&  #+,,s"3"3 KC7NNv7H7Ho--*f444<C<<6<<< 5444
 +f4446X#6X6Xv6X6X6X44445Y	Y 	Ys=   &B  BB	C##C'*C'AH((I9IIc                 "   t          t          t          d                    t          d          dg          }|j        t	          j        g dt                             }t          dg dig d	          }t          j        ||           d S )
Nrm   rn   r   r}   TFTFTr    r  )rv   r   Er)   )	r	   r<   r,   r*   r>   r   r$  rQ   rR   r/   rV   r   rX   s       r3   test_iloc_with_numpy_bool_arrayz7TestiLocBaseIndependent.test_iloc_with_numpy_bool_arrayB  s    tE!HH~~T']]SEJJJ"B"B"B$OOOPc999-___EEE
fh/////r5   c                 f   t          t          t          d                    t          d          dg          }|j        dz  dk    }d}t	          j        t          |          5  |j        t          d	gt          |          z  t          
                    d d d            d S # 1 swxY w Y   d S )Nrm   rn   r   r}   r   r   r  rq   Tr    )r	   r<   r,   r   r9   r   r   r*   r   r-   r$  )r/   rV   r   r   s       r3   0test_iloc_series_mask_with_index_mismatch_raiseszHTestiLocBaseIndependent.test_iloc_series_mask_with_index_mismatch_raisesH  s    tE!HH~~T']]SEJJJtax1}>]=444 	< 	<GFD6CII-T:::;;	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	<s   &3B&&B*-B*c                     t          t          t          d                    dg          }t          dgt	          |          z  t
                    }|j        |         }t          j        ||           d S )Nrm   r   ro   Tr    )	r	   r<   r,   r   r-   r$  r*   rQ   rR   )r/   rV   r   r   s       r3   test_iloc_series_mask_all_truez6TestiLocBaseIndependent.test_iloc_series_mask_all_trueO  se    tE!HH~~u555tfs2ww&d333
fb)))))r5   c                     t          t          t          d                    dg          }t          g dt                    }|j        |         }t          dg dig d          }t          j        ||           d S )Nrm   r   ro   r3  r    r  r)   )r	   r<   r,   r   r$  r*   rQ   rR   )r/   rV   r   r   rX   s        r3   $test_iloc_series_mask_alternate_truez<TestiLocBaseIndependent.test_iloc_series_mask_alternate_trueU  s~    tE!HH~~u555666dCCCc999-YYY???
fh/////r5   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            d S # 1 swxY w Y   d S )N皙?r   r   r   rt   c   r   rC   r   znot in indexrq   )r	   r>   r   r*   r   rQ   rR   r9   r   KeyErrorr   )r/   rV   r*  rX   df3r   r   s          r3   test_iloc_non_unique_indexingz5TestiLocBaseIndependent.test_iloc_non_unique_indexing\  s;   cUT\d
;;<<immb 73<b!b&!b&)**#
fh///sedl!t<<==c1s7AG,--]8>::: 	 	GCLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   C!!C%(C%c           
      .   t          t          j        d          t          d t	          d          D             d          t          d t	          d          D             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
           d S )Nr{   c                     g | ]}d | S zi-r@   r  is     r3   r  zNTestiLocBaseIndependent.test_iloc_empty_list_indexer_is_ok.<locals>.<listcomp>p  s    444aa444r5   rm   r   r   c                     g | ]}d | S rE  r@   rF  s     r3   r  zNTestiLocBaseIndependent.test_iloc_empty_list_indexer_is_ok.<locals>.<listcomp>q  s    666888666r5   r   r}   r   T)check_index_typecheck_column_type)r	   r>   onesr
   r,   rQ   rR   r*   r/   rV   s     r3   "test_iloc_empty_list_indexer_is_okz:TestiLocBaseIndependent.test_iloc_empty_list_indexer_is_okm  sC   GFOO445884443???66U1XX666SAAA
 
 
 	GAAArENGAAArrEN!"		
 	
 	
 	
 	GBENGBQBEN!"		
 	
 	
 	
 	GBK!QQQ$RV	
 	
 	
 	
 	
 	
r5   c                    t          dg di          }|j        d d          }||usJ t          j        |d         |d                   sJ g d|j        d d df<   |d         g dk                                    sJ t          g d          }|j        d d          }||usJ g d|d d<   t          |d d         g dk              sJ d S )Nr   r   )r"   r"   r"   )r   r   rC   r"   rm   r~   r   r$   r   rC   )r	   r*   r>   rP   r   allr   )r/   original_df	sliced_dforiginal_seriessliced_seriess        r3   &test_identity_slice_returns_new_objectz>TestiLocBaseIndependent.test_identity_slice_returns_new_object  s   iii 011$QQQ'	++++ C 0)C.AAAAA #,))3#)))+0022222 !3!3!344',QQQ/O3333 (ii=!$			12222222r5   c                     t          ddgddgg          }|j        t          j        d                   }t	          ddgd          }t          j        ||           d S )Nr   r   rC   r"   r   rH  )r	   r*   r>   r   r   rQ   r   )r/   rV   r   r   s       r3   test_indexing_zerodim_np_arrayz6TestiLocBaseIndependent.test_indexing_zerodim_np_array  s_    AA'((!%Aq6"""
vq)))))r5   c                 v    t          ddg          }|j        t          j        d                   }|dk    sJ d S )Nr   r   r   )r   r*   r>   r   )r/   r   r   s      r3   %test_series_indexing_zerodim_np_arrayz=TestiLocBaseIndependent.test_series_indexing_zerodim_np_array  s6    Aq6NN${{{{{{r5   c                 J   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        ||           d S )Nr   r   )r   r   F)rM   r   r   r   )r   r   rv   
categories)r   r	   rQ   rP   r*   assert_categorical_equal)r/   rU   rV   rX   s       r3   -test_iloc_setitem_categorical_updates_inplacezETestiLocBaseIndependent.test_iloc_setitem_categorical_updates_inplace  s    ///**3999--E:::1s+++++ DDbD	11s+++++???KKK
#C22222r5   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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        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        ||           d S )Nr   r   r   rC   r"   rm   r~   r$   rw   r   )TTFF)FFTTg      @g      (@g      @)r	   r>   r   r*   r   rQ   rR   )r/   r   rX   s      r3    test_iloc_with_boolean_operationz8TestiLocBaseIndependent.test_iloc_with_boolean_operation  s   QFQFQFQK@AAFLA%&&&!+&&&q!fq!fq"g26{CDD
fh///FL1$%%%*%%%q!fq!fq"gBF|DEE
fh///...///14///q!fq"g2wRVEFF
fh///...///14///q#hD	As8a[IJJ
fh/////r5   c                     t          dt          d                                          i          }|j        d         }t          dgg d          }t	          |dgdd          }t          j        ||           d S )	Nr   z	a b c d er   r   r  r\  category)r   r   r!   )r	   r   splitr*   r   rQ   r   )r/   rV   r   raw_catrX   s        r3   ?test_iloc_getitem_singlerow_slice_categoricaldtype_gives_serieszWTestiLocBaseIndependent.test_iloc_getitem_singlerow_slice_categoricaldtype_gives_series  s    [):):)<)<==>??se0I0I0IJJJ'#QjIII
vx00000r5   c                 V   t          g d                              d          }|j        dd         }t          ddg                              t          g d                    }t	          j        ||           |j        ddg         }t          ddg                              t          g d                    }t	          j        ||           |j        g d         }t          dg                              t          g d                    }t	          j        ||           d S )Nr   rc  r   r   r   TFF)r   rO   r*   r   rQ   r   )r/   rh   r   rX   s       r3   $test_iloc_getitem_categorical_valuesz<TestiLocBaseIndependent.test_iloc_getitem_categorical_values  s    YYY&&z22 !A#1a&>>(()9))))D)DEE
vx000 1a&!1a&>>(()9))))D)DEE
vx000 .../1#;;%%&6yyy&A&ABB
vx00000r5   c                     t          g dd          }||j        d<   t          t          ddgd          }t          j        ||           d S )Nr   ztimedelta64[ns]r    r   r   r   )r   r*   r   rQ   r   )r/   r  seriesrX   s       r3   %test_iloc_setitem_td64_values_cast_naz=TestiLocBaseIndependent.test_iloc_setitem_td64_values_cast_na  sX     			):;;;A31+->???
vx00000r5   not_nar   g      ?c                     t          |g          }t          ||||g|          }|||g|j        d d<   t          ||||g|          }t          j        ||           d S )Nr\  r    rC   )r   r   r*   rQ   r   )r/   rm  nulls_fixturer!   rh   r   s         r3   $test_setitem_mix_of_nan_and_intervalz<TestiLocBaseIndependent.test_setitem_mix_of_nan_and_interval  s     !VH555M=-HPU
 
 
 &v}=!mV]MJRWXXX
sC(((((r5   c                    t          g           }t          t          j                            d                              t          |          t          |          f          ||          }t          j                            d                              dd          }d|j         }t          j
        t          |          5  d|j        |<   d d d            d S # 1 swxY w Y   d S )	Nr   r}   rm   )r   r   r   r   zCannot set values with ndim > rq   r   )r
   r	   r>   r   r   r   r-   r   ndimr9   r   r   r*   )r/   r*  r2   nd3r   s        r3   4test_iloc_setitem_empty_frame_raises_with_3d_ndarrayzLTestiLocBaseIndependent.test_iloc_setitem_empty_frame_raises_with_3d_ndarray  s   BiiI!!!$$44c#hhC5IJJ
 
 

 i##A&&//	/BB9sx99]:S111 	 	CHSM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   CC#&C#c                 j   t          j        d          }t          |          }t          j        d          }|                    d           t          |          }t	          j         ||          g d          ||          g d                    t	          j         ||          dg          ||          dg                    t	          j         ||          d          ||          d                    t	          j         ||          dd          ||          dd                    d S )Nrw   F)writer   r   rC   )r>   eyer	   setflagsrQ   rR   r   )r/   rS   rw_arrayrw_dfro_arrayro_dfs         r3   "test_iloc_getitem_read_only_valuesz:TestiLocBaseIndependent.test_iloc_getitem_read_only_values
  s6    6"::(##6"::&&&(##
Juiii(**U*;*;III*F	
 	
 	
 	jj//4jj6G6G6LMMM
zz%003ZZ5F5Fq5IJJJ
jj//!4jj6G6G!6LMMMMMr5   c                 p   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
        ||           d S )Ndataru   r?   r    )r   rC   r~   F)r	   r>   rL  r   flags	writeabler*   r   rQ   rR   r   )r/   rV   indicesr   rX   s        r3   test_iloc_getitem_readonly_keyz6TestiLocBaseIndependent.test_iloc_getitem_readonly_key  s    9 = = =>??(999%%"'!6)))$
fh///F)f:>))),
vx00000r5   c                     t          dgdg          }t          g d          |j        d<   t          dt          g d          gidgdg          }t          j        ||           d S )Nr   r   rp   r   r   rH   )r	   r   r*   rQ   rR   r   s      r3   "test_iloc_assign_series_to_df_cellz:TestiLocBaseIndependent.test_iloc_assign_series_to_df_cell)  st    uQC000yyy))cF999$5$5#67#qcRRR
b(+++++r5   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        ||           d S )N)r   r  z)r   rC   r"   )flagr  rh  r   r   )r   rC   r"   r   )r/   r  rV   r  rX   s        r3   test_iloc_setitem_bool_indexerz6TestiLocBaseIndependent.test_iloc_setitem_bool_indexer0  s     )))DDEE%,,,-- ggqj1A5
ooo			JJKK
b(+++++r5   r   c                    t          g dg dd          }t          g dg dg dd          }|r
|d d          }|j        d d dgf         |j        d d |f<   t          g dg dg dd          }t          j        ||           d S )	N)ry   r   r   )r         )a2b2r   r   rP  r   r   r   r   r   )r/   r  rZ   r   r   rb   rX   s          r3   %test_iloc_setitem_pure_position_basedz=TestiLocBaseIndependent.test_iloc_setitem_pure_position_based9  s     |||<<<@@AAiiiiiiiiiHHII 	qqq6D"xA3/G999<<<iiiPPQQ
c8,,,,,r5   c                 l   t          ddgddgd          }|r
|d d          }ddd}||j        d<   t          ddgddgd          }t          j        ||           t          ddgddgd          }|r
|d d          }||j        d<   t          ddgddgd          }t          j        ||           d S )Nr   r   )r   r  r   r?  g       @g     X@r   )r/   rZ   rV   rb   rhsrX   s         r3   "test_iloc_setitem_dictionary_valuez:TestiLocBaseIndependent.test_iloc_setitem_dictionary_valueE  s     aV1a&1122 	aaa5DB
Aq6B8899
b(+++ aV3*5566 	aaa5D
Aq6d<<==
b(+++++r5   c                 n   t          t          j                            d                              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                            d                              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	         |           d S )Nr   r   )r>  皙?r  abcr}   r   r  r   )r  r   )r   r  r  )r"   rC   )r   r  r  r   r   )r>  r  r   r  )r	   r>   r   r   r   r<   r*   rQ   rR   r   r   r   )r/   rV   expects      r3   "test_iloc_getitem_float_duplicatesz:TestiLocBaseIndependent.test_iloc_getitem_float_duplicatesX  s   I!!!$$44V<<!//KK
 
 

 
bfSk6222Q
rvh/888 ==
bfSk6222Q
rvh/888I!!!$$44V<<"""KK
 
 

 2
bfSk62222q!
rvh/888%%%!R!
bfSk6222!R!$
rvh/88888r5   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        ||           d S )Nc                   8    e Zd ZddZdefdZeZdefdZd Z	dS )CTestiLocBaseIndependent.test_iloc_setitem_custom_object.<locals>.TOreturnNc                     || _         d S Nr  )r/   r  s     r3   __init__zLTestiLocBaseIndependent.test_iloc_setitem_custom_object.<locals>.TO.__init__  s    "


r5   c                     d| j          dS )Nr"  r#  r  r/   s    r3   __str__zKTestiLocBaseIndependent.test_iloc_setitem_custom_object.<locals>.TO.__str__  s    (4:((((r5   c                 "    | j         |j         k    S r  r  )r/   others     r3   __eq__zJTestiLocBaseIndependent.test_iloc_setitem_custom_object.<locals>.TO.__eq__  s    zU[00r5   c                     | S r  r@   r  s    r3   rb   zHTestiLocBaseIndependent.test_iloc_setitem_custom_object.<locals>.TO.view  s    r5   )r  N)
r6   r7   r8   r  r&  r  __repr__r$  r  rb   r@   r5   r3   TOr    st        # # # #) ) ) ) ) H1t 1 1 1 1    r5   r  r   r   r}   re   r   )r	   r*   rQ   rR   r>   r   )r/   r  rV   r   s       r3   test_iloc_setitem_custom_objectz7TestiLocBaseIndependent.test_iloc_setitem_custom_object}  s   	 	 	 	 	 	 	 	 aVaS11111!Q!555BqEED
fb))) aVaS1111!Q!555
fb)))))r5   c                    t          t          j                            d                              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                    d S )Nr   r   ABCaabr  r   )r	   r>   r   r   r<   r*   
isinstancer   rQ   assert_almost_equalrN   T)r/   rV   r   s      r3   !test_iloc_getitem_with_duplicatesz9TestiLocBaseIndependent.test_iloc_getitem_with_duplicates  s    I!!!$$++F33KKu++
 
 
 &&)))))
v}bil;;;111a4&&)))))
v}bil;;;;;r5   c                     t          g dg dgg d          }|j        d d dgf         }|                    dgd          }t          j        ||           d S )Nr   r   )r   r   r   ro   r   r   r   )r	   r*   takerQ   rR   r5  s       r3   "test_iloc_getitem_with_duplicates2z:TestiLocBaseIndependent.test_iloc_getitem_with_duplicates2  sj    			999-yyyAAAQC77A3Q7''
fh/////r5   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        d d dfxx         dz  cc<   t          t          dd          ddgi          }t	          j        ||           d S )Nr   r   r   rH  rC   )r	   r   r*   r   rQ   r   rM   rR   r5  s       r3   test_iloc_intervalz*TestiLocBaseIndependent.test_iloc_interval  s   AA/008Aq>>1-A666
vx000A1a&x1~~666
vx000AAAqDQhq!nnq!f566
fh/////r5   indexing_funcrhs_funcc                 n   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        ||           d S )Nr   rm   rw   TFT)rm   r   rw   r   )r   r*   rQ   r   r	   rR   )r/   r  r  rh   rX   rV   s         r3   test_loc_setitem_boolean_listz5TestiLocBaseIndependent.test_loc_setitem_boolean_list  s     YYY7?xB7H7H222334***%%
sH---YYY'((6>hbT{6K6K111223c:::.//
b(+++++r5   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        ||           d S )	Nrv   r   Int64r    r   foor   )r   rv   r   )r/   rV   resrX   s       r3   .test_iloc_getitem_slice_negative_step_ea_blockzFTestiLocBaseIndependent.test_iloc_getitem_slice_negative_step_ea_block  s    YYY'w777gaaa2g
c2&&&3gaaa2g2c7C99::
c8,,,,,r5   c                 ,   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        ||           d S )	Nstatusr  rc  r    r   r   r   )r   r   r   )r	   r>   r   r*   r!   rQ   rR   r   s      r3   *test_iloc_setitem_2d_ndarray_into_ea_blockzBTestiLocBaseIndependent.test_iloc_setitem_2d_ndarray_into_ea_block  s    ///2*EEE358cUSEN3K3K!Q  "(A3--/0h88@RSSS
b(+++++r5   c                     t          dd          j        }t          |          }|j        d         }|d         |d         k    sJ |d         |d<   |d         |d         k    sJ d S )Nr   g      $@r   r   r   )r   _valuesr	   r*   )r/   ra   rV   rh   s       r3   *test_iloc_getitem_int_single_ea_block_viewzBTestiLocBaseIndependent.test_iloc_getitem_int_single_ea_block_view  su     Q%%-s^^ gaj 1vR    RA1vR      r5   c                    t          ddgddgd          }|rct          j        t          d          5  t          dt	          ddg          i          |j        d d d	gf<   d d d            d S # 1 swxY w Y   d S 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           d S )Nz
2022-01-01z
2022-01-0220212022r   r   rq   rv   r   z2021-01-01 00:00:00z2022-01-01 00:00:00Fcheck_dtype)	r	   r9   r   r   r   r*   r   rQ   rR   )r/   using_infer_stringrV   rX   s       r3   )test_iloc_setitem_multicolumn_to_datetimezATestiLocBaseIndependent.test_iloc_setitem_multicolumn_to_datetime  sy   lL9@PQQRR 	Cy@@@ R R"+S+vv>N2O2O,P"Q"QA3R R R R R R R R R R R R R R R R R R (k66:J.K.K(LMMBGAAAsFO  ""788!"788 !&)  H !"hEBBBBBBs   .A//A36A3)Qr6   r7   r8   __doc__r9   r:   r;   slicer,   r
   r>   asarrayrY   rc   ri   skipifr   r   r   r<   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r   r  filterwarningsr1  r6  r8  r:  r<  rB  rN  rV  rX  rZ  r_  ra  rf  ri  r   r   rl  r   rp  rt  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r@   r5   r3   rB   rB   B   s       ))[E$KKE!HHE!HHIIE%%((OOBJyyy!!	

 
, ,
 
,< [Yu66? ? 76?>1 1 1 [%S   c c cJ [_		"ttG}}/M.NOO[ eDkkC:&3Zt%htQ""#UU4[[1	
 	- 	-  PO	-  H H H1 1 161 1 10 0 0&0 0 0& [We}6P6P6P&QRR  SR0 0 0.5 5 5: [Yu66, , 76,0 [Yu66, , 76,( [Yu66, , 76,", , ,, , ,8, , ,0/0 /0 /0b! ! !F!0 !0 !0F [Yu66"1 "1 76"1H [Yu66, , 76,* [Yu66[Y!eeD!T.B.BHBHaSMM(RSS[Wuhbhuoo&>??3 3 @? TS 763 [ 566FY FY 76FYP0 0 0< < <* * *0 0 0  "
 
 
23 3 3.* * *  3 3 30 0 0&1 1 11 1 1* [WtS"&&9::1 1 ;:1 [XAS'ABB) ) CB)  N N N"1 1 1, , , [WtRX&677, , 87, [Yu66[Y!eeAqkk(:;;- - <; 76- [Yu66, , 76,$#9 #9 #9J *  *  *D< < <0 0 00 0 0" [_tRX.>??[Z$)9::
, 
, ;: @?
,
- 
- 
-, , ,! ! !C C C C Cr5   rB   c                   f    e Zd Zd Zej                            dddg          d             Zd ZdS )TestILocErrorsc                 N   |}|t           u r|                                }d}t          j        t          |          5  |j        d          d d d            n# 1 swxY w Y   t          j        t          t                    5  d|j        d<   d d d            d S # 1 swxY w Y   d S )Nz5Cannot index by location index with a non-integer keyrq   g      @r   )r	   rg   r9   r   r   r*   r.   _slice_iloc_msg)r/   series_with_simple_indexr0   r2   r   s        r3   test_iloc_float_raisesz%TestILocErrors.test_iloc_float_raises  s!    'i'',,..CE]9C000 	 	HSMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]:_=== 	 	CHSM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s#   AAABB!BrZ   TFc                 >   t          j        t          d          5  |j        d d d d d d f          d d d            n# 1 swxY w Y   |r
|d d          }t          j        t          d          5  d|j        d d d d d d f<   d d d            d S # 1 swxY w Y   d S )NzToo many indexersrq   ztoo many indices for arrayr   )r9   r   r   r*   r.   )r/   float_framerZ   rb   s       r3   *test_iloc_getitem_setitem_fancy_exceptionsz9TestILocErrors.test_iloc_getitem_setitem_fancy_exceptions!  s=   ]=0CDDD 	& 	&QQQ111W%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&  	"qqq>D]:-IJJJ 	* 	*()KQQQ111W%	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s!   ?AA1BBBc                 V   t          dg di          }t          dg di          }d}t          j        t          |          5  d|j        |<   d d d            n# 1 swxY w Y   d}t          j        t
          |          5  |j        |          d d d            d S # 1 swxY w Y   d S )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	   r9   r   r   r*   r.   )r/   rV   r  r   s       r3   test_iloc_frame_indexerz&TestILocErrors.test_iloc_frame_indexer,  s>   YYY'((S"5"5"5677Q]9C000 	! 	! BGG	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!; 	 ]:S111 	 	GG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   AA"ABB"%B"N)	r6   r7   r8   r  r9   r:   r;   r  r  r@   r5   r3   r  r    sd          & [Yu66* * 76*    r5   r  c                   p    e Zd Zd Zd Zd Zej                            g dddg          d             Z	dS )	TestILocSetItemDuplicateColumnsc                 ,   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 d S )
Nr   r   r   rC   r"   r   r   rH   )r   r   )r	   r   r*   dtypesr>   r
  )r/   r   r   rV   s       r3   *test_iloc_setitem_scalar_duplicate_columnszJTestILocSetItemDuplicateColumns.test_iloc_setitem_scalar_duplicate_columns=  s    t!,,AA.>.>?@@qq))+;+;<==S#JQ'''wt}""""wt}!!!!y~a BH,,,,,,r5   c                     t          g dgg d          }dg|j        d d df<   t          g dgg d          }t          j        ||           d S )N)r   r&  str2r   r   r   ro   str3r   )r   r&  r  r   r   s      r3   (test_iloc_setitem_list_duplicate_columnszHTestILocSetItemDuplicateColumns.test_iloc_setitem_list_duplicate_columnsH  sp    ***+___EEE10001???KKK
b(+++++r5   c                 H   t          t          j        dt          j                                      dd          g d          }|j        d d df                             t          j                  |j        d d df<   |j        j        d         t          j        k    sJ d S )Nr$   r    r   r"   r   ro   r   )	r	   r>   r   r
  r   r*   rO   r?   r  rM  s     r3   *test_iloc_setitem_series_duplicate_columnszJTestILocSetItemDuplicateColumns.test_iloc_setitem_series_duplicate_columnsQ  s    Iarx(((00A66@T@T@T
 
 
 1,,RZ881y~a BH,,,,,,r5   )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        d d df<   t          |ddggg dt                    }t	          j        ||           d S )Nr&  r  r  )rp   r!   r   )r	   r=   r*   rO   rQ   rR   )r/   r  r  r  rV   expected_dfs         r3   *test_iloc_setitem_dtypes_duplicate_columnszJTestILocSetItemDuplicateColumns.test_iloc_setitem_dtypes_duplicate_columnsX  s     %()???&
 
 
 1,,V441eV,-#OO
 
 

 	b+.....r5   N)
r6   r7   r8   r  r  r  r9   r:   r;   r  r@   r5   r3   r  r  <  s        	- 	- 	-, , ,- - - [222	12 / /	 / / /r5   r  c                       e Zd Zd Zd ZdS )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                    d S )Nr\   aabbXYr   r)   c                 
    ddgS Nr   rC   r@   r   s    r3   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>v  
    A r5   r   rC   c                 
    ddgS r  r@   r   s    r3   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>y  r  r5   c                 
    ddgS r  r@   r   s    r3   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>|  r  r5   c                     dS Nr   r@   r   s    r3   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>|  s    ! r5   r   c                 
    ddgS r  r@   r   s    r3   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>  r  r5   c                     dgS r   r@   r   s    r3   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>  s    1# r5   c                     dS r   r@   r   s    r3   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>  s     r5   c                     dgS r   r@   r   s    r3   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>  s     r5   c                 
    ddgS r  r@   r   s    r3   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>  r  r5   c                 
    ddgS r  r@   r   s    r3   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>  r  r5   )r	   r<   r*   rQ   rR   r   )r/   rV   r  s      r3    test_frame_iloc_getitem_callablez1TestILocCallable.test_frame_iloc_getitem_callableq  s   \\\V==T&\\RRR g&&'
c27Aq6?333g&&)*
c27Aq61119#5666g&&34
sBGQFAI$6777g&&56
c27Aq6A3;#7888 gq!fkk)*
sBGQFAI$6777gq!fmm+,
c27Aq6A3;#7888g&&)*
sBGQFAI$6777g&&+,
c27Aq6A3;#788888r5   c                 *   t          g dt          t          d          t                    dt          d                    }|                                }d|j        d <   |                                }d|j        d	d
g<   t          j        ||           |                                }d|j        d d d f<   |                                }d|j        d	d
gd d f<   t          j        ||           |                                }d|j        d d f<   |                                }d|j        d	d
gdf<   t          j        ||           |                                }d|j        d d f<   |                                }d|j        d	d
gdgf<   t          j        ||           |                                }d|j        d	d
gd f<   |                                }d|j        d	d
gdf<   t          j        ||           |                                }d|j        d	d
gd f<   |                                }d|j        d	d
gdgf<   t          j        ||           |                                }d|j        d df<   |                                }d|j        d	d
gdf<   t          j        ||           |                                }ddg|j        d dgf<   |                                }ddg|j        d	d
gdgf<   t          j        ||           d S )Nr\   r  r    r  r   r)   r   c                 
    ddgS r  r@   r   s    r3   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>  
    Aq6 r5   r   rC   r   c                 
    ddgS r  r@   r   s    r3   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>  r
  r5   rm   c                 
    ddgS r  r@   r   s    r3   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>  r
  r5   c                     dS r   r@   r   s    r3   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>  s    Q r5      c                 
    ddgS r  r@   r   s    r3   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>  r
  r5   c                     dgS r   r@   r   s    r3   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>  s    aS r5   r   c                     dS r   r@   r   s    r3   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>  s    1 r5   c                     dgS r   r@   r   s    r3   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>  s    A3 r5   rw   c                 
    ddgS r  r@   r   s    r3   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>  r
  r5   c                 
    ddgS r  r@   r   s    r3   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>  r
  r5   )r	   r   r<   r=   rM   r*   rQ   rR   )r/   rV   r  r   s       r3    test_frame_iloc_setitem_callablez1TestILocCallable.test_frame_iloc_setitem_callable  s   ,,VDLL%G%G%GHHv,,
 
 
 ggii%&!!"ggii!Q
c3'''ggii(*!!111$%ggii !Q
c3'''ggii23!!;;./ggii!Q
c3'''ggii46!!==01ggii "!Q!
c3''' ggii(*!Q$%ggii !Q
c3'''ggii*,!Q&'ggii "!Q!
c3'''ggii(*!!1$%ggii !Q
c3'''ggii+-r(!!A3&'ggii!#R!Q!
c3'''''r5   N)r6   r7   r8   r  r  r@   r5   r3   r  r  p  s2        9 9 9<7( 7( 7( 7( 7(r5   r  c                   ^    e Zd Zd Zd Zd Zd Zd Z ej	        d          d             Z
dS )	TestILocSeriesc           
      *   t          t          j                            d                              d          t          t          ddd                              }|                                }t          t          |                    D ]7}|j	        |         }||j
        |                  }t          j        ||           8|j	        t          dd                   }|j        dd         }t          j        ||           t          j        d           5  d|d d <   d d d            n# 1 swxY w Y   t          j        ||           |j	        g d	         }|                    |j
        g d	                   }t          j        ||           d S )
Nr   rw   r   rl   r)   r   rC   r"   )r   r   rC   r"   rm   )r   r>   r   r   r   r<   r,   rM   r-   r*   r   rQ   r  r  r   r   assert_produces_warningreindex)r/   rh   ser_originalrG  r   r   rX   s          r3   	test_iloczTestILocSeries.test_iloc  s   I!!!$$44R88U1bRS__@U@U
 
 
 xxzzs3xx 	0 	0AXa[Fcil#C"63//// %1++&71Q3<
vx000 '-- 	 	F111I	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sL111 ///*;;sy9::
vx00000s   D--D14D1c                 V    t          g dg d          }|j        d         dk    sJ d S )Nr   r   r)   r   )r   r*   )r/   rh   s     r3   test_iloc_getitem_nonuniquez*TestILocSeries.test_iloc_getitem_nonunique  s9    YYYiii000x{ar5   c                     t          g d          }t          g dg d          }|j        dd         |j        dd<   t          g d          }t          j        ||           d S )Nr   r   )r   r   r   r)   r   rC   )r   rm   r~   )r   r*   rQ   r   )r/   ser1ser2rX   s       r3   r  z4TestILocSeries.test_iloc_setitem_pure_position_based  sp    iii  iiiyyy1111Q3	!A#)))$$
tX.....r5   c                     t          dgt          j        gd          }t          t          gdd          }t          j        t          d          5  ||j        d d df<   d d d            d S # 1 swxY w Y   d S )Ntest)r   r   r   r  )r   r!   r   rq   )	r	   r>   r   r   r   r9   r   r   r   )r/   r   rh   s      r3   #test_iloc_nullable_int64_size_1_nanz2TestILocSeries.test_iloc_nullable_int64_size_1_nan  s    &99::bT7333]9O<<< 	% 	%!$FJqqq#v	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   A..A25A2c                 D   t          j        d           t          ddgddgddgd          }t          ddgddgddgd                              d          }|j        d d |d         f         }|j        d d |d         f         }t          j        ||d	
           d S )Npyarrowr   r   r   r   r   )r   r   r   )dtype_backendFr  )r9   importorskipr	   convert_dtypesr*   rQ   rR   )r/   rV   df_arrowrX   r   s        r3   test_iloc_arrow_extension_arrayz.TestILocSeries.test_iloc_arrow_extension_array  s    I&&&aV1a&SzBBCCa&1vS#J77
 

.y.
1
1 	 7111bg:&qqq(3-/0
fhEBBBBBBr5   r'  c                     t          g dd          }t          ddg          }t          ddgd          }||j        |<   t          g dd          }t          j        ||           d S )	Nr   zint64[pyarrow]r    r   r   r   r$   )r   r$   rC   )r   r
   r*   rQ   r   )r/   rh   r*  valsrX   s        r3   test_setitem_pyarrow_int_seriesz.TestILocSeries.test_setitem_pyarrow_int_series  s|     YYY&6777QFmmq!f$4555)))+;<<<
sH-----r5   N)r6   r7   r8   r  r  r  r%  r,  td
skip_if_nor/  r@   r5   r3   r  r    s        1 1 16     / / /% % %	C 	C 	C R]9	. 	. 	. 	. 	.r5   r  )-r  r   renumpyr>   r9   pandas.compatr   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorsr0  pandasr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingrQ   pandas.api.typesr   pandas.tests.indexing.commonr   escaper  r   rB   r  r  r  r  r@   r5   r3   <module>r?     s   . .       				      . . . . . . ' ' ' ' ' ' ) ) ) ) ) ) ) ) )                                 "       & & & & & & K K K K K K ")6 
 
 
 
 
 
 
 
2FC FC FC FC FC FC FC FCR&. . . . . . . .b1/ 1/ 1/ 1/ 1/ 1/ 1/ 1/hV( V( V( V( V( V( V( V(rE. E. E. E. E. E. E. E. E. E.r5   