
    [6g:             	       ^   d Z ddlm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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/Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6 ej7        8                    dej9        ej9        dgdej9        ej9        gg dgej9        dgdej9        gddggg          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&          ZC G d' d(          ZD G d) d*          ZEej7        8                    d+g d,d-d.gdd/gfg d0d-d.gdd/gfg d0d-d1gdd2gfg          d3             ZFd4 ZGd5 ZHd6 ZId7 ZJd8 ZKd9 ZLd: ZMd; ZNd< ZOd= ZPd> ZQej7        8                    d?d@ ejR        d@           ejS        d@          g          dA             ZTej7        8                    dB e)dC          dDf e)dEdFG          dHfg          dI             ZUdJ ZVej7        W                    dK          ej7        W                    dL          dM                         ZXdN ZY G dO dP          ZZdS )Qz$ test label based indexing with loc     )
namedtuple)datedatetimetime	timedeltaN)gettz)using_pyarrow_string_dtypeindex)np_version_gt2)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        ]/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/pandas/tests/indexing/test_loc.pytest_not_change_nan_locr3   1   sx     
C=	!	!BBF111c6N#|,--H"''))X..."((**xi00000    c                   >   e Zd Zd Zej                            dddg          d             Zej                            dddg          d             Zej                            ddg d	d
gddgd
gdg dd
gddgd
gddgdgddgdgg          ej                            dddg          d                         Z	ej                            dg dg dgg dg dgg          ej                            dddg          d                         Z
ej                            dg ddgd
gg dg ddgg dg ddgg ddgdgg          ej                            dddg          d                         Zej                            ddd g          ej                            dddg          d!                         Zd" Zej                            dddg          d#             Zej                            d$ edd%          g d&d
eg ed'd(          dgdeg ed)d*          d+gdeg ed)d*          d+gdeg ed)d,d)          d+gdegg          ej                            dddg          d-                         Zd. Zd/ Zej                            d0 edgg ed1g          2          ed
d
d1f          edgd13          f edg ed1g          4          d1dgf edgg ed1g          4          d1 edgd13          fg          d5             Zd
S )6TestLocc                 N    t          g ddgd          }|j        d         J d S )N)12Nr$   strcolumnsdtype)   r$   )r   r(   selfr0   s     r2   "test_none_values_on_string_columnsz*TestLoc.test_none_values_on_string_columnsB   s7    '''#eDDDvf~%%%%%r4   kindr-   framec                 f    |                     | d          }t          |ddt                     d S )N_labelsr(   r>   failsgetfixturevaluer"   KeyErrorr@   rB   requestobjs       r2   test_loc_getitem_intzTestLoc.test_loc_getitem_intH   s=     %%&6&6&677*3qIIIIIIr4   c                 f    |                     | d          }t          |ddt                     d S )N_emptyr(   crF   rH   rK   s       r2   test_loc_getitem_labelzTestLoc.test_loc_getitem_labelN   s:     %%ooo66*3s(KKKKKKr4   zkey, typs, axesf)intsuintslabelsmixedtsNfloats   )rT   rU   rW   rV   rX   r   c                 v    |D ]5}|                     | d|           }t          |d||t                     6d S N_r(   axesrG   rH   r@   keytypsr_   rB   rL   typrM   s           r2   #test_loc_getitem_label_out_of_rangez+TestLoc.test_loc_getitem_label_out_of_rangeT   sa      	 	C))T//C//::C.UCd(    	 	r4   z	key, typsr      r>   )rT   rU   rY   )rf         @r'   c                 t    |D ]4}|                     | d|           }t          |d|t                     5d S )Nr]   r(   rF   rH   )r@   ra   rb   rB   rL   rc   rM   s          r2   test_loc_getitem_label_listz#TestLoc.test_loc_getitem_label_listh   sX      	P 	PC))T//C//::C.sE3hOOOOO	P 	Pr4   empty)r   r>   
   )         rf   ))rf   rl   )rf      )r>      multic                 v    |D ]5}|                     | d|           }t          |d||t                     6d S r\   rH   r`   s           r2   (test_loc_getitem_label_list_with_missingz0TestLoc.test_loc_getitem_label_list_with_missingv   sa      	 	C))T//C//::C.UCd(    	 	r4   rb   rT   rU   c                 p    |                     | d|           }t          |dg ddt                     d S )Nr]   r(   )rZ      (   rf   r^   rH   )r@   rb   rB   rL   rM   s        r2   !test_loc_getitem_label_list_failsz)TestLoc.test_loc_getitem_label_list_fails   sU     %%&6&6&6&677*1H	
 	
 	
 	
 	
 	
r4   c                     d S N r@   s    r2   !test_loc_getitem_label_array_likez)TestLoc.test_loc_getitem_label_array_like   s	     	r4   c                 n    |                     | d          }g d}t          |d|t                     d S )NrP   TFTFr(   rF   )rI   r"   
IndexError)r@   rB   rL   rM   r#   s        r2   test_loc_getitem_boolzTestLoc.test_loc_getitem_bool   sC    %%ooo66&&&*3q
KKKKKKr4   zslc, typs, axes, failsrl   )rV   rW   rj   rX   rY   2013010220130104r>      rW   ro   c                 l    |D ]0}|                     | d|           }t          |d|||           1d S r\   )rI   r"   )	r@   slcrb   r_   rG   rB   rL   rc   rM   s	            r2   test_loc_getitem_label_slicez$TestLoc.test_loc_getitem_label_slice   se    ,  	 	C))T//C//::C.    	 	r4   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 )NrZ   r$      col1col2)rk   rf   rf   r<   r   r>   )rf   r   r   rf   )r   nparanger(   r)   r*   r@   r0   r1   s      r2    test_setitem_from_duplicate_axisz(TestLoc.test_setitem_from_duplicate_axis   s    #Yc
S#J/V$**
 
 

 IaLLy#YC1c(+ff5EZZZ
 
 
 	b(+++++r4   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rf   r>   rl   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   r   nanr   pdNaTvaluesr(   r+   r)   r*   )r@   r0   df2r1   s       r2   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(+++++r4   zobj, key, expFr<   namer
   c                     |j         |         }t          |t          t          f          rt	          j        ||           d S ||k    sJ d S ry   )r(   
isinstancer   r   r)   assert_equal)r@   rM   ra   express        r2   #test_loc_getitem_single_boolean_argz+TestLoc.test_loc_getitem_single_boolean_arg   sO     gclcIv.// 	OC%%%%%#::::::r4   )__name__
__module____qualname__rA   pytestmarkparametrizerN   rR   rd   ri   rs   rw   r|   r   slice	TypeErrorrJ   r   r   r   r   r   r   r   r   rz   r4   r2   r6   r6   A   s       & & & [Vh%899J J :9J
 [Vh%899L L :9L
 [<<<dC8*d#+++T2(T"$O(Q	

 
 [Vh%899  :9
 
 [YY3334]]7778	
  [Vh%899P P :9 P [YY	4(ZZ444a8YY333Q7%%%y!4	
	 	 [Vh%899  :9	 	 [Vfg%677[Vh%899
 
 :9 87
  
 [Vh%899L L :9L [  a<<<	 U:z**TFAyAU1a[[7)Q	2U1a[[7)Q1U1a^^gY95	
  [Vh%899  :9   , , ,, , ,> [ 	A3%w888111e8$s'''
 VQCuueW~~...s;YuEE5'NN333UFFA3U<S<S<ST	
     r4   r6   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$d6 Z%d7 Z&d8 Z'd9 Z(d: Z)d; Z*d< Z+ej        ,                    d=          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 e0g dIdJdKej1        ej1        gg dIgg dGL          fdMdNdOgfdHdPg e0dMdFej1        ej1        gg dQdRdSej1        ej1        ggg dGL          fdMg dTf ej        g dUej        *           e0dMdFej1        gg dUdRdSej1        ggg dTL          f e.dMdJdA          g dVfg dUg dWg e0dMdFej1        ej1        gg dXg dYgg dGL          f e.dMdJdA          g dZf ej        g dUg dWgej        *           e0dMdFej1        ej1        gg d[g d\gg dGL          f e.dAdAdA          d@dNgf e0dHdPgd]d^gd_d`ggd@dNgL           e0g dag dbg dcgg dTL          fg          dd             Z2de Z3df Z4dg Z5dh Z6di Z7e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| ZFej        G                     eH            d}~          d             ZId ZJej                            dg d          ej                            dej        ejK        eLg          d                         ZMd ZNd ZOd ZPej                            d?ddg          d             ZQej                            deRej        eSeTg          d             ZUd ZVej                            dd eSdMg          fd eSdFg          fg          d             ZWd ZXej                            dd)g df e.dKdP          g dfdJdRgg dfg          d             ZYd ZZd Z[d Z\ej                            dddgg          d             Z]d Z^ej                            dd@d@gd@ e.dA          fg          d             Z_d Z`d Zad Zbd Zcd Zdej                            dddg          d             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(   r   arrayilocr)   r*   r@   r0   resultr1   s       r2   test_loc_npstrz%TestLocBaseIndependent.test_loc_npstr  sg    Z77888*..q13347344=
fh/////r4   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   rk   rZ   ru   )r'   r   CV1V2r'   r   r   matchN)r   r   	set_indexr   raisesrJ   r(   )r@   msgra   r0   s       r2   ;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$   rf   u   אr   )r   r   r   rJ   r(   r?   s     r2   $test_loc_getitem_missing_unicode_keyz;TestLocBaseIndependent.test_loc_getitem_missing_unicode_key/  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 )	Nr>   )rZ   rp   c                 $    g | ]}d |dz           S )ABCDErp   rz   .0xs     r2   
<listcomp>z@TestLocBaseIndependent.test_loc_getitem_dups.<locals>.<listcomp>9  s     555a71q5>555r4   rZ   r
   )r'   r   r   r'   )r   r   randomdefault_rngranger(   r)   assert_series_equalr@   r0   r1   r   s       r2   test_loc_getitem_dupsz,TestLocBaseIndependent.test_loc_getitem_dups4  s     I!!!$$++G4455599555
 
 
 6&>1!#&
vx00000r4   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 )
Nrf   r>   r   r   20130101r$   r$   r$   r$   r$   r   r   r   r   )r   r   r   r   r)   r   r(   r   s       r2   test_loc_getitem_dups2z-TestLocBaseIndependent.test_loc_getitem_dups2?  s     E5)J"7"789---#
 
 

 5%:!6!67+++
 
 
 
vx000
vx00000r4   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aaaderp   float64r=   gq=
ףp?r>   g(\տ)mer   r   bar2r   rr   r          @)r   r   t)
r   listr   r   r   copyr(   r)   r   r*   )r@   df_origindexerr0   s       r2   test_loc_setitem_dupsz,TestLocBaseIndependent.test_loc_setitem_dupsS  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Jr4   c                 V   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            n# 1 swxY w Y   t          g dg ddd
          }t          j        ||           d S )N)r   rf   rf   )d   r   ,  uint32r   r$   r#   r$   rf   r#   )r      i-  uint64item of incompatible dtyper   )r   r   r(   r)   r*   assert_produces_warningFutureWarning)r@   df1ixnewb1r1   r   newb2s          r2   test_loc_setitem_slicez-TestLocBaseIndependent.test_loc_setitem_slicev  s    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 '!=
 
 
 	% 	%  %CGBG	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 999???CC8TTT
c8,,,,,s   C11C58C5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#   rQ   r$   r#   rQ   float32r   r   )r   r(   astyper   r   r)   r*   )r@   r0   colsr1   s       r2   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(+++++r4   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 )	Nrl   r  r
   not in indexr   r$   dr   )r   r   r   r   rJ   )r@   ss     r2   $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   lenr   r   r   r(   )r@   r   r  r   s       r2   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 ry   rz   r{   s    r2   test_loc_getitem_int_slicez1TestLocBaseIndependent.test_loc_getitem_int_slice  s    r4   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 )
Nr>   rl   rl   r  )erS   gr   r<   z$\"None of \[Index\(\[1, 2\], dtype=''\)\] are in the \[index\]\"r   rf   )
r   r   r   r   r=   intr   r   rJ   r(   r@   r0   r   s      r2   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 )Nr   rf   r>   r$   z^-1$r   z&\"None of \[Index\(\[-1, -2\], dtype='r  zE\"None of \[Index\(\['4'\], dtype='object'\)\] are in the \[index\]\"4rl   r  z"\"None of \[Index\(\[-2\], dtype='r   )
r   objectr(   r   r   rJ   r   r=   r  r   r@   r  r   s      r2   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#   rf   r>   valuer  z!\"None of \[Index\(\[3\], dtype='r  r   rl   )r   r   r=   r  r   r   rJ   r(   r  s      r2   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          g d          }|j        dg          dt          j        t                     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   r>   z"None of [Index([3], dtype='z')] are in the [index]r   rl   r  )
r   r(   r   r=   r  r   r   rJ   reescaper%  s      r2   test_loc_getitem_list_with_failz6TestLocBaseIndependent.test_loc_getitem_list_with_fail  sC    999	qc

SbhsmmSSS]829S>>::: 	 	E1#JJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]8>::: 	 	E1a&MM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   *BB	B	+CCC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 )	Nr>   )rp   rk   size)alpha_0alpha_1alpha_2beta_0beta_1r
   c                 
    d| v S )Nalpharz   r   s    r2   <lambda>z7TestLocBaseIndependent.test_loc_index.<locals>.<lambda>  s
    gl r4   booleanr   )r   r   r   r   r   mapr(   r   r)   r*   r   r   )r@   r0   maskr1   r   s        r2   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/////r4   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 )Nr>   ro   ro   r'   r   r   Dr   r'   r   r   r   rf   r   r$   r#   r   )r   r   r   r   r(   r   r<   allr   r   r   r)   r   r=   r$  r   s       r2   test_loc_generalz'TestLocBaseIndependent.test_loc_general"  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%%%%%%r4   c                     t          t          dd          t          t          d          t          j                  d          S )N
2000-01-01	2000-01-5rp   r   r   val)r   r   r   r   r   int64r{   s    r2   frame_for_consistencyz,TestLocBaseIndependent.frame_for_consistency4  sC    "<==eAhhbh777 
 
 	
r4   rH  r   r   )r   r   r   r   r   c                    t          t          dt          d          t          j                  t          t          d          t          j                  d          }|                                }t          j        t          d          5  ||j	        d d df<   d d d            n# 1 swxY w Y   t          j
        ||           d S )	Nr   rp   r   r=   r   rG  incompatible dtyper   r   r   r   r   r   rI  r   r)   r   r   r(   r*   )r@   rJ  rH  r1   r0   s        r2   test_loc_setitem_consistencyz3TestLocBaseIndependent.test_loc_setitem_consistency=  s     qaAAAeAhhbh777 
 
 #''))'=QRRR 	$ 	$ #BF111f9	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$
b(+++++s   B**B.1B.c                    t          t          dt          d                    t          t          d          t          j                  d          }|                                }t          j        t          d          5  d|j	        d d df<   d d d            n# 1 swxY w Y   t          j
        ||           d S )	Nr   rp   r
   r   rG  rM  r   r   rN  r@   rJ  r1   r0   s       r2   (test_loc_setitem_consistency_dt64_to_strz?TestLocBaseIndependent.test_loc_setitem_consistency_dt64_to_strO  s     uE!HH555eAhhbh777 
 
 #''))'=QRRR 	& 	& %BF111f9	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&
b(+++++   BB#&B#c                    t          t          dt          d                    t          t          d          t          j                  d          }|                                }t          j        t          d          5  d|j	        d d df<   d d d            n# 1 swxY w Y   t          j
        ||           d S )	N      ?rp   r
   r   rG  rM  r   r   rN  rQ  s       r2   *test_loc_setitem_consistency_dt64_to_floatzATestLocBaseIndependent.test_loc_setitem_consistency_dt64_to_float^  s     s%((333eAhhbh777 
 
 #''))'=QRRR 	$ 	$ #BF111f9	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$
b(+++++rS  c                 H   t          dt          t          d          g          i          }t          j        t
          d          5  d|j        d d df<   d d d            n# 1 swxY w Y   t          dt          dg          i          }t          j        ||           d S )Nr   20180101rM  r   string)r   r   r   r)   r   r   r(   r*   r   s      r2   'test_loc_setitem_consistency_single_rowz>TestLocBaseIndependent.test_loc_setitem_consistency_single_rowl  s     	*(=(='> ? ?@AA'=QRRR 	) 	) (BF111f9	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)ffhZ&8&89::
b(+++++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   rf   )r   r)   r   r(   r*   r
  r   rI  r@   r1   r0   s      r2   "test_loc_setitem_consistency_emptyz9TestLocBaseIndependent.test_loc_setitem_consistency_emptyu  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        d d df                   |j        d d df<   t          |j        d d df                   |j        d d df<   |                    d          }|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            n# 1 swxY w Y   t          g d|j        d          }t          j        |d         |           d S )NRegion_1ro   )Site_1ra  Site_2rb  )l   BP[ l   _Z l   q=.Z l   <.Z )RegionSiteRespondentIDnames)
Respondentrh  rh  OtherCatri  )	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:52rp  rp  z5/20/2015 8:27z5/20/2015 8:41)r'   z5/20/2015 8:33z5/20/2015 9:09rp  Nor  )rh  rk  )rh  rl  F)r   )rh  DurationrM  r   l    Xp7 )g      7@      (@g      ,@g      B@r   )r   from_arraysr   r   r   r   r(   infer_objectsr)   r   r   r   r   r   r   )r@   levelsmiclevelsr  r   r0   r1   s           r2   -test_loc_setitem_consistency_slice_column_lenzDTestLocBaseIndependent.test_loc_setitem_consistency_slice_column_len  s    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1<F1111122
 2
qqq--. 0;F111//00
 0
qqq++, 5)) F111//0fQQQ3345 	qqq,,- '=QRRR 	* 	*46F--5.))5*BF111001	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*
 $$$BH;U
 
 
 	r"<=xHHHHHs   4.E..E25E2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[]r1   r   )	r   r   
datetime64r(   r   r
  r   r)   r   )r@   rz  r0   r1   s       r2   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9r4   c                    t          j        dg di          }t          |d         d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)rz  cachedate_dt
date_dt_cpr>   rl   )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   r(   applyr)   r*   )r@   r0   r1   r<   s       r2   test_loc_modify_datetimez/TestLocBaseIndependent.test_loc_modify_datetime  s    QQQR
 
 $BvJTFFF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(+++++r4   c                    t          g ddgt                    }t          j        g dd          |j        g ddf<   t          g dg dt          	          }t          d|i          }t          j        ||           d S )
Nrl   rp   ro   r'   r   r<   r=   r   rI  r   ro   rl   rp   r>   rl   rf   rL  )r   floatr   r   r(   r   r)   r*   r@   r0   serr1   s       r2   #test_loc_setitem_frame_with_reindexz:TestLocBaseIndependent.test_loc_setitem_frame_with_reindex  s    YYYUCCC!#)))7!C!C!Cyyy#~ YYYiiiu===c3Z((
b(+++++r4   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  rY  r   rI  r   r  r  rL  )	r   r  r   r   r(   r   r
  r)   r*   r  s       r2   )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(+++++r4   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  rY  rI  r   rl   r   r!  )rg   r   rU  r   r
   )r   r  r   r   r(   r   r)   r*   r   s      r2   *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(+++++r4   c                    d t          d          D             }t          j        dd          }d t          d          D             }t          j        dd          }t          t	          |                              |                    }t          |          }t          j        |d<   ||j        |df<   t          j        |d	<   ||j        |d	f<   t          ||t          j
        
          }t          ||          }t          ||dt          dd	gt                                                  |          }	t          j        ||	           d S )Nc                 2    g | ]}d t          |          z   S @r:   r   is     r2   r   zGTestLocBaseIndependent.test_loc_setitem_empty_frame.<locals>.<listcomp>  "    000!s1vv000r4   rp   rI  r   c                 2    g | ]}d t          |          z   S r  r  r  s     r2   r   zGTestLocBaseIndependent.test_loc_setitem_empty_frame.<locals>.<listcomp>	  r  r4   ro   r
   r'   r   rL  r   r   )r   r   r   r   setunionr   r   r(   r   r   r   r$  reindexr)   r*   )
r@   keys1val1keys2val2r   r0   seraserbr1   s
             r2   test_loc_setitem_empty_framez3TestLocBaseIndependent.test_loc_setitem_empty_frame  sL   00uQxx000y'***00uQxx000y'***SZZ%%e,,--U###&3!ucz&3!ucz d%rz:::d%(((T""E3*F,K,K,K
 
 

''

 	 	b(+++++r4   c                    t          t          j                            d                              d          t          d          t          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 )Nr>   r?  abcdABCDr  r   r   rf   )r$   r'   r   r   rA  )
r   r   r   r   standard_normalr   r   r(   r)   r*   r   s       r2   test_loc_setitem_framez-TestLocBaseIndependent.test_loc_setitem_frame  s    I!!!$$44V<<v,,LL
 
 
 x!{{{{{{{{qqq#c'z6!!!SW*%ABB
fh/////r4   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   r   r   r'   r(   r   r)   r*   r   s      r2   /test_loc_setitem_frame_nan_int_coercion_invalidzFTestLocBaseIndependent.test_loc_setitem_frame_nan_int_coercion_invalid2  sn     YYYRV4455#%4rtbd{C 99926::;;
b(+++++r4   c                 `   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          	          t          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 )Nrf   r>   rl   ro   r$   r#   )rf   r>   r$   r   r   r   r=   r   rp   rm   )r   r(   r   r   r$  r)   r   r*   r   s       r2   #test_loc_setitem_frame_mixed_labelsz:TestLocBaseIndependent.test_loc_setitem_frame_mixed_labels:  s     Aq6q!fC:>>??Aq6	"F%Af555V!
 
 
 	vx000!QQF#sDDEEFq1a&y
b(+++++r4   z.ignore:Setting a value on a view:FutureWarningc           	      Z   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          t          t          d          t          j                  d          }t          t          d          t          d          t          d          t          d          t          d          gt          g dt          j                  d          }|j        dd         }|j        dd         |_        ||j        dd<   t          j        ||           d S )Nr   r   bazrl   r   r   rf   r>   r   )r   r  r  )rf   r>   r>   rE  rF  rp   rG  200001012000010220000103)r   rf   r   rf   r>   ro   )r   r   r   r   rI  r(   r   r)   r*   r   r   )r@   warn_copy_on_writer0   rhsr1   s        r2    test_loc_setitem_frame_multiplesz7TestLocBaseIndependent.test_loc_setitem_frame_multiplesI  s    '''fU1XXRX.N.N.NOO
 
 fQqSkHQqSM	qs'''fYYYbh.O.O.OPP
 
 	b(+++ "<==eAhhbh777 
 
  j))j))j))j))j)) oooRX>>>	 	
 
 fQqSkHQqSM	qs
b(+++++r4   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 )Nrf   r>   rl   ro   r'   r   r   r   )r   r'   r  )r   r
  r$  r(   r    )r@   r   r(  r0   r   s        r2   "test_loc_setitem_with_scalar_indexz9TestLocBaseIndependent.test_loc_setitem_with_scalar_indexo  sr     AA'#s<<<CCS&MRR"q'z  2Vs]]]]]]r4   zindex,box,expectedr>   r@  rn   )rn   rn   rn   rn   rl   ro   r   rf   r   rA  r   )rl   ro   rn   r   rp   rm   r   rn   r   	   )r   r   rA  rk         )rl   rn   r   r  )rp   rk   r  r  )r   r'   rA  )r   ro   rn   r  )r  rm   rk   r  r  rk   r  r  )rn   r>   r   )r  ro   rk   )r  rm   r  c                 |    t          ddgddgddggddg	          }||j        |<   t          j        ||           d S )
Nrf   r>   rl   ro   rp   rm   r'   r   r   r   r(   r)   r*   )r@   r   boxr1   r0   s        r2    test_loc_setitem_missing_columnsz7TestLocBaseIndependent.test_loc_setitem_missing_columns  sR    j AAA/#sDDDu
b(+++++r4   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   r   UTCr   rf   )	r   r   tz_localizer   r   dtypesr   r)   r   r   s       r2   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7r4   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     rf   i  r>   r   )r   r   r  r   r)   r   r   s       r2   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7r4   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   r>   rl   )r   r  r   r)   r   r   s       r2   test_loc_coercion3z)TestLocBaseIndependent.test_loc_coercion3  sv    $! ;<==91
v}h777
v}h77777r4   c                    t          d                              d          t          d                              d          g}t          |t          ddgt                              }t          t                    }|d          ||          d<   |d	          ||          d<   t          j        ||           d S )
N*   r  i  r   r   r   r
   r   rf   )r   r  r   r   r$  r)   r   )r@   
indexer_slvalsr1   r  s        r2   test_setitem_new_key_tzz.TestLocBaseIndependent.test_setitem_new_key_tz  s     OO''..((//
 $eUEN&&I&I&IJJJ6"""!%a

3!%a

3
sH-----r4   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rf   r>   rl   ro   rp   rm   )rl   ro   rp   rm   rn   r   r   )r   rf   r   rf   r>   rl   r
   z5'Cannot get left slice bound for non-unique label: 1'r   rf   z5'Cannot get left slice bound for non-unique label: 0'r   r>   axis)r>   ro   rp   rm   )ro   rm   rn   r   )rf   rf   r>   rl   )r>   ro   rp   )ro   rm   rn   )rf   rf   r>   )r   r   r   rJ   r(   
sort_indexr)   r*   )r@   r0   r   r   r1   s        r2   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ABCDEFGr>   r  r   Frf   )r   r   concatr   r   r   r   r  r  r   onesr   	is_uniquer(   taker)   r*   )r@   lengthl2r<   r0   r<  r   r1   s           r2    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/////r4   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 )Nrf   
index_namer   )r   r   r   r   r(   r@   r0   r   s      r2   test_loc_namez$TestLocBaseIndependent.test_loc_name.  sw    AA'(($!Q&+%%%%A%*%%%%%%r4   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)rp   r>   c                     g | ]}d | S zi-rz   r  s     r2   r   zLTestLocBaseIndependent.test_loc_empty_list_indexer_is_ok.<locals>.<listcomp>;  s    444aa444r4   rp   r$   r   c                     g | ]}d | S r  rz   r  s     r2   r   zLTestLocBaseIndependent.test_loc_empty_list_indexer_is_ok.<locals>.<listcomp><  s    666888666r4   r>   r  r   T)check_index_typecheck_column_type)	r   r   r  r   r   r)   r*   r(   r   r?   s     r2   !test_loc_empty_list_indexer_is_okz8TestLocBaseIndependent.test_loc_empty_list_indexer_is_ok8  s?   GFOO445884443???66U1XX666SAAA
 
 
 	F111b5M27111bqb5>DTX	
 	
 	
 	
 	F2qqq5M272A2qqq5>DTX	
 	
 	
 	
 	F2JAAAQU	
 	
 	
 	
 	
 	
r4   c                 F   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 t          j        |          5  g d|j        d d df<   d d d            n# 1 swxY w Y   |r#|d         g dk                                    sJ n |d         dk                                    sJ t          t          j        	                    d          
                    d                    }|s|r|d         |j        d d df         usJ n|d         |j        d d df         u sJ t          g d          }|j        d d          }||usJ |d d          |usJ t          j        |          5  g d	|d d
<   d d d            n# 1 swxY w Y   |r!t          |d d
         g dk              sJ d S t          |d d
         g d	k              sJ d S )Nr$   r   )ro   ro   ro   ro   r>   rk   ro   r   r  r  rl   )r   r(   r   shares_memory_valuesr)   assert_cow_warningrB  r   r   r  r   )r@   using_copy_on_writer  original_df	sliced_dfr0   original_seriessliced_seriess           r2   &test_identity_slice_returns_new_objectz=TestLocBaseIndependent.test_identity_slice_returns_new_objectK  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 "#566 	0 	0&/iiKOAAAsF#	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	/cNiii/44666666cNa',,..... ry,,Q//??HHII 	)"4 	)a5qqq!t,,,,,a5BF111a4L(((( !!3!3!344'+AAA.O3333qqq!8888"#566 	, 	,"+))OBQB	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	7}RaR(III56666666}RaR(III56666666s$   B,,B03B0>
GGGc                    |s5t           j                            d          }|                    |           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 )Nz!accidental fix reverted - GH37497reasonrl   r$   r#   r   r>   )r   r   xfailapplymarkerr   zipr   r   r(   r)   r*   r   )r@   rL   r  r   r   r\  qzs           r2   test_loc_copy_vs_viewz,TestLocBaseIndependent.test_loc_copy_vs_viewv  s     # 	&;$$,O$PPD%%%c%((E!HH--SzBBBFFHHE!!!S&M	Q
a###FFHHE!'3,	Q
a#####r4   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   rf   r>   r
   r   )r   iinfomaxr   r(   r   r)   r   )r@   umaxr  r   r1   s        r2   test_loc_uint64z&TestLocBaseIndependent.test_loc_uint64  s     x!!%aVD1Hd#3444"8A;!!!!$($8QC=
vx000$(D)*
vs+++++r4   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   rf   r>   r
   z-1r   r!  )r   r  r  r   r   r   rJ   r(   )r@   r  r  s      r2   !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   r   r   r\  r   r\  r   )	r   r   r   r   r  r$  r(   r)   r*   r@   r   r1   r0   s       r2   *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(+++++r4   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   r   r   r   r  r$  r
  rI  r(   r)   r*   r  s       r2   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(+++++r4   c                     t          dgt          j        gd          }t          ddgt                    }|j        d         |j        d<   t          j        ||           d S )NrU  r  r   r\  r;   )r   r   )r   r   r   r  r(   r)   r*   r]  s      r2   *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(+++++r4   c                    ddg}t          ddg          }|j                            t          j                  |_        dt          j        t                     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 )Nrf   r>   r   r\  r   z"None of \[Index\(\[0, 1\], dtype='z'\)\] are in the \[index\]r   r   )setting an array element with a sequence.)r   r   r
  r   rI  r=   r  r   r   rJ   r(   
ValueError)r@   r   r0   r   s       r2   $test_loc_setitem_empty_append_raisesz;TestLocBaseIndependent.test_loc_setitem_empty_append_raises  so    1vSz***8??28,,$"(3-- $ $ $ 	 ]83/// 	' 	'"&BFAq63;	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' :]:S111 	$ 	$#BF1Q38	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s$   8BBB;CCCc                     t          ddgddgg          }|j        t          j        d                   }t	          ddgd          }t          j        ||           d S )Nrf   r>   rl   ro   r   r   )r   r(   r   r   r   r)   r   )r@   r0   r   r  s       r2   test_indexing_zerodim_np_arrayz5TestLocBaseIndependent.test_indexing_zerodim_np_array  s_    AA'(($Aq6"""
vq)))))r4   c                 v    t          ddg          }|j        t          j        d                   }|dk    sJ d S )Nrf   r>   r   )r   r(   r   r   )r@   r  r   s      r2   %test_series_indexing_zerodim_np_arrayz<TestLocBaseIndependent.test_series_indexing_zerodim_np_array  s6    Aq6NNrx{{#{{{{{{r4   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  ro   i  i  r
   rL  )rm   rp   ro   rl   r>   rf   r   r!  )r   r   r   r   r(   r)   r   )r@   r   r1   r   s       r2   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0r4   zcan't set int into stringr  c                    d t          d          D             }t          |dg          }t          |dgt                    }t          j        ||           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 )r>   g-q=)r:   r   r   r   )r   r]   s     r2   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Ur4   rp   r'   r   r;   c                 ,    g | ]}t          |          S rz   r  r   s     r2   r   z^TestLocBaseIndependent.test_loc_setitem_str_to_small_float_conversion_type.<locals>.<listcomp>  s    (D(D(Daq(D(D(Dr4   c                 ,    g | ]}t          |          S rz   r2  r   s     r2   r   z^TestLocBaseIndependent.test_loc_setitem_str_to_small_float_conversion_type.<locals>.<listcomp>  s    222AuQxx222r4   )	r   r   r$  r)   r*   r(   r   r  r
  )r@   col_datar   r1   s       r2   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uFCCC
fh/// )E(D8(D(D(D
6<$%XuEBBBII&QQ
fh/// 32222sXuEBBB
fh/////r4   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  ru   r>   rl   r
   z1/4/2000r!  )r   hourminuter   r   r   r   r  r  r)   get_objr(   r   r   r   
_with_freq)	r@   frame_or_seriesrngr<  rM   r   r   chunkr1   s	            r2   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
)))))r4   
spmatrix_t)
coo_matrix
csc_matrix
csr_matrixr=   c                    t          j        d          }t          ||          }d\  }} |t          j        |||          |          }t
          j                            |          }t          d|          }|j	        |         j
        }	|                                |         }
t          j        |	|
           |j	        |         j        j
        }	t          j        |t!          |d                    }
t          j        |	|
           d S )Nscipy.sparse)rp   rn   r   r>   r   )
fill_value)r   importorskipgetattrr   eyer   sparsefrom_spmatrixr   r(   r   toarrayr)   assert_numpy_array_equalr  fullr   )r@   rC  r=   	sp_sparserowsr  spmatrixr0   itr_idxr   r1   s              r2   $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..'##%%g.
#FH555 '.74Uq!A!A!ABB
#FH55555r4   c           	          t          dt          j        ddgt          d                    i          }|j        ddg         }t          j        ||           d S )Nr'   r   rI  r   rf   )r   r   r   r   r(   r)   r*   r  s      r2   ,test_loc_getitem_listlike_all_retains_sparsezCTestLocBaseIndependent.test_loc_getitem_listlike_all_retains_sparse5  sW    RXq!fK4H4HIIIJKKA
fb)))))r4   c                    t          j        d          }t          j                            |                    d                    }|j        t          d                   }t          g dg dgt          dd                    }t          j
        ||           |j        t          d                   j        t          d	                   }t          g dgt          dd                    }t          j
        ||           d S )
NrH  rp   r>   rU  r  r  r  r  )r  rU  r  r  r  r   r  r   rf   )r   rJ  r   rM  rN  rL  r(   r   r   r)   r*   )r@   rR  r0   r   r1   s        r2   test_loc_getitem_sparse_framez4TestLocBaseIndependent.test_loc_getitem_sparse_frame:  s    '77	++IMM!,<,<==a!&&&(A(A(ABi--
 
 
 	fh///a!%eAhh/&&&'{9c/J/J
 
 
 	fh/////r4   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 )NrZ  r   r  r   r>   rU  rl   )r   r   r(   r   r)   r   )r@   r  r   r1   s       r2   test_loc_getitem_sparse_seriesz5TestLocBaseIndependent.test_loc_getitem_sparse_seriesL  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0r4   r(   r   c                     t          g dg dgt          t                              }t          ||          d         }t	          g dt          t                    d          }t          j        ||           d S )N)rU  r        ?)r  r   r  r   r   )r=   r   )r   r   r  rK  r   r)   r   )r@   r   r0   r   r1   s        r2   !test_getitem_single_row_sparse_dfz8TestLocBaseIndependent.test_getitem_single_row_sparse_dfX  sx     9UASASTTTW%%a(///U1C1C!LLL
vx00000r4   key_typec                      |g d          }|j         d d |f         }|j         d d g df         }t          j        ||           d S )Nr   )r(   r)   r*   )r@   float_framera  idxr   r1   s         r2   test_loc_getitem_iterablez0TestLocBaseIndependent.test_loc_getitem_iterable`  s[    h''C(?111ooo#56
fh/////r4   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 )Nr>   r  r/  0srk   r  startperiodsr:  )r   r   r   r   normalr   r   r(   r   r)   r*   r   s       r2   #test_loc_getitem_timedelta_0secondsz:TestLocBaseIndependent.test_loc_getitem_timedelta_0secondsg  s    ry,,Q//66G6DDEE"rDDD6)D//++QQQ./qqq!
fh/////r4   val,expected                c                     t          ddgddg          }|j        |         }||_        t          j        ||           d S )Nrf   r>   rn  ro  r
   )r   r(   r   r)   r   )r@   rH  r1   r0   r   s        r2   test_loc_getitem_uint64_scalarz5TestLocBaseIndependent.test_loc_getitem_uint64_scalaro  sJ    
 1vi%7888
vx00000r4   c                     |}t          g dt          g d|                    }|                                }d|j        d<   d|j        d<   t          j        ||           d S )Nr  )r         ?rf   r   r
   zoorf   r>   )r   r   r   r(   r   r)   r   )r@   float_numpy_dtyper=   r  r1   s        r2   +test_loc_setitem_int_label_with_float_indexzBTestLocBaseIndependent.test_loc_setitem_int_label_with_float_indexz  sk    !___E+++U,K,K,KLLL88::
 a
sH-----r4   zindexer, expected)
rZ   rf   r>   rl   ro   rp   rm   rn   r   r  )
r   rf   r>   rl   rZ   rZ   rZ   rZ   r   r  )
r   rf   r>   rZ   ro   rZ   rm   rn   r   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 )	Nrk   r  rz  r   rI  r=   r   rZ   r  )r   r   r   r(   r   r)   r*   )r@   r   r1   tdir0   s        r2   /test_loc_setitem_listlike_with_timedelta64indexzFTestLocBaseIndependent.test_loc_setitem_listlike_with_timedelta64index  s     5993///U2YY'wcBBB)+rx #%&E	
 
 
 	h+++++r4   c                    t          g dt          d          d          }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            n# 1 swxY w Y   t          j        ||           d S )Nrf   rf   rf   rf   rf   aaaaar   )rf   r#   r#   rf   rf   aabbar   r   r#   r$   
categoriesrf   r>   rl   )r   r   r)   r   r   r   r(   r*   )r@   r0   r   s      r2   8test_loc_setitem_categorical_values_partial_column_slicezOTestLocBaseIndependent.test_loc_setitem_categorical_values_partial_column_slice  s8    ___4==AABB111WFFGG'!=
 
 
 	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
 	b#&&&&&s   AB--B14B1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  r  r   string[pyarrow_numpy]r   )	r   r   r(   r   r   r
  r$  r)   r   )r@   using_infer_stringr0   r  r   r1   s         r2   '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,IFF2I
 
 	vx000 !7
r'{F:G,L,L,LMMMMMr4   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            n# 1 swxY w Y   t          d                                          |j        d         k    sJ d S )NrQ   z
2010-10-01rl   z
2008-08-08r   rf   )r   rQ   )rf   rQ   rM  r   i  rp   )r>   rQ   z
2005-05-05)	r   r   r   r  r(   r)   r   r   r   r?   s     r2   "test_loc_setitem_datetime_coercionz9TestLocBaseIndependent.test_loc_setitem_datetime_coercion  s4   i556:;<<=66qsCx&&"&.8888&&"&.8888'=QRRR 	. 	.!$1--BF6N	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.&&++--??????s   CCCidxervarc                 L   |}t          ddd|          }t          d|dg          }t          |dgt          j                  }t	          j        |dk    rt          nd d	
          5  ||j        d d |f<   d d d            n# 1 swxY w Y   t	          j        ||           d S )Nz
2015-07-12rl   r}  )ri  rj  r:  tzr  r  r  r  rM  r   )	r   r   r   r   r)   r   r   r(   r*   )r@   r  tz_naive_fixturer  rd  r1   r   s          r2   !test_loc_setitem_datetimeindex_tzz8TestLocBaseIndependent.test_loc_setitem_datetimeindex_tz  s     |QSRHHHSeW=== ugRZHHH'"e^^MM=Q
 
 
 	, 	, $,FJqqq%x 		, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,
 	fh/////s   )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 <   |r|	                    t                    }	t          j        ||	           |	                                }d	|j
        |<   |j        |         |j
        |<   t          j        ||           |	                                }d	|j
        |<   |j
        |         }|j
        |         	                                }	d	|	j
        d d <   |r|	                    t                    }	t          j        ||	           |	                                }d	|j
        |<   |j        |         |j
        |<   t          j        ||           d S )Nz
2012-01-01z
2012-01-0530minr9  r>   rp   r
   r  r         )   H   x      )         J   K   L   z   {   |            )r   r   r   r   r   r  r  r   r   r   r(   r
  r  r)   r*   r   )
r@   using_array_managerr   r0   akeybkeyaindsbindsr   r1   s
             r2   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 	.u--H
fh///
475>
4
fb)))
4D!6$<$$&&QQQ 	.u--H
fh///
475>
4
fb)))))r4   ra   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'   ro   )r   3)r'   r9   r   ro   rp   rm   r   r>   r>   rI  r   )r   r>   r   )r   rp   r   rf   r  )
r   from_tuplesr   r   r   zerosr(   r)   r*   r  )r@   ra   rw  r0   rM   r1   s         r2   ,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(+++++r4   c                     t          g d|          }d|j        d<   t          g d|          }t          j        ||           d S )Nr   r   ro   r   )ro   r>   rl   r   r(   r)   r   )r@   any_int_numpy_dtyper-   r1   s       r2   test_loc_setitem_uint_dropz1TestLocBaseIndependent.test_loc_setitem_uint_drop  sV     			)<===
1)))+>???
vx00000r4   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 )Nrk   r~  rZ   r   )r   r   timedelta64r(   r   r)   r   )r@   r  r1   s      r2   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-----r4   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 )Nr>   r  r   r   r&  r   )
r   r   r   r  r   r   r   r   r'  r(   )r@   r   r  r   s       r2    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   rl   )ri  rj  r   r  r  r   r  rf   )rs  r'   )r   interval_ranger   r(   r)   assert_almost_equal)r@   r   r0   r1   r   s        r2   test_loc_getitem_interval_indexz6TestLocBaseIndependent.test_loc_getitem_interval_index+  su    !1555YY			999-UOOO
 
 
 !
vx00000r4   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   rl   both)ri  rj  closedr   r  r  r   r  r>   rf   )ri  rj  r:  r  ro   r'   r   rf   r'   )r   r  r   r   r(   r)   r   )r@   r   r0   	index_expr1   r   s         r2    test_loc_getitem_interval_index2z7TestLocBaseIndependent.test_loc_getitem_interval_index26  s    !1VDDDYY			999-UOOO
 
 
 %AqqPPP	1a&	<<<
vx00000r4   tplrf   rf   r>   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*   )r@   r  rd  r0   r   r1   s         r2   +test_loc_getitem_index_single_double_tupleszBTestLocBaseIndependent.test_loc_getitem_index_single_double_tuplesB  s     6N
 
 

 S!!!SE59993'''
fh/////r4   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  )rl   ro   r'   r   r  rf   )r   r   r   r(   )r@   r  idx1idx2r   r0   r   s          r2   !test_loc_getitem_index_namedtuplez8TestLocBaseIndependent.test_loc_getitem_index_namedtupleQ  s    {S#J77	y&&y&&tTl):%PPP'usCjIII		%//05{{{{{{r4   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 )
Nr>   rp   rl   )r$   r#   rQ   r  r  r  r  quxr:   r  r   )r   r   r   r   r  r   r(   r   r   r$  r   r)   r  )r@   r  r0   r1   s       r2   $test_loc_setitem_single_column_mixedz;TestLocBaseIndependent.test_loc_setitem_single_column_mixed[  s    I!!!$$44V<<+++)))
 
 

 5	')vrx!}e#$VUBFE262 2O&&8O
 
 
  	 	r%y/:::::r4   c                    t          t          j                            d                              d          t	          d                    }t          j        |d<   t          j        t          d          5  d|j	        d	<   d d d            n# 1 swxY w Y   |j
        }t          t          j        d
          gdz  t          j        d          gz   g d          }t          j        ||           d S )Nr>   )ru   rl   ABCr   eventr   r   r   )rk   r  r   rl   r$  )r'   r   r   r  r
   )r   r   r   r   tupler   r)   r   r   r(   r  r   r=   r   r   s       r2   test_loc_setitem_cast2z-TestLocBaseIndependent.test_loc_setitem_cast2i  s.    ry,,Q//66w??uVVVf7'!=
 
 
 	( 	( #(BF;	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( Xi  !A%(););(<<***
 
 
 	vx00000s   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onerm   r   )rf   r  rn   )r   r   r   int8r(   r  r  r=   r?   s     r2   test_loc_setitem_cast3z-TestLocBaseIndependent.test_loc_setitem_cast3y  s    ry"':::;<<xy} 1 11111y} 1 1111111r4   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 )Nrp   )rl   ro   rf   r   r>   r
   )r  rk   r  r>   r  rk   r  rl   )r   rf   rk   r  r  )r   ndimr(   r   r)   r   )r@   r?  rM   r   r1   s        r2   test_loc_setitem_range_keyz1TestLocBaseIndependent.test_loc_setitem_range_key  s    oeAhhooo>>>8q==cB4"&F"a"?#4#4#4CIFFF
X&&&&&r4   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 )	Nr}  r   r   r>   rf   r  r$   )rf   r>   r>   rf   rf   r   r   r(   r)   r*   r   s      r2   .test_loc_setitem_numpy_frame_categorical_valuezETestLocBaseIndependent.test_loc_setitem_numpy_frame_categorical_value  s    ___3L3L3LMMNN&1v1a&AAAqsCx???9R9R9RSSTT
b(+++++r4   )lr   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r&  r)  r-  r=  rC  fixturerJ  r   r   rI  rO  rR  rV  rZ  r^  ry  r  r  r  r  r  r  r  r  r  filterwarningsr  r   r  r   r   r  r  r  r  r  r  arm_slowr  r  r   r  r  r  r  r   r"  r$  r(  r*  r,  r.  r  r	   r5  rB  r   complexrV  rX  r[  r]  r`  iterr   r   re  rl  rq  rv  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rz   r4   r2   r   r      sG       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- - -0, , ,&	 	 	 [We}6P6P6P&QRR  SR  # # #% % %N     0 0 0*& & &$ ^
 
 ^
 [	
HBHQbh'''///)R)R)RS , ,	 ,, , ,, , ,, , ,, , , 0I 0I 0Id [V%O%O%OPP: : QP:", , ,4	, 	, 	,
, 
, 
,, , ,, , ,20 0 0*, , ,, , , [ PQQ#, #, RQ#,J [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& & &
 
 
&)7 )7 )7V$ $ $(, , ,"  , , ,, , ,, , ,$ $ $"* * *  1 1 1 [1133<WXX0 0 YX0(* * *, [\+U+U+UVV[WrxW&EFF6 6 GF 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 [)VVQC[[1E661#;;3GH 1 1 1	. 	. 	. [ ///0U1a[[<<<=V5556	
	 	, ,	 	, 
' 
' 
'N N N&@ @ @ [Wuug&6770 0 870&* &* &*P [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  ; ; ;1 1 1 2 2 2' ' ', , , , ,r4   r   c                       e Zd Z ej        ej        ej        g          d             Zej        d             Z	d Z
ej                            d          d             Zd ZdS )	TestLocWithEllipsis)paramsc                     |j         S ry   )param)r@   rL   s     r2   r   zTestLocWithEllipsis.indexer  s     }r4   c                 D    |}|t           ur|                                }|S ry   )r   to_frame)r@   series_with_simple_indexr?  rM   s       r2   rM   zTestLocWithEllipsis.obj  s$    &&((,,..C
r4   c                 R     ||          d         }t          j        ||           d S )N.)r)   r   )r@   rM   r   r   s       r2   test_loc_iloc_getitem_ellipsisz2TestLocWithEllipsis.test_loc_iloc_getitem_ellipsis  s,    c"
$$$$$r4   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   r  r   r(   inferred_typer   r   r   r   NotImplementedErrorr   r   r  r*   )
r@   r  r   rM   ra   r   r   r1   key2r0   s
             r2   &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   r  r   r   r   r   r!   )r@   rM   r   ra   s       r2   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)   r(   r   r   rM   r  r   r  r  r  rz   r4   r2   r  r    s        V^BFBG,---  .- ^  ^% % % [ VWW0 0 XW00( ( ( ( (r4   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$   )rf   r>   rf   r>   )r$   r$   r#   r#   rf   r>   )r>   rf   r>   rf   rQ   )rQ   r$   r$   )rf   r>   rf   dimr   r<   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)rQ   r$   r$   r#   r#   )rf   rf   r>   rf   r>      rp   r   r<   )r   r   r   reshaper   rt  r(   r)   assert_index_equalr   r<   )r@   r   keysr1   kwargsr0   	exp_indexr   s           r2   '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 r4   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'   rf   )r
  r>   r>   )r(   r   rg  r   )r@   /multiindex_year_month_day_dataframe_random_dataymdr   result2s        r2   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7r4   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   rf   r
   )r   from_productr   r(   r)   r   r   )r@   rw  r  r   r1   res2s         r2   .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.....r4   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_bry  )r  r  rf   )r   r   rt  r(   r  r  r$  )r@   r  r   midxs       r2   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{{{{{{r4   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secondrf  )rf   rf   rf   rf   rf   rf   rf   rf   r
   r   )r  r  )r   r  )rf   rf   r   r   r   r   rf   rf   )r   r  r  r   r(   r)   r   )r@   r   r   r1   s       r2   !test_loc_setitem_multiindex_slicez7TestLocWithMultiIndex.test_loc_setitem_multiindex_slice  s     &HHHHHH  H%
 
 
 000>>>47
>.01:::%HHH
vx00000r4   c                     t          ddd          }t          t          d          |          }|j        t	          ddd          t	          ddd                   }t          j        ||           d S )NrE  10minr  r:  rj  il  rf   i4  )r   r   r   r(   r   r)   r   )r@   timesr  r   s       r2   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+++++r4   c                    t          t          d          t          d          dt          dd                    }|j        ddgddgf         }t          d	d
gd	d
gdt	          ddg                    }t          j        ||           d S )Nrk   r   z
2010-01-01z
2010-01-10r
   z
2010-01-05r$   r#   r   ro   )r   r   r   r(   r   r)   r*   r   s       r2   3test_loc_getitem_datetime_string_with_datetimeindexzITestLocWithMultiIndex.test_loc_getitem_datetime_string_with_datetimeindex2  s    ))%)),,\<88
 
 
 |4sCj@Aa&1v&&| <==
 
 
 	fh/////r4   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   rf  rU  rf   r   r>   rg   rl         @ro         @rp         @rm   r   rA  r  r   )level)r   rf   ro   r   r'  )r   r  r   r  r  r(   r)   r*   )r@   rw  r0   r1   r   s        r2   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/////r4   c                     t          g dd          }d|j        d<   t          g dd          }t          j        ||           d S )Nr  categoryr   r   rl   )r$   r#   rQ   r   r$  r  r@   r   r1   s      r2   1test_additional_element_to_categorical_series_loczGTestLocWithMultiIndex.test_additional_element_to_categorical_series_loca  sU    z:::
1,,,H===
vx00000r4   c                     t          g dd          }d|j        d<   t          g dd          }t          j        ||           d S )Nr  r1  r   r$   rl   r$   r#   rQ   r$   r  r2  s      r2   'test_additional_categorical_element_locz=TestLocWithMultiIndex.test_additional_categorical_element_loch  sU    z:::
1...jAAA
vx00000r4   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   r   rl   rf   r>   )r   r   r   r   r   r(   r)   r   )r@   any_numeric_ea_dtypesrsr1   s       r2   &test_loc_set_nan_in_categorical_seriesz<TestLocWithMultiIndex.test_loc_set_nan_in_categorical_serieso  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-----r4   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  r1  r   rl   r5  r$   r#   rQ   r  )r@   r;  srs_enlargesrs_setintor1   s        r2   ,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5r4   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 )Nr>      r$   r#   rk   r   rp   rf   Index1Index2)rv  codesrg  )r   r   Fr1  )r  orderedr   r=   )r   r   r   r   r   r   r   rv  r)   r  r(   r   s       r2   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/////r4   lt_valueru   rk   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   rf   r>   rl   r
   z\['b'\] not in indexr   r#   )r   r   r   r   rJ   r(   )r@   rG  r0   s      r2   >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   rf   r
   )	r   r   r   r   rt  r   r(   r)   r   )r@   lev1lev2rw  r  r   r1   s          r2   '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0r4   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xyrf   r>   )rT  rU  numrf  r   r
   r$   r   ro   )
r   r  r   r   r   r(   r   	droplevelr)   r  )r@   rw  r  
loc_resultr1   s        r2   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9r4   )r   r   r   r   r   r   r  r  r  r  r  r#  r%  r/  r3  r6  r:  r   r   r   NAr   r?  rF  rN  rR  rY  rz   r4   r2   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
: 
: 
: 
: 
:r4   r  c                   <   e Z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          d             Zej	        
                    dg d          d             Zd ZdS )TestLocSetitemWithExpansionc                 ^   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   rI  r   rf   )contextsetattrlibindexr   r   r(   r)   r*   )r@   monkeypatchsize_cutoffr   r1   s        r2   /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dg                     d|j        d<   t          j        |t          ddgddg                     d S )Nr   rf   r
   rl   r   r$  r(   r)   r   r@   r  s     r2   test_loc_setitem_empty_seriesz9TestLocSetitemWithExpansion.test_loc_setitem_empty_series  s|     6"""

sFA3qc$:$:$:;;;

sFAq6!Q$@$@$@AAAAAr4   c                     t          t                    }d|j        d<   t          j        |t          dgdg                     d|j        d<   t          j        |t          ddgddg                     d S )Nr   rU  rf   r
   rg   rl   rg  rh  s     r2   #test_loc_setitem_empty_series_floatz?TestLocSetitemWithExpansion.test_loc_setitem_empty_series_float  s|     6"""

sFC5$<$<$<===

sFC:aV$D$D$DEEEEEr4   c           
         t          t                    }d|j        d<   t          j        |t          dgt          dgt                                         d|j        d<   t          j        |t          ddgt          ddgt                                         d|j        d<   t          j        |t          g dt          g d	t                                         d S )
Nr   rf   r   r
   rl   r   ro   )rf   rl   ro   )r   r   rl   )r   r$  r(   r)   r   r   rh  s     r2   %test_loc_setitem_empty_series_str_idxzATestLocSetitemWithExpansion.test_loc_setitem_empty_series_str_idx  s     6"""
sFA3eUG66R6R6R$S$S$STTT
AeUEN&&I&I&IJJJ	
 	
 	
 

			/@/@/@)O)O)OPPP	
 	
 	
 	
 	
r4   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  rf   
US/Pacific)tzinfoc                 <    g | ]}t          |d z            z   S )r  )seconds)r   )r   r  bases     r2   r   zUTestLocSetitemWithExpansion.test_loc_setitem_incremental_with_dst.<locals>.<listcomp>  s-    EEEayS1111EEEr4      r   r
   )r   r   r   r   r(   r)   r   )r@   idxsr   rX   r1   rs  s        @r2   %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0r4   convc                     | S ry   rz   r8  s    r2   r9  z$TestLocSetitemWithExpansion.<lambda>  s    a r4   c                 *    |                                  S ry   )to_datetime64r8  s    r2   r9  z$TestLocSetitemWithExpansion.<lambda>      aoo'' r4   c                 *    |                                  S ry   )to_pydatetimer8  s    r2   r9  z$TestLocSetitemWithExpansion.<lambda>  r{  r4   c                 *    t          j        |           S ry   )r   r  r8  s    r2   r9  z$TestLocSetitemWithExpansion.<lambda>	  s    bmA&& r4   )r@   rz  r}  znp.datetime64)idsc                 6   t          d          }t          d          }t                      }d|j         ||          df<   d|j         ||          df<   t          dddgi||gt          dgt                    	          }t          j        ||           d S )
Nz20130101 09:00:00z20130101 10:00:00r   r  r   g      Y@g      i@r   r  )r   r   r(   r   r$  r)   r*   )r@   rw  dt1dt2r0   r1   s         r2   #test_loc_setitem_datetime_keys_castz?TestLocSetitemWithExpansion.test_loc_setitem_datetime_keys_cast  s     +,,+,,[[#&ttCyy% #&ttCyy% UEN#*5'000
 
 

 	b(+++++r4   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'   rf   r#   )rE  r   r   r  )r@   rE  r   r1   s       r2   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/////r4   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}  )	inclusiver:  r(  r  r  r  )r   r   r   r(   r   r   r  appendr   r$  r)   r*   )r@   ri  endrX   rd  r   r1   s          r2   0test_loc_setitem_with_expansion_and_existing_dstzLTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_and_existing_dst#  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/////r4   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          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   r<   newoldnew_colr  ro  r   )rf   r   r   1s)r   r   r   r   r  r   r  
tz_convertr   r(   r   r)   r   r   )r@   r0   vr   r1   s        r2   test_setitem_with_expansionz7TestLocSetitemWithExpansion.test_setitem_with_expansion5  sa   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//A./rzU"F*+
rvbjE&96&ABAFFFFFr4   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 )Nrf   r  r>   )rf   rf   rl   r   r   )	r   r(   r   infr<   r   r   r)   r  r   s       r2   0test_loc_setitem_with_expansion_inf_upcast_emptyzLTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_inf_upcast_emptyK  so    [[ttq"&y!Qrz:::
fh/////r4   z"ignore:indexing past lexsort depthc                    t          |          st          j        d           |                    d          }t          |          }t	          j        |                              t          j                  }t          ||dg          }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          ||dg          }|                                }	||	j        |df<   t          j        |	|           |                                d         }
||
j        |<   |d                             t          j                  }t          j        |
|           |                                }	||	j        |df<   t          t%          |          t          j        gz   t          j        g|z  t)          |          gz   d|	          }t          j        |	|           d S )
NzNot relevant for empty Indexr>   r   r  kapowr!  rf   r   rf   r
   )r  r   skiprepeatr   r   r
  rI  r   insertr   r   r   r   r(   r)   r*   r   r   r   r  )r@   r   Narrorigra   r  exp_datar1   r0   r  s              r2   /test_loc_setitem_with_expansion_nonunique_indexzKTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_nonunique_indexV  s    5zz 	8K6777QJJill!!"(++EA3777 % LLUS11	eZ(( 	(R=#s*****R=C''''9QU##**2:66XYDDD YY[[sAv
b(+++ iikk!nA;%%bh//
sH--- YY[[sAvS		RVH$"&Aq
)BCC
 
 
 	b(+++++r4   r=   )Int32Int64UInt32UInt64Float32Float64c                 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 )NrM  r   r   r
   Fr  )r   r   r   r(   r)   r*   r  )r@   r=   r  r0   r   s        r2   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Br4   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'   rp   
2016-01-01rl   ro  rj  r  re   r   r   r   )r   r   r   r(   r  r   r   r   r=   r  r)   r*   )r@   r0   rH  bexr1   s        r2   #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(+++++r4   N)r   r   r   re  ri  rk  rm  rv  r   r   r   r  r  r  r  r  r  r  r  r  rz   r4   r2   r\  r\    s       0 0 0B B BF F F
 
 
 1 1 1 [K''''&&		
 HGG  	 	, ,	 	,0 0 00 0 0$G G G,	0 	0 	0 [ DEE+, +, FE+,Z [MMM C C C, , , , ,r4   r\  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rf   r>   rl   ro   rL  r   c                     | j         dk    S Nr>   r'   r8  s    r2   r9  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>      qsQw r4   r>   c                     | j         dk    S )Nr#   )r   r8  s    r2   r9  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    qscz r4   r#   c                     | j         dk    S r  r  r8  s    r2   r9  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r4   c                     | j         dk    S Nr   r   r8  s    r2   r9  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    !)s2B r4   )FTFc                     | j         dk    S r  r  r8  s    r2   r9  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r4   c                     dS r  rz   r8  s    r2   r9  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    # r4   r   c                     | j         dk    S r  r  r8  s    r2   r9  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r4   c                 
    ddgS Nr'   r   rz   r8  s    r2   r9  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s
    3* r4   r'   c                     | j         dk    S r  r  r8  s    r2   r9  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    qsax r4   c                 
    ddgS r  rz   r8  s    r2   r9  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s
    C: r4   c                     dS )Nrf   rz   r8  s    r2   r9  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    q r4   c                     dS r&   rz   r8  s    r2   r9  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    C r4   r  )r   r   r(   r)   r*   r'   r   r   r@   r0   r   s      r2   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$$$$$$r4   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  rL  r   c                     | j         dk    S r  r  r8  s    r2   r9  zITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>  r  r4   r'   r   r>   rl   c                 
    ddgS r  rz   r8  s    r2   r9  zITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>  s
    Sz r4   c                 
    ddgS r  rz   r8  s    r2   r9  zITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>  s
    3* r4   )r   r   r(   r)   r*   r'   r   r  s      r2   '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:::::r4   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  rL  Xr{  r  r
   c                 
    ddgS Nr'   r   rz   r8  s    r2   r9  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  
    Sz r4   r'   r   c                 
    ddgS r  rz   r8  s    r2   r9  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   c                 
    ddgS r  rz   r8  s    r2   r9  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   c                     dS Nr  rz   r8  s    r2   r9  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  s    S r4   r  c                 
    ddgS r  rz   r8  s    r2   r9  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   c                     dgS r  rz   r8  s    r2   r9  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  s    cU r4   c                     dS r  rz   r8  s    r2   r9  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  s    3 r4   c                     dgS r  rz   r8  s    r2   r9  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  s    C5 r4   c                 
    ddgS r  rz   r8  s    r2   r9  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   c                 
    ddgS r  rz   r8  s    r2   r9  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   )r   r   r(   r)   r*   r   r  s      r2   &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*;#<=====r4   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  rL  r   r  r  r
   ic                 
    ddgS r  rz   r8  s    r2   r9  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>  
    3* r4   r'   r   rZ   c                 
    ddgS r  rz   r8  s    r2   r9  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>  r  r4   r!  c                 
    ddgS r  rz   r8  s    r2   r9  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda> 	  r  r4   c                     dS r  rz   r8  s    r2   r9  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda> 	  s     r4   r  rp   rk   c                 
    ddgS r  rz   r8  s    r2   r9  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  r  r4   c                     dgS r  rz   r8  s    r2   r9  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  s     r4   r"  c                     dS r  rz   r8  s    r2   r9  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  s    c r4   c                     dgS r  rz   r8  s    r2   r9  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  s    se r4   c                 
    ddgS r  rz   r8  s    r2   r9  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  r  r4   c                 
    ddgS r  rz   r8  s    r2   r9  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  r  r4   )
r   r   r   r$  r   r(   r)   r*   r   r   )r@   r0   r   r   s       r2   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'''''r4   N)r   r   r   r  r  r  r  rz   r4   r2   r  r    sP        % % %8; ; ;> > ><7( 7( 7( 7( 7(r4   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$   rQ   rf   rl   r  r  z2020-08)r   r   r(   r)   r*   r   s       r2   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/////r4   c                     t          j        ddd          }|                                }|j        d d         }|j        d d         }t          j        ||           d S )N
2017-01-01
2018-01-01r|  ri  r  r:  z2017-12r!  )r   period_range	to_seriesr(   r   r)   r   )r@   pir  r   r1   s        r2   8test_loc_getitem_partial_string_slicing_with_periodindexzQTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_with_periodindex3	  s]    _<\LLLllnn)$8CRC=
vx00000r4   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   )r@   r   r  r   r1   s        r2   ;test_loc_getitem_partial_string_slicing_with_timedeltaindexzTTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_with_timedeltaindex;	  s[    7tDDDllnn(#8CRC=
vx00000r4   c                     t          dt          d          it          t          d          d                    }|j        d         }|j        d         }t          j        ||           d S )Nr   rl   daysrx  r
   r   0 days)r   r   r   r   r(   r)   r   )r@   r0   r1   sliceds       r2   #test_loc_getitem_str_timedeltaindexz<TestPartialStringSlicing.test_loc_getitem_str_timedeltaindexC	  sa    U1XXl588&.Q.Q.QRRR71:!
vx00000r4   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 )Nrf   rp   z
2019-12-30z
2020-01-01z
2019-12-25r  z
2019-12-19r  r
   r>   )r   r   r   r)   r   r(   )r@   tz_aware_fixturer  r?  rM   r1   r   r   s           r2   /test_loc_getitem_partial_slice_non_monotonicityzHTestPartialStringSlicing.test_loc_getitem_partial_slice_non_monotonicityJ	  s   
 oC!Gl++l++l++=>>l++ $	 	 	
 
 
 #?C!Gl++=>> $  	
 	
 	
 k22W
)))!
)))))r4   )r   r   r   r  r  r  r  r   r   r   r  rz   r4   r2   r  r  %	  s        0 0 01 1 11 1 11 1 1 []T3R,STT!* !* UT!* !* !*r4   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 )Nr+  r   r   c           	      4    g | ]}t          d d|dd          S   rf   rk   r   r   r  s     r2   r   zMTestLabelSlicing.test_loc_getitem_slicing_datetimes_frame.<locals>.<listcomp>v	  s(    FFFA8D!QB//FFFr4   r  r
   r,  c           	      4    g | ]}t          d d|dd          S r  r  r  s     r2   r   zMTestLabelSlicing.test_loc_getitem_slicing_datetimes_frame.<locals>.<listcomp>|	  s(    IIIA8D!QB//IIIr4   )rf   r>   r>   rl   ro   r  rf   rk   ro   r  z20010101 11)r   r   r   r(   r   r)   r*   r   )r@   	df_uniquedf_dupsr0   r   r1   s         r2   (test_loc_getitem_slicing_datetimes_framez9TestLabelSlicing.test_loc_getitem_slicing_datetimes_framep	  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 	4r4   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/Berlinrp   z30 min)r  rj  r:  )r   rf   r>   rl   ro   r
   z2017-10-29 02:30:00+02:00r  z2017-10-29 02:00:00+01:00r>   rl   ro   )r   r   r   r(   r)   r   )r@   rd  series2t_1t_2r   r1   s          r2   '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!!!!!!r4   r   r  r  r|  r  r  r  r  c                     |                                 }|j        d |d                  }|j        d d         }t          j        ||           d S )Nr"  r!  )r  r(   r   r)   r   )r@   r   r  r   r1   s        r2   -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0r4   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|@r>   rl   r>   r
   g3333c|@g    |@g3333|@g|@rl   )r   r   r   r   r(   r  )r@   r   r0   s1s       r2   %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!||||||r4   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 )Nr>   rk   rZ   r   r
   rs  r   g      )@rn   gffffff(@)r   r   r   r   r   r  r(   r   )r@   ru  r=   r  rd  s        r2   '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''''''r4   zstart,stop, expected_slicer   nsNr  rf   rA  rm   rn   ro   rp   c                     t          t          d          t          dd                    }|j        t	          ||                   }|j        |         }t          j        ||           d S )Nr  r  z10 days)r   r   r   r(   r   r   r)   r   )r@   ri  stopexpected_slicer  r   r1   s          r2   $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0r4   ri  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   rJ   r(   )r@   r?  ri  rM   s       r2   )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(  r_  c                      |t          d          |dddg          }|j        |d         } |t          d          |dddg          }t          j        ||           d S )Nro   r  r>   thirdr
   )r   r(   r)   r   )r@   r?  r(  rM   r   r1   s         r2   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
)))))r4   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 )	Nrf   r>   rl   )testrf   r>   r   r
   r   )r   r   r<   )r   r   r$  r)   r*   r(   r   s      r2   *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6r4   )r   r   r   r  r  r   r   r   r   r  r   r  r  r   r   r  r   r%  r,  r/  r2  rz   r4   r2   r
  r
  o	  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 7r4   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:  r$  rL  r   )r  r   r   rJ   r(   )r@   r   r?  r5  messagerM   s         r2   '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:  r   r$  rL  )r   r(   )r@   r?  r5  rM   s       r2   test_loc_bool_should_not_raisez<TestLocBooleanLabelsAndSlices.test_loc_bool_should_not_raise	  sC    ouY777x
 
 
 	
r4   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 slicer$  rL  r   TF)r   r   r   r(   )r@   r   r?  r7  rM   s        r2   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   r8  r:  r<  rz   r4   r2   r4  r4  	  s        [\D%=99$ $ :9$ [\D%=99  :9         r4   r4  c                       e Zd Zd Zej                            dddg          d             Zd Zd Z	e
j        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   rk   r  rx  rl   )
r   rf   r>   rl   rk   rk   rk   rk   rk   rk   )
r   rf   r>   rk   ro   rp   rm   rn   r   r  )
rk   rk   rk   rl   ro   rp   rm   rn   r   r  rI  r  )	r   r   r   r   r  r   r(   r)   r*   )r@   r0   
conditionsexpected_datacondr   r   r1   s           r2   )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 
	4r4   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~   20010101ro   r  r$   r
   r   )
r   r   r   r   r   r
  r   r(   r)   r*   )r@   r  r<  rd  r0   r   s         r2   +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)))))r4   c           	         t          t          j        d                              dd          t	          d          t          ddd                    }|                                }|j        d	         gt          j	        t          j	        gz   |d
<   |j
        dk     }|j        |         j        |j        |d
f<   t          j        ||           d S )Nr-  rl   r>   ABr7  r  )rj  r:  r   r   r   rf   )r   r   r   r  r   r   r   r   r   r   r'   r(   r)   r*   )r@   r0   r1   r<  s       r2   2test_loc_setitem_mask_and_label_with_datetimeindexzETestLocBooleanMask.test_loc_setitem_mask_and_label_with_datetimeindex8
  s     IcNN""1a((JJZ>>>
 
 

 7799!*+rvrv.>>taxF4L.tSy
b(+++++r4   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colrf   TF)	r   r   r   r   r   _valuer(   r)   r*   )r@   td1td2r0   df_copyr  r1   r   s           r2   'test_loc_setitem_mask_td64_series_valuez:TestLocBooleanMask.test_loc_setitem_mask_td64_series_valueG
  s    ll)**vsCj11233''))cUmme9>!$+ #e}E")6!!!!
b'*****r4   c                 
   |                                 }|d         dk    }d|j        |df<   |j                                         }d||j        df<   t          ||j        |j                  }t          j        ||           d S )Nr'   r   r   rf   r  )r   r(   r   r   r   r<   r)   r*   )r@   rc  r1   r<  r   s        r2   #test_loc_setitem_boolean_and_columnz6TestLocBooleanMask.test_loc_setitem_boolean_and_columnV
  s    ##%%3!#%&c	"%%''!"t{A~V8>8CSTTT
k844444r4   c                 X   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          j        |          5  t	          g d
g d          |j        g d<   d d d            n# 1 swxY w Y   |rt          j        ||           d S t          j        ||           d S )Nr   r  r   r$   r   )r>   rf   r   r
   )FFT)rf   r>   rk   r  )r   r(   r)   r*   r   r   r  )r@   r  r  r0   r1   r   r  s          r2   )test_loc_setitem_ndframe_values_alignmentz<TestLocBooleanMask.test_loc_setitem_ndframe_values_alignmentb
  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"#566 	R 	R,2<<<yyy,Q,Q,QCG((()	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	0!"g.....!"h/////s    E11E58E5c                    t          g g dt                    }|                                }|d                                         |j        t	          j        g t          j                  dgf<   t          j        ||           d S )Nr   r   r$   	r   r$  r   r(   r   r   bool_r)   r*   r   s      r2    test_loc_indexer_empty_broadcastz3TestLocBooleanMask.test_loc_indexer_empty_broadcast
  sr    Rb))888779968gllnnrx"(+++cU23
b(+++++r4   c                    t          dgdgdt                    }|                                }|d                                         |j        t	          j        dgt          j                  dgf<   t          j        ||           d S )Nr   r\  r   r   r#   Fr$   rV  r   s      r2   $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(+++++r4   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   r\  r   r   r#   Tr$   rV  r   s      r2   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(+++++r4   )r   r   r   rC  r   r   r   rF  rI  rP  tdskip_array_manager_invalid_testrR  rT  rX  rZ  r\  rz   r4   r2   r>  r>  
  s        4 4 4, [TD%=11* * 21* , , ,+ + + '	5 	5 ('	50 0 0@, , ,, , ,, , , , ,r4   r>  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 ry   rz   r8  s    r2   r9  zTestLocListlike.<lambda>
  s    q r4   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   rl   r
   r!  rf   r  r   )r   r   r   r   r   r(   r)   r   r  r*   r   r   rJ   )r@   r  cir  r   ser2ci2r   s           r2   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-02rh  z
2001-01-14r  r   )r>   rp   r   r  z
2001-01-01rA  ro   r!  r  r   )r   r   r   r   r   r   rJ   r(   )r@   ra   r  s      r2   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   r   r   r   r   rJ   r(   rh  s     r2   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  rd  )r:  r   皙?皙?r  r   c                 8    g | ]}|                     d           S rA  rm  r   s     r2   r   zRTestLocListlike.test_loc_getitem_listlike_of_datetimelike_keys.<locals>.<listcomp>
  $    333AKK$$333r4   T)r  c                 8    g | ]}|                     d           S rs  rt  r   s     r2   r   zRTestLocListlike.test_loc_getitem_listlike_of_datetimelike_keys.<locals>.<listcomp>
  ru  r4   )rq  rq  rp  )r   r=   
2011-01-03c                 8    g | ]}|                     d           S rs  rt  r   s     r2   r   zRTestLocListlike.test_loc_getitem_listlike_of_datetimelike_keys.<locals>.<listcomp>
  ru  r4   r  r   )r   rm  r   r   r(   r   r>  r)   r   r   r=   r   r   rJ   )r@   rm  rd  r  r  r   r   s          r2   .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 )Nrf   r>   ro   rp   rn   r   )cobraviper
sidewinder	max_speedshieldr  r   r{  r|  r   )r   r   r   r   r(   r   r)   r*   r   s       r2   test_loc_named_indexz$TestLocListlike.test_loc_named_index
  s    VaVaV$222 (+
 
 

 72A2;#w0u===>
fh/////r4   N)r   r   r   r   r   r   r   asarrayr   rf  ri  rl  ry  r  rz   r4   r2   r`  r`  
  s        [U[["*d$CDD* * ED*6  E E E [[4-88' ' 98'R
0 
0 
0 
0 
0r4   r`  z%columns, column_key, expected_columns)  r  i  r  r  rf   )r  r  Allr  r>   c                    t          t          j                            d                              d          | t	          d                    }|j        d d |f         }|j        g d|f         }t          j        ||d           d S )Nr>   r  r  r   r   Tr  )	r   r   r   r   r   r   r(   r)   r*   )r<   
column_keyexpected_columnsr0   r1   r   s         r2   *test_loc_getitem_label_list_integer_labelsr  
  s     

	a  ''//U
 
 
B wqqq**+HVOOOZ/0F&(dCCCCCCr4   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 )Nr>   )r   ro   rs  r   rf   )r  rU  r   rg   rs  r   )r   r   r   r  r   r   r(   hstackr   r  r)   r*   )	rand_datar   rA  r1   s       r2   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&(+++++r4   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 ))rn   r   r  rk   rz   )r   yrr~  s      r2   r   z)test_loc_axis_1_slice.<locals>.<listcomp>!  s)    BBBMBBqRGBBBBr4   )  r   )rk   r   
ABCDEFGHIJr  rf   r  r  r  r   r   r  )r  )r  rk   )r   rn   r  )	r   r   r  r  r   r  r(   r)   r*   )r  r0   r   r1   s       r2   test_loc_axis_1_slicer    s    BBlBBBD	
L!!&t,,
 
 
B
 VVV^^Ii/0F
L!!&'T'T'TUU  H
 &(+++++r4   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$   r>   r  r   r  )r   r   r   r  r   r(   r)   r*   )r1   r   s     r2   !test_loc_set_dataframe_multiindexr  0  s    588Z%<eAhha=Q%R%R  H ]]__F$jVH5FJq6({&(+++++r4   c                      t          t          d          t          ddgt                              } | j        d         }|dk    sJ d S )Nr>   rf   r   r   r   )r   r   r   r$  r(   )r  r   s     r2   test_loc_mixed_int_floatr  :  sD    
q5!S888
9
9CWQZFQ;;;;;;r4   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 )Nro   r@  r
   $Slicing a positional slice with .locr   r>   rl   )r   r   r   r   r   r(   )r  s    r2   %test_loc_with_positional_slice_raisesr  B  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  rl   rj  r>   r  r
   r   zOcannot do slice indexing on DatetimeIndex with these indexers \[1\] of type intr   rf   r  )	r   r   r   r   r   r   r   r   r(   )dtir0   r  r   rM   s        r2   #test_loc_slice_disallows_positionalr  J  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 )Nr>   r  r  2012r}  rp   r!  r   )r   r>   r>   rl   z/None of \[TimedeltaIndex.* are in the \[index\]r   r$   )r   r   r   r   r  r   r   r   r   r   TimedeltaIndexasi8r   r   rJ   r(   )r0   r  rz  r   s       r2   'test_loc_datetimelike_mismatched_dtypesr  f  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-12r|  r9  r>   )r  rk   r
   r   rp   )r   r  r   r   r   r   r  r)   r*   r(   r   r   )rd  r0   s     r2   "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0r4   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 )Nr>   )r   rm   r7  r   r  )r'   r   r   rA  EFr  rf   r   r   )r   r   r   r  r   r   r   r(   r   r)   r*   )r  rd  r  r   r   s        r2   %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#####r4   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  )rf   r   r   rf   )r   r\  r  rf  rm   rp   r  re   )r.  r  )
r   r  r   r   r(   r   r)   r*   xsr   )rP  rQ  lev3r  r0   r   r1   altr  	expected2alt2r  s               r2   '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<<<<<<r4   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  )rp   rm   rn   r   rf   r>   r  r  )r   r<   r=   rQ   rp   r  )r   r   r   r   Tr   r   r=   r(   r   r<   r)   r   r
  r$  )r0   r   r   r1   s       r2   /test_loc_getitem_nullable_index_with_duplicatesr    s    	X|||\\\Aq"&"&3IJKKM
 
 
B
 ,,s

C9?g%%%%
'!*Cq!fCKwQGGGH3))) 	  ((CI
'!*C3)))))r4   r(  r   c                 J   t          g ddgd          }t          j        t          d          5  | |j        d<   d d d            n# 1 swxY w Y   t
          rt          | t          j                  rd}nd	}t          g d
dg|          }t          j	        ||           d S )Nr  r   uint8r;   r   r   )r>   r   int16uint16)rf   r>   r   ro   )
r   r)   r   r   r(   r   r   r   r  r*   )r(  r0   r=   r1   s       r2   test_loc_setitem_uint8_upcastr    s     
<<<&	A	A	AB		#M9U	V	V	V " "!y" " " " " " " " " " " " " " "  *UBH55  &GGGH"h'''''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=   )rk   r  r  r  r$   r   r  )
2022-01-08r$   r  r   T)exact)	r   r   r  r   r(   r  r)   r  r   )fill_val	exp_dtyper   r   r0   expected_indexs         r2   0test_loc_setitem_using_datetimelike_str_as_indexr    s     ,hmmooFD$8;i@@@E	###cU%	@	@	@B "BFKK"4y999N"(N$??????r4   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 )Nabcrp   r   r$   r#   rQ   )r   rf   r>   r   )r   r   r(   r)   r*   )r0   r1   s     r2   test_loc_set_int_dtyper    se    	DKK=	!	!BBF111f9cUu#DDEEH"h'''''r4   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   r:  )r'   r   rU  )r'   r   r   )r  Qrg   )Wr  r+  )ONETWOVALUESr  r  r  T)r  r  r   r'   rU  )r   r   r   r(   )p_index	mi_seriess     r2   test_loc_periodindex_3_levelsr    s     LLL  G
 	///???OOOL(((  I
 ##UEN4#@@JI='!*c3/0C777777r4   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 )Npyarrowr   zstring[pyarrow]r   )TTF)stringsr  r  r{  r  )r  r{  r   )r   rJ  r   r   r(   r  r)   r*   )r0   	new_valueexpected_dfs      r2    test_loc_setitem_pyarrow_stringsr    s    
	"""	ooo5FGGG---..	
 	

 
B Sz""I )BF269ooo5FGGG---..	
 	
 K "k*****r4   c                   4   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ej        d             Zd Zd Zd Z dS )TestLocSeriesrm  )rn  rl   )ro  ro   c                 P    t          ddd          }|j        |         |k    sJ d S )Nrl   ro   )rn  ro  )r   r(   )r@   rH  r1   r  s       r2   r  zTestLocSeries.test_loc_uint64  s6     1--..ws|x''''''r4   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rl   ro   rn   rp   r>      )r   r)   r   r(   r  r   truncatemedian)	r@   string_seriesdatetime_seriesindsd1d2r   r1   r<  s	            r2   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&/"*=======r4   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 )Nrp   r  r>   )rf   r>   r   z"Timestamp\('2000-01-10 00:00:00'\)r   r   )r   r   r   r   rJ   r(   )r@   r  r  r  ts2r   s         r2   test_loc_getitem_not_monotonicz,TestLocSeries.test_loc_getitem_not_monotonic7  s9    &2w/Bccc"'			23]83/// 	 	GBrENN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]83/// 	 	CGBrEN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   A$$A(+A(
B$$B(+B(c           
      4   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            }t          j        t"          d          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            d S # 1 swxY w Y   d S )Nr>   rk   r   rZ   r
   ro   rl   r  rm   )ro   rm   r   rk   rp   r  r!  z^3$r   )r   r   r   r   r  r   r   r   r   rB  r   r(   r  r)   r   r   r   rJ   )r@   r  cpr   r  r1   s2s          r2   0test_loc_getitem_setitem_integer_slice_keyerrorsz>TestLocSeries.test_loc_getitem_setitem_integer_slice_keyerrorsB  sd   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'<'<<=]86222 	 	F1R4LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]86222 	 	BF1R4L	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   1GGG3HHHc                     t          |j        d d                   }|j        |         }t          j        ||d d                    d S )Nrk   )r  r   r(   r)   r   )r@   r  rd  r   s       r2   test_loc_getitem_iteratorz'TestLocSeries.test_loc_getitem_iterator_  sJ    =&ss+,,"3'
v}SbS'9:::::r4   c                     ||                                 k    }|                                }d|j        |<   |}d||<   t          j        ||           d S )Nr   )r  r   r(   r)   r   )r@   r  r<  r   r1   s        r2   test_loc_setitem_booleanz&TestLocSeries.test_loc_setitem_booleand  s\    }33555##%%
4 
vx00000r4   c                     t          |j        g d                   }d|j        |<   d}t          j        t
          |          5  d|j        |dgz   <   d d d            d S # 1 swxY w Y   d S )N)rp   r   r  rp   z\['foo'\] not in indexr   r   )r   r   r(   r   r   rJ   )r@   r  r  r   s       r2   test_loc_setitem_cornerz%TestLocSeries.test_loc_setitem_cornerm  s    M'


344"#$']83/// 	2 	201MdeWn-	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)rp   rk   r  r   r>   )r   r   r(   r)   r   )r@   r  indicesr  r   s        r2   test_basic_setitem_with_labelsz,TestLocSeries.test_basic_setitem_with_labelst  s    !'4!!##""$$7
r3'''!!##""$$&'71:
"#+,
WQZ'(
r3'''''r4   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 )
Nr>   rk   r   rZ   r
   )r   ro   rm   r   ro   rp   rm   z\[5\] not in indexr   )r   r   r   r   r  r   r   r   r   r(   r)   r   r   r   rJ   	Exception)	r@   r  r  arr_indsr  r   inds_notfoundarr_inds_notfoundr   s	            r2   !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 )Nro  rl   r  r  r  r
   rw  r  r$   r   )r   r   r   r   r(   r   )r@   r  r  r1   r   s        r2   test_loc_setitem_dt64tz_valuesz,TestLocSeries.test_loc_setitem_dt64tz_values  s    |Q<@@@!//
 
 
 XXZZ\l;;;s!!!!XXZZ
!!!!XXZZ3C!!!!!!r4   array_fnr0  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   abcderL  r$   )r   r   r$  r(   r)   r   r   )r@   r0  r  r  r1   r  s         r2   #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-----r4   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'   r8   )r   r  )   rA  rI  rk  r  r   rf   )r   r   r  r   r   r   r(   )r@   r   r  r   s       r2   +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  rp   rk   r  rm   rt  ro   )r   r   r(   r   r)   r   )r@   r  r  r   r1   r  r  s          r2   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%%%%%%r4   r=   r$  rY  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 )
Nr  defghijklr   r   newAnewBr   r  )r@   r=   r0   r1   s       r2   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(+++++r4   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   rm   r  rx  r   )r   r(  rf   r   )r   r   r(   r)   r*   r2  s      r2   ,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/////r4   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 )Nrf   r>   r$   r  rm   rn   r#   rQ   r$  r   r  r
   )r   r(   r   r   r   r)   r*   r   s      r2   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(+++++r4   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   2000rZ   r   rh  r
   z
2000-01-14r  )r)   r   r   r   r  r   r   r(   )r@   r   r   r-   s       r2    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  r   rH  r
   stable)rB   )r   r   r   r   r   r   r  intpr(   argsortr
  r   r  r)   r*   )r@   r  r   r0   r   r1   s         r2   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/////r4   )!r   r   r   r   r   r   r  r  r  r  r  r  r  r  r  r  r   r   r   r   r  r  r   r   r  r  r
  r]  r^  r  r  r  r  rz   r4   r2   r  r    s       [^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 
0 
0r4   r  )[__doc__collectionsr   r   r   r   r   r+  dateutil.tzr   numpyr   r   pandas._configr	   pandas._libsr   rb  pandas.compat.numpyr   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   r3   r6   r   r  r  r\  r  r  r
  r4  r>  r`  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rz   r4   r2   <module>r(     s   * * " " " " " "            
			            5 5 5 5 5 5 * * * * * * . . . . . . ' ' ' ' ' ' ) ) ) ) ) ) ) ) )                                           (       & & & & & & 6 6 6 6 6 6 K K K K K K &
&"&#	bfbf 57J7J7JK
&#bft}5 1 1 1{ { { { { { { {|U, U, U, U, U, U, U, U,p,:( :( :( :( :( :( :( :(zs: s: s: s: s: s: s: s:lV, V, V, V, V, V, V, V,r( ( ( ( ( ( ( (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               :E, E, E, E, E, E, E, E,P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0 I0 I0 I0 I0 I0 I0 I0 I0 I0r4   