
    dD                        d Z ddlmZ ddlZddlmZm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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)catch_warningssimplefilter)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                            dddg dg          ej                            dddg          ej                            dg d	          d
                                     ZdS )TestiLockey   r      r   kindseriesframecol)labelsmixedtsfloatsemptyc                 j    |                     | d|           }t          |d|t                     d S )N_iloc)fails)getfixturevaluer   
IndexError)selfr   r   r"   requestobjs         [/var/www/html/t/fyr/venv311/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-   sN     %%oooo66*		
 	
 	
 	
 	
 	
    N)__name__
__module____qualname__pytestmarkparametrizer2    r3   r1   r   r   ,   s        [UQIII$677[Vh%899[444 
 
	  :9 87
 
 
r3   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          ej                            dej        ej        g          d                         Zej                            deeg          d	             Zd
 Z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!d$ Z"d% Z#d& Z$d' Z%d( Z&d) Z'd* Z(d+ Z)d, Z*d- Z+d. Z,ej                            dd/g eddd           e
j        d/g          g          ej                            d0d1g e
j        d1g          g          d2                         Z-d3 Z.d4 Z/d5 Z0d6 Z1d7 Z2d8 Z3d9 Z4d: Z5d; Z6d< Z7ej                            d0de8e
j9        g          d=             Z:ej                            d> e;d/d          d?d@g          dA             Z<dB Z=ej                            dej        ej        g          dC             Z>dD Z?dE Z@ej                            dFee
j        g          dG             ZAej                            ddg eddH          g          dI             ZBdJ ZCdK ZDdL ZEdM ZFdN ZGdO ZHej                            dPee
j        g          ej                            dQee
j        g          dR                         ZIdS ZJdT ZKeLjM        dU             ZNdV ZOdS )WTestiLocBaseIndependentzTests Independent Of Base Classr   N   r   indexerc                 p   t          dt          d          it                    }t          g d          }|s'|j        j        d                             |          sJ |                                }|j        }| ||          |df<   t          d|i          	                    t                    }|s"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          }|                                }|j        }| ||          |df<   t          |	                    t                    t          d          d          }t          j        ||           d S )	Nr   r=   dtype)alphabetagammarD   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   using_array_managerr!   catdf	orig_valsexpecteds	            r1   %test_iloc_setitem_fullcol_categoricalz=TestiLocBaseIndependent.test_iloc_setitem_fullcol_categoricalC   s    1eAhh-v66644455" 	?:$Q'99#>>>>>ZZ\\I	!CFaX&&--f55" 	=#BqEL)<<<<<
b(+++  1v    
 bhyyy???E!HHMMNNZZ\\I	!CFF!3!3aAABB
b(+++++r3   boxc                 h   t          g d          } ||                    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 r8|r)|j        |usJ t          j
        |j        |          sJ d S |j        |u sJ d S t          j
        |d         j        |          sJ d S )Nr   r   r=      i8r   r   )r=   r\   r=   r\   r@   )r   to_numpyr   rM   rI   arraysr*   rO   rQ   assert_equalrP   )r.   frame_or_seriesrY   using_copy_on_writearrr0   rM   rW   s           r1   test_iloc_setitem_ea_inplacez4TestiLocBaseIndependent.test_iloc_setitem_ea_inplacep   s\    LLL!!ocll40011f$$ZFFX_Q'Ff$$3s122w<<CHRaRLL!c#abb'llCHRaRUO"?28LLL#E#E#EFF
X&&& f$$" ,z////'
F;;;;;;;zV++++++#CFM6:::::::r3   c                     t          g d          }t          t          d          |          }|j                            d          sJ |                                }|j                            d          sJ d S )N)r   r   r   r=   index)r   r   r   )r   r   rG   r*   _is_scalar_accessto_frame)r.   rg   serrU   s       r1   test_is_scalar_accessz-TestiLocBaseIndependent.test_is_scalar_access   sv    iii  U1XXU+++x))$/////\\^^w((0000000r3   c                 8   t          t          j                            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        ||           d }t          t          j                            dd          t	          d                    } ||j        d d ddf         t          |j        g                       ||j        d d ddf         |j        d d dgf                     ||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 )N)      ABCDEcolumnsz%positional indexers are out-of-boundsmatchr   r   r   r=   r\   ro   r      id   Aiz*single positional indexer is out-of-boundsr\   
   ir   r   i      c                 \    t          |            | j         t          j        | |           d S N)strdtypesrQ   rR   )resultrW   s     r1   checkz?TestiLocBaseIndependent.test_iloc_exceeds_bounds.<locals>.check   s-    KKKMM!&(33333r3   ro   r   ABr=   rg   rr      r\   ro   r   )r
   rO   randomrandom_samplelistr7   raisesr-   r*   rQ   rR   assert_series_equalrandnrg   )r.   rU   msgsr   rW   r   dfls           r1   test_iloc_exceeds_boundsz0TestiLocBaseIndependent.test_iloc_exceeds_bounds   s	    ry..w77gOOO 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	4 	4 	4
 	1--tDzzBBBchqqq!A#v		2 F F FGGGchqqq!A#vQC 0111chqsmSXqc]+++5]:S111 	  	 HYYY	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 :]:S111 	 	HQQQTNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A99A= A=B;;B?B?!C==DD#D>>EE,FFF-GGG0H

HH0I

II0J

JJ0K

KK,YYY0ZZZzindex,columnsrn   rp   zindex_vals,column_valsrx   D12i  r   c                 $   t          t          j                            t	          |          t	          |                    ||          }d}t          j        t          |          5  |j        ||f          d d d            d S # 1 swxY w Y   d S )Nr   z$.iloc requires numeric indexers, gotrs   )	r
   rO   r   r   lenr7   r   r-   r*   )r.   rg   rr   
index_valscolumn_valsrU   r   s          r1   test_iloc_non_integer_raisesz4TestiLocBaseIndependent.test_iloc_non_integer_raises   s     IOOCJJG55UG
 
 
 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 )Nrw   ry   zCannot index by location indexrs   a)
r
   rO   arangereshaperQ   get_objr7   r   	TypeErrorr*   )r.   ra   r0   s      r1    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   )rw   e   f   )g   h   i   )j   k   l   rx   BCr   r   r=   rf   )rO   r   rL   r
   r*   rQ   assert_numpy_array_equal)r.   array_with_neg_numbers
array_copyrU   s       r1   -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Gr3   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   r=   ro   )   r{      rx   r   rx   r   r   rf   r   )r
   r*   rQ   r   rR   r   )r.   rU   r   rW   r   s        r1   /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0r3   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   r=   r\   axisrE   r   rx   r   rx   r   )rg   name)	r
   r   r*   r   r   rO   nanrQ   r   )r.   df1df2rU   r   rW   s         r1   test_iloc_getitem_dupsz.TestiLocBaseIndependent.test_iloc_getitem_dups@  s    t!,,AA.>.>?@@qq))+;+;<==S#JQ''' F||AAA261a+3G3G3GaPPP
vx00000r3   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   r=   r   rw      ,        r   )r   r   rf   )r
   rQ   rR   r*   r.   rU   rW   r   s       r1   test_iloc_getitem_arrayz/TestiLocBaseIndependent.test_iloc_getitem_arrayN  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/////r3   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   r=   r   rw   r   r   r   r   r   )TTFr   rf   c                     | j         dz  dk    S )Nr   r   rf   xs    r1   <lambda>z@TestiLocBaseIndependent.test_iloc_getitem_bool.<locals>.<lambda>q  s    17Q;!#3 r3   r
   r*   rQ   rR   r   s       r1   test_iloc_getitem_boolz.TestiLocBaseIndependent.test_iloc_getitem_boola  s    aa((#..D11
 
 AAA66cRU8V8VWXX,,,-
fh///11%%T4'H'HIRSUVQW
 
 
 334
fh/////r3   rg   TF)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 rs   )r   r   r7   r   r-   r*   )r.   rg   r   r   s       r1   test_iloc_getitem_bool_diff_lenz7TestiLocBaseIndependent.test_iloc_getitem_bool_diff_lent  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   r=   r   rw   r   r   r   r   r   r   rf   r   )rx   r   c                 
    ddgS )Nr   r   r:   )rU   s    r1   r   zATestiLocBaseIndependent.test_iloc_getitem_slice.<locals>.<lambda>  s
    1v r3   r   r   s       r1   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/////r3   c                 Z   t          t          j                            dd          g d          }t          t          j                            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 )Nry   r\   )rx   rx   r   r   rq   r   rn   sizer   rx   r   r   r   r=   )
r
   rO   r   r   randintr   r   rQ   rR   r*   )r.   r   r   rU   exps        r1   test_iloc_getitem_slice_dupsz4TestiLocBaseIndependent.test_iloc_getitem_slice_dups  s4   	A..8L8L8LMMMIa"--55b!<<sCj
 
 

 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4r3   c           	      2   t          t          j                            d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         dz  cc<   t          g dg d
          }t          j	        ||           d S )Nr\   r      r      r=   r   r   r   r   r   rf   r   r   r   )
r
   rO   r   r   r   r*   rQ   rR   r   r   r.   rU   r   rW   r   s        r1   test_iloc_setitemz)TestiLocBaseIndependent.test_iloc_setitem  s/   IOOAq!!1a););RYqRTVWEXEX
 
 
 {{{{1Q37111ac6?AaC
fh/// 1III&&&	qsq)))999555
q(+++++r3   c                 ~   t          g dg dg dg          }t          g dg dg dg          }d|                    d          d<   t          j        ||           t          g dg dg dg          }t          g d	g d
g dg          }d|                    d          d<   t          j        ||           d S )N)r   cry   )r   dr{   )r   er   )ro   ro   ro   ro   r   r   r   )r   r   ro   )r   r   ro   )r   r   ro   r   r   r.   rU   rW   s      r1   test_iloc_setitem_axis_argumentz7TestiLocBaseIndependent.test_iloc_setitem_axis_argument  s    lllLLLABBlllLLL)))DEEQ
b(+++lllLLLABBkkk;;;DEEQ
b(+++++r3   c                 |   t          t          j        d                              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	                              d          g dg d          }t          j        ||           d S )
N	   )r=   r=   r   r   r   r   r   rw   )	r   r   r   r=   r   r   r   r   r   )r
   rO   r   r   r*   r   rQ   rR   r   s      r1   test_iloc_setitem_listz.TestiLocBaseIndependent.test_iloc_setitem_list  s    IaLL  ((
 
 
 	AA
AA3&H88899AA&II!//#OO
 
 

 	b(+++++r3   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   r=   )r   r   r=   r   r   r   r   )r   rL   r*   rQ   r   r   )r.   s_origrW   r   s       r1   test_iloc_setitem_pandas_objectz7TestiLocBaseIndependent.test_iloc_setitem_pandas_object  s    %%...))KKMM"$bvq!f~~
q(+++KKMM!#RuaV}}
q(+++++r3   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   r=   r\   r   r   rF   r   rx   T)drop)r
   r   fillnarO   isnanr*   rg   rQ   rR   rr   reset_index)r.   r   r   rU   rW   indsmasks          r1   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(+++++r3   c                    t          ddgddggddg          }|j        d d df                             d          |j        d d df<   |st          |j        j                  dk    sJ |j        d d df         dz   |j        d d df<   |st          |j        j                  dk    sJ |                                }|j        ddgddgf         |j        ddgddgf<   t          j        ||           d S )	Nr   r   r   r=   r   rq   f8g      ?)	r
   r*   rN   r   rI   rJ   rL   rQ   rR   )r.   rS   rU   rW   s       r1   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" 	,rw~&&!++++ 1+1" 	,rw~&&!++++7799 #%'1a&1a&."9AA
b(+++++r3   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 )Nry   r\   r   rn   r   r   r   )r   r   )r\   r\      r=   ro   )r   r   r=   )r   r   r   r   )r   r   r=   r   )r|   r   r   r   )r   r   r   r=   )r|   r|   r   r   )rg   rA   )r   r\   r   r   )r
   rO   r   r   rG   r*   locrQ   r   rR   r   rH   rg   )r.   rU   r   r   rW   r   s         r1   test_iloc_getitem_framez/TestiLocBaseIndependent.test_iloc_getitem_frame   s^   IOOB""%2q//5Aq>>
 
 
 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/////r3   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 )Nry   r\   
abcdefghijABCDr   r   )br   r   r=   r   )r   r   )jr   z/index 5 is out of bounds for axis 0 with size 4rs   )ry   ro   zLocation based indexing can only have \[integer, integer slice \(START point is INCLUDED, END point is EXCLUDED\), listlike of integers, boolean array\] types)r
   rO   r   r   r   r*   r   rQ   rR   r7   r   r-   
ValueError)r.   rU   r   r   rW   r   s         r1    test_iloc_getitem_labelled_framez8TestiLocBaseIndependent.test_iloc_getitem_labelled_frameO  s   IOOB""$|*<*<d6ll
 
 
 fX}}}}AaC6!!!cU(#
fh/// fX}}}} @]:S111 	 	GENN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
; 	
 ]:S111 	 	GH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   &D  DD(EE
Ec                    t           j                            dd          }t          dd          }t	          d          }t          |||          }|                                 |j        ddd	d
f         }t          |           |j	         t          |ddd	d
f         |dd         |d	d
                   }t          j        ||           t	          d          |_        |j        ddd	d
f         }t          |           |j	         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          |||          }|s|j        j        d	         j         |j        ddd
df         }t          |           |j	         t          |ddd
df         |dd         |d
d                   }t          j        ||           d S )Nr   r\   20130101)periodsr   r   r=   ro   r   r   aaaaaar   r   r   )rO   r   r   r   r   r
   describer*   r   r   rQ   rR   rr   rG   rI   rJ   mgr_locs)r.   rS   rc   rg   rr   rU   r   rW   s           r1   test_iloc_getitem_doc_issuez3TestiLocBaseIndependent.test_iloc_getitem_doc_issuep  s4    iooa##:q111v,,s%999 	1ac"FS1ac]%!*gaPQclSSS
fh/// &\\
1ac"FS1ac]%!*d4jjQQQ
fh/// iooa##U1b!__%%uQ1~~&&s%999" 	'GN1&&1ac"FS1ac]%!*gaPQclSSS
fh/////r3   c                 V   t          t          j                            d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                            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 )Nry   r\   r   r   r   r   r   r   r   r=   rn   rf   r   r   )r   r   r\   )r   r=   ro   ru   )r
   rO   r   r   r   r*   rQ   rR   r   rG   r   r   s        r1   test_iloc_setitem_seriesz0TestiLocBaseIndependent.test_iloc_setitem_series  s   IOOB""$|*<*<d6ll
 
 
 {{{{1Q37111ac6?AaC
fh///29??2&&eAr1oo>>>q	{{{{rr
6"1":
vx000B4!8 yyqt!t yyqt!t,,,--
vx00000r3   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        ||           d S )Nro   int64r@   ry   r   r{   r   r   r   r\   )r   r   ry   r   r\   )ro   r   r{   r   r   r   r   r   r   r   r   y)r   r   r   r  r   )r
   rO   r   r*   rQ   rR   r   s      r1   test_iloc_setitem_list_of_listsz7TestiLocBaseIndependent.test_iloc_setitem_list_of_lists  s    )AW---BIa74S4S4STT
 
 R2r(+!#4#4#4;L;L;LMMNN
b(++++++")Ar2Q2Q2QRR
 
 b	C9-!#<#<#<CTCTCTUUVV
b(+++++r3   r   valueZc                     t          ddgddggddg          }||j        d|f<   |j        d	         }t          |          r|d
k    sJ d S )Nr   r   r=   r\   rx   r   rq   r   rE   r  )r
   r*   r   )r.   r>   r  rU   r   s        r1   #test_iloc_setitem_with_scalar_indexz;TestiLocBaseIndependent.test_iloc_setitem_with_scalar_index  s`     AA'#s<<<#7
  2Vs]]]]]]r3   c                    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	}t#          d
          5  t%          dt&                     dD ]}	|j        dk    j        }|	r8t-          |t          t/          t1          ||	                                        }dD ]}
	 |
rt1          ||
dd                    }n|}t3          t5          ||         d                                                             }n3# t          t8          t          f$ r}t3          |          }Y d }~nd }~ww xY w|	|
f}|                    |          }||k    rt=          d| d| d| d          ǐ	 d d d            d S # 1 swxY w Y   d S )Nro   rp   r   r   r   r   zBiLocation based boolean indexing cannot use an indexable as a maskrs   zDiLocation based boolean indexing on an integer type is not availableTr@   r\   c                 ,    g | ]}t          |          S r:   )bin).0nums     r1   
<listcomp>z:TestiLocBaseIndependent.test_iloc_mask.<locals>.<listcomp>  s    )))SC)))r3   )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)rg   r!  )rg   r"  )rg   r#  )r  r!  )r  r"  )r  r#  )recordignore)Nrg   r  )r!  r"  r#  r   r  [z] does not match [z], received [])r
   r   rG   r   r7   r   r  r*   r   rg   NotImplementedErrorrO   r   boolrQ   rR   r   r   r   UserWarningr  rM   r   reversedgetattrr   r  sumr   getAssertionError)r.   rU   r   r   r   r  r  repsrW   idxmethodaccessoranswerr   r   rs                   r1   test_iloc_maskz&TestiLocBaseIndependent.test_iloc_mask  s   tE!HH~~T']]SEJJJtax1}R]:S111 	 	GDMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	3t99%%
T].c::: 	 	GDMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 4&3t99"4DAAAB
fb))) y||$w))D)))d33T:: !$%!%T$,0!
 
, 4((( 	 	;///.  !+ J!$Xgb#6F6F-G-G(H(HIID3  F(! *'.r6!"":'>'>HH')H!$S$)?)C)C)E)E%F%F!G!G&7JK ( ( (!$Q( C !S))AF{{,PPPvPPAPPP   #		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sb   &B  BB	C##C'*C'A)K8AIKJ 	'I;	6K;J 	 >KKK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   rv   c   r   r=   r   znot in indexrs   )r
   rO   r   r*   r   rQ   rR   r7   r   KeyErrorr   )r.   rU   r1  rW   df3r   r   s          r1   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                 x   t          j        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 )Nro   r   r   T)check_index_typecheck_column_type)rQ   makeCustomDataframerR   r*   r.   rU   s     r1   "test_iloc_empty_list_indexer_is_okz:TestiLocBaseIndependent.test_iloc_empty_list_indexer_is_ok/  s    #Aq))
GAAArENGAAArrEN!"		
 	
 	
 	
 	GBENGBQBEN!"		
 	
 	
 	
 	GBK!QQQ$RV	
 	
 	
 	
 	
 	
r3   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<   |r#|d         g dk                                    sJ n |d         dk                                    sJ t          g d          }|j        d d          }||usJ g d|d d<   |r!t          |d d         g dk              sJ d S t          |d d         g dk              sJ d S )Nr   r   )r\   r\   r\   r\   )r   r   r=   r\   ro   r   r   r   r   r=   )r
   r*   rO   rP   r   allr   )r.   rb   original_df	sliced_dforiginal_seriessliced_seriess         r1   &test_identity_slice_returns_new_objectz>TestiLocBaseIndependent.test_identity_slice_returns_new_objectD  ss   iii 011$QQQ'	++++ C 0)C.AAAAA #,))3 	/cNiii/44666666cNa',,..... !3!3!344',QQQ/O3333 (ii 	7}RaR(III56666666}RaR(III56666666r3   c                     t          ddgddgg          }|j        t          j        d                   }t	          ddgd          }t          j        ||           d S )Nr   r   r=   r\   r   r   )r
   r*   rO   r   r   rQ   r   )r.   rU   r   r   s       r1   test_indexing_zerodim_np_arrayz6TestiLocBaseIndependent.test_indexing_zerodim_np_arraya  s_    AA'((!%Aq6"""
vq)))))r3   c                 v    t          ddg          }|j        t          j        d                   }|dk    sJ d S )Nr   r   r   )r   r*   rO   r   )r.   r   r   s      r1   %test_series_indexing_zerodim_np_arrayz=TestiLocBaseIndependent.test_series_indexing_zerodim_np_arrayh  s6    Aq6NN${{{{{{r3   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)rL   r   r   r   )r   r   rx   
categories)r   r
   rQ   rP   r*   assert_categorical_equal)r.   rT   rU   rW   s       r1   -test_iloc_setitem_categorical_updates_inplacezETestiLocBaseIndependent.test_iloc_setitem_categorical_updates_inplacen  s    ///**3999--E:::1s+++++ DDbD	11s+++++???KKK
#C22222r3   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   r=   r\   ro   r   r   ry   r   )TTFF)FFTTg      @g      (@g      @)r
   rO   r   r*   rg   rQ   rR   r.   r   rW   s      r1    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/////r3   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  rQ  category)rg   r   rA   )r
   r   splitr*   r   rQ   r   )r.   rU   r   raw_catrW   s        r1   ?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0r3   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   rY  r   r   r   TFF)r   rN   r*   r	   rQ   r   )r.   rk   r   rW   s       r1   $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0r3   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  r    rW   s       r1   %test_iloc_setitem_td64_values_cast_naz=TestiLocBaseIndependent.test_iloc_setitem_td64_values_cast_na  sX     			):;;;A31+->???
vx00000r3   not_nar   g      ?c                     t          |g          }t          ||||g|          }|||g|j        d d<   t          ||||g|          }t          j        ||           d S )NrQ  r@   r=   )r	   r   r*   rQ   r   )r.   rb  nulls_fixturerA   rk   r   s         r1   $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(((((r3   c                    t          g           }t          t          j                            t          |          t          |                    ||          }t          j                            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   ro   )r   r   r   r   zCannot set values with ndim > rs   r   )r   r
   rO   r   r   r   r   ndimr7   r   r  r*   )r.   r1  r0   nd3r   s        r1   4test_iloc_setitem_empty_frame_raises_with_3d_ndarrayzLTestiLocBaseIndependent.test_iloc_setitem_empty_frame_raises_with_3d_ndarray  s    Bii	C#c((;;3PSTTTi	229sx99]:S111 	 	CHSM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s    B88B<?B<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 )Nry   F)writer   r   r=   )rO   eyer
   setflagsrQ   rR   r   )r.   r>   rw_arrayrw_dfro_arrayro_dfs         r1   "test_iloc_getitem_read_only_valuesz:TestiLocBaseIndependent.test_iloc_getitem_read_only_values  s    6"::(##6"::&&&(##
ggennYYY7			9RSSS
ggennaS1775>>1#3FGGG
wwu~~a0''%..2CDDD
ggennQqS1775>>!A#3FGGGGGr3   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datarw   float64r@   )r   r=   r   F)r
   rO   onesr   flags	writeabler*   r   rQ   rR   r   )r.   rU   indicesr   rW   s        r1   test_iloc_getitem_readonly_keyz6TestiLocBaseIndependent.test_iloc_getitem_readonly_key  s    9 = = =>??(999%%"'!6)))$
fh///F)f:>))),
vx00000r3   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   rr   rg   r   rE   )r
   r   r*   rQ   rR   r   s      r1   "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(+++++r3   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   r=   r\   )flagr  r^  r   r   )r   r=   r\   r   )r.   r~  rU   r>   rW   s        r1   test_iloc_setitem_bool_indexerz6TestiLocBaseIndependent.test_iloc_setitem_bool_indexer  s     )))DDEE%,,,-- ggqj1A5
ooo			JJKK
b(+++++r3   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        ||           d S )	N)r{   r   r   )r         )a2b2r   r   rD  r   r   r   r   r   )r.   r>   r   r   rW   s        r1   %test_iloc_setitem_pure_position_basedz=TestiLocBaseIndependent.test_iloc_setitem_pure_position_based  s     |||<<<@@AAiiiiiiiiiHHII"xA3/G999<<<iiiPPQQ
c8,,,,,r3   c                 <   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        ||           d S )Nr   r   )r   r  r   r9  g       @g     X@r   )r.   rU   rhsrW   s       r1   "test_iloc_setitem_dictionary_valuez:TestiLocBaseIndependent.test_iloc_setitem_dictionary_value  s    aV1a&1122B
Aq6B8899
b(+++ aV3*5566
Aq6d<<==
b(+++++r3   c                 &   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=   )r8  皙?r  abcr   r   r  r   )r  r   )r   r  r  r\   )r   r  r  r   r   )r8  r  r   r  )r
   rO   r   r   r   r*   rQ   rR   r   r   rg   )r.   rU   expects      r1   "test_iloc_getitem_float_duplicatesz:TestiLocBaseIndependent.test_iloc_getitem_float_duplicates  s   IOOAq!!$u++
 
 
 
bfSk6222Q
rvh/888 ==
bfSk6222Q
rvh/888IOOAq!!)9)9)94;;
 
 
 2
bfSk62222q!
rvh/888%%%!R!
bfSk6222!R!$
rvh/88888r3   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 r~   r  )r.   r  s     r1   __init__zLTestiLocBaseIndependent.test_iloc_setitem_custom_object.<locals>.TO.__init__3  s    "


r3   c                     d| j          dS )Nr&  r'  r  r.   s    r1   __str__zKTestiLocBaseIndependent.test_iloc_setitem_custom_object.<locals>.TO.__str__6  s    (4:((((r3   c                 "    | j         |j         k    S r~   r  )r.   others     r1   __eq__zJTestiLocBaseIndependent.test_iloc_setitem_custom_object.<locals>.TO.__eq__;  s    zU[00r3   c                     | S r~   r:   r  s    r1   viewzHTestiLocBaseIndependent.test_iloc_setitem_custom_object.<locals>.TO.view>  s    r3   )r  N)
r4   r5   r6   r  r   r  __repr__r)  r  r  r:   r3   r1   TOr  2  st        # # # #) ) ) ) ) H1t 1 1 1 1    r3   r  r   r   r   rh   r   )r
   r*   rQ   rR   rO   r   )r.   r  rU   r   s       r1   test_iloc_setitem_custom_objectz7TestiLocBaseIndependent.test_iloc_setitem_custom_object0  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)))))r3   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=   ABCaabr|  r   )r
   rO   r   randr   r*   
isinstancer   rQ   assert_almost_equalrM   T)r.   rU   r   s      r1   !test_iloc_getitem_with_duplicatesz9TestiLocBaseIndependent.test_iloc_getitem_with_duplicatesR  s    ry~~a++T%[[UTTT&&)))))
v}bil;;;111a4&&)))))
v}bil;;;;;r3   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   rq   r   r   r   )r
   r*   takerQ   rR   r.   rU   r   rW   s       r1   "test_iloc_getitem_with_duplicates2z:TestiLocBaseIndependent.test_iloc_getitem_with_duplicates2]  sj    			999-yyyAAAQC77A3Q7''
fh/////r3   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   rL  r=   )r
   r   r*   r   rQ   r   rL   rR   r  s       r1   test_iloc_intervalz*TestiLocBaseIndependent.test_iloc_intervald  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/////r3   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   ro   ry   TFT)ro   r   ry   r   )r   r*   rQ   r   r
   rR   )r.   r  r  rk   rW   rU   s         r1   test_loc_setitem_boolean_listz5TestiLocBaseIndependent.test_loc_setitem_boolean_listu  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(+++++r3   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 )	Nrx   r   Int64r@   r   foor   )r   rx   r   )r.   rU   resrW   s       r1   .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,,,,,r3   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  rY  r@   r   r   r   )r   r   r   )r
   rO   r   r*   rA   rQ   rR   r   s      r1   *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(+++++r3   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.   rc   rU   rk   s       r1   *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      r3   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
           d S )Nz
2022-01-01z
2022-01-0220212022r   rx   r   z2021-01-01 00:00:00z2022-01-01 00:00:00F)check_dtype)r
   r   r*   r   rQ   rR   r   s      r1   )test_iloc_setitem_multicolumn_to_datetimezATestiLocBaseIndependent.test_iloc_setitem_multicolumn_to_datetime  s    lL9@PQQRR#S+vv6F*G*G$HIIA3 344344 f% 
 
 	b(>>>>>>r3   )Pr4   r5   r6   __doc__r7   r8   r9   slicerG   r   rO   asarrayrQ   r   r*   rX   r   r   rd   rl   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  r6  r<  rB  rJ  rM  rO  rT  rW  r\  r_  r   r   ra  r   re  ri  rr  rz  r}  r  r  r  r  r  r  r  r  r  r  r  td&skip_array_manager_not_yet_implementedr  r  r:   r3   r1   r<   r<   @   s       ))[E$KKE!HHE!HHIIE%%((OOBJyyy!!	

 
 [Y(9::, , ;:
 
,B [UUFO44; ; 54;:1 1 1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 52, , ,(
, 
, 
,, , ,, , ,, , ,8, , ,8-0 -0 -0^  B(0 (0 (0T1 1 1@, , ," [Y!eeD!T.B.BHBHaSMM(RSS[Wuhbhuoo&>??	3 	3 @? TS	3D D DL  "
 
 
*7 7 7:* * *  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)   [Y(9::H H ;:H1 1 1, , , [WtRX&677, , 87, [Y!eeAqkk(:;;- - <;-, , ,9 9 9B *  *  *D	< 	< 	<0 0 00 0 0" [_tRX.>??[Z$)9::
, 
, ;: @?
,
- 
- 
-, , , .! ! /.!? ? ? ? ?r3   r<   c                        e Zd Zd Z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 keyrs   g      @r   )r
   rj   r7   r   r   r*   r-   _slice_iloc_msg)r.   series_with_simple_indexra   r0   r   s        r1   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c                 &   t          j        t          d          5  |j        d d d d d d f          d d d            n# 1 swxY w Y   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 indexersrs   ztoo many indices for arrayr   )r7   r   r   r*   r-   )r.   float_frames     r1   *test_iloc_getitem_setitem_fancy_exceptionsz9TestILocErrors.test_iloc_getitem_setitem_fancy_exceptions  s(   ]=0CDDD 	& 	&QQQ111W%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& ]:-IJJJ 	* 	*()KQQQ111W%	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s!   ?AA%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 .locrs   r   zWDataFrame indexer is not allowed for .iloc
Consider using .loc for automatic alignment.)r
   r7   r   r   r*   r-   )r.   rU   r>   r   s       r1   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)r4   r5   r6   r  r  r  r:   r3   r1   r  r    sA          &* * *    r3   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   r=   r\   r   r   rE   )r   r   )r
   r   r*   r   rO   r  )r.   r   r   rU   s       r1   *test_iloc_setitem_scalar_duplicate_columnszJTestILocSetItemDuplicateColumns.test_iloc_setitem_scalar_duplicate_columns  s    t!,,AA.>.>?@@qq))+;+;<==S#JQ'''wt}""""wt}!!!!y~a BH,,,,,,r3   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   rq   str3r   )r   r   r  r   r   s      r1   (test_iloc_setitem_list_duplicate_columnszHTestILocSetItemDuplicateColumns.test_iloc_setitem_list_duplicate_columns  sp    ***+___EEE10001???KKK
b(+++++r3   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   rq   r   )	r
   rO   r   r  r   r*   rN   ru  r   rA  s     r1   *test_iloc_setitem_series_duplicate_columnszJTestILocSetItemDuplicateColumns.test_iloc_setitem_series_duplicate_columns  s    Iarx(((00A66@T@T@T
 
 
 1,,RZ881y~a BH,,,,,,r3   )r   
init_valueexpected_value)r  0r   )floatz1.2g333333?c                     t          |ddggg d          }|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  rq   r   )rr   rA   )r
   r*   rN   rH   rQ   rR   )r.   r   r  r  rU   expected_dfs         r1   *test_iloc_setitem_dtypes_duplicate_columnszJTestILocSetItemDuplicateColumns.test_iloc_setitem_dtypes_duplicate_columns  s     UF34oooNNN 1,,V441eV,-#OO
 
 

 	b+.....r3   N)
r4   r5   r6   r  r  r  r7   r8   r9   r  r:   r3   r1   r  r    s        	- 	- 	-, , ,- - - [222	12 / /	 / / /r3   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   rf   c                 
    ddgS Nr   r=   r:   r   s    r1   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>  
    A r3   r   r=   c                 
    ddgS r  r:   r   s    r1   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>   r  r3   c                 
    ddgS r  r:   r   s    r1   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>#  r  r3   c                     dS Nr   r:   r   s    r1   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>#  s    ! r3   r   c                 
    ddgS r  r:   r   s    r1   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>&  r  r3   c                     dgS r  r:   r   s    r1   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>&  s    1# r3   c                     dS r  r:   r   s    r1   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>*  s     r3   c                     dgS r  r:   r   s    r1   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>-  s     r3   c                 
    ddgS r  r:   r   s    r1   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>0  r  r3   c                 
    ddgS r  r:   r   s    r1   r   zCTestILocCallable.test_frame_iloc_getitem_callable.<locals>.<lambda>3  r  r3   )r
   r   r*   rQ   rR   r   )r.   rU   r  s      r1    test_frame_iloc_getitem_callablez1TestILocCallable.test_frame_iloc_getitem_callable  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8r3   c                    t          g dt          d          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   rf   r   c                 
    ddgS r  r:   r   s    r1   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda><  
    Aq6 r3   r   r=   r   c                 
    ddgS r  r:   r   s    r1   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>B  r   r3   ro   c                 
    ddgS r  r:   r   s    r1   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>H  r   r3   c                     dS r  r:   r   s    r1   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>H  s    Q r3      c                 
    ddgS r  r:   r   s    r1   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>N  r   r3   c                     dgS r  r:   r   s    r1   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>N  s    aS r3   r   c                     dS r  r:   r   s    r1   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>U  s    1 r3   c                     dgS r  r:   r   s    r1   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>[  s    A3 r3   ry   c                 
    ddgS r  r:   r   s    r1   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>a  r   r3   c                 
    ddgS r  r:   r   s    r1   r   zCTestILocCallable.test_frame_iloc_setitem_callable.<locals>.<lambda>g  r   r3   )r
   r   rL   r*   rQ   rR   )r.   rU   r  r   s       r1    test_frame_iloc_setitem_callablez1TestILocCallable.test_frame_iloc_setitem_callable6  s   \\\V==T&\\RRR 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'''''r3   N)r4   r5   r6   r  r  r:   r3   r1   r  r    s2        9 9 9<4( 4( 4( 4( 4(r3   r  c                   &    e Zd Zd Zd Zd Zd ZdS )TestILocSeriesc           
      X   t          t          j                            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   |rt          j        ||           n'|j        dd         dk                                    sJ |j        g d	         }|                    |j	        g d	                   }t          j        ||           d S )
Nry   r   rn   r   rf   r   r=   r\   )r   r   r=   r\   ro   )r   rO   r   r   r   rG   rL   r   r*   rg   rQ   r  r  r   r   assert_produces_warningrE  reindex)r.   rb   rk   ser_originalir   r   rW   s           r1   	test_iloczTestILocSeries.test_ilocn  s   RY__R((U1b!__0E0EFFFxxzzs3xx 	0 	0AXa[Fcil#C"63//// %1++&71Q3<
vx000 '-- 	 	F111I	 	 	 	 	 	 	 	 	 	 	 	 	 	 	  	."35555HQqSMQ&++----- ///*;;sy9::
vx00000s   DD!Dc                 V    t          g dg d          }|j        d         dk    sJ d S )Nr   r   rf   r   )r   r*   )r.   rk   s     r1   test_iloc_getitem_nonuniquez*TestILocSeries.test_iloc_getitem_nonunique  s9    YYYiii000x{ar3   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   rf   r   r=   )r   ro   r   )r   r*   rQ   r   )r.   ser1ser2rW   s       r1   r  z4TestILocSeries.test_iloc_setitem_pure_position_based  sp    iii  iiiyyy1111Q3	!A#)))$$
tX.....r3   c                    t          dgt          j        gd          }|j        d d df                             d          |j        d d df<   t          dgt          t          gd          d          }t          j        ||           d S )Ntest)r   r   r   r  r@   )	r
   rO   r   r   rN   r   r   rQ   rR   rV  s      r1   #test_iloc_nullable_int64_size_1_nanz2TestILocSeries.test_iloc_nullable_int64_size_1_nan  s    &99::#Z3/66w??
111c6F8%G2L2L2LMMNN
fh/////r3   N)r4   r5   r6   r  r  r  r  r:   r3   r1   r  r  m  sP        1 1 18     / / /0 0 0 0 0r3   r  ).r  r   rewarningsr   r   numpyrO   r7   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_testingrQ   pandas.api.typesr   pandas.tests.indexing.commonr   escaper  r   r<   r  r  r  r  r:   r3   r1   <module>r*     s   0 0       				       
      ' ' ' ' ' ' ) ) ) ) ) ) ) ) )                                 "       & & & & & & K K K K K K ")6 
 
 
 
 
 
 
 
(t? t? t? t? t? t? t? t?n#+ + + + + + + +\// // // // // // // //dS( S( S( S( S( S( S( S(l.0 .0 .0 .0 .0 .0 .0 .0 .0 .0r3   