
    Pi$             	       T   d Z ddlmZ ddlZddlmZmZmZmZ ddlZddl	m
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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'm(Z(m)Z)m*Z* ddl+m,Z- dd	l.m/Z/ dd
l0m1Z1 ddl2m3Z3 ej4        5                    dej6        ej6        dgdej6        ej6        gg dgej6        dgdej6        gddggg          d             Z7d Z8 G d d          Z9 G d 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@ G d$ d%          ZA G d& d'          ZB G d( d)          ZCej4        5                    d*g d+d,d-gdd.gfg d/d,d-gdd.gfg d/d,d0gdd1gfg          d2             ZDd3 ZEd4 ZFd5 ZGd6 ZHd7 ZId8 ZJd9 ZKd: ZLd; ZMd< ZNd= ZOej4        5                    d>d? ejP        d?           ejQ        d?          g          d@             ZRej4        5                    dA e&dB          dCf e&dDdEF          dGfg          dH             ZSdI ZTej4        U                    dJ          ej4        U                    dK          dL                         ZVdM ZW G dN dO          ZXdS )Pz"test label based indexing with loc    )
namedtupleN)datedatetimetime	timedelta)gettzindex)IndexingError)CategoricalCategoricalDtypeCategoricalIndex	DataFrameDatetimeIndexIndex
IndexSlice
MultiIndexPeriodPeriodIndexSeriesSparseDtype	Timedelta	Timestamp
date_rangetimedelta_rangeto_datetimeto_timedelta)	is_scalar)_one_ellipsis_message)"check_indexing_smoketest_or_raisesz series, new_series, expected_serba)FTTFTc                    t          d| i          }||j        d d df<   t          d|i          }t          j        |                                |           t          j        |                                |            d S NA)r   loctmassert_frame_equalisnanotna)series
new_seriesexpected_serdfexpecteds        r/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/indexing/test_loc.pytest_not_change_nan_locr1   0   sx     
C=	!	!BBF111c6N#|,--H"''))X..."((**xi00000    c                      t          g dg dg          } | j        dddgf         }t          ddgddgt          d          }t	          j        ||           d S )	N)r"         ?       @)r!         @      @r         r4   r5   r
   dtypename)r   r&   r   floatr'   assert_series_equal)r.   resultr/   s      r0   test_loc_dtyper@   @   sg    	OOO___5	6	6BVA1vIFsCjAe!DDDH68,,,,,r2   c                      e Zd Zd Zd Zd Zej                            dd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ej                            dg dg dg          ej                            dej        ej        ej        g          d                         Zej                            dd e	g dej        	           e	g dej        	           e	g dej        	           ej         ed           ed          g          g          ej                            dg dg dg dg dg          d                         Zej                            dej        ej        g          d             Zd Zej                            d edd           e	 e
d          e	           e	g d
e	          d edd           e	 edd d          ej        	          gdeg ed!d"           edd          gdeg edd           e	g d
e	          gdeg edd           e	g d
e	          gdeg eddd           e	g d
e	          gdegg          d#             Zd$ Zd% Zej                            d& edgg e	d'g          (          e ddd'f          e!dgd')          f e!dg e	d'g          *          d'dgf edgg e	d'g          *          d' e!dgd')          fg          d+             Z"ej                            d, e#d-d.d/          g e$d-d.d/          gdz   e%d          g e%d           e%d          gg          d0             Z&dS )1TestLocc                     t          g ddgt                    }|j        d         J t          g ddgd          }|r#t          j        |j        d                   sJ d S |j        d         J d S )N)12Nr"   columnsr;   )r9   r"   str)r   objectr&   npisnan)selfusing_infer_stringr.   s      r0   "test_none_values_on_string_columnsz*TestLoc.test_none_values_on_string_columnsI   s    '''#fEEEvf~%%%'''#eDDD 	*8BF6N+++++++6&>)))))r2   c                      |t          d          t          t          d          t                              }t	          |ddt
                     d S )N   abcr;   r	   r&   r9   fails)ranger   listrI   r    KeyErrorrL   frame_or_seriesobjs      r0   test_loc_getitem_intzTestLoc.test_loc_getitem_intT   sL    oeAhheDKKv.N.N.NOOO*3qIIIIIIr2   c                 J     |            }t          |ddt                     d S )Nr&   crS   )r    rW   rX   s      r0   test_loc_getitem_labelzTestLoc.test_loc_getitem_labelY   s,    o*3s(KKKKKKr2   keyf   r
   abcdrR   )r9      null   20130101rc   periodsr   re   r9   c                      |t          t          |                    |          }t          |d|t                     d S Nr	   r&   rS   rU   lenr    rW   rL   r_   r
   rY   rZ   s        r0   #test_loc_getitem_label_out_of_rangez+TestLoc.test_loc_getitem_label_out_of_range^   sC     oeCJJ//u===*3s(KKKKKKr2   r   r8   r9   )r8   r6   r%   r;   c                      |t          d          t          g d|                    }t          |d|t                     d S )NrP   ro   rR   r	   r&   rS   rU   r   r    rW   )rL   r_   r;   rY   rZ   s        r0   test_loc_getitem_label_listz#TestLoc.test_loc_getitem_label_listn   sL     oeAhheIIIU.K.K.KLLL*3s(KKKKKKr2   NrP   )r   r9   
   )rP         ))r8   rP   )r8   rc   )r9      c                     | |            }n' |t          t          |                    |          }t          |d|t                     d S rj   rk   rm   s        r0   (test_loc_getitem_label_list_with_missingz0TestLoc.test_loc_getitem_label_list_with_missingu   sW     =!/##CC!/%E

"3"35AAAC*3s(KKKKKKr2   c                      |t          d          t          g d|                    }t          |dg ddt                     d S )NrP   ro   rR   r&   )ra      (   r8   axesrT   rq   )rL   r;   rY   rZ   s       r0   !test_loc_getitem_label_list_failsz)TestLoc.test_loc_getitem_label_list_fails   s\     oeAhhiiiu(E(E(EFF*1H	
 	
 	
 	
 	
 	
r2   c                 R     |            }g d}t          |d|t                     d S )NTFTFr&   rS   )r    
IndexError)rL   rY   rZ   r!   s       r0   test_loc_getitem_boolzTestLoc.test_loc_getitem_bool   s7    o&&&*3q
KKKKKKr2   zslc, indexes, axes, failsr8      2013010220130104c                     |D ]J}| |            }n' |t          t          |                    |          }t          |d|||           Kd S )Nr	   r&   r|   )rU   rl   r    )rL   slcindexesr}   rT   rY   r
   rZ   s           r0   test_loc_getitem_label_slicez$TestLoc.test_loc_getitem_label_slice   s    @  	 	E}%o''%oeCJJ&7&7uEEE.    	 	r2   c                     t          ddgddgddggddgg d          }t          j        d          |j        d	<   t          ddgd
dgddggddgg d          }t	          j        ||           d S )Nra   r"      col1col2)rs   r8   r8   rG   r
   r9   )r8   r   r   r8   )r   rJ   aranger&   r'   r(   rL   r.   r/   s      r0    test_setitem_from_duplicate_axisz(TestLoc.test_setitem_from_duplicate_axis   s    #Yc
S#J/V$**
 
 

 IaLLy#YC1c(+ff5EZZZ
 
 
 	b(+++++r2   c           	         t          g ddt          j        dgt          d          t          j        t          d          gd          }t          dgt          d          gd	          }|j        |j        |d
                                         d
dgf<   t          g dg dt          d          t          d          t          d          gd          }t          j
        ||           d S )Nr8   r9   rP   String 1String 2z2019-06-11 11:00:00z2019-06-11 12:00:00)channelr%   B)dataString 3r%   r   r%   r   )r   r   r   )r   rJ   nanr   pdNaTvaluesr&   r)   r'   r(   )rL   r.   df2r/   s       r0   test_column_types_consistentz$TestLoc.test_column_types_consistent   s   $99 "&*5344F344 

 

 

 "|95J+K+K*LMM
 
 
 .1Zr#w||~~Sz)*$99999344344344 

 

 

 	b(+++++r2   zobj, key, expFrG   r<   r	   c                     |j         |         }t          |t          t          f          rt	          j        ||           d S ||k    sJ d S N)r&   
isinstancer   r   r'   assert_equal)rL   rZ   r_   express        r0   #test_loc_getitem_single_boolean_argz+TestLoc.test_loc_getitem_single_boolean_arg   sO     gclcIv.// 	OC%%%%%#::::::r2   r   i  rs   rz   c                     dgt          |          z  }t          |dg          }|                                }||j        |<   t	          j        ||           d S )NFr%   r   rG   )rl   r   copyr&   r'   r(   )rL   r   maskr.   r/   s        r0   -test_loc_empty_slice_assignment_with_datetimez5TestLoc.test_loc_empty_slice_assignment_with_datetime  s[     wT"D3%0007799t
b(+++++r2   )'__name__
__module____qualname__rN   r[   r^   pytestmarkparametrizer   rV   rI   r   rU   rJ   float64rn   int64uint64rr   r   from_arraysrx   r~   r   slice	TypeErrorrW   r   r   r   r   r   r   r   r   r   r   r    r2   r0   rB   rB   H   s       	* 	* 	*J J J
L L L
 [US"I..[E$$v,,f---E###6222Jz1---E%%1a..
333E"II	
	 	L L	 	 /.L
 [UYYY$>??[WrxBJ&GHHL L IH @?L
 [E)))28,,,E)))29---E)))2:..."J"EE!HHeeAhh#788	
	 	 [			:::yyy2J2J2JK L L 	 	L [Wrx&;<<
 
 =<
L L L [# aE$$v,,f555E+++6:::Jz1555E%%2q//<<<  j*--J2223	 U1a[[55!2!2!2&AAABAyQU1a[[55!2!2!2&AAABAxPU1a^^ee$5$5$5VDDDEq)T+	
 4 5 4&, , ,, , ,> [ 	A3%w888111e8$s'''
 VQCuueW~~...s;YuEE5'NN333UFFA3U<S<S<ST	
    [XdB##$YtR$$%)Yq\\NYq\\99Q<<(		
 , , , , ,r2   rB   c                      e Zd Zd Zej                            dd ed          ddffd ed          ddffd	 ed          dd
ffd ed           ed          dffd ed          ddffd ed          d ed          ffd ed          d
dffg          d             Z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ej        d'             Zej                            d(d) ej        d)ej        *           ej        g d+ej        *          g          d,             Zd- Zd. Zd/ Z d0 Z!d1 Z"ej                            d2g d3          d4             Z#d5 Z$ej                            d6ddg          d7             Z%d8 Z&d9 Z'ej                            d6ddg          d:             Z(ej                            d6ddg          d;             Z)d< Z*d= Z+d> Z,ej                            d?d@g e-dAd@dA           ej        d@g          g          ej                            dBdCg ej        dCg          g          dD                         Z.ej                            dEd)dFgg dGfdH e/g dIdJdKej0        ej0        gg dIgg dGL          fdMdNdOgfdHdPg e/dMdFej0        ej0        gg dQdRdSej0        ej0        ggg dGL          fdMg dTf ej        g dUej        *           e/dMdFej0        gg dUdRdSej0        ggg dTL          f e-dMdJdA          g dVfg dUg dWg e/dMdFej0        ej0        gg dXg dYgg dGL          f e-dMdJdA          g dZf ej        g dUg dWgej        *           e/dMdFej0        ej0        gg d[g d\gg dGL          f e-dAdAdA          d@dNgf e/dHdPgd]d^gd_d`ggd@dNgL           e/g dag dbg dcgg dTL          fg          dd             Z1de Z2df Z3dg Z4dh Z5di Z6ej        j7        ej        j8        ej                            djdkdlgdmdngg          do                                     Z9dp Z:dq Z;dr Z<ds Z=dt Z>du Z?dv Z@dw ZAdx ZBdy ZCdz ZDd{ ZEd| ZFd} ZGd~ ZHej                            dg d          ej                            dejI        ejJ        ej        eKg          d                         ZLd ZMd ZNd ZOej                            d?ddg          d             ZPej                            deQej        eReSg          d             ZTd ZUej                            dddg          d             ZVd ZWej                            dd)g df e-dKdP          g dfdJdRgg dfg          d             ZXd ZYd ZZd Z[ej                            dddgg          d             Z\d Z]ej                            dd@d@gd@ e-dA          fg          d             Z^d Z_d Z`d Zad Zbd Zcej                            dddg          d             Zdd Zed Zfd Zgd Zhd Zid Zjd ZkdAS )TestLocBaseIndependentc                     t          t          dd                    }|j        t          j        dg          d         d          }|j        dd          }t          j        ||           d S )N20212022r	   z2021/6/1r      )r   r   r&   rJ   arrayilocr'   r(   rL   r.   r?   r/   s       r0   test_loc_npstrz%TestLocBaseIndependent.test_loc_npstr  sg    Z77888*..q13347344=
fh/////r2   zmsg, keyz'Period\('2019', 'Y-DEC'\), 'foo', 'bar'  foobarz&Period\('2019', 'Y-DEC'\), 'y1', 'bar'y1z&Period\('2019', 'Y-DEC'\), 'foo', 'z1'z1z;Period\('2018', 'Y-DEC'\), Period\('2016', 'Y-DEC'\), 'bar'    z&Period\('2018', 'Y-DEC'\), 'foo', 'y1'z;Period\('2017', 'Y-DEC'\), 'foo', Period\('2015', 'Y-DEC'\)    z&Period\('2017', 'Y-DEC'\), 'z1', 'bar'c           	      x   t          t          d          ddgt          d          t          d          dgt          d          dt          d	          gg d
g dd                              g d          }t          j        t
          |          5  |j        |          ddd           dS # 1 swxY w Y   dS )a(  
        parse_datetime_string_with_reso return parameter if type not matched.
        PeriodIndex.get_loc takes returned value from parse_datetime_string_with_reso
        as a tuple.
        If first argument is Period and a tuple has 3 items,
        process go on not raise exception
        r   x1x2r   r   r   r   r   r   r   rs   ra   rz   )r%   r   CV1V2r%   r   r   matchN)r   r   	set_indexr   raisesrW   r&   )rL   msgr_   r.   s       r0   ;test_contains_raise_error_if_period_index_is_in_multi_indexzRTestLocBaseIndependent.test_contains_raise_error_if_period_index_is_in_multi_index"  s   6 TllD$/TllF4LL$7TllD&,,7ii"ll 
 
 )OOO
$
$ 	 ]83/// 	 	F3KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   B//B36B3c                     t          ddgi          }t          j        t          d          5  |j        d d df          d d d            d S # 1 swxY w Y   d S )Nr"   r8   u   אr   )r   r   r   rW   r&   rL   r.   s     r0   $test_loc_getitem_missing_unicode_keyz;TestLocBaseIndependent.test_loc_getitem_missing_unicode_keyI  s    aSz""]88444 	  	 F111h;	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s   AAAc                 2   t          t          j                            d                              d          d t	          d          D                       }|j        d         }|j        d d df         j        d         }t          j        ||           d S )	Nr9   )ra   rv   c                 $    g | ]}d |dz           S )ABCDErv   r   .0xs     r0   
<listcomp>z@TestLocBaseIndependent.test_loc_getitem_dups.<locals>.<listcomp>S  s     555a71q5>555r2   ra   r	   )r%   r   r   r%   )r   rJ   randomdefault_rngrU   r&   r'   r>   rL   r.   r/   r?   s       r0   test_loc_getitem_dupsz,TestLocBaseIndependent.test_loc_getitem_dupsN  s     I!!!$$++G4455599555
 
 
 6&>1!#&
vx00000r2   c           	      *   t          ddddt          d          ggg ddg          }t          ddddt          d          gg dd          }|j        d	         }t	          j        ||           |j        d         }t	          j        ||           d S )
Nr8   r9   r   r   rf   r"   r"   r"   r"   r"   r   r
   r<   r   )r   r   r   r   r'   r>   r&   r   s       r0   test_loc_getitem_dups2z-TestLocBaseIndependent.test_loc_getitem_dups2Y  s     E5)J"7"789---#
 
 

 5%:!6!67+++
 
 
 
vx000
vx00000r2   c           	         t          t          d          t          d          t          j        dd          dz  dz   t          j        dd          dz  dz   d	                              d
          }dddgf}|                                }|j        |xx         dz  cc<   t          j        |j        |         d|j        |         z             d}|                                }|j        |xx         dz  cc<   |j        |         d|j        |         z  k    sJ dddgf}|                                }|j        |xx         dz  cc<   t          j	        |j        |         d|j        |         z             d S )Nrtttiaaaderv   r   rR   gq=
ףp?r9   g(\տ)mer   r   bar2r   rr   r   r5   )r   r   t)
r   rV   rJ   r   r   r   r&   r'   r>   r(   )rL   df_origindexerr.   s       r0   test_loc_setitem_dupsz,TestLocBaseIndependent.test_loc_setitem_dupsm  s   7mmG}}y)444t;a?	!9555=A	 
 
 )D// 	 FO
 \\^^
w3
rvggk'6J0JKKK
 \\^^
w3vg#G(<"<<<<< FO
 \\^^
w3
bfWosW[5I/IJJJJJr2   c                    t          g dt          g dd          d          }|d         dk    }|j        |df         dz   }||j        |df<   t          g dt          g d	d          d          }t          j        ||           t          g dg ddd
          }|d         dk    }|j        |df         }t          j        t          d          5  ||j        |df<   d d d            d S # 1 swxY w Y   d S )Nr   r8   r8   )d   r   ,  uint32rR   r"   r!   r"   r8   r!   )r      i-  r   Invalid valuer   )r   r   r&   r'   r(   r   r   r   )rL   df1ixnewb1r/   r   newb2s          r0   test_loc_setitem_slicez-TestLocBaseIndependent.test_loc_setitem_slice  sn    iiif___H.U.U.UVVWWX]C 1$ C))&"I"I"IJJ
 
 	c8,,, iiiooo>>hOOOX]C ]9O<<< 	% 	%$CGBG	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   C22C69C6c           	      p   t          dgdgdgdgd          }g d}|j        d d |f                             d          |j        d d |f<   t          dgt          j        dgd	          t          j        dgd	          t          j        dgd	          d          }t          j        ||           d S )
Nr%   333333?        g      )idr"   r!   r]   r"   r!   r]   float32r   rR   )r   r&   astyperJ   r   r'   r(   )rL   r.   colsr/   s       r0   test_loc_setitem_dtypez-TestLocBaseIndependent.test_loc_setitem_dtype  s    se3%se4&IIJJ&D/00;;qqq$w eXse9555Xse9555XtfI666	 
 
 	b(+++++r2   c                 t   t          t          d          g d          }t          j        t          d          5  |ddg          d d d            n# 1 swxY w Y   t          t          d                    }t          j        t          d          5  |ddg          d d d            d S # 1 swxY w Y   d S )	NrP   r
  r	   not in indexr   r"   dr   )r   rU   r   r   rW   )rL   ss     r0   $test_getitem_label_list_with_missingz;TestLocBaseIndependent.test_getitem_label_list_with_missing  s2   588???333 ]8>::: 	 	sCjMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 588]8>::: 	 	q!fII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s#   AAAB--B14B1r
   TFr   c                     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 r   )r   rl   r   r   r   r&   )rL   r
   r  r   s       r0   test_loc_getitem_bool_diff_lenz5TestLocBaseIndependent.test_loc_getitem_bool_diff_len  s     999QUQQQQQ]:S111 	 	E%LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A**A.1A.c                     d S r   r   rL   s    r0   test_loc_getitem_int_slicez1TestLocBaseIndependent.test_loc_getitem_int_slice  s    r2   c                 Z   t          t          j                            d                              d          g dg d          }dt          j        t
                     d}t          j        t          |          5  |j	        d	dgd	dgf          d d d            d S # 1 swxY w Y   d S )
Nr9   rP   rP   r
  )er`   gr
   rG   z$\"None of \[Index\(\[1, 2\], dtype='z'\)\] are in the \[columns\]\"r   r8   )
r   rJ   r   r   r;   intr   r   rW   r&   rL   r.   r   s      r0   test_loc_to_failz'TestLocBaseIndependent.test_loc_to_fail  s    I!!!$$++F33!//#OO
 
 
$BHSMM $ $ $ 	 ]83/// 	# 	#FAq6Aq6>""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s   ?B  B$'B$c                 &   t          t                    }d|j        d<   d|j        d<   t          j        t
          d          5  |j        d          d d d            n# 1 swxY w Y   dt          j        t                     d	}t          j        t
          |          5  |j        dd
g          d d d            n# 1 swxY w Y   d}t          j        t
          |          5  |j        t          dgt                              d d d            n# 1 swxY w Y   d|j        d<   t          j        t
          d          5  |j        dd
g          d d d            n# 1 swxY w Y   d|d<   dt          j        t                     d	}t          j        t
          |          5  |j        d
g          d d d            n# 1 swxY w Y   |d= t          j        t
          |          5  d|j        d
g<   d d d            d S # 1 swxY w Y   d S )NrR   r8   r9   r"   z^-1$r   z&\"None of \[Index\(\[-1, -2\], dtype=''\)\] are in the \[index\]\"zE\"None of \[Index\(\['4'\], dtype='object'\)\] are in the \[index\]\"4rP   r  z"\"None of \[Index\(\[-2\], dtype='r   )
r   rI   r&   r   r   rW   rJ   r;   r  r   rL   r  r   s      r0   test_loc_to_fail2z(TestLocBaseIndependent.test_loc_to_fail2  s       ac
]87333 	 	E"II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	"bhsmm " " " 	 ]83/// 	 	E2r(OO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 W]83/// 	. 	.E%V,,,--	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. b	]8>::: 	 	E2r(OO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 #""(3-- " " " 	 ]83/// 	 	E2$KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 cF]83/// 	 	AE2$K	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sl   AA#&A#"B>>CC&#DDDE!!E%(E%)GGG-HH
H
c                    t          dgdggddgdg          }dt          j        t                     d}t	          j        t          |	          5  |j        d
gd d f          d d d            n# 1 swxY w Y   t	          j        t          |	          5  |j        d
g          d d d            d S # 1 swxY w Y   d S )Nr"   r!   r8   r9   valuer  z!\"None of \[Index\(\[3\], dtype='r#  r   rP   )r   rJ   r;   r  r   r   rW   r&   r  s      r0   test_loc_to_fail3z(TestLocBaseIndependent.test_loc_to_fail3  sR    u~aVgYGGG"# " " " 	 ]83/// 	 	FA36NN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]83/// 	 	FA3KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   A11A58A5B33B7:B7c                 t   t          g d          }|j        dg          d}t          j        t          t          j        |                    5  |j        dg          d d d            n# 1 swxY w Y   t          j        t          d          5  |j        ddg          d d d            d S # 1 swxY w Y   d S )Nr   r9   z@None of [RangeIndex(start=3, stop=4, step=1)] are in the [index]r   rP   r  )r   r&   r   r   rW   reescaper&  s      r0   test_loc_getitem_list_with_failz6TestLocBaseIndependent.test_loc_getitem_list_with_fail  s0    999	qc

P]829S>>::: 	 	E1#JJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]8>::: 	 	E1a&MM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   A**A.1A.B--B14B1c                     t          t          j                            d                              d          g d          }|j                            d           }|j        t          j        |                   }|j        |         }t          j	        ||           |j        |j
                 }t          j	        ||           |j        t          j        |d                   }t          j	        ||           d S )	Nr9   )rv   rs   size)alpha_0alpha_1alpha_2beta_0beta_1r	   c                 
    d| v S )Nalphar   r   s    r0   <lambda>z7TestLocBaseIndependent.test_loc_index.<locals>.<lambda>,  s
    gl r2   booleanrR   )r   rJ   r   r   r
   mapr&   r   r'   r(   r   r   )rL   r.   r   r/   r?   s        r0   test_loc_indexz%TestLocBaseIndependent.test_loc_index#  s     I!!!$$+++99GGG
 
 

 x||22336"(4..)
fh///$
fh///Y7778
fh/////r2   c                 J   t          t          j                            d                              d          g dg d          }|j        d d ddf         j        ddd d f         }|j        ddgk                                    sJ |j        ddgk                                    sJ t          t          d          gd	gd
          j        d         }t          t          d          d	gddgd          }t          j        ||           |j        t          k    sJ d S )Nr9   rc   rc   r%   r   r   Dr   r%   r   r   rf   r8   r   r"   r!   r   )r   rJ   r   r   r&   r   rG   allr
   r   r   r'   r>   r;   rI   r   s       r0   test_loc_generalz'TestLocBaseIndependent.test_loc_general8  s:   I!!!$$++F33(((&&&
 
 
 3s7
#(1aaa03*,1133333c
*//11111 )J"7"7!8sCCDDI!L9Z00!4S#JQOOO
vx000|v%%%%%%r2   c                     t          t          dd          t          t          d          t          j                  d          S )N
2000-01-01	2000-01-5rv   rR   r   val)r   r   r   rU   rJ   r   r  s    r0   frame_for_consistencyz,TestLocBaseIndependent.frame_for_consistencyJ  sC    "<==eAhhbh777 
 
 	
r2   rH  r   rR   )r   r   r   r   r   c                     |                                 }t          j        t          d          5  ||j        d d df<   d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   r   r   r   r&   )rL   rI  rH  r.   s       r0   test_loc_setitem_consistencyz3TestLocBaseIndependent.test_loc_setitem_consistencyS  s     #''))]9O<<< 	$ 	$ #BF111f9	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$   AAAc                     |                                 }t          j        t          d          5  d|j        d d df<   d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   rK  rL   rI  r.   s      r0   (test_loc_setitem_consistency_dt64_to_strz?TestLocBaseIndependent.test_loc_setitem_consistency_dt64_to_str^  s     #''))]9O<<< 	& 	& %BF111f9	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&rM  c                     |                                 }t          j        t          d          5  d|j        d d df<   d d d            d S # 1 swxY w Y   d S )Nr   r   r4   r   rK  rO  s      r0   *test_loc_setitem_consistency_dt64_to_floatzATestLocBaseIndependent.test_loc_setitem_consistency_dt64_to_floatf  s     #''))]9O<<< 	$ 	$ #BF111f9	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$rM  c                     t          dt          t          d          g          i          }t          j        t
          d          5  d|j        d d df<   d d d            d S # 1 swxY w Y   d S )Nr   20180101r   r   string)r   r   r   r   r   r   r&   r   s     r0   'test_loc_setitem_consistency_single_rowz>TestLocBaseIndependent.test_loc_setitem_consistency_single_rowm  s     	*(=(='> ? ?@AA]9O<<< 	) 	) (BF111f9	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)s   A$$A(+A(c                    t          ddg          }t          ddg          }t          j        d           5  d|j        d d df<   d d d            n# 1 swxY w Y   t          j        ||           t          ddg          }d|d<   |d                             t          j                  |d<   t          j        ||           d S )Nr   yr   r8   )r   r'   assert_produces_warningr&   r(   r  rJ   r   rL   r/   r.   s      r0   "test_loc_setitem_consistency_emptyz9TestLocBaseIndependent.test_loc_setitem_consistency_emptyt  s    c3Z000Sz***'-- 	 	BF111c6N	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
b(+++ Sz***3 ,,RX66
b(+++++s   AAAc                    dgdz  g dg dg}t          j        |g d          }g dg dg}t          j        |d	d
g          }ddddt          j        gg dddddt          j        gg dg}t	          |||          }t          j                    }|rt          j        t          d          }|5  t          |j        d d df                   |j        d d df<   d d d            n# 1 swxY w Y   |5  t          |j        d d df                   |j        d d df<   d d d            n# 1 swxY w Y   |rd S |                                }|j        d d df         |j        d d df         z
  |j        d d df<   t          j        t          d          5  |j        d d df         t          d          z  |j        d d df<   d d d            d S # 1 swxY w Y   d S )NRegion_1rc   )Site_1r^  Site_2r_  )l   BP[ l   _Z l   q=.Z l   <.Z )RegionSiteRespondentIDnames)
Respondentre  re  OtherCatrf  )	Something	StartDateEndDatezYes/NoSomethingElseLevel_0Level_1r%   z5/25/2015 10:59z5/25/2015 11:22Yes)r%   z5/21/2015 9:40z5/21/2015 9:52rm  rm  z5/20/2015 8:27z5/20/2015 8:41)r%   z5/20/2015 8:33z5/20/2015 9:09rm  Nor  r   r   )re  rh  )re  ri  )re  Durationl    Xp7 )r   r   rJ   r   r   
contextlibnullcontextr   r   r   r   r&   infer_objectsr   )	rL   rM   levelsmiclevelsr  r   r.   ctxs	            r0   -test_loc_setitem_consistency_slice_column_lenzDTestLocBaseIndependent.test_loc_setitem_consistency_slice_column_len  s7    L1444<<<

 #F2T2T2TUUU ONNLLL
 %gi5KLLL #%6rvFCCC"$4eRVDBBB	
 vR666$&& 	B-	AAAC 	 	5@qqq5566 6BF111112	 	 	 	 	 	 	 	 	 	 	 	 	 	 	  	 	3>qqq3344 4BF111//0	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
  	F F111//0fQQQ3345 	qqq,,- ]9O<<< 	* 	*46F--5.))5*BF111001	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s6   2+C))C-0C-6+D--D14D1.GGGunit)YMrA  hmr  msusc                    t          dt          j        d          t          j        d          gi          }|j        d d df         j                            d| d          |j        d d |f<   |j        d d df         j                            d| d          |d<   t          |j        d d df         |          }t          j        |j        d d |f         |           d S )N	timestampz2017-02-11 12:41:29z1991-11-07 04:22:37zdatetime64[]r/   r   )	r   rJ   
datetime64r&   r   r  r   r'   r>   )rL   rx  r.   r/   s       r0   test_loc_assign_non_ns_datetimez6TestLocBaseIndependent.test_loc_assign_non_ns_datetime  s     M"788M"788
 
 &K07>>?TT?T?T?TUUqqq$w;/6==>SD>S>S>STT:"&J/d;;;
rvaaag99999r2   c                    t          j        dg di          }t          |d         dd          j                            d          |d<   |j        d d df         |j        d d df<   |j        d	d
gdf         |j        d	d
gdf<   t          g dg dg dg dgg d          }ddg}||                             t                    ||<   t          j        ||           d S )Nr   )   CO!g   s~!g    4	8   A{?r}  T)rx  cacher~  date_dt
date_dt_cpr9   rP   )r  2017-01-24 13:26:12.711r  )r  2017-01-24 13:52:05.110r  )r  2018-10-22 13:44:05.888r  )r  2018-10-23 08:08:41.025r  )r   r  r  r   )	r   	from_dictr   dtas_unitr&   applyr'   r(   )rL   r.   r/   rG   s       r0   test_loc_modify_datetimez/TestLocBaseIndependent.test_loc_modify_datetime  s%    QQQR
 
 $BvJTFFFIQQRVWW9"$&I"6qqq,')vq!fi.?'@1v|#$UUUUUUUUUUUU	 655
 
 
 l+$W-33K@@
b(+++++r2   has_refc                    t          g ddgt                    }|r
|d d          }t          j        g dd          |j        g ddf<   t          g dg dt          	          }t          d|i          }t          j        ||           d S )
NrP   rv   rc   r%   r
   rG   r;   r   r   rR   rc   rP   rv   r9   rP   r8   r
   r;   )r   r=   rJ   r   r&   r   r'   r(   )rL   r  r.   viewserr/   s         r0   #test_loc_setitem_frame_with_reindexz:TestLocBaseIndependent.test_loc_setitem_frame_with_reindex  s     YYYUCCC 	aaa5D!#)))7!C!C!Cyyy#~ YYYiiiu===c3Z((
b(+++++r2   c                 @   t          g dddgt                    }d|d<   t          j        g dd          |j        g d	df<   t          g d
g dd          }t          d|                    t                    i          }d|d<   t          j        ||           d S )Nr  r%   r   r  rU  r   r   rR   r  r  r  )	r   r=   rJ   r   r&   r   r  r'   r(   )rL   r.   r  r/   s       r0   )test_loc_setitem_frame_with_reindex_mixedz@TestLocBaseIndependent.test_loc_setitem_frame_with_reindex_mixed  s    YYYc
%HHH3!#)))7!C!C!Cyyy#~YYYiiiw??? c3::e#4#4566 
b(+++++r2   c                    t          g dddgt                    }d|d<   t          j        g dd          |j        t          dd	d
          df<   t          g dddg d          }t          j        ||           d S )Nr   r%   r   r  rU  r   rR   rP   r   r"  )r6   r5   r4   r   r	   )r   r=   rJ   r   r&   r   r'   r(   r   s      r0   *test_loc_setitem_frame_with_inverted_slicezATestLocBaseIndependent.test_loc_setitem_frame_with_inverted_slice  s    YYYc
%HHH3')x			'I'I'IuQ2#$ ???BB)))TTT
b(+++++r2   c                    d t          d          D             }t          j        dd          }d t          d          D             }t          j        dd          }t          t	          |                              |                    }t          |          }t          j        |d<   |r
|d d          }||j        |df<   t          j        |d	<   ||j        |d	f<   t          ||t          j
        
          }	t          ||          }
t          |	|
dt          dd	g                                        |          }t          j        ||           d S )Nc                 2    g | ]}d t          |          z   S @rH   r   is     r0   r   zGTestLocBaseIndependent.test_loc_setitem_empty_frame.<locals>.<listcomp>  "    000!s1vv000r2   rv   r   rR   c                 2    g | ]}d t          |          z   S r  r  r  s     r0   r   zGTestLocBaseIndependent.test_loc_setitem_empty_frame.<locals>.<listcomp>  r  r2   rc   r	   r%   r   r  r   r   )rU   rJ   r   rV   setunionr   r   r&   r   r   r   reindexr'   r(   )rL   r  keys1val1keys2val2r
   r.   r  seraserbr/   s               r0   test_loc_setitem_empty_framez3TestLocBaseIndependent.test_loc_setitem_empty_frame  s^    10uQxx000y'***00uQxx000y'***SZZ%%e,,--U###&3 	aaa5D!ucz&3!ucz d%rz:::d%(((4d33UC:=N=NOOOWW X 
 
 	b(+++++r2   c                    t          t          j                            d                              d          t          d          t          d                    }|r
|d d          }|j        d         }d|j        d<   |j        d         }|dk    sJ |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	        ||           d S )Nr9   r?  rb   ABCDr  r   r   r8   )r"   r%   r   r   rA  )
r   rJ   r   r   standard_normalrV   r   r&   r'   r(   )rL   r  r.   r  r?   r/   s         r0   test_loc_setitem_framez-TestLocBaseIndependent.test_loc_setitem_frame(  s   I!!!$$44V<<v,,LL
 
 

  	aaa5Dx!{{{{{{{{qqq#c'z6!!!SW*%ABB
fh/////r2   c                     t          g dt          j        d          }|j        |j        |j        |j        k    df<   t          g dt          j        d          }t          j        ||           d S )Nr   r   r   )r   rJ   r   r%   r&   r   r'   r(   r   s      r0   /test_loc_setitem_frame_nan_int_coercion_invalidzFTestLocBaseIndependent.test_loc_setitem_frame_nan_int_coercion_invalid@  sn     YYYRV4455#%4rtbd{C 99926::;;
b(+++++r2   c                 V   t          ddgddgddgd          }|j        dddgf         }t          ddgt          ddgt          	          d
d          }t          j        ||           t          ddgddgddgd          }ddg|j        dddgf<   t          j        ||           d S )Nr8   r9   rP   rc   r"   r!   )r8   r9   r"   r   rR   r   r:   rv   rt   )r   r&   r   r   rI   r'   r>   r(   r   s       r0   #test_loc_setitem_frame_mixed_labelsz:TestLocBaseIndependent.test_loc_setitem_frame_mixed_labelsH  s     Aq6q!fC:>>??Aq6	"F%Af555W1
 
 
 	vx000!QQF#sDDEEFq1a&y
b(+++++r2   c           	         t          g dt          t          d          t          j                  d          }|j        dd         }|j        dd         |_        ||j        dd<   t          g dt          g d	t          j                  d          }t          j        ||           t          t          d
dd          t          t          d          t          j                  d          }t          t          d          t          d          t          d          t          d          t          d          gt          g dt          j                  d          }|d                             d          |d<   |j        dd         }|j        dd         |_        ||j        dd<   t          j        ||           d S )Nr   r   bazrP   rR   r   r8   r9   r   )r   r  r  )r8   r9   r9   rE  rF  nsrx  rv   rG  200001012000010220000103)r   r8   r   r8   r9   r   zM8[ns]rc   )r   r   rU   rJ   r   r&   r
   r'   r(   r   r   r  )rL   r.   rhsr/   s       r0    test_loc_setitem_frame_multiplesz7TestLocBaseIndependent.test_loc_setitem_frame_multiplesW  s   '''fU1XXRX.N.N.NOO
 
 fQqSkHQqSM	qs'''fYYYbh.O.O.OPP
 
 	b(+++ "<4HHHeAhhbh777 
 
  j))j))j))j))j)) oooRX>>>	 	
 
 $F+228<<fQqSkHQqSM	qs
b(+++++r2   r   r%   Nr)  Zc                     t          ddgddggddg                              dt          i          }||j        d|f<   |j        d	         }t	          |          r|d
k    sJ d S )Nr8   r9   rP   rc   r%   r   r   r   )r   r%   r  )r   r  rI   r&   r   )rL   r   r)  r.   r?   s        r0   "test_loc_setitem_with_scalar_indexz9TestLocBaseIndependent.test_loc_setitem_with_scalar_index}  ss     AA'#s<<<CCS&MRR"q'z  2Vs]]]2]]r2   zindex,box,expectedr9   r@  ru   )ru   ru   ru   ru   rP   rc   r   r8   r   rA  re   )rP   rc   ru   re   rv   rt   r   ru   re   	   )r   r   rA  rs      r   )rP   ru   re   r  )rv   rs   r  r   )r   r%   rA  )re   rc   ru   r  )r  rt   rs   r   r  rs   r  r   )ru   r9   re   )r  rc   rs   )r  rt   r   c                 |    t          ddgddgddggddg	          }||j        |<   t          j        ||           d S )
Nr8   r9   rP   rc   rv   rt   r%   r   r   r   r&   r'   r(   )rL   r
   boxr/   r.   s        r0    test_loc_setitem_missing_columnsz7TestLocBaseIndependent.test_loc_setitem_missing_columns  sR    j AAA/#sDDDu
b(+++++r2   c                 .   t          dt          d                              d          t          j        gi          }|j        }|j        dg         }t          j        |j        |           |j        dg         }t          j        |j        |           d S )Nr   rf   UTCr   r8   )	r   r   tz_localizer   r   dtypesr   r'   r>   r   s       r0   test_loc_coercionz(TestLocBaseIndependent.test_loc_coercion  s    :!6!6!B!B5!I!I26 RSTT9!
v}h777!
v}h77777r2   c           	         t          dt          ddd          t          ddd          gi          }|j        }|j        dg         }t	          j        |j        |           |j        dg         }t	          j        |j        |           d S )Nr     r8   i  r9   r   )r   r   r  r   r'   r>   r   s       r0   test_loc_coercion2z)TestLocBaseIndependent.test_loc_coercion2  s    $1!5!5xa7K7K LMNN9!
v}h777!
v}h77777r2   c                     t          ddgd gdz  z   i          }|j        }|j        dd         }t          j        |j        |           |j        dd          }t          j        |j        |           d S )Ntextz
some wordsr  r   r9   rP   )r   r  r   r'   r>   r   s       r0   test_loc_coercion3z)TestLocBaseIndependent.test_loc_coercion3  sv    $! ;<==91
v}h777
v}h77777r2   c                 r   t          d                              d          t          d                              d          g}t          |t          ddg                    }t          t                    }|d          ||          d<   |d	          ||          d<   t          j        ||           d S )
N*   r  i  r   r   r	   rR   r   r8   )r   r  r   r   rI   r'   r>   )rL   
indexer_slvalsr/   r  s        r0   test_setitem_new_key_tzz.TestLocBaseIndependent.test_setitem_new_key_tz  s     OO''..((//
 $eUEN&;&;<<<6"""!%a

3!%a

3
sH-----r2   c                 n   t          g dg ddg d          }d}t          j        t          |          5  |j        dd           d d d            n# 1 swxY w Y   d	}t          j        t          |          5  |j        d
d           d d d            n# 1 swxY w Y   d}t          j        t          |          5  |j        dd          d d d            n# 1 swxY w Y   t          g dg ddg d                              d
          }|j        dd          }t          g dg ddg d          }t          j        ||           |j        d
d          }t          j        ||           |j        dd         }t          g dg ddg d          }t          j        ||           d S )Nr8   r9   rP   rc   rv   rt   )rP   rc   rv   rt   ru   re   r   )r   r8   r   r8   r9   rP   r	   z5'Cannot get left slice bound for non-unique label: 1'r   r8   z5'Cannot get left slice bound for non-unique label: 0'r   r9   axis)r9   rc   rv   rt   )rc   rt   ru   re   )r8   r8   r9   rP   )r9   rc   rv   )rc   rt   ru   )r8   r8   r9   )r   r   r   rW   r&   
sort_indexr'   r(   )rL   r.   r   r?   r/   s        r0   test_loc_non_uniquez*TestLocBaseIndependent.test_loc_non_unique  s    $$$+=+=+=>>FXFXFX
 
 
 F]83/// 	 	F122JJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	E]83/// 	 	F122JJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	E]83/// 	 	F1Q3KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 $$$+=+=+=>>FXFXFX
 
 

*!*

 	 <<<lllCC<<<XXX
fh///
fb)))!999999==YYYOOO
fh/////s5   AAA<BBB CC #C z
length, l2  r   i 順 c                 2   t          d          }t          j        t          t          j                            d                              |t          |          f          t	          j	        |          |          t          t	          j
        |t          |          f          dg|z  |          g          }|j        j        du sJ t	          j	        |          }|j        |         }t          j        |                    dg          t          t	          j
        t          |          t          |          f          dgt          |          z  |          |                    |dd                    g          }t          j        ||           d S )NABCDEFGr9   r  r   Fr8   )rV   r   concatr   rJ   r   r   r  rl   r   onesr
   	is_uniquer&   taker'   r(   )rL   lengthl2rG   r.   r   r?   r/   s           r0    test_loc_non_unique_memory_errorz7TestLocBaseIndependent.test_loc_non_unique_memory_error  sm    y//YI))!,,<<fc'll=STT)F++#  
 "'2s7||"455aS2XwWWW	
 	
 x!U****y}}9GSYYG566#D		/#  
 QRR!!

 

 	fh/////r2   c                     t          ddgddgg          }d|j        _        |j        ddg         j        j        }|dk    sJ |j        ddg         j        j        }|dk    sJ d S )Nr8   
index_namer   )r   r
   r<   r   r&   rL   r.   r?   s      r0   test_loc_namez$TestLocBaseIndependent.test_loc_name=  sw    AA'(($!Q&+%%%%A%*%%%%%%r2   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 )N)rv   r9   c                     g | ]}d | S zi-r   r  s     r0   r   zLTestLocBaseIndependent.test_loc_empty_list_indexer_is_ok.<locals>.<listcomp>J  s    444aa444r2   rv   r"   r   c                     g | ]}d | S r  r   r  s     r0   r   zLTestLocBaseIndependent.test_loc_empty_list_indexer_is_ok.<locals>.<listcomp>K  s    666888666r2   r9   r  r   T)check_index_typecheck_column_type)	r   rJ   r  r   rU   r'   r(   r&   r   r   s     r0   !test_loc_empty_list_indexer_is_okz8TestLocBaseIndependent.test_loc_empty_list_indexer_is_okG  s?   GFOO445884443???66U1XX666SAAA
 
 
 	F111b5M27111bqb5>DTX	
 	
 	
 	
 	F2qqq5M272A2qqq5>DTX	
 	
 	
 	
 	F2JAAAQU	
 	
 	
 	
 	
 	
r2   c                    t          dg di          }|j        d d          }||usJ |d d          |usJ |j        d d d d f         |usJ t          j        |d         j        |d         j                  sJ g d|j        d d df<   |d         g dk                                    sJ t          t          j                            d                              d                    }|d         |j        d d df         usJ t          g d          }|j        d d          }||usJ |d d          |usJ g d|d d	<   t          |d d	         g dk              sJ d S )
Nr"   r   )rc   rc   rc   r9   rs   rc   r   r  r  rP   )
r   r&   rJ   shares_memory_valuesrB  r   r   r  r   )rL   original_df	sliced_dfr.   original_seriessliced_seriess         r0   &test_identity_slice_returns_new_objectz=TestLocBaseIndependent.test_identity_slice_returns_new_objectZ  s     iii 011OAAA&	++++111~[0000qqq!!!t$K7777 C 0 8)C.:PQQQQQ #,))3#)))+0022222 ry,,Q//??HHII!uBF111a4L(((( !!3!3!344'+AAA.O3333qqq!8888'ii=!$			12222222r2   c                 ~   t          t          t          d          t          d                    ddg          }|                                }|j        d d df         }|dz  }t          j        ||           |                                }|j        |j        df         }|dz  }t          j        ||           d S )NrP   r"   r!   r   r9   )r   ziprU   r   r&   r'   r(   r
   )rL   requestr   rX  qzs         r0   test_loc_copy_vs_viewz,TestLocBaseIndependent.test_loc_copy_vs_viewx  s    c%((E!HH--SzBBBFFHHE!!!S&M	Q
a###FFHHE!'3,	Q
a#####r2   c                 h   t          j        d          j        }t          ddg|dz
  |g          }|j        |dz
           }|j        d         }||k    sJ |j        |dz
  g         }|j        dg         }t          j        ||           |j        |dz
  |g         }t          j        ||           d S )Nr   r8   r9   r	   r   )rJ   iinfomaxr   r&   r   r'   r>   )rL   umaxr  r?   r/   s        r0   test_loc_uint64z&TestLocBaseIndependent.test_loc_uint64  s     x!!%aVD1Hd#3444"8A;!!!!$($8QC=
vx000$(D)*
vs+++++r2   c                 l   t          j        d          j        }t          ddg|dz
  |g          }t	          j        t          d          5  |j        d          d d d            n# 1 swxY w Y   t	          j        t          d          5  |j        dg          d d d            d S # 1 swxY w Y   d S )Nr   r8   r9   r	   z-1r   r"  )rJ   r  r  r   r   r   rW   r&   )rL   r  r  s      r0   !test_loc_uint64_disallow_negativez8TestLocBaseIndependent.test_loc_uint64_disallow_negative  s0   x!!%aVD1Hd#3444]84000 	 	GBKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]84000 	 	GRDMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   A''A+.A+B))B-0B-c           	         g d}t          |t          j        t          j        gt	          |          z  t
                    d          }t          ddg          }||j        d d df<   t          j        ||           d S Nr   rR   r   rX  r   rX  r   )	r   rJ   r   r   rl   rI   r&   r'   r(   rL   r   r/   r.   s       r0   *test_loc_setitem_empty_append_expands_rowszATestLocBaseIndependent.test_loc_setitem_empty_append_expands_rows  s     yyRXrvhT&:&IIIJJ
 

 Sz***qqq#v
b(+++++r2   c           	      T   g d}t          |t          j        t          j        gt	          |          z  t
                    d          }t          ddg          }|d                             t          j                  |d<   ||j        d d df<   t          j
        ||           d S r  )r   rJ   r   r   rl   rI   r  r   r&   r'   r(   r  s       r0   6test_loc_setitem_empty_append_expands_rows_mixed_dtypezMTestLocBaseIndependent.test_loc_setitem_empty_append_expands_rows_mixed_dtype  s     yyRXrvhT&:&IIIJJ
 
 Sz***S'..**3qqq#v
b(+++++r2   c                     t          dgt          j        gd          }t          ddgt                    }|j        d         |j        d<   t          j        ||           d S )Nr4   r  r   rX  rF   )r   r   )r   rJ   r   r=   r&   r'   r(   rZ  s      r0   *test_loc_setitem_empty_append_single_valuezATestLocBaseIndependent.test_loc_setitem_empty_append_single_value  s^    C5x8899Sz777!f-v
b(+++++r2   c                    ddg}t          ddg          }|j                            t          j                  |_        d}t          j        t          |          5  ||j        ddgdf<   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 )
Nr8   r9   r   rX  r   z&None of .*Index.* are in the \[index\]r   r   )setting an array element with a sequence.)
r   r
   r  rJ   r   r   r   rW   r&   
ValueError)rL   r   r.   r   s       r0   $test_loc_setitem_empty_append_raisesz;TestLocBaseIndependent.test_loc_setitem_empty_append_raises  sO    1vSz***8??28,,7]83/// 	' 	'"&BFAq63;	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' :]:S111 	$ 	$#BF1Q38	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s$   A88A<?A< B<<C C c                     t          ddgddgg          }|j        t          j        d                   }t	          ddgd          }t          j        ||           d S )Nr8   r9   rP   rc   r   r   )r   r&   rJ   r   r   r'   r>   )rL   r.   r?   r  s       r0   test_indexing_zerodim_np_arrayz5TestLocBaseIndependent.test_indexing_zerodim_np_array  s_    AA'(($Aq6"""
vq)))))r2   c                 v    t          ddg          }|j        t          j        d                   }|dk    sJ d S )Nr8   r9   r   )r   r&   rJ   r   )rL   r  r?   s      r0   %test_series_indexing_zerodim_np_arrayz<TestLocBaseIndependent.test_series_indexing_zerodim_np_array  s6    Aq6NNrx{{#{{{{{{r2   c                     g dd gdz  z   }t          |t          dd                    }t          t          dd          t          j                  }g d|j        ddd	<   t          j        ||           d S )
Nr  rc   i  i  r	   r  )rt   rv   rc   rP   r9   r8   r   r"  )r   rU   rJ   r   r&   r'   r>   )rL   r   r/   r?   s       r0   test_loc_reverse_assignmentz2TestLocBaseIndependent.test_loc_reverse_assignment  s    !!!TFQJ.$eD$&7&7888eD$//rzBBB#5#5#5
4R< 
vx00000r2   c                    d t          d          D             }t          |dg          }t          |dg          }t          j        ||           |rOt	          j        t          d          5  d |D             |j        |j        df<   d d d            n# 1 swxY w Y   n`d |D             |j        |j        df<   t          |dgt          	          
                    t                    }t          j        ||           d
 |D             |d<   t          |dgt          	          }t          j        ||           d S )Nc                     g | ]C}t          t          j                            d                                           dz            DS )r9   g-q=)rH   rJ   r   r   )r   _s     r0   r   z^TestLocBaseIndependent.test_loc_setitem_str_to_small_float_conversion_type.<locals>.<listcomp>  sA    UUUqC	--a007799EABBUUUr2   rv   r%   r   r   r   c                 ,    g | ]}t          |          S r   r=   r   s     r0   r   z^TestLocBaseIndependent.test_loc_setitem_str_to_small_float_conversion_type.<locals>.<listcomp>  s    0L0L0Laq0L0L0Lr2   c                 ,    g | ]}t          |          S r   r-  r   s     r0   r   z^TestLocBaseIndependent.test_loc_setitem_str_to_small_float_conversion_type.<locals>.<listcomp>  s    ,H,H,H!U1XX,H,H,Hr2   rF   c                 ,    g | ]}t          |          S r   r-  r   s     r0   r   z^TestLocBaseIndependent.test_loc_setitem_str_to_small_float_conversion_type.<locals>.<listcomp>   s    222AuQxx222r2   )rU   r   r'   r(   r   r   r   r&   r
   r=   r  rI   )rL   rM   col_datar?   r/   s        r0   3test_loc_setitem_str_to_small_float_conversion_typezJTestLocBaseIndependent.test_loc_setitem_str_to_small_float_conversion_type  s    VUERSHHUUU8cU333Xu555
fh///  	4y@@@ M M0L0L80L0L0L
6<,-M M M M M M M M M M M M M M M -I,Hx,H,H,HFJv|S() C5FFFMMfUUH!&(333 32222sXuEBBB
fh/////s   0BBBc                    t          ddd          }|j        dk    |j        dk    z  }t          t          j                            d                              t          |          df          |	          }t          j
        ||          }|j        t          dd                   }|j        |         }t          j        ||           |j        d
d          }|j        t          dd                   }|dd          }|j                            d           |_        |j                            d           |_        t          j        ||           d S )N1/1/2000z1/5/20005minfreqr  rz   r9   rP   r	   z1/4/2000r"  )r   hourminuter   rJ   r   r   r  rl   r'   get_objr&   r   r   r
   
_with_freq)	rL   rY   rngr   rZ   r?   r   chunkr/   s	            r0   test_loc_getitem_time_objectz3TestLocBaseIndependent.test_loc_getitem_time_object  s+   Zf===A#*"23I!!!$$44c#hh]CC3
 
 
 jo..a%gdm
$$$
$42;;'"##; |..t44!22488
)))))r2   
spmatrix_t)
coo_matrix
csc_matrix
csr_matrixr;   c                 <   t          j        d          }t          ||          }d\  }} |t          j        |||          |          }t
          j                            |          }t          d|          }t          j	        |j
        |         j                  }	|                                |         }
t          j        |	|
           |j
        |         j        j        }	t          j        |t#          |                    }
t          j        |	|
           d S )Nscipy.sparse)rv   ru   rR   r9   )r   importorskipgetattrrJ   eyer   sparsefrom_spmatrixrU   
nan_to_numr&   r   toarrayr'   assert_numpy_array_equalr  fullr   )rL   r>  r;   	sp_sparserowsr  spmatrixr.   itr_idxr?   r/   s              r0   $test_loc_getitem_range_from_spmatrixz;TestLocBaseIndependent.test_loc_getitem_range_from_spmatrix  s     '77	Y
33

 
d:bfT4u===UKKK++H55 4..rvg566##%%g.
#FH555 '.74U!3!344
#FH55555r2   c           	          t          dt          j        ddgt          d                    i          }|j        ddg         }t          j        ||           d S )Nr%   r   r   rR   r8   )r   r   r   r   r&   r'   r(   r  s      r0   ,test_loc_getitem_listlike_all_retains_sparsezCTestLocBaseIndependent.test_loc_getitem_listlike_all_retains_sparse3  sW    RXq!fK4H4HIIIJKKA
fb)))))r2   c                 H   t          j        d          }t          j                            |                    dt          j                            }|j        t          d                   }t          g dg dgt          t          j                            }t          j        ||           |j        t          d                   j        t          d                   }t          g dgt          t          j                            }t          j        ||           d S )NrC  rv   rR   r9   )r8   r   r   r   r   )r   r8   r   r   r   r8   )r   rD  r   rG  rH  rF  rJ   r   r&   rU   r   r'   r(   )rL   rM  r.   r?   r/   s        r0   test_loc_getitem_sparse_framez4TestLocBaseIndependent.test_loc_getitem_sparse_frame8  s    '77	++IMM!28M,L,LMMa!__ooo.bh''
 
 
 	fh///a!%eAhh/ooo.k"(6K6KLLL
fh/////r2   c                    t          g dt          dd                    }|j        t          d                   }t          ddgt          dd                    }t	          j        ||           |j        t          d                   j        t          d                   }t          ddgt          dd                    }t	          j        ||           d S )N)r4   r  r  r  r  r   r  rR   r9   r4   rP   )r   r   r&   rU   r'   r>   )rL   r  r?   r/   s       r0   test_loc_getitem_sparse_seriesz5TestLocBaseIndependent.test_loc_getitem_sparse_seriesH  s    ,,,K	34O4OPPPuQxx3*K	3,G,GHHH
vx000uQxx$U1XX.3*K	3,G,GHHH
vx00000r2   r&   r   c                     t          g dg dgt          t                              }t          ||          d         }t	          g dt          t                    d          }t          j        ||           d S )N)r4   r        ?)r  r5   r  rR   r   )r;   r<   )r   r   r=   rE  r   r'   r>   )rL   r   r.   r?   r/   s        r0   !test_getitem_single_row_sparse_dfz8TestLocBaseIndependent.test_getitem_single_row_sparse_dfT  sx     9UASASTTTW%%a(///U1C1C!LLL
vx00000r2   key_typec                      |g d          }|j         d d |f         }|j         d d g df         }t          j        ||           d S )Nr   )r&   r'   r(   )rL   float_framer[  idxr?   r/   s         r0   test_loc_getitem_iterablez0TestLocBaseIndependent.test_loc_getitem_iterable\  s[    h''C(?111ooo#56
fh/////r2   c                 D   t          t          j                            d                              d                    }t          ddd          |_        |j        t          d          d d d f         }|j        dd d d f         }t          j
        ||           d S )Nr9   r  r0  0srs   r  startrh   r6  )r   rJ   r   r   normalr   r
   r&   r   r'   r(   r   s       r0   #test_loc_getitem_timedelta_0secondsz:TestLocBaseIndependent.test_loc_getitem_timedelta_0secondsc  s    ry,,Q//66G6DDEE"rDDD6)D//++QQQ./qqq!
fh/////r2   val,expected)    r8   )            r9   c                     t          ddgddg          }|j        |         }t          |g          }||_        t	          j        ||           d S )Nr8   r9   rg  rh  r	   )r   r&   r   r<   r'   r>   )rL   rH  r/   r.   r?   s        r0   test_loc_getitem_uint64_scalarz5TestLocBaseIndependent.test_loc_getitem_uint64_scalark  sY     1vi%78888*%%
vx00000r2   c                     |}t          g dt          g d|                    }|                                }d|j        d<   d|j        d<   t          j        ||           d S )Nr
  )r         ?r8   rR   r	   zoor8   r9   )r   r   r   r&   r   r'   r>   )rL   float_numpy_dtyper;   r  r/   s        r0   +test_loc_setitem_int_label_with_float_indexzBTestLocBaseIndependent.test_loc_setitem_int_label_with_float_indext  sk    !___E+++U,K,K,KLLL88::
 a
sH-----r2   zindexer, expected)
ra   r8   r9   rP   rc   rv   rt   ru   re   r  )
r   r8   r9   rP   ra   ra   ra   ra   re   r  )
r   r8   r9   ra   rc   ra   rt   ru   re   r  c                    t          t          d          d          }t          dt          d          id|          }d|j        |j        |         df<   t          ||dgd          }t          j        ||           d S )	Nrs   r  r  r   r   r;   r
   ra   r  )r   rU   r   r&   r
   r'   r(   )rL   r   r/   tdir.   s        r0   /test_loc_setitem_listlike_with_timedelta64indexzFTestLocBaseIndependent.test_loc_setitem_listlike_with_timedelta64index  s     5993///U2YY'wcBBB)+rx #%&E	
 
 
 	h+++++r2   c                 4   t          g dt          d          d          }t          j        t          d          5  t          ddgddg          |j        d	d
df<   t          ddgddg          |j        d
ddf<   d d d            d S # 1 swxY w Y   d S )Nr8   r8   r8   r8   r8   aaaaar   r   r   r!   r"   
categoriesr8   r9   rP   )r   rV   r   r   r   r   r&   r   s     r0   8test_loc_setitem_categorical_values_partial_column_slicezOTestLocBaseIndependent.test_loc_setitem_categorical_values_partial_column_slice  s    ___4==AABB]9O<<< 	N 	N*C:3*MMMBF1Q38*C:3*MMMBF1Q38	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	Ns   ABBBc                 z   t          dgdgd          }t          |d         g d          }||j        d d df<   |d         }t          ||j        d                              |st          nd          }t          j        ||           ||d<   t          j        |d         t          |d	                     d S )
Nr"   r   )AlphaNumericr{  r
  rw  r   rH   r   )	r   r   r&   r   r
   r  rI   r'   r>   )rL   rM   r.   rx  r?   r/   s         r0   'test_loc_setitem_single_row_categoricalz>TestLocBaseIndependent.test_loc_setitem_single_row_categorical  s    #A37788 GIII
 (qqq'zG*BH7CCCJJ,7FF%
 
 	vx000 !7
r'{F:G,L,L,LMMMMMr2   c                    t          dt          d          gdz  i          }t          j        d          |j        dddf<   t          d          |j        d         k    sJ t          d          |j        d         k    sJ t          j        t          d	
          5  t          ddd          |j        d<   d d d            d S # 1 swxY w Y   d S )Nr]   z
2010-10-01rP   z
2008-08-08r   r8   )r   r]   )r8   r]   r   r   i  rv   )r9   r]   )	r   r   rJ   r  r&   r   r   r   r   r   s     r0   "test_loc_setitem_datetime_coercionz9TestLocBaseIndependent.test_loc_setitem_datetime_coercion  s   i556:;<<=66qsCx&&"&.8888&&"&.8888]9O<<< 	. 	.!$1--BF6N	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.s   CC	C	idxervarc                 j   |}t          ddd|          }t          d|dg          }t          |dgt          j                  }|dk    rDt	          j        t          d	
          5  ||j        d d |f<   d d d            d S # 1 swxY w Y   d S ||j        d d |f<   t          j	        ||           d S )Nz
2015-07-12rP   r{  )rc  rh   r6  tzr  r  r  r  r   r   )
r   r   rJ   r   r   r   r   r&   r'   r(   )rL   r  tz_naive_fixturer  r^  r/   r?   s          r0   !test_loc_setitem_datetimeindex_tzz8TestLocBaseIndependent.test_loc_setitem_datetimeindex_tz  s    |QSRHHHSeW=== ugRZHHHE>>y@@@ 0 0'/
111e8$0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 $,FJqqq%x !&(33333s   'BB
Bc                 $   t          ddd          }t          t          j                            d                              t          |          df          |          }t          dd	d	          }t          t          d
d	d	          t          dd	d	                    }g d}g d}|	                                }d	|j
        |<   |j
        |         }|j
        |         	                                }d	|j
        d d <   t          j        ||           |	                                }d	|j
        |<   |j        |         |j
        |<   t          j        ||           |	                                }d	|j
        |<   |j
        |         }|j
        |         	                                }d	|j
        d d <   t          j        ||           |	                                }d	|j
        |<   |j        |         |j
        |<   t          j        ||           d S )Nz
2012-01-01z
2012-01-0530minr5  r9   rv   r	   r   r         )   H   x      )         J   K   L   z   {   |            )r   r   rJ   r   r   r  rl   r   r   r   r&   r'   r(   r   )	rL   r
   r.   akeybkeyaindsbindsr?   r/   s	            r0   test_loc_setitem_time_keyz0TestLocBaseIndependent.test_loc_setitem_time_key  s   <GDDDI!!!$$44c%jj!_EEU
 
 
 B1~~T"a^^T"a^^44"""FFF
4D!6$<$$&&QQQ
fh///
475>
4
fb)))
4D!6$<$$&&QQQ
fh///
475>
4
fb)))))r2   r_   c                    t          j        g d          }t          g dg dg|          }|                                }t	          j        dd          |j        d d |f<   t          g dg d	g|          }t          j        ||           |	                    d
          }t	          j        dd          |j        d d |f<   |	                    d
          }t          j        ||           d S )N))r%   rc   )r   3)r%   rE   r   rc   rv   rt   r   r9   r9   r   rR   )r   r9   r   )r   rv   r   r8   r  )
r   from_tuplesr   r   rJ   zerosr&   r'   r(   r  )rL   r_   rt  r.   rZ   r/   s         r0   ,test_loc_setitem_unsorted_multiindex_columnszCTestLocBaseIndependent.test_loc_setitem_unsorted_multiindex_columns  s     #$F$F$FGG			999-r:::ggii(69993iii3R@@@
c8,,,]]]""&888qqq#v&&A&..
b(+++++r2   c                     t          g d|          }d|j        d<   t          g d|          }t          j        ||           d S )Nr   rR   rc   r   )rc   r9   rP   r   r&   r'   r>   )rL   any_int_numpy_dtyper+   r/   s       r0   test_loc_setitem_uint_dropz1TestLocBaseIndependent.test_loc_setitem_uint_drop  sV     			)<===
1)))+>???
vx00000r2   c                 ^   t          dt          j        dd          gz            }t          j        dd          |j        g d<   t          dt          j        dd          gz            }t	          t          j        dd                    |j        g d<   t          j        ||           d S )Nrs   r|  ra   r   )r   rJ   timedelta64r&   r   r'   r>   )rL   r  r/   s      r0   test_loc_setitem_td64_non_nanoz5TestLocBaseIndependent.test_loc_setitem_td64_non_nano  s    R2>"c223344^B44			"r3 7 78899"+BN2s,C,C"D"DYYY
sH-----r2   c                    t           j                            d                              d          }t	          t          d          d          }d}t          j        t          |          5  ||j	        t          d          <   d d d            n# 1 swxY w Y   t          j        t          |          5  ||j	        d d <   d d d            d S # 1 swxY w Y   d S )Nr9   r  r   rR   r   r   )
rJ   r   r   r  r   rU   r   r   r!  r&   )rL   r   r  r   s       r0    test_loc_setitem_2d_to_1d_raisesz7TestLocBaseIndependent.test_loc_setitem_2d_to_1d_raises  sH   y$$Q''77??U1XXY///9]:S111 	% 	% $CGE!HH	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% ]:S111 	 	CGAAAJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   .BBB8CCCc                     t          j        dd          }t          g dg dg dg|g d          }d	}|j        d
         }t	          j        ||           d S )Nr   rP   )rc  rh   r   r  r  r   r  r8   )rl  r%   )r   interval_ranger   r&   r'   assert_almost_equal)rL   r
   r.   r/   r?   s        r0   test_loc_getitem_interval_indexz6TestLocBaseIndependent.test_loc_getitem_interval_index  su    !1555YY			999-UOOO
 
 
 !
vx00000r2   c                 
   t          j        ddd          }t          g dg dg dg|g d	          }t          j        dd
dd          }t          ddg|d          }|j        d         }t          j        ||           d S )Nr   rP   both)rc  rh   closedr   r  r  r   r  r9   r8   )rc  rh   r6  r  rc   r%   r   r8   r%   )r   r  r   r   r&   r'   r>   )rL   r
   r.   	index_expr/   r?   s         r0    test_loc_getitem_interval_index2z7TestLocBaseIndependent.test_loc_getitem_interval_index2&  s    !1VDDDYY			999-UOOO
 
 
 %AqqPPP	1a&	<<<
vx00000r2   tplr8   r8   r9   c                     t          ddgdd          }t          |          }|j        |g         }t          |gdd          }t          |          }t          j        ||           d S )Nr  r  r%   Fr<   tupleize_colsr	   )r   r   r&   r'   r(   )rL   r  r^  r.   r?   r/   s         r0   +test_loc_getitem_index_single_double_tupleszBTestLocBaseIndependent.test_loc_getitem_index_single_double_tuples2  s     6N
 
 

 S!!!SE59993'''
fh/////r2   c                     t          dddg          } |dd          } |dd          }t          ||gdd	
          }t          ddg|ddg          }|j         |dd                   d         }|dk    sJ d S )N	IndexTyper"   r!   r   r   r  bofcomposite_indexFr  r  )rP   rc   r%   r   r  r8   )r   r   r   r&   )rL   r  idx1idx2r
   r.   r?   s          r0   !test_loc_getitem_index_namedtuplez8TestLocBaseIndependent.test_loc_getitem_index_namedtupleA  s    {S#J77	y&&y&&tTl):%PPP'usCjIII		%//05{{{{{{r2   c                    t          t          j                            d                              d          g dg d          }d|d<   t          j        |j        |j        d d d         df<   t          t          j        dt          j        dt          j        g|st          nd          j
        }t          j        |d         j
        |           d S )	Nr9   rv   rP   )r"   r!   r]   r  r  r  r  quxrH   rR   )r   rJ   r   r   r  r   r&   r
   r   rI   r   r'   r  )rL   rM   r.   r/   s       r0   $test_loc_setitem_single_column_mixedz;TestLocBaseIndependent.test_loc_setitem_single_column_mixedK  s    I!!!$$44V<<+++)))
 
 

 5	')vrx!}e#$VUBFE262 2=&&
 
 
  	 	r%y/:::::r2   c                 <   t          t          j                            d                              d          t	          d                    }t          j        |d<   t          j        t          d          5  d|j	        d	<   d d d            d S # 1 swxY w Y   d S )
Nr9   )rz   rP   ABCr   eventr   r   r   )rs   r  )
r   rJ   r   r   tupler   r   r   r   r&   r   s     r0   test_loc_setitem_cast2z-TestLocBaseIndependent.test_loc_setitem_cast2Y  s     ry,,Q//66w??uVVVf7]9O<<< 	( 	("'BF;	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   9BBBc                 b   t          dt          j        dt          j                  i          }d|j        d<   |j        j        t          j        t          j                  k    sJ t          j        d          |_        |j        j        t          j        t          j                  k    sJ d S )Nonert   rR   )r8   r  ru   )r   rJ   r   int8r&   r  r  r;   r   s     r0   test_loc_setitem_cast3z-TestLocBaseIndependent.test_loc_setitem_cast3a  s    ry"':::;<<xy} 1 11111y} 1 1111111r2   c                      |t          d          g d          }g d}|j        dk    rdgdgdgg}||j        t          d	          <    |g d
|j                  }t	          j        ||           d S )Nrv   )rP   rc   r8   r   r9   r	   )r  rs   r  r9   r  rs   r  rP   )r   r8   rs   r  r  )rU   ndimr&   r
   r'   r   )rL   rY   rZ   r   r/   s        r0   test_loc_setitem_range_keyz1TestLocBaseIndependent.test_loc_setitem_range_keyi  s    oeAhhooo>>>8q==cB4"&F"a"?#4#4#4CIFFF
X&&&&&r2   c                     t          g dg dd          }t          ddgddg          |j        dddf<   t          g dg dd          }t          j        ||           d S )	Nru  r   r   r9   r8   rw  r"   )r8   r9   r9   r8   r8   r   r   r&   r'   r(   r   s      r0   .test_loc_setitem_numpy_frame_categorical_valuezETestLocBaseIndependent.test_loc_setitem_numpy_frame_categorical_valuev  s    ___3L3L3LMMNN&1v1a&AAAqsCx???9R9R9RSSTT
b(+++++r2   c                    t          dd          }t          t          t          j        |g          t          ddg          d                              d          }|j        t          t          j        ||g|j        j                  d	f         }g d
}|	                                |k    sJ |j        t          t          j        g|j        j                  d	f         }|	                                dgk    sJ d S )Nz
2023-01-01T)utcr   r8   )r
   r)  r
   rR   r)  r   )
r   r   r   r   r   r   r&   r
   r;   tolist)rL   r  r.   r?   r/   s        r0   "test_loc_with_nat_in_tzaware_indexz9TestLocBaseIndependent.test_loc_with_nat_in_tzaware_index~  s   $777	 344A 
 

 )G

 	 BFIy1HHH
 99}}(**** BF828>222
 }}1#%%%%%%r2   )lr   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r'  r*  r.  r=  rC  fixturerI  rJ   r   r   rL  rP  rR  rV  r[  rw  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r  r  r  r  r  arm_slowslowr  r  r  r  r  r  r  r  r  r  r"  r$  r&  r(  r1  r=  
complex128r   boolrQ  rS  rU  rW  rZ  iterr   r   r_  re  rj  ro  rs  ry  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r2   r0   r   r     s^       0 0 0 [7&&,,u9UV6tU8ST6ud8STNvvd||U3 7ud8STNuffTll3 7tU8ST	
 $ % $*     
	1 	1 	11 1 1(!K !K !KF% % %(, , ,&	 	 	 [We}6P6P6P&QRR  SR  # # #% % %N     0 0 0*& & &$ ^
 
 ^
 [	
HBHQbh'''///)R)R)RS $ $	 $& & &$ $ $) ) ), , , 6* 6* 6*p [V%O%O%OPP: : QP:", , ,4 [Yu66, , 76,
, 
, 
,, , , [Yu66, , 76,6 [Yu660 0 760., , ,, , ,$, $, $,L [SE55sD11828SE??C  [Wuhbhuoo&>??
3 
3 @? 
3 [ Q---.	!\\Aq"&"&#9<<<H000   S#JA	BFBF+\\\Aq"&"&;QR000   OOO$"(333	BF^YYYArv?   q!T""OOO4LLL)	BFBF+\\\???K000   q!T""OOO4)))\\\2"(CCC	BFBF+\\\???K000   tT4((3*5	Aq6Ar7RH5SzJJJ	YY


KKK8///  Q/	
2 2f, ,g2 2f,	8 	8 	8	8 	8 	8	8 	8 	8. . . 0  0  0D [[[\S#J8H+IJJ 0  0 KJ   0D& & &
 
 
&3 3 3<$ $ $ , , ,"  , , ,, , ,, , ,$ $ $* * *  1 1 10 0 00* * *, [\+U+U+UVV[Wr}bj"(D&QRR6 6 SR WV6.* * *
0 0 0 
1 
1 
1 [Y881 1 981 [Z$&%)HII0 0 JI00 0 0 [^nj-IJJ1 1 KJ1	. 	. 	. [ ///0U1a[[<<<=V5556	
	 	, ,	 	, N N NN N N&. . . [Wuug&6774 4 874  *  *  *D [US3%#uuT{{1C$DEE, , FE,1 1 1. . .
 
 
	1 	1 	1
1 
1 
1 [UT6N330 0 430  ; ; ;( ( (2 2 2' ' ', , ,& & & & &r2   r   c                       e Zd Zej        d             Zej        d             Zd Zej        	                    d          d             Z
d ZdS )TestLocWithEllipsisc                     |S r   r   )rL   
indexer_lis     r0   r   zTestLocWithEllipsis.indexer  s
     r2   c                 D    |}|t           ur|                                }|S r   )r   to_frame)rL   series_with_simple_indexrY   rZ   s       r0   rZ   zTestLocWithEllipsis.obj  s$    &&((,,..C
r2   c                 R     ||          d         }t          j        ||           d S )N.)r'   r   )rL   rZ   r   r?   s       r0   test_loc_iloc_getitem_ellipsisz2TestLocWithEllipsis.test_loc_iloc_getitem_ellipsis  s,    c"
$$$$$r2   3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                    |}|t           j        u st          |          dk    rdn|j        d         }|t           j        u r|j        j        dk    rd S |t           j        u rdt          |j        t                    rJd}t          j	        t          |          5   ||          d|gf         }d d d            n# 1 swxY w Y   nNt          |          dk    r; ||          d|gf         } ||          |g         }t          j        ||           |t           j        u rdn|j        }|                                }	 ||	          d|gf         } ||	          d d |gf         }t          j        ||           d S )Nr   r;  z2MultiIndex does not support indexing with Ellipsisr   .)r'   r   rl   r
   r&   inferred_typer   r   r   r   NotImplementedErrorr>   r<   r  r(   )
rL   r  r   rZ   r_   r   r?   r/   key2r.   s
             r0   &test_loc_iloc_getitem_leading_ellipsesz:TestLocWithEllipsis.test_loc_iloc_getitem_leading_ellipses  s   &rw&&#c((a--aacilbf!8I!E!E FbfCIz!B!BFC2#>>> 2 2 cC5j12 2 2 2 2 2 2 2 2 2 2 2 2 2 2 XX]]WS\\#u*-Fws||SE*H"68444rw&&qqCH\\^^S4&[)72;;qqq4&y)
fh/////s   B99B= B=c                    |t           j        u st          |          dk    rdn|j        d         }t	          j        t          t                    5   ||          d          d d d            n# 1 swxY w Y   t	          j        t          t                    5   ||          d|gdf          d d d            n# 1 swxY w Y   t	          j        t          t                    5   ||          dd|f          d d d            n# 1 swxY w Y   t	          j        t          d          5   ||          |ddf          d d d            d S # 1 swxY w Y   d S )Nr   r   )...Too many indexers)r'   r   rl   r
   r   r   r   r   )rL   rZ   r   r_   s       r0   0test_loc_iloc_getitem_ellipses_only_one_ellipsiszDTestLocWithEllipsis.test_loc_iloc_getitem_ellipses_only_one_ellipsis  sL   rw&&#c((a--aacil]=0EFFF 	# 	#GCLL""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# ]=0EFFF 	* 	*GCLLseS))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* ]=0EFFF 	( 	(GCLLc3''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(
 ]=0CDDD 	( 	(GCLLc3''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(sH   A//A36A3B<<C C 'DDD.EEEN)r   r   r   r   r  r   rZ   r  r   filterwarningsr  r  r   r2   r0   r  r    s        ^  ^ ^  ^% % % [ VWW0 0 XW00( ( ( ( (r2   r  c                   f   e Zd Zej                            dddgg dg dgfddgg dg dgfddgddgfg dg dgfddgddgfg dg d	gfddgddgfg dg d	gfddgddgfg dg dgfd
dgddgfg dg dgfg          ej                            dddg          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ej        ej        dej        f          d             Zd Zej                            dd d!g          d"             Zd# Zd$ ZdS )%TestLocWithMultiIndexzkeys, expectedr!   r"   )r!   r!   r"   r"   )r8   r9   r8   r9   )r"   r"   r!   r!   r8   r9   )r9   r8   r9   r8   r]   )r]   r"   r"   )r8   r9   r8   dimr
   rG   c                 t   |g dg dgi}t          t          j        d                              dd          fi |}t	          j        |          }|dk    r-|j        |d d f         }t          j        |j	        |           d S |dk    r-|j        d d |f         }t          j        |j
        |           d S d S )N)r]   r"   r"   r!   r!   )r8   r8   r9   r8   r9      rv   r
   rG   )r   rJ   r   reshaper   r   r&   r'   assert_index_equalr
   rG   )rL   r  keysr/   kwargsr.   	exp_indexr   s           r0   'test_loc_getitem_multilevel_index_orderz=TestLocWithMultiIndex.test_loc_getitem_multilevel_index_order  s      111???CDry}},,Q22==f==*844	'>>&qqq/C!#)Y77777I&D/C!#+y99999 r2   c                    |}|j         d         }|d         j         d         }|j        j        |j        j        dd          k    sJ |j        j        |j        j        dd          k    sJ |j         d         }|d         j         d         }|j        j        |j        j        d         k    sJ |j        j        |j        j        d         k    sJ d S )N  r%   r8   )r  r9   r9   )r&   r
   rd  r<   )rL   /multiindex_year_month_day_dataframe_random_dataymdr?   result2s        r0   test_loc_preserve_namesz-TestLocWithMultiIndex.test_loc_preserve_names  s    =c(,t$|!SY_QRR%88888}"cioabb&99999!c(,w'| CIOA$66666}!SY_Q%7777777r2   c                    t          j        dgddgg          }t          d|          }|j        g          }|d d         }t	          j        ||           |j        |j        dd                  }t	          j        ||           d S )Nr   r8   r	   )r   from_productr   r&   r'   r>   r   )rL   rt  r  r   r/   res2s         r0   .test_loc_getitem_multiindex_nonunique_len_zerozDTestLocWithMultiIndex.test_loc_getitem_multiindex_nonunique_len_zero  s    $qcAq6]33Qb!!!gbkrr7
sH---wsx!}%
tX.....r2   c                    t          d gt          j        dgdgg                    }|j        d         }|J t          j        dgddgg          }t          d gt          |          z  t          |          }|j        d         }|J t          dgt          |          z  t          |          }|j        d         }|dk    sJ d S )	NLevel1Level2)r  r  Level2_aLevel2_brq  )r  r  r8   )r   r   r   r&   r	  rl   rI   )rL   r  r?   midxs       r0   0test_loc_getitem_access_none_value_in_multiindexzFTestLocWithMultiIndex.test_loc_getitem_access_none_value_in_multiindex
  s     dVZ3hZ(4LMMNN-.~~~&
Z4L'MNNdVc$ii'vTBBB/0~~~aS3t99_F$???/0{{{{{{r2   c                     t          j        t          g dg d          ddg          }t          g d|          }d|j        d	d
<   t          g d|          }t          j        ||           d S )N)r   r   r  r  r   r   r  r  )r  twor  r  r  r  r  r  firstsecondrc  )r8   r8   r8   r8   r8   r8   r8   r8   r	   r   )r  r  )r   r  )r8   r8   r   r   r   r   r8   r8   )r   r  r
  r   r&   r'   r>   )rL   r
   r?   r/   s       r0   !test_loc_setitem_multiindex_slicez7TestLocWithMultiIndex.test_loc_setitem_multiindex_slice  s     &HHHHHH  H%
 
 
 000>>>69
>N23:::%HHH
vx00000r2   c                     t          ddd          }t          t          d          |          }|j        t	          ddd          t	          ddd                   }t          j        ||           d S )NrE  10minr  r6  rh   il  r8   i4  )r   r   rU   r&   r   r'   r>   )rL   timesr  r?   s       r0   7test_loc_getitem_slice_datetime_objs_with_datetimeindexzMTestLocWithMultiIndex.test_loc_getitem_slice_datetime_objs_with_datetimeindex-  sm    <gvFFFU6]]E**$1--q!0D0DDE
vs+++++r2   c                 F   t          t          d          t          d          dt          ddd                    }|j        ddgd	d
gf         }t          ddgddgdt	          ddg                              d                    }t          j        ||           d S )Nrs   r   z
2010-01-01z
2010-01-10r  r  r	   z
2010-01-05r"   r!   r   rc   )r   rU   r   r&   r   r  r'   r(   r   s       r0   3test_loc_getitem_datetime_string_with_datetimeindexzITestLocWithMultiIndex.test_loc_getitem_datetime_string_with_datetimeindex3  s    ))%)),,\<dCCC
 
 
 |4sCj@Aa&1v&&| <==EEdKK
 
 
 	fh/////r2   c           	      Z   t          j        g dddg          }t          ddgddgd	d
gddgddgddgg|ddg          }|                    d          }t          ddgddgddggddg|                    g d                    }|j        d         }t          j        ||           d S )N)r   r   r   bahbamr!  r   r!  r%   r   rc  r4   r8   r5   r9   r6   rP   r7   rc         @rv         @rt   r   rA  r  r   )level)r   r8   rc   r   r   )r   r  r   r  r  r&   r'   r(   )rL   rt  r.   r/   r?   s        r0   3test_loc_getitem_sorted_index_level_with_duplicateszITestLocWithMultiIndex.test_loc_getitem_sorted_index_level_with_duplicates@  s    #   *

 

 

 aaaaaa #J
 
 
 ]]]##1XQx#q*S#JbggiiiFXFX
 
 
 '
fh/////r2   c                     t          g dd          }d|j        d<   t          g dd          }t          j        ||           d S )Nr
  categoryrR   r   rP   )r"   r!   r]   r   rI   r  rL   r?   r/   s      r0   1test_additional_element_to_categorical_series_loczGTestLocWithMultiIndex.test_additional_element_to_categorical_series_locb  sU    z:::
1,,,H===
vx00000r2   c                     t          g dd          }d|j        d<   t          g dd          }t          j        ||           d S )Nr
  r)  rR   r"   rP   r"   r!   r]   r"   r  r*  s      r0   'test_additional_categorical_element_locz=TestLocWithMultiIndex.test_additional_categorical_element_loci  sU    z:::
1...jAAA
vx00000r2   c           	         t          g dt          t          g d|                              }t          j        |j        d<   t          dddt          j        gt          t          g d|                              }t          j        ||           t          j        |j        d<   t          dt          j        dt          j        gt          t          g d|                              }t          j        ||           d S )Nr   rR   rP   r8   r9   )r   r   r   rJ   r   r&   r'   r>   )rL   any_numeric_ea_dtypesrsr/   s       r0   &test_loc_set_nan_in_categorical_seriesz<TestLocWithMultiIndex.test_loc_set_nan_in_categorical_seriesp  s   II"5:N#O#O#OPP
 
 

 V
1bf"5:N#O#O#OPP
 
 
 	sH---V
26""5:N#O#O#OPP
 
 
 	sH-----r2   naNc                     t          g dd          }||j        d<   t          g dd          }||j        d<   t          j        ||           t          ddd|gd          }t          j        ||           d S )	Nr
  r)  rR   rP   r-  r"   r!   r]   r  )rL   r3  srs_enlargesrs_setintor/   s        r0   ,test_loc_consistency_series_enlarge_set_intozBTestLocWithMultiIndex.test_loc_consistency_series_enlarge_set_into  s     ___J???111DDD
{K8883S"-Z@@@
{H55555r2   c           
         t          t          j        ddd          t          t	          ddg          t          d          gdgdz  dgdz  z   t          d          gd	d
g                    }t	          ddgddgdd	d          }|j        j        d         }t          j	        ||           |j
        dg         j        j        d         }t          j	        ||           d S )Nr9      r"   r!   rs   r   rv   r8   Index1Index2)rs  codesrd  )r   r
   Fr)  )rx  orderedr<   r;   )r   rJ   r   r   r   rU   r
   rs  r'   r  r&   r   s       r0   5test_loc_getitem_preserves_index_level_category_dtypezKTestLocWithMultiIndex.test_loc_getitem_preserves_index_level_category_dtype  s    1b!$$(#s44eBii@sQw!q(%))4*  
 
 
 $#JSz
 
 
 #
fh///$+A.
fh/////r2   lt_valuerz   rs   c                    t          dg dit          d          g dg          }t          j        t          d          5  |j        |d         |k     d d f         j        dgd d f          d d d            d S # 1 swxY w Y   d S )	Nr"   )r      "   -   aabbr   r8   r9   rP   r	   z\['b'\] not in indexr   r!   )r   rV   r   r   rW   r&   )rL   r?  r.   s      r0   >test_loc_multiindex_levels_contain_values_not_in_index_anymorezTTestLocWithMultiIndex.test_loc_multiindex_levels_contain_values_not_in_index_anymore  s     ---.tF||\\\6RSSS]8+BCCC 	8 	8F2c7X%qqq()-seQQQh77	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8s   ,A;;A?A?c                 :   t          j        t           j        t           j        g          }ddg}t          j        ||g          }t          ddg|          }|j        d d df         }t          dgt           j        g          }t          j        ||           d S )Nr   r  r   r8   r	   )	rJ   r   r   r   r   r   r&   r'   r>   )rL   lev1lev2rt  r  r?   r/   s          r0   'test_loc_multiindex_null_slice_na_levelz=TestLocWithMultiIndex.test_loc_multiindex_null_slice_na_level  s    x())u~#T4L11aV2&&&E" 1#bfX...
vx00000r2   c                 P   t          j        t          d          t          d          ddggg d          }t          t	          d          |          }|j        d	d d d d f         }|j                            d
          d d         }t          j	        |j        |           d S )Nabxyr8   r9   )rL  rM  numrc  re   r	   r"   r   rc   )
r   r	  rV   r   rU   r&   r
   	droplevelr'   r  )rL   rt  r  
loc_resultr/   s        r0   test_loc_drops_levelz*TestLocWithMultiIndex.test_loc_drops_level  s     $$ZZdaV,4G4G4G
 
 
 U1XXR(((WS!!!QQQY'
9&&q))"1"-
j.99999r2   )r   r   r   r   r   r   r  r  r  r  r  r  r  r'  r+  r.  r2  rJ   r   r   NAr   r7  r>  rF  rJ  rQ  r   r2   r0   r  r    s       [3Z...=>3Z...=>Cj1a&!$8$8$8,,,#GHCj1a&!$8$8$8,,,#GHCj1a&!$8$8$8,,,#GHCj1a&!$8$8$8,,,#GHCj1a&!OOOYYY#?@	
  [UWi$899: : :9 :8 8 8/ / /  "1 1 1$, , ,0 0 0 0  0  0D1 1 11 1 1. . .* [TBFBE4#@AA
6 
6 BA
60 0 02 [Z"b228 8 328
1 
1 
1
: 
: 
: 
: 
:r2   r  c                   n   e Zd Z ej        d          d             Zd Zd Zd Zd Z	d Z
ej                            dd	 d
 d d gg d          d             Zd Zd Zd Zd Zej                            d          ej                            dddg          d                         Zd Zd ZdS )TestLocSetitemWithExpansionpyarrowc                    t          t          d                                          gd          }t          dt	          d          i|          }t          d                                          }d|j        |<   t          |d         |g|j                  }t          j        |j	        |           |d         j
        d d         }d|j        |<   t          j        |j	        |           d S )	Nr   zdate32[pyarrow]rR   r%   r8   r	   z
1970-01-02r"  )r   r   r   r   rU   r&   r;   r'   r  r
   r   )rL   r^  r.   itemr   r  s         r0   2test_loc_setitem_with_expansion_preserves_ea_dtypezNTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_preserves_ea_dtype  s     Yq\\&&(()1BCCCU1XXc222&&++--t3q64.	:::	
bh	222gl3B3
ci33333r2   c                 ^   d}|                                 5  |                    t          d|           t          dt	          |          id          }||j        |<   d d d            n# 1 swxY w Y   t          dt	          |dz             id          }t          j        ||           d S )N2   _SIZE_CUTOFFr   r   rR   r8   )contextsetattrlibindexr   rU   r&   r'   r(   )rL   monkeypatchsize_cutoffr?   r/   s        r0   /test_loc_setitem_with_expansion_large_dataframezKTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_large_dataframe  s      "" 	2 	2.+FFFU;%7%78HHHF&1FJ{#	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 c5q#9#9:'JJJ
fh/////s   AA**A.1A.c           
         t          t                    }d|j        d<   t          j        |t          dgt          dd                               d|j        d<   t          j        |t          ddgddg                     d S )NrR   r8   r9   r	   rP   r   rI   r&   r'   r>   rU   rL   r  s     r0   test_loc_setitem_empty_seriesz9TestLocSetitemWithExpansion.test_loc_setitem_empty_series  s     6"""

sFA3eAqkk$B$B$BCCC

sFAq6!Q$@$@$@AAAAAr2   c           
         t          t                    }d|j        d<   t          j        |t          dgt          dd                               d|j        d<   t          j        |t          ddgddg                     d S )NrR   r4   r8   r9   r	   r6   rP   rc  rd  s     r0   #test_loc_setitem_empty_series_floatz?TestLocSetitemWithExpansion.test_loc_setitem_empty_series_float  s     6"""

sFC5a$D$D$DEEE

sFC:aV$D$D$DEEEEEr2   c           
         t          t                    }d|j        d<   t          j        |t          dgt          dg                               d|j        d<   t          j        |t          ddgt          ddg                               d|j        d<   t          j        |t          g dt          g d	                               d S )
NrR   r8   r   r	   rP   r   rc   )r8   rP   rc   )r   r   rP   )r   rI   r&   r'   r>   r   rd  s     r0   %test_loc_setitem_empty_series_str_idxzATestLocSetitemWithExpansion.test_loc_setitem_empty_series_str_idx  s     6"""
sFA3eUGnn$E$E$EFFF
sFAq6u~9N9N$O$O$OPPP

sF999EBSBSBS<T<T$U$U$UVVVVVr2   c                    t          dddt          d                    fdt          d          D             }t          dg|d         g	          }|D ]}d|j        |<   t          d|	          }t          j        ||           d S )
Nr   r  r8   
US/Pacific)tzinfoc                 <    g | ]}t          |d z            z   S )r  )seconds)r   )r   r  bases     r0   r   zUTestLocSetitemWithExpansion.test_loc_setitem_incremental_with_dst.<locals>.<listcomp>	  s-    EEEayS1111EEEr2      r   r	   )r   r   rU   r   r&   r'   r>   )rL   idxsr?   tsr/   ro  s        @r0   %test_loc_setitem_incremental_with_dstzATestLocSetitemWithExpansion.test_loc_setitem_incremental_with_dst  s    b!E,,?,?@@@EEEE599EEEDG9--- 	 	BFJrNN!4(((
vx00000r2   convc                     | S r   r   r9  s    r0   r:  z$TestLocSetitemWithExpansion.<lambda>  s    a r2   c                 *    |                                  S r   )to_datetime64r9  s    r0   r:  z$TestLocSetitemWithExpansion.<lambda>      aoo'' r2   c                 *    |                                  S r   )to_pydatetimer9  s    r0   r:  z$TestLocSetitemWithExpansion.<lambda>  rx  r2   c                 *    t          j        |           S r   )rJ   r  r9  s    r0   r:  z$TestLocSetitemWithExpansion.<lambda>  s    bmA&& r2   )rL   rw  rz  znp.datetime64)idsc           	      |   t          d          }t          d          }t                      }d|j         ||          df<   d|j         ||          df<   t          dddgit           ||           ||          g|rd nt                    t          dg          	          }t          j        ||           d S )
Nz20130101 09:00:00z20130101 10:00:00r   r  r   g      Y@g      i@rR   r  )r   r   r&   r   rI   r'   r(   )rL   rt  rM   dt1dt2r.   r/   s          r0   #test_loc_setitem_datetime_keys_castz?TestLocSetitemWithExpansion.test_loc_setitem_datetime_keys_cast  s     +,,+,,[[#&ttCyy% #&ttCyy% UEN#cDDII&6H.Tddf   5'NN
 
 
 	b(+++++r2   c                     t          ddgi          }t          dg|          |j        d d df<   t          dgt          dg|          d          }t          j        ||           d S )Nr%   r8   r!   )r=  r   r   r  )rL   r=  r?   r/   s       r0   1test_loc_setitem_categorical_column_retains_dtypezMTestLocSetitemWithExpansion.test_loc_setitem_categorical_column_retains_dtype+  sw    C!:&&(#@@@
111c6A3[#-P-P-PQQRR
fh/////r2   c                    t          dd          }t          dd          }t          dd          }t          ||dd          }||vsJ t          |d	g
          }d|j        |d	f<   t          t          j        gt          |          z  dgz   |                    t          |g                    d	gt                    }t          j        ||           d S )Nz2017-10-29 00:00:00+0200zEurope/Madridr  z2017-10-29 03:00:00+0100z2016-10-10 03:00:00leftr{  )	inclusiver6  r)  r  r   r  )r   r   r   r&   rJ   r   rl   appendr   rI   r'   r(   )rL   rc  endrr  r^  r?   r/   s          r0   0test_loc_setitem_with_expansion_and_existing_dstzLTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_and_existing_dst2  s    4III2GGG,AAAvC@@@}}}}wi888"$
2w;VHs3xx2$&**]B40011I	
 
 
 	fh/////r2   c                    t          t          ddg          dg          }ddg|d<   |                    d          j                            d          |_        ||j        dk                                 d          j                            d	          }|                                }||j	        |j        dk    df<   t          |d
                             d          |j	        d         gd          }t          j        |j        |           |j	        |j        dk    df         t          d                              d          z   }||j	        |j        dk    df<   t          j        |j	        |j        dk    df         |           d S )Nz2015-03-30 20:12:32z2015-03-12 00:11:11r   r   newoldnew_colr  rk  r   )r8   r   r   1sr  )r   r   r   r
   r  r   r  
tz_convertr   r&   r   r'   r>   r   r  )rL   r.   vr   r/   s        r0   test_setitem_with_expansionz7TestLocSetitemWithExpansion.test_setitem_with_expansionD  so   35JKLLH
 
 
 9,,v&&,88??rzU"#--f55;FF|TT ggii01u$f,-1Q4??51126)3DEFSSS
sx222F2:&./)D//2I2I#2N2NN./rzU"F*+
rvbjE&96&ABAFFFFFr2   c                     t                      }d|j        d<   d|j        d<   d|j        dt          j        f<   |j        }t          ddt          j        gt          j                  }t          j        ||           d S )Nr8   r  r9   )r8   r8   rP   r   rR   )	r   r&   rJ   infrG   r   r   r'   r  r   s       r0   0test_loc_setitem_with_expansion_inf_upcast_emptyzLTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_inf_upcast_emptyZ  so    [[ttq"&y!Qrz:::
fh/////r2   z"ignore:indexing past lexsort depthr  TFc                    t          |          st          j        d           |                    d          }t          |          }t	          j        |                              t          j                  }t          ||          }d}||vsJ |	                    t          |          |          }t          |t                    r|d         d         |k    sJ n|d         |k    sJ t	          j        |dz                                 t          j                  }t          ||          }	|                                }
|r
|
d d          }||
j        |df<   t          j        |
|	           |                                d         }|r
|d d          }||j        |<   |	d                             t          j                  }	t          j        ||	           |                                }
|r
|
d d          }||
j        |df<   t          g t%          |          t          j        t          j        g|z  t)          |          gz   d|          }	t          j        |
|	           d S )	NzNot relevant for empty Indexr9   r	   kapowr"  r   r8   r   r8   )rl   r   skiprepeatrJ   r   r  r   r   insertr   r   r   r   r&   r'   r(   r>   rV   r   r=   )rL   r
   r  Narrorigr_   r   exp_datar/   r.   r  r  s                r0   /test_loc_setitem_with_expansion_nonunique_indexzKTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_nonunique_indexe  sT    5zz 	8K6777QJJill!!"(++E*** % LLUS11	eZ(( 	(R=#s*****R=C''''9QU##**2:66XY777 YY[[ 	aaa5DsAv
b(+++ iikk!n 	qqq6DA;%%bh//
sH--- YY[[ 	aaa5DsAv$$s))$RV$"&Aq
)BCC
 
 
 	b(+++++r2   c                 L   t          g d|          }t          d|i          }t          |j                  }||j        |j        df<   t	          j        ||d           t          |j                  }|j        |j        |j        df<   t	          j        ||d           d S )NrE  rR   r   r	   Fr  )r   r   r
   r&   r'   r(   r  )rL   r0  r  r.   r?   s        r0   6test_loc_setitem_with_expansion_preserves_nullable_intzRTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_preserves_nullable_int  s     \\\)=>>>}%%***'*
28V#$
fbEBBBB***'*{
28V#$
fbEBBBBBBr2   c                    t          dt          d          i          }t          ddd          }||j        g ddf<   |                    t          t          j        t          j        g|j        	                    }t          t          d          |d
          }|j	        d         |j        k    sJ t          j        ||           d S )Nr%   rv   
2016-01-01rP   rk  rh   r  ro   r   rR   r   )r   rU   r   r&   r  r   r   r   r;   r  r'   r(   )rL   r.   rH  bexr/   s        r0   #test_loc_setitem_ea_not_full_columnz?TestLocSetitemWithExpansion.test_loc_setitem_ea_not_full_column  s    U1XX''q\BBB!$yyy#~jj'7syIIIJJ588#6677s#sy0000
b(+++++r2   N)r   r   r   td
skip_if_norX  ra  re  rg  ri  rs  r   r   r   r  r  r  r  r  r  r  r  r  r   r2   r0   rT  rT    s       R]94 4 40 0 0B B BF F F
W 
W 
W1 1 1 [K''''&&		
 HGG  	 	, ,	 	,"0 0 00 0 0$G G G,	0 	0 	0 [ DEE[Yu661, 1, 76 FE1,fC C C , , , , ,r2   rT  c                   &    e Zd Zd Zd Zd Zd ZdS )TestLocCallablec                 n   t          g dt          d          g dd          }|j        d          }t          j        ||j        |j        dk                        |j        d d d f         }t          j        ||j        |j        dk    d d f                    |j        d d	 f         }t          j        ||j        |j        dk    g d
f                    |j        d d f         }t          j        ||j        |j        dk    df                    |j        d d f         }t          j        ||j        |j        dk    ddgf                    |j        d d f         }t          j        ||j        |j        dk    ddgf                    |j        d d f         }||j        d         k    sJ d S )Nr8   r9   rP   rc   rD  r   c                     | j         dk    S Nr9   r%   r9  s    r0   r:  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>      qsQw r2   r9   c                     | j         dk    S )Nr!   )r   r9  s    r0   r:  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    qscz r2   r!   c                     | j         dk    S r  r  r9  s    r0   r:  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r2   c                     | j         dk    S Nr   r   r9  s    r0   r:  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    !)s2B r2   )FTFc                     | j         dk    S r  r  r9  s    r0   r:  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r2   c                     dS r  r   r9  s    r0   r:  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    # r2   r   c                     | j         dk    S r  r  r9  s    r0   r:  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r2   c                 
    ddgS Nr%   r   r   r9  s    r0   r:  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s
    3* r2   r%   c                     | j         dk    S r  r  r9  s    r0   r:  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    qsax r2   c                 
    ddgS r  r   r9  s    r0   r:  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s
    C: r2   c                     dS )Nr8   r   r9  s    r0   r:  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    q r2   c                     dS r$   r   r9  s    r0   r:  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    C r2   r  )r   rV   r&   r'   r(   r%   r   r>   rL   r.   r   s      r0   test_frame_loc_getitem_callablez/TestLocCallable.test_frame_loc_getitem_callable  s   \\\V<<<PPQQ f&&'
c26"$(#3444f))111,-
c26"$#+qqq.#9:::f&&(B(BBC
c26"$(4H4H4H*H#IJJJf&&56
sBF24!8S=$9:::f&&(<(<<=
c26"$(S#J*>#?@@@f'')=)==>
c26"$!)c3Z*?#@AAA f[[--/0bfVn$$$$$$r2   c                    t          g dt          d          g dd          }|j        d ddgf         }t          j        ||j        |j        dk    ddgf                    |j        ddgd	 f         }t          j        ||j        ddgddgf                    |j        dd
 f         }t          j        ||j        dddgf                    d S )Nr  rD  r   c                     | j         dk    S r  r  r9  s    r0   r:  zITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>  r  r2   r%   r   r9   rP   c                 
    ddgS r  r   r9  s    r0   r:  zITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>  s
    Sz r2   c                 
    ddgS r  r   r9  s    r0   r:  zITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>  s
    3* r2   )r   rV   r&   r'   r(   r%   r>   r  s      r0   'test_frame_loc_getitem_callable_mixturez7TestLocCallable.test_frame_loc_getitem_callable_mixture  s    \\\V<<<PPQQf&&c
23
c26"$(S#J*>#?@@@faV1112
c261a&3**<#=>>>fQ,,,-
sBF1sCj=$9:::::r2   c                    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  rD  Xry  r  r	   c                 
    ddgS Nr%   r   r   r9  s    r0   r:  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  
    Sz r2   r%   r   c                 
    ddgS r  r   r9  s    r0   r:  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r2   c                 
    ddgS r  r   r9  s    r0   r:  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r2   c                     dS Nr  r   r9  s    r0   r:  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  s    S r2   r  c                 
    ddgS r  r   r9  s    r0   r:  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r2   c                     dgS r  r   r9  s    r0   r:  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  s    cU r2   c                     dS r  r   r9  s    r0   r:  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  s    3 r2   c                     dgS r  r   r9  s    r0   r:  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  s    C5 r2   c                 
    ddgS r  r   r9  s    r0   r:  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r2   c                 
    ddgS r  r   r9  s    r0   r:  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r2   )r   rV   r&   r'   r(   r>   r  s      r0   &test_frame_loc_getitem_callable_labelsz6TestLocCallable.test_frame_loc_getitem_callable_labels  s    \\\V==T&\\RRR f))*
c263*#5666f))111,-
c263*aaa-#8999f))==89
sBFC:s?$;<<<f))??:;
c263*se*;#<=== fc3Z./
sBFC:s?$;<<<fc3Z01
c263*se*;#<===f))3./
sBFC:s?$;<<<f))C501
c263*se*;#<=====r2   c                 z   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dg|j        d d f<   |                                }ddg|j        d	d
gdgf<   t          j        ||           |                                }t          j	        ddg          |j        d	d
gd f<   |                                }t          j	        ddg          |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|j        d dgf<   |                                }d|j        d	d
gdgf<   t          j        ||           d S )Nr  rD  rR   r  r  r	   ic                 
    ddgS r  r   r9  s    r0   r:  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>		  
    3* r2   r%   r   ra   c                 
    ddgS r  r   r9  s    r0   r:  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  r  r2   r"  c                 
    ddgS r  r   r9  s    r0   r:  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  r  r2   c                     dS r  r   r9  s    r0   r:  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  s     r2   r  rv   rs   c                 
    ddgS r  r   r9  s    r0   r:  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  r  r2   c                     dgS r  r   r9  s    r0   r:  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  s     r2   r$  c                     dS r  r   r9  s    r0   r:  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>"	  s    c r2   c                     dgS r  r   r9  s    r0   r:  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>(	  s    se r2   c                 
    ddgS r  r   r9  s    r0   r:  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>.	  r  r2   c                 
    ddgS r  r   r9  s    r0   r:  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>4	  r  r2   )
r   r   rV   rI   r   r&   r'   r(   rJ   r   )rL   r.   r   r   s       r0   test_frame_loc_setitem_callablez/TestLocCallable.test_frame_loc_setitem_callable 	  s1   ,,VDLL%G%G%GHHv,,
 
 
 ggii(+$$%ggii!c

c3'''ggii+-$$aaa'(ggii!#c
AAA
c3'''ggii79$$mm34ggii#%c
C 
c3'''ggii:;R$$oo56ggii&'Wc
SE!"
c3''' ggii-/Xr2h-?-?c
MM)*ggii#%8RH#5#5c
C 
c3'''ggii/1c
OO+,ggii%'c
SE!"
c3'''ggii-/$$c)*ggii#%c
C 
c3'''ggii/1$$se+,ggii%'c
SE!"
c3'''''r2   N)r   r   r   r  r  r  r  r   r2   r0   r  r    sP        % % %8; ; ;> > ><7( 7( 7( 7( 7(r2   r  c                   r    e Zd Zd Zd Zd Zd Zej        	                    dddg          d             Z
dS )	TestPartialStringSlicingc                     t          g dg ddt          g d                    }t          ddgdd	gdt          d
dg                    }|j        d         }t          j        ||           d S )Nr
  r   )r   r   )
2020-08-01z
2020-07-02
2020-08-05r	   r"   r]   r8   rP   r  r  z2020-08)r   r   r&   r'   r(   r   s       r0   5test_loc_getitem_partial_string_slicing_datetimeindexzNTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_datetimeindex;	  s    $__iii88HHHII
 
 
 3Z!Q00|\:;;
 
 
 	"
fh/////r2   c                     t          j        ddd          }|                                }|j        d d         }|j        d d         }t          j        ||           d S )N
2017-01-01
2018-01-01rz  rc  r  r6  z2017-12r"  )r   period_range	to_seriesr&   r   r'   r>   )rL   pir  r?   r/   s        r0   8test_loc_getitem_partial_string_slicing_with_periodindexzQTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_with_periodindexH	  s]    _<\LLLllnn)$8CRC=
vx00000r2   c                     t          ddd          }|                                }|j        d d         }|j        d d         }t	          j        ||           d S )N1 day2 days1hr  z1 daysr"  )r   r  r&   r   r'   r>   )rL   r  r  r?   r/   s        r0   ;test_loc_getitem_partial_string_slicing_with_timedeltaindexzTTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_with_timedeltaindexP	  s[    7tDDDllnn(#8CRC=
vx00000r2   c                     t          dt          d          it          t          d          d                    }|j        d         }|j        d         }t          j        ||           d S )Nr   rP   daysr  r	   r   0 days)r   rU   r   r   r&   r'   r>   )rL   r.   r/   sliceds       r0   #test_loc_getitem_str_timedeltaindexz<TestPartialStringSlicing.test_loc_getitem_str_timedeltaindexX	  sa    U1XXl588&.Q.Q.QRRR71:!
vx00000r2   indexer_endN2020-01-02 23:59:59.999999999c                     |dgdz  t          t          d          t          d          t          d          t          d          t          d          g|          	          } |dgd
z  t          t          d          t          d          g|          	          }t          d|          }||         }t          j        ||           |j        |         }t          j        ||           d S )Nr8   rv   z
2019-12-30z
2020-01-01z
2019-12-25r  z
2019-12-19r  r	   r9   )r   r   r   r'   r   r&   )rL   tz_aware_fixturer  rY   rZ   r/   r   r?   s           r0   /test_loc_getitem_partial_slice_non_monotonicityzHTestPartialStringSlicing.test_loc_getitem_partial_slice_non_monotonicity_	  s   
 oC!Gl++l++l++=>>l++ $	 	 	
 
 
 #?C!Gl++=>> $  	
 	
 	
 k22W
)))!
)))))r2   )r   r   r   r  r  r  r  r   r   r   r  r   r2   r0   r  r  :	  s        0 0 01 1 11 1 11 1 1 []T3R,STT!* !* UT!* !* !*r2   r  c                   ^   e Zd Zd Zd Zej                            d ej	        ddd           e
dd	d
          g          d             Zd Zd Zej                            d ej        dd          d edd          g ej        dd           ej        dd           edd          gd ej        dd           edd          gg          d             Zej                            dddg          d             Zej                            dddg          d              Zd! ZdS )"TestLabelSlicingc           	         t          t          j        dd          d dD                       }t          t          j        dd          d d	D                       }||fD ]}|j        t	          d
ddd          d          }t          j        ||           |j        d t	          d
ddd                   }t          j        ||           |j        t	          d
ddd          t	          d
ddd                   }t          j        ||           |j        t	          d
ddd          d          }|j        dd          }t          j        ||           |j        dd          }t          j        ||           d S )Nr7   r   rR   c           	      4    g | ]}t          d d|dd          S   r8   rs   r   r   r  s     r0   r   zMTestLabelSlicing.test_loc_getitem_slicing_datetimes_frame.<locals>.<listcomp>	  s(    FFFA8D!QB//FFFr2   r  r	   r$  c           	      4    g | ]}t          d d|dd          S r  r  r  s     r0   r   zMTestLabelSlicing.test_loc_getitem_slicing_datetimes_frame.<locals>.<listcomp>	  s(    IIIA8D!QB//IIIr2   )r8   r9   r9   rP   rc   r  r8   rs   rc   r  z20010101 11)r   rJ   r   r&   r   r'   r(   r   )rL   	df_uniquedf_dupsr.   r?   r/   s         r0   (test_loc_getitem_slicing_datetimes_framez9TestLabelSlicing.test_loc_getitem_slicing_datetimes_frame	  s    Ic+++FFFFF
 
 
	 Ic+++IIIII
 
 

 g& 	4 	4BVHT1a44667F!&"---V6htQ26667F!&"---VHT1a44xaB7O7OOPF!&"---VHT1a44667Fwqrr{H!&(333VMNN+F!&(3333	4 	4r2   c                 8   t          dddd          }t          g d|          }t          dd	          }t          d
d	          }|j        ||         }t          ddg|dd                   }t	          j        ||           ||         }d}||k    sJ d S )Nz2017-10-29 01:30:00zEurope/Berlinrv   z30 min)r  rh   r6  )r   r8   r9   rP   rc   r	   z2017-10-29 02:30:00+02:00r  z2017-10-29 02:00:00+01:00r9   rP   rc   )r   r   r   r&   r'   r>   )rL   r^  series2t_1t_2r?   r/   s          r0   'test_loc_getitem_label_slice_across_dstz8TestLabelSlicing.test_loc_getitem_label_slice_across_dst	  s    !oqx
 
 
 4443HHH3HHHSW%1a&AaC111
vx000!!!!!!r2   r
   r  r  rz  r  r  r  r  c                     |                                 }|j        d |d                  }|j        d d         }t          j        ||           d S )Nr$  r"  )r  r&   r   r'   r>   )rL   r
   r  r?   r/   s        r0   -test_loc_getitem_label_slice_period_timedeltaz>TestLabelSlicing.test_loc_getitem_label_slice_period_timedelta	  sO     oo59%8CRC=
vx00000r2   c                 h   g d}t          t          j                            d                              d          |          }|j        dd         }t          |          dk    sJ |j        dd         }t          |          dk    sJ |j        dd         }t          |          d	k    sJ d S )
N)gx"p|@g\Va|@g|@r9   rP   r9   r	   g3333c|@g    |@g3333|@g|@rP   )r   rJ   r   r   r&   rl   )rL   r
   r.   s1s       r0   %test_loc_getitem_slice_floats_inexactz6TestLabelSlicing.test_loc_getitem_slice_floats_inexact	  s    :::ry,,Q//66v>>eLLLVGGO$2ww!||||VGGO$2ww!||||VGGO$2ww!||||||r2   c                    |}t          t          j                            d                              d          t          j        dd|                    }t          |j        dd                    dk    sJ t          |j        dd                    d	k    sJ t          j        dd|          }d
|d<   ||_        t          |j        dd                    dk    sJ t          |j        dd                    d	k    sJ d S )Nr9   rs   ra   rR   r	   g      (@re   g      )@ru   gffffff(@)r   rJ   r   r   r   rl   r&   r
   )rL   rn  r;   r  r^  s        r0   'test_loc_getitem_float_slice_floatindexz8TestLabelSlicing.test_loc_getitem_float_slice_floatindex	  s	   !I!!!$$++B//ryRu7U7U7U
 
 
 37455>""a''''37455>""a''''iBe,,,A	37455>""a''''37455>""a''''''r2   zstart,stop, expected_slicer   r  Nr  r8   rA  rt   ru   rc   rv   c                     t          t          d          t          dd                    }|j        t	          ||                   }|j        |         }t          j        ||           d S )Nr  r  z10 days)r   rU   r   r&   r   r   r'   r>   )rL   rc  stopexpected_slicer  r?   r/   s          r0   $test_loc_getitem_slice_label_td64objz5TestLabelSlicing.test_loc_getitem_slice_label_td64obj	  s^     U2YY) D DEEud++,8N+
vx00000r2   rc  20182020c                      |g dt          d          t          d          t          d          g          }t          j        t          d          5  |j        |d          d d d            d S # 1 swxY w Y   d S )	Nr   201620192017r	   z,Value based partial slicing on non-monotonicr   r   )r   r   r   rW   r&   )rL   rY   rc  rZ   s       r0   )test_loc_getitem_slice_unordered_dt_indexz:TestLabelSlicing.test_loc_getitem_slice_unordered_dt_index	  s    oIIV$$i&7&769J9JK
 
 
 ]J
 
 
 	" 	" GE&L!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"s   A22A69A6r)  rY  c                      |t          d          |dddg          }|j        |d         } |t          d          |dddg          }t          j        ||           d S )Nrc   r  r9   thirdr	   )rU   r&   r'   r   )rL   rY   r)  rZ   r?   r/   s         r0   1test_loc_getitem_slice_labels_int_in_object_indexzBTestLabelSlicing.test_loc_getitem_slice_labels_int_in_object_index	  sr     oeAhhugq'.JKKKw'"?588E7Aw3OPPP
)))))r2   c                     t          dddddg          }t          ddggdgt          ddgt                              }t          j        |j        d d dd f         |           d S )	Nr8   r9   rP   )testr8   r9   r   r	   rR   )r   r
   rG   )r   r   rI   r'   r(   r&   r   s      r0   *test_loc_getitem_slice_columns_mixed_dtypez;TestLabelSlicing.test_loc_getitem_slice_columns_mixed_dtype	  s    aA..qc:::a&!eQF&.I.I.I
 
 
 	bfQQQUmX66666r2   )r   r   r   r  r  r   r   r   r   r  r   r  r  r  rJ   r  r   r  r$  r'  r*  r   r2   r0   r  r  	  s       4 4 4:" " "" [BO,LsKKKO'xdCCC	
 1 1 1  ( ( ( [$R^At$$dEE!RLL9R^As##^R^As%;%;UU1a[[I>2>!S))55A;;7	
 1 1 1 [Wvv&677" " 87" [Wq#h//* * 0/*7 7 7 7 7r2   r  c                       e Zd Zej                            dddg          d             Zej                            dddg          d             Zd ZdS )TestLocBooleanLabelsAndSlices
bool_valueTFc                     | d}|j         dk    rP ||d          }t          j        t          |          5  |j        |          d d d            d S # 1 swxY w Y   d S d S )Nz7: boolean label can not be used without a boolean indexr;  rI   r  r   )r  r   r   rW   r&   )rL   r
   rY   r-  messagerZ   s         r0   'test_loc_bool_incompatible_index_raiseszETestLocBooleanLabelsAndSlices.test_loc_bool_incompatible_index_raises	
  s    
  XXX)++!/X>>>Cxw777 $ $
##$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ,+s   AAAc                 \     |t          ddgd          d          }|j        |          d S )NTFr;  rR   rI   r  )r   r&   )rL   rY   r-  rZ   s       r0   test_loc_bool_should_not_raisez<TestLocBooleanLabelsAndSlices.test_loc_bool_should_not_raise
  sC    ouY777x
 
 
 	
r2   c                     d} ||d          }t          j        t          |          5  |j        dd          d d d            d S # 1 swxY w Y   d S )NzEslice\(True, False, None\): boolean values can not be used in a slicerI   r  r   TF)r   r   r   r&   )rL   r
   rY   r/  rZ   s        r0   test_loc_bool_slice_raisesz8TestLocBooleanLabelsAndSlices.test_loc_bool_slice_raises
  s     U 	 oE:::]9G444 	  	 GDJ	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s   AAAN)	r   r   r   r   r   r   r0  r2  r4  r   r2   r0   r,  r,  
  s        [\D%=99$ $ :9$ [\D%=99  :9         r2   r,  c                       e Zd Zd Zej                            dddg          d             Zd Zd Z	d Z
d	 Zd
 Zd Zd ZdS )TestLocBooleanMaskc           	         t          dt          d          i          }t          t          d          d          |_        |d         dk    |d         dk    |d         dk     g}g dg dg dg}t	          ||          D ]j\  }}|                                }d|j        |df<   t          |t          t          d          d          dgd	
          }t          j        ||           kd S )Nr   rs   r  r  rP   )
r   r8   r9   rP   rs   rs   rs   rs   rs   rs   )
r   r8   r9   rs   rc   rv   rt   ru   re   r  )
rs   rs   rs   rP   rc   rv   rt   ru   re   r  r   r  )	r   rU   r   r
   r
  r   r&   r'   r(   )rL   r.   
conditionsexpected_datacondr   r?   r/   s           r0   )test_loc_setitem_bool_mask_timedeltaindexz<TestLocBooleanMask.test_loc_setitem_bool_mask_timedeltaindex&
  s   U2YY'((b		444gk2c7a<C1=
000+++---

 j-88 
	4 
	4JD$WWYYF$&FJtSy! "5993777	  H !(F3333
	4 
	4r2   r  Nr  c                    t          j        g d          }t          dd|          }t          dt          j        d          i|                              d          }|                                }|j        |d d f         |j        |d d f<   t          j	        ||           |                                }|j        |         |j        |<   t          j	        ||           d S )Nr   20010101rc   r  r"   r	   r   )
rJ   r   r   r   r   r  r   r&   r'   r(   )rL   r  r   r^  r.   r?   s         r0   +test_loc_setitem_mask_with_datetimeindex_tzz>TestLocBooleanMask.test_loc_setitem_mask_with_datetimeindex_tz<
  s     x22233Q2666RYq\\*#666==iHH fT111Wo
47
fb)))6$<
4
fb)))))r2   c           	         t          t          j        d                              dd          t	          d          t          ddd                    }|                                }|j        d	         t          j	        t          j	        g|d
<   |j
        dk     }|j        |         j        |j        |d
f<   t          j        ||           d S )Nr%  rP   r9   ABr3  r  )rh   r6  r   r   r   r8   )r   rJ   r   r  rV   r   r   r
   r   r   r%   r&   r'   r(   )rL   r.   r/   r   s       r0   2test_loc_setitem_mask_and_label_with_datetimeindexzETestLocBooleanMask.test_loc_setitem_mask_and_label_with_datetimeindexM
  s     IcNN""1a((JJZ>>>
 
 

 7799!*BFBF;taxF4L.tSy
b(+++++r2   c                 |   t          d          }t          d          }t          dt          ||g          i          }|                                }t          |g          }|d         j        d         j        }||j        ddg<   |d         j        d         j        }||k    sJ t          j        ||           d S )Nr   l   ,GsO1colr8   TF)	r   r   r   r   r   _valuer&   r'   r(   )rL   td1td2r.   df_copyr  r/   r?   s           r0   'test_loc_setitem_mask_td64_series_valuez:TestLocBooleanMask.test_loc_setitem_mask_td64_series_value\
  s    ll)**vsCj11233''))cUmme9>!$+ #e}E")6!!!!
b'*****r2   c                 
   |                                 }|d         dk    }d|j        |df<   |j                                         }d||j        df<   t          ||j        |j                  }t          j        ||           d S )Nr%   r   r   r8   r  )r   r&   r   r   r
   rG   r'   r(   )rL   r]  r/   r   r   s        r0   #test_loc_setitem_boolean_and_columnz6TestLocBooleanMask.test_loc_setitem_boolean_and_columnk
  s    ##%%3!#%&c	"%%''!"t{A~V8>8CSTTT
k844444r2   c                    t          g dg dd          }t          dg dig d          |j        g ddgf<   t          g d	g dd          }t          j        ||           t          g dg dd          }t	          g d
g d          |j        g ddgf<   t          j        ||           t          g dg dd          }t	          g d
g d          |j        g ddf<   t          j        ||           t          g dg dd          }|                                }|d         }t	          g d
g d          |j        g d<   t          j        ||           d S )Nr   r  r   r"   r   )r9   r8   r   r	   )FFT)r8   r9   rs   r  )r   r&   r'   r(   r   r   )rL   r.   r/   r   r  s        r0   )test_loc_setitem_ndframe_values_alignmentz<TestLocBooleanMask.test_loc_setitem_ndframe_values_alignmentv
  s   YYYYYY7788.7,,,yyy/
 /
 /
###cU*+ :::III>>??
b(+++ YYYYYY7788.4\\\.S.S.S###cU*+
b(+++ YYYYYY7788,2<<<yyy,Q,Q,Q###S()
b(+++YYYYYY7788''))g(.|||999(M(M(M$$$%
b'*****r2   c                    t          g g dt                    }|                                }|d                                         |j        t	          j        g t          j                  dgf<   t          j        ||           d S )Nr   rR   r"   	r   rI   r   r&   rJ   r   bool_r'   r(   r   s      r0    test_loc_indexer_empty_broadcastz3TestLocBooleanMask.test_loc_indexer_empty_broadcast
  sr    Rb))888779968gllnnrx"(+++cU23
b(+++++r2   c                    t          dgdgdt                    }|                                }|d                                         |j        t	          j        dgt          j                  dgf<   t          j        ||           d S )Nr   rX  r   rR   r!   Fr"   rN  r   s      r0   $test_loc_indexer_all_false_broadcastz7TestLocBooleanMask.test_loc_indexer_all_false_broadcast
  sx    cU#//v>>>7799;=c7<<>>rxrx0003%78
b(+++++r2   c                 $   t          dgdgdt                    }t          dgdgdt                    }|d                                         |j        t	          j        dgt          j                  dgf<   t          j        ||           d S )Nr   rX  r   rR   r!   Tr"   rN  r   s      r0   test_loc_indexer_length_onez.TestLocBooleanMask.test_loc_indexer_length_one
  s    cU#//v>>>C5u55VDDD:<S',,..rxbh///#67
b(+++++r2   )r   r   r   r;  r   r   r   r>  rA  rH  rJ  rL  rP  rR  rT  r   r2   r0   r6  r6  %
  s        4 4 4, [TD%=11* * 21* , , ,+ + +	5 	5 	5+ + +4, , ,, , ,, , , , ,r2   r6  c                       e Zd Zej                            dd ej        eg          d             Z	d Z
d Zej                            dddg          d	             Zd
 ZdS )TestLocListliker  c                     | S r   r   r9  s    r0   r:  zTestLocListlike.<lambda>
  s    q r2   c                    t          ddt          j        g          }t          t	          d          |          }|j         ||                   }t          j        ||           | ||                   }t          j        ||           |                                j         ||                   }t          j	        ||                                           |d d         }|dd          }d}t          j        t          |          5  |j         ||                    d d d            n# 1 swxY w Y   t          j        t          |          5  | ||                    d d d            n# 1 swxY w Y   t          j        t          |          5  |                                j         ||                    d d d            d S # 1 swxY w Y   d S )	Nr%   r   rP   r	   r"  r8   r  r   )r   rJ   r   r   rU   r&   r'   r>   r  r(   r   r   rW   )rL   r  cir  r?   ser2ci2r   s           r0   8test_loc_getitem_list_of_labels_categoricalindex_with_nazHTestLocListlike.test_loc_getitem_list_of_labels_categoricalindex_with_na
  si    sC011U1XXR(((R!
vs+++SSWW
vs+++#CCGG,
fcllnn5553B3xf]83/// 	 	HSSXX	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]83/// 	 	SNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]83/// 	* 	*MMOOC))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s6   D//D36D3E33E7:E7)GGGc                     t          j        g dd          }t          g dt          ddd                    }t	          j        t          d	
          5  |j        |          d d d            d S # 1 swxY w Y   d S )N)
2001-01-04z
2001-01-02r^  z
2001-01-14r  rR   )r9   rv   re   r  z
2001-01-01rA  rc   r  r  r   )rJ   r   r   r   r   r   rW   r&   )rL   r_   r  s      r0   1test_loc_getitem_series_label_list_missing_valueszATestLocListlike.test_loc_getitem_series_label_list_missing_values
  s    hDDDL
 
 
 ]]]J|#q$Q$Q$QRR]8>::: 	 	GCLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A11A58A5c                 "   t          t          j        ddg          t          j        ddg                    }t          j        t
          d          5  |j        t          j        ddg                    d d d            d S # 1 swxY w Y   d S )Nl   PF
AHl   UBeNl   P2$$nr
   r   r  r   l   NZ4FG)r   rJ   r   r   r   rW   r&   rd  s     r0   9test_loc_getitem_series_label_list_missing_integer_valueszITestLocListlike.test_loc_getitem_series_label_list_missing_integer_values
  s    (,.?@AA-/ABCC
 
 
 ]8>::: 	E 	EGBH.0ABCCDD	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	Es   "BBB	to_periodTFc                    t          dddd          }|r|                    d          }t          ddg|d	          }t          d          t          d          g}|rd
 |D             }|j        |         }t          ddg|d	          }|s|j                            d           |_        t          j        ||d           t          d          t          d          t          d          g}|rd |D             }t          g dt          |d|j
                  d	          }|j        |         }t          j        ||d           t          d          t          d          t          d          g}|rd |D             }t          j        t          d          5  |j        |          d d d            d S # 1 swxY w Y   d S )N
2011-01-01z
2011-01-02rA  r^  )r6  r<   皙?皙?r  r   c                 8    g | ]}|                     d           S rA  rc  r   s     r0   r   zRTestLocListlike.test_loc_getitem_listlike_of_datetimelike_keys.<locals>.<listcomp>
  $    333AKK$$333r2   T)r  c                 8    g | ]}|                     d           S ri  rj  r   s     r0   r   zRTestLocListlike.test_loc_getitem_listlike_of_datetimelike_keys.<locals>.<listcomp>
  rk  r2   )rg  rg  rf  )r<   r;   
2011-01-03c                 8    g | ]}|                     d           S ri  rj  r   s     r0   r   zRTestLocListlike.test_loc_getitem_listlike_of_datetimelike_keys.<locals>.<listcomp>
  rk  r2   r  r   )r   rc  r   r   r&   r
   r:  r'   r>   r   r;   r   r   rW   )rL   rc  r^  r  r  r?   r   s          r0   .test_loc_getitem_listlike_of_datetimelike_keysz>TestLocListlike.test_loc_getitem_listlike_of_datetimelike_keys
  sB    |#EJJJ 	%--$$Cc3Zs555,''<)@)@A 	433d333Dc3Zs555 	3	,,T22CI
vsTBBBB l##l##l##

  	433d333DOO5E#K#K#KRU
 
 
 
vsTBBBB l##l##l##

  	433d333D]8>::: 	 	GDMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s    F;;F?F?c                     t          ddgddgddggg ddd	g
          }|j        d d         }d|j        _        |j        t          ddgd                   }t          j        ||           d S )Nr8   r9   rc   rv   ru   re   )cobraviper
sidewinder	max_speedshieldr  r   rq  rr  r   )r   r   r
   r<   r&   r   r'   r(   r   s       r0   test_loc_named_indexz$TestLocListlike.test_loc_named_index
  s    VaVaV$222 (+
 
 

 72A2;#w0u===>
fh/////r2   N)r   r   r   r   r   r   rJ   asarrayrV   r\  r_  rb  ro  rv  r   r2   r0   rV  rV  
  s        [U[["*d$CDD* * ED*6  E E E [[4-88' ' 98'R
0 
0 
0 
0 
0r2   rV  z%columns, column_key, expected_columns)  r  i  rx  r  r8   )rx  r  Allry  r9   c                    t          t          j                            d                              d          | t	          d                    }|j        d d |f         }|j        g d|f         }t          j        ||d           d S )Nr9   r  r  r   r   Tr  )	r   rJ   r   r   rV   r   r&   r'   r(   )rG   
column_keyexpected_columnsr.   r/   r?   s         r0   *test_loc_getitem_label_list_integer_labelsr}    s     

	a  ''//U
 
 
B wqqq**+HVOOOZ/0F&(dCCCCCCr2   c                     t           j                            d                              d          } t	          |           }t           j        |j        d d df<   t          j        | t          j        t           j        gdz            	                    dd          f          }t	          |g d          }t          j        ||           t	          |           }t           j        |j        d d df<   t          j        ||           d S )Nr9   )re   rc   rl  re   r8   )r  r4   r5   r6   rl  r   )rJ   r   r   r  r   r   r&   hstackr   r  r'   r(   )	rand_datar?   r9  r/   s       r0   test_loc_setitem_float_intindexr    s    	%%a((88@@Iy!!FFJqqq#vIy"(BF8a<*@*@*H*HA*N*NOPPM0I0I0IJJJH&(+++y!!FFJqqq#v&(+++++r2   c                     d dD             } t          t          j        d          t          d          t	          j        |                     }|                    d          dd	         }t          t          j        d
          t          d          t	          j        g d                    }t          j        ||           d S )Nc                      g | ]}d D ]}||fS ))ru   re   r  rs   r   )r   yrr|  s      r0   r   z)test_loc_axis_1_slice.<locals>.<listcomp>/  s)    BBBMBBqRGBBBBr2   )  r   )rs   re   
ABCDEFGHIJr  r8   r  r  r  r   re   r  )r  )r  rs   )r   ru   r  )	r   rJ   r  r  r   r  r&   r'   r(   )r  r.   r?   r/   s       r0   test_loc_axis_1_slicer  -  s    BBlBBBD	
L!!&t,,
 
 
B
 VVV^^I	12F
L!!&'T'T'TUU  H
 &(+++++r2   c            
      (   t          dt          d          t          j        t          d          t          d          g                    } |                                 }|j        ddgf         |j        ddgf<   t          j        ||            d S )Nr"   r9   r  r   r  )r   rU   r   r	  r   r&   r'   r(   )r/   r?   s     r0   !test_loc_set_dataframe_multiindexr  >  s    588Z%<eAhha=Q%R%R  H ]]__F$jVH5FJq6({&(+++++r2   c                      t          t          d          t          ddgt                              } | j        d         }|dk    sJ d S )Nr9   r8   r5   rR   r   )r   rU   r   rI   r&   )r  r?   s     r0   test_loc_mixed_int_floatr  H  sD    
q5!S888
9
9CWQZFQ;;;;;;r2   c                      t          t          d          g d          } t          j        t          d          5  d| j        d d<   d d d            d S # 1 swxY w Y   d S )Nrc   r@  r	   $Slicing a positional slice with .locr   r9   rP   )r   rU   r   r   r   r&   )r  s    r0   %test_loc_with_positional_slice_raisesr  P  s    
q!5!5!5
6
6
6C	y(N	O	O	O                   s   AAAc                     t          dd          } t          t          j                            d                              d          |           }|d         }d}||fD ]}t          j        t          |	          5  |j        d
d          d d d            n# 1 swxY w Y   t          j        t          d	          5  d
|j        d
d<   d d d            n# 1 swxY w Y   t          j        t          |	          5  |j        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
f<   d d d            d S # 1 swxY w Y   d S )Nr  rP   rg   r9   r  r	   r   zOcannot do slice indexing on DatetimeIndex with these indexers \[1\] of type intr   r8   r  )	r   r   rJ   r   r   r   r   r   r&   )dtir.   r  r   rZ   s        r0   #test_loc_slice_disallows_positionalr  X  sp   
\1
-
-
-C	29((++226::#	F	F	FB
Q%C	& 
 Cy  ]9C000 	 	GAaCLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9,RSSS 	 	CGAaCL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 
y	,	,	,  
qsAv               
y(N	O	O	O  qsAv                 sH   >BB	!B	 CC	 C	 DD"%D"E  E$'E$c            	      B   t          t          j                            d                              d          g dt          ddd                    } | j        g d	                                         } | j        }t          j
        |j                  }d
}t          j        t          |          5  | j        |          d d d            n# 1 swxY w Y   t          j        t          |          5  | d         j        |          d d d            d S # 1 swxY w Y   d S )Nr9   r  r
  2012r{  rv   r  r   )r   r9   r9   rP   z/None of \[TimedeltaIndex.* are in the \[index\]r   r"   )r   rJ   r   r   r  r   r   r   r
   r   TimedeltaIndexasi8r   r   rW   r&   )r.   r  rr  r   s       r0   'test_loc_datetimelike_mismatched_dtypesr  t  s    

	a  0088c1555
 
 
B 
		#	#	%	%B
(C

CH
%
%C
<C	xs	+	+	+  
s               
xs	+	+	+  
3C                 s$   3CCC3DDDc                  n   t          j        ddd          } t          t          j                            d                              d          |           }t          j        ||j	        |                     t          j        ||j	        t          |                               t          j        ||j	        t          |                               t          j        |j        dd	         |j	        | dd	                             t          j        ||j	        t          |                               d S )
Nz2002-01z2003-12rz  r5  r9   )r  rs   r	   r   rv   )r   r  r   rJ   r   r   r  r'   r(   r&   rV   r   )r^  r.   s     r0   "test_loc_with_period_index_indexerr    s    
/)YS
9
9
9C	29((++;;HEES	Q	Q	QB"bfSk***"bfT#YY/000"bfT#YY/000"'!A#,s1Q3x(8999"bfT#YY/00000r2   c                  v   t           j                            d                              d          } t	          dd          }g d}t          | ||          }t           j        |j        |j        d         d	f<   t           j        | d         d
d<   t          | ||          }t          j
        ||           d S )Nr9   )re   rt   r3  re   rg   )r%   r   r   rA  EFr  r8   r   r   )rJ   r   r   r  r   r   r   r&   r
   r'   r(   )r  r^  r  r   r   s        r0   %test_loc_setitem_multiindex_timestampr    s    9  ##33F;;D
Z
+
+
+C)))D
DT
2
2
2C(*CGCIaL*$%6DGAaCL
DT
2
2
2C#s#####r2   c                     g d} ddg}ddg}t          j        | ||gg d          }t          dt          d	          |
          }|j        d d | d         |d         |d         ff         }|j        d d d df         }t          j        ||           |                    | d         |d         |d         fg dd          }t          j        ||           |j        d         }|j        d d         }	|                    | d         |d         |d         fg dd          }
t          j	        |
|	           |j        | d         |d         |d         f         }|dk    sJ d S )Nr
  r  )r8   r   r   r8   )r   rX  r  rc  rt   rv   r  ro   )r&  r  )
r   r	  r   rU   r&   r   r'   r(   xsr>   )rH  rI  lev3r  r.   r?   r/   altr  	expected2alt2r  s               r0   'test_loc_getitem_multiindex_tuple_levelr    s|   ??DFDq6D"D$#5___MMMD	1E!HHd	3	3	3B VAAAQa$q'223F wqqq"1"u~H&(+++
%%a$q'47+9991%
E
EC#x((( '!*C!I6647DGT!W-YYYQ6GGD4+++gd1gtAwQ/0Ga<<<<<<r2   c            
         t          t          j        g dg dddt          j        t          j        gg          j        g dd          } |                     d          }|j        j        dk    sJ |j	        d         }t          dd	g|j        dd
          }t          j        ||           |j                            t                    |_        |j	        d         }t          j        ||           d S )Nr  )rv   rt   ru   re   r8   r9   r
  Int64)r   rG   r;   r]   rv   r:   )r   rJ   r   r   rR  Tr   r
   r;   r&   r   rG   r'   r>   r  rI   )r.   r   r   r/   s       r0   /test_loc_getitem_nullable_index_with_duplicatesr    s    	X|||\\\Aq"%3GHIIK
 
 
B
 ,,s

C9?g%%%%
'!*Cq!fCKwQGGGH3))) 	  ((CI
'!*C3)))))r2   r)  r   c                     t          g ddgd          }t          j        t          d          5  | |j        d<   d d d            d S # 1 swxY w Y   d S )Nr  r   uint8rF   r   r   )r9   r   )r   r   r   r   r&   )r)  r.   s     r0   test_loc_setitem_uint8_upcastr    s     
<<<&	A	A	AB	y	8	8	8 " "!y" " " " " " " " " " " " " " " " " "s   A		AAzfill_val,exp_dtypez
2022-01-06zdatetime64[ns]z
2022-01-07
US/Easternr  zdatetime64[ns, US/Eastern]c                 &   ddd|                                  g}t          || j        |          }t          g ddg|          }d|j        d	<   |                    d
           t          ||          }t          j        |j        |d           d S )Nz
2022-01-02z
2022-01-03z
2022-01-04)r  r;   )rs   r  r   r  r"   r   r  )
2022-01-08r"   r  rR   T)exact)	r   r   r  r   r&   r  r'   r  r
   )fill_val	exp_dtyper   r
   r.   expected_indexs         r0   0test_loc_setitem_using_datetimelike_str_as_indexr    s     ,hmmooFD$8;i@@@E	###cU%	@	@	@B "BFKK"4y999N"(N$??????r2   c                      t          t          d          g          } d| j        d d df<   t          dgdgdgdgd          }t          j        | |           d S )NrQ   rv   r   r"   r!   r]   )r   r8   r9   r   )r   rV   r&   r'   r(   )r.   r/   s     r0   test_loc_set_int_dtyper    se    	DKK=	!	!BBF111f9cUu#DDEEH"h'''''r2   z8ignore:Period with BDay freq is deprecated:FutureWarningr  c                      t          g ddd          } t          g dg dg dg dg| g d	
          }|                    ddgd          d         }|j        | d         ddf         dk    sJ d S )N)z20181101 1100z20181101 1200z20181102 1300z20181102 1400r   r   )r<   r6  )r%   r   r4   )r%   r   r5   )r  Qr6   )Wr  r7   )ONETWOVALUESr  r  r  T)r  r  r   r%   r4   )r   r   r   r&   )p_index	mi_seriess     r0   test_loc_periodindex_3_levelsr    s     LLL  G
 	///???OOOL(((  I
 ##UEN4#@@JI='!*c3/0C777777r2   c                  d   t          j        d           t          t          g dd          t          g d          d          } t          ddg          }|| j        | j        d	f<   t          t          g d
d          t          g d          d          }t          j        | |           d S )NrU  r   zstring[pyarrow]rR   )TTF)stringsr|  r  ry  r  )r  ry  r   )r   rD  r   r   r&   r|  r'   r(   )r.   	new_valueexpected_dfs      r0    test_loc_setitem_pyarrow_stringsr  
  s    
	"""	ooo5FGGG---..	
 	

 
B Sz""I )BF269ooo5FGGG---..	
 	
 K "k*****r2   c                   6   e Zd Zej                            dddg          d             Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zej                            dej        ej        eeg          ej                            dg d          d                         Zej                            dedddf         d ed          fg          d             Zd Zej                            dddg          d             Zd Zd Zd Zd Zd Zej                            dd e g          d!             Z!ej                            d" e"g d#g d$g ed%          &           ed'd(          g d) e"g d*g d+g ed%          &          g e"g d#g d$g ed%          &           ed          g d) e"g d*g d+g ed%          &          g e"g d#g d$g d,g ed%          &          g d-g d) e"g d*g d+g d.g ed%          &          g e"g d#g d$g d,g ed%          &           ed'd/          g d) e"g d*g d+g d.g ed%          &          g e"g d#g d$g d,g ed%          &           ed           edd0           e"g d*g d+g d.g ed%          &          g e"g d#g d$g d,g ed%          &           ed           e#d1d2d1d3           e"g d4g d5g d6g ed%          &          gg          d7             Z$d8 Z%dS )9TestLocSeriesrf  )rg  rP   )rh  rc   c                 P    t          ddd          }|j        |         |k    sJ d S )NrP   rc   )rg  rh  )r   r&   )rL   rH  r/   r  s       r0   r  zTestLocSeries.test_loc_uint64!  s6     1--..ws|x''''''r2   c                 Z   |j         g d         }t          j        |j        |         |                    |                     t          j        |j        dd d         |dd d                    |j         ddg         \  }}|j        ||         }|                    ||          }t          j        ||           ||                                k    }t          j        |j        |         ||                    |j        |         ||         k    sJ |j        |         ||         k    sJ d S )NrP   rc   ru   rv   r9      )r
   r'   r>   r&   r  r   truncatemedian)	rL   string_seriesdatetime_seriesindsd1d2r?   r/   r   s	            r0   test_loc_getitemzTestLocSeries.test_loc_getitem'  s4   "999-
}068M8Md8S8STTT
}1!$Q$7qt!t9LMMM !&2w/B $RU+"++B33
vx000 }33555
}06d8KLLL "2&/"*====="2&/"*=======r2   c                 b   |j         ddg         \  }}|d d d         j        g d         }d}t          j        t          |          5  |j        ||          d d d            n# 1 swxY w Y   t          j        t          |          5  d|j        ||<   d d d            d S # 1 swxY w Y   d S )Nrv   r  r9   )r8   r9   r   z"Timestamp\('2000-01-10 00:00:00'\)r   r   )r
   r   r   r   rW   r&   )rL   r  r  r  ts2r   s         r0   test_loc_getitem_not_monotonicz,TestLocSeries.test_loc_getitem_not_monotonic:  s9    &2w/Bccc"'			23]83/// 	 	GBrENN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]83/// 	 	CGBrEN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   A$$A(+A(
B$$B(+B(c           
      8   t          t          j                            d                              d          t          t          ddd                              }|                                }d|j        dd<   |j        dd         dk    	                                sJ |                                }d|j        dd<   |j        dd         dk    j
        	                                sJ |j        dd	         }|j        dd         }|                    g d
          }t          j        ||           t          j        ||           |j        t          t          d                    t          t          ddd                    z            }d}t          j        t"          |          5  |j        dd          d d d            n# 1 swxY w Y   t          j        t"          |          5  d|j        dd<   d d d            d S # 1 swxY w Y   d S )Nr9   rs   r   ra   r	   rc   rP   r  rt   )rc   rt   re   rs   rv   r  r"  z*non-monotonic index with a missing label 3r   )r   rJ   r   r   r  rV   rU   r   r   rB  r   r&   r  r'   r>   r   r   rW   )rL   r  cpr?   r  r/   s2r   s           r0   0test_loc_getitem_setitem_integer_slice_keyerrorsz>TestLocSeries.test_loc_getitem_setitem_integer_slice_keyerrorsE  si   I!!!$$44R88U1bRS__@U@U
 
 

 XXZZ"""''))))) XXZZ"""*..00000!A#'!B$-;;}}}--
vx000
w111 Xd588nntE!QOO'<'<<=:]83/// 	 	F1R4LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]83/// 	 	BF1R4L	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   3GGG5HHHc                     t          |j        d d                   }|j        |         }t          j        ||d d                    d S )Nrs   )r  r
   r&   r'   r>   )rL   r  r^  r?   s       r0   test_loc_getitem_iteratorz'TestLocSeries.test_loc_getitem_iteratorc  sJ    =&ss+,,"3'
v}SbS'9:::::r2   c                     ||                                 k    }|                                }d|j        |<   |}d||<   t          j        ||           d S )Nr   )r  r   r&   r'   r>   )rL   r  r   r?   r/   s        r0   test_loc_setitem_booleanz&TestLocSeries.test_loc_setitem_booleanh  s\    }33555##%%
4 
vx00000r2   c                     t          |j        g d                   }d|j        |<   d}t          j        t
          |          5  d|j        g |d<   d d d            d S # 1 swxY w Y   d S )N)rv   re   r   rv   z\['foo'\] not in indexr   r   )rV   r
   r&   r   r   rW   )rL   r  r  r   s       r0   test_loc_setitem_cornerz%TestLocSeries.test_loc_setitem_cornerq  s    M'


344"#$']83/// 	2 	201Mnnen-	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2s   A  A$'A$c                    |j         g d         }|                                }|                                }d||<   d|j        |<   t          j        ||           |                                }|                                }d||d         |d         <   d|j        |d         |d         <   t          j        ||           d S )N)rv   rs   r  r   r9   )r
   r   r&   r'   r>   )rL   r  indicesr  r   s        r0   test_basic_setitem_with_labelsz,TestLocSeries.test_basic_setitem_with_labelsx  s    !'4!!##""$$7
r3'''!!##""$$&'71:
"#+,
WQZ'(
r3'''''r2   c           
      >   t          t          j                            d                              d          t          t          ddd                              }g d}t          j        g d          }|                                }|                                }d||<   d|j	        |<   t          j        ||           |                                }|                                }d||<   d|j	        |<   t          j        ||           g d}t          j        g d          }d}t          j        t          |	          5  d||<   d d d            n# 1 swxY w Y   t          j        t          |	          5  d||<   d d d            d S # 1 swxY w Y   d S )
Nr9   rs   r   ra   r	   )r   rc   rt   r   rc   rv   rt   z\[5\] not in indexr   )r   rJ   r   r   r  rV   rU   r   r   r&   r'   r>   r   r   rW   	Exception)	rL   r  r  arr_indsr  r   inds_notfoundarr_inds_notfoundr   s	            r0   !test_loc_setitem_listlike_of_intsz/TestLocSeries.test_loc_setitem_listlike_of_ints  s   I!!!$$44R88U1bRS__@U@U
 
 
 yy8III&&XXZZhhjjD	
r3'''XXZZhhjjH
r3'''$H\\\22#]83/// 	# 	#!"C	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#]9C000 	' 	'%&C!"	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's$   EE E?FFFc                    t          t          ddd          g d          }|                                }t          dd          }||j        d	<   |j        d	         }||k    sJ |                                }||j        d
<   |j        d
         }||k    sJ |                                }||d	<   |d	         }||k    sJ d S )Nre  rP   r  r  r
  r	   rm  r  r"   r   )r   r   r   r   r&   r   )rL   r  r  r/   r?   s        r0   test_loc_setitem_dt64tz_valuesz,TestLocSeries.test_loc_setitem_dt64tz_values  s    |Q<@@@!//
 
 
 XXZZ\l;;;s!!!!XXZZ
!!!!XXZZ3C!!!!!!r2   array_fnr1  r  c                     |dg|z            }t          |ddddgt          d          t                    }t          dt          d          t                    }||j        d<   t	          j        ||           t          dt          d          t                    }||j        d<   t	          j        ||           d S )Nr   abcder  r"   )r   rV   rI   r&   r'   r>   r   )rL   r1  r  r  r/   r  s         r0   #test_loc_iloc_setitem_with_listlikez1TestLocSeries.test_loc_iloc_setitem_with_listlike  s     hsTz""31a+4==OOOQd7mm6:::
sH---Qd7mm6:::
sH-----r2   r   r%   Nc                 d   t          t          j        g d          g d          }d}t          j        t
          |          5  |j        |d d f          d d d            n# 1 swxY w Y   t          j        t
          |          5  d|j        |d d f<   d d d            d S # 1 swxY w Y   d S )N))r%   0)r%   rD   )r   r  )   r9  rA  ra  r  r   r8   )r   r   r  r   r   r   r&   )rL   r   r  r   s       r0   +test_loc_series_getitem_too_many_dimensionsz9TestLocSeries.test_loc_series_getitem_too_many_dimensions  sI    ()M)M)MNN
 
 
 "]=444 	  	 GGQQQJ	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  ]=444 	$ 	$"#CGGQQQJ	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s$   A##A'*A'	B%%B),B)c                    |j         g d         }|                                }d|j        |<   |                                }d|j        g d<   t	          j        ||           d|j        dd<   d|dd<   t	          j        ||           |j         ddg         \  }}d|j        ||<   d|dd<   t	          j        ||           d|j        |<   d|j        |<   ||         dk    sJ ||         dk    sJ d S )Nr  rv   rs   r  rt   rp  rc   )r
   r   r&   r   r'   r>   )rL   r  r  r?   r/   r  r  s          r0   test_loc_setitemzTestLocSeries.test_loc_setitem  s)   "999-##%%
4 %%''#$iii 
vx000AbD2
vx000 $aW-B
2b52
vx000 !"" !"R A%%%%R A%%%%%%r2   r;   rI   rU  c                     t          ddgddgd|          }ddd|j        d	d d f<   t          ddgddgd|          }t          j        ||           d S )
NrQ   defghijklr   rR   newAnewBr   r  rL   r;   r.   r/   s       r0   test_loc_assign_dict_to_rowz)TestLocSeries.test_loc_assign_dict_to_row  s}     eU^5%.AAOOO#&11q!!!tFE?&%IIQVWWW
b(+++++r2   c                    t          ddg          }t          dd          dd|j        d	<   t          dd          dd|j        d	<   t          t          dd          dggddgd	g
          }t          j        ||           d S )Nr   r)  r   rt   r  r  r   )r   r)  r8   r   )r   r   r&   r'   r(   r*  s      r0   ,test_loc_setitem_dict_timedelta_multiple_setz:TestLocSeries.test_loc_setitem_dict_timedelta_multiple_set  s    FG#4555!*13!7!7!7%HH
1!*13!7!7!7%HH
1$$$e,-7HQRPS
 
 
 	fh/////r2   c                     t          ddgdg          }ddg|j        dddgf<   t          t          t          j        t          j        gd	
          dt          j        gdt          j        gdddg          }t          j        ||           d S )Nr8   r9   r"   r  rt   ru   r!   r]   rI   rR   r
  r	   )r   r&   r   rJ   r   r'   r(   r   s      r0   3test_loc_set_multiple_items_in_multiple_new_columnszATestLocSeries.test_loc_set_multiple_items_in_multiple_new_columns  s    aVcU333!"Aq3*}RVRV,H===[[ 
 a&
 
 
 	b(+++++r2   c                    d}t          j        t          |          5  t          j        ddd          }t          t          d          |          }|j        d         d	k    sJ 	 d d d            d S # 1 swxY w Y   d S )
Nz#Period with BDay freq is deprecatedr   2000ra   r   rb  r	   z
2000-01-14r  )r'   rY  FutureWarningr   r  r   rU   r&   )rL   r   r
   r+   s       r0    test_getitem_loc_str_periodindexz.TestLocSeries.test_getitem_loc_str_periodindex  s    3'SAAA 	1 	1O&"3GGGEE"IIU333F:l+q00000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1s   A	A55A9<A9c                    t          t          d                    }t          |dz  d          }t          dt	          j        t          |          t          j                  i|          }|j        |         }t          d|	                    d          
                    t          j                  it          t	          j        |                              d          d                    }t          j        ||           d S )	Nr  i  r  rR   rH  r	   stable)kind)rV   rU   r   r   rJ   r   rl   intpr&   argsortr  r   r  r'   r(   )rL   r|  r
   r.   r?   r/   s         r0   test_loc_nonunique_masked_indexz-TestLocSeries.test_loc_nonunique_masked_index  s    599oocDj000ryU27CCCDERRREMMxM0077@@A,,T22'BBB
 
 
 	fh/////r2   c                     t          ddgddgd          }t          ddgddg	          }||j        d d d
f<   t          ddgddgd          }t          j        ||           d S )Nr8   r9   rP   rc   r   r   i  r   r	   r"   )r   r   r&   r'   r(   )rL   r.   otherr/   s       r0   #test_loc_index_alignment_for_seriesz1TestLocSeries.test_loc_index_alignment_for_series+  s    aV1a&1122Sz!Q000qqq#vC:QF;;<<
h+++++r2   rH   c                     t          g dg d|          }|d         |j        t          dgdz  |j        d          df<   t          g dg d|          }t	          j        ||           d S )N)r8   r8   r9   r9   )rD   rD   rE   rE   )r
   r   r;   r   Frc   r   )r   r&   r   r
   r'   r(   r  s       r0   "test_loc_reindexing_of_empty_indexz0TestLocSeries.test_loc_reindexing_of_empty_index3  s     \\\0D0D0DERRRACAvugk:::A=><<<6J6J6JRWXXX
b(+++++r2   z%df, row_index, col_index, expected_dfr   r  r  r   r   rP   r   )rs   rs   rs   )ra   ra   ra   r  )TTT)rz   rz   rz   rc   r   TF)r%   r   r   )rs   rs   rP   )ra   ra   rt   )rz   rz   r  c                 f    t          g d          |j        ||f<   t          j        ||           d S )Nr   )r   r&   r'   r(   )rL   r.   	row_index	col_indexr  s        r0   'test_loc_set_series_to_multiple_columnsz5TestLocSeries.test_loc_set_series_to_multiple_columns;  s;    r (.lll';';y)#$
b+.....r2   c                    t          dt          d                    }t          dt          d                    }t          dt          d                    }||j        dd	g<   |dd	g         }|}t          j        ||           ||j        dd	g<   |dd	g         }t          t
          j        t
          j        gdd	g          }t          j        ||           d S )
Nr  rb   r	   r4   rL  r5   rM  r"   r!   )r   rV   r&   r'   r>   rJ   r   )rL   r  r  r  r?   r/   s         r0   test_loc_setitem_matching_indexz-TestLocSeries.test_loc_setitem_matching_indexw  s    3d6ll+++CtDzz***CtDzz*** sCjC:
vx000 sCjC:2626*3*===
vx00000r2   )&r   r   r   r   r   r   r  r  r  r  r  r  r  r  r  r  rJ   r   r   rV   r  r  r   r   r  r  r  r  r  r  r  r  rI   r  r   r   r  r  r   r2   r0   r  r     sW       [^nj-IJJ( ( KJ(
> > >&	 	 	  <; ; ;
1 1 12 2 2( ( (' ' '8" " ", [Z"(BHdE)JKK[V\\\22. . 32 LK.  [YCF);c55;;=O(PQQ$ $ RQ$& & &4 [Wx&:;;, , <;,0 0 0, , , 1 1 1
0 
0 
0, , , [Wufo66, , 76, [/ 	999iii0$$u++FFFa	<<<6ULLL	 	999iii0$$u++FFFd	<<<6ULLL	 	999iii;TT%[[QQQ"""	!\\<<<>U  	 	999iii;TT%[[QQQa	!\\<<<>U  	 	999iii;TT%[[QQQdc3	!\\<<<>U  	 	999iii;TT%[[QQQd!"!   	;;;[[[A44PU;;WWWK1	
4 4j/ /k4 4j/1 1 1 1 1r2   r  )Y__doc__collectionsr   rp  r   r   r   r   r,  dateutil.tzr   numpyrJ   r   pandas._libsr
   r^  pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorsr  pandasr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr'   pandas.api.typesr   pandas.core.indexingr   pandas.tests.indexing.commonr    r   r   r   r1   r@   rB   r   r  r  rT  r  r  r  r,  r6  rV  r}  r  r  r  r  r  r  r  r  r  r  r  uint16int16r  r  r  r  r  r  r  r   r2   r0   <module>r(     s   ( ( " " " " " "                
			            * * * * * * ' ' ' ' ' ' ) ) ) ) ) ) ) ) )                                           (       & & & & & & 6 6 6 6 6 6 K K K K K K &
&"&#	bfbf 57J7J7JK
&#bft}5 1 1 1- - -N, N, N, N, N, N, N, N,b|& |& |& |& |& |& |& |&~+:( :( :( :( :( :( :( :(zs: s: s: s: s: s: s: s:lj, j, j, j, j, j, j, j,Z( ( ( ( ( ( ( (DG* G* G* G* G* G* G* G*TA7 A7 A7 A7 A7 A7 A7 A7H               :~, ~, ~, ~, ~, ~, ~, ~,Bc0 c0 c0 c0 c0 c0 c0 c0L +			dD\Aq62			tTlQF3			tUmaV4 D D D, , ,, , ,", , ,      8  ,1 1 1	$ 	$ 	$  <* * *( 3		#"FGG" " HG" 	<	 	 "23	<L	1	1	13OP 	@ 	@ 	@( ( ( WXXRSS8 8 TS YX8 + + +,i1 i1 i1 i1 i1 i1 i1 i1 i1 i1r2   