
    o[wei             	       :   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c mZ ddlZddlmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z& ddl'm(Z) ddl*m+Z+ dd	l,m-Z- dd
l.m/Z/ ej0        1                    dej2        ej2        dgdej2        ej2        gg dgej2        dgdej2        gddggg          d             Z3 G d d          Z4 G d d          Z5 G d d          Z6 G d d          Z7 G d d          Z8 G d d          Z9 G d d          Z: G d  d!          Z; G d" d#          Z< G d$ d%          Z= G d& d'          Z>ej0        1                    d(g d)d*d+gdd,gfg d-d*d+gdd,gfg d-d*d.gdd/gfg          d0             Z?d1 Z@d2 ZAd3 ZBd4 ZCd5 ZDd6 ZEd7 ZFd8 ZGd9 ZHd: ZId; ZJej0        1                    d<d= ejK        d=           ejL        d=          g          d>             ZMej0        1                    d? e"d@          dAf e"dBdCD          dEfg          dF             ZNdG ZOej0        P                    dH          ej0        P                    dI          dJ                         ZQdK ZR G dL dM          ZSdS )Nz$ test label based indexing with loc     )
namedtuple)datedatetimetime	timedeltaN)gettz)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        >lib/python3.11/site-packages/pandas/tests/indexing/test_loc.pytest_not_change_nan_locr/   -   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$   selfr,   s     r.   "test_none_values_on_string_columnsz*TestLoc.test_none_values_on_string_columns>   s7    '''#eDDDvf~%%%%%r0   kindr)   framec                 f    |                     | d          }t          |ddt                     d S )N_labelsr$   r:   failsgetfixturevaluer   KeyErrorr<   r>   requestobjs       r.   test_loc_getitem_intzTestLoc.test_loc_getitem_intD   s=     %%&6&6&677*3qIIIIIIr0   c                 f    |                     | d          }t          |ddt                     d S )N_emptyr$   crB   rD   rG   s       r.   test_loc_getitem_labelzTestLoc.test_loc_getitem_labelJ   s:     %%ooo66*3s(KKKKKKr0   zkey, typs, axesf)intsuintslabelsmixedtsNfloats   )rP   rQ   rS   rR   rT   r   c                 v    |D ]5}|                     | d|           }t          |d||t                     6d S N_r$   axesrC   rD   r<   keytypsr[   r>   rH   typrI   s           r.   #test_loc_getitem_label_out_of_rangez+TestLoc.test_loc_getitem_label_out_of_rangeP   sa      	 	C))T//C//::C.UCd(    	 	r0   z	key, typsr      r:   )rP   rQ   rU   )rb         @r#   c                 t    |D ]4}|                     | d|           }t          |d|t                     5d S )NrY   r$   rB   rD   )r<   r]   r^   r>   rH   r_   rI   s          r.   test_loc_getitem_label_listz#TestLoc.test_loc_getitem_label_listd   sX      	P 	PC))T//C//::C.sE3hOOOOO	P 	Pr0   empty)r   r:   
   )         rb   ))rb   rh   )rb      )r:      multic                 v    |D ]5}|                     | d|           }t          |d||t                     6d S rX   rD   r\   s           r.   (test_loc_getitem_label_list_with_missingz0TestLoc.test_loc_getitem_label_list_with_missingr   sa      	 	C))T//C//::C.UCd(    	 	r0   r^   rP   rQ   c                 p    |                     | d|           }t          |dg ddt                     d S )NrY   r$   )rV      (   rb   rZ   rD   )r<   r^   r>   rH   rI   s        r.   !test_loc_getitem_label_list_failsz)TestLoc.test_loc_getitem_label_list_fails   sU     %%&6&6&6&677*1H	
 	
 	
 	
 	
 	
r0   c                     d S N r<   s    r.   !test_loc_getitem_label_array_likez)TestLoc.test_loc_getitem_label_array_like   s	     	r0   c                 n    |                     | d          }g d}t          |d|t                     d S )NrL   TFTFr$   rB   )rE   r   
IndexError)r<   r>   rH   rI   r   s        r.   test_loc_getitem_boolzTestLoc.test_loc_getitem_bool   sC    %%ooo66&&&*3q
KKKKKKr0   zslc, typs, axes, failsrh   )rR   rS   rf   rT   rU   2013010220130104r:      rS   rk   c                 l    |D ]0}|                     | d|           }t          |d|||           1d S rX   )rE   r   )	r<   slcr^   r[   rC   r>   rH   r_   rI   s	            r.   test_loc_getitem_label_slicez$TestLoc.test_loc_getitem_label_slice   se    ,  	 	C))T//C//::C.    	 	r0   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 )NrV   r       col1col2)rg   rb   rb   r8   indexr:   )rb   r   r   rb   )r   nparanger$   r%   r&   r<   r,   r-   s      r.    test_setitem_from_duplicate_axisz(TestLoc.test_setitem_from_duplicate_axis   s    #Yc
S#J/V$**
 
 

 IaLLy#YC1c(+ff5EZZZ
 
 
 	b(+++++r0   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rb   r:   rh   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<   r,   df2r-   s       r.   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(+++++r0   zobj, key, expFr8   namer   c                     |j         |         }t          |t          t          f          rt	          j        ||           d S ||k    sJ d S ru   )r$   
isinstancer   r   r%   assert_equal)r<   rI   r]   express        r.   #test_loc_getitem_single_boolean_argz+TestLoc.test_loc_getitem_single_boolean_arg   sO     gclcIv.// 	OC%%%%%#::::::r0   )__name__
__module____qualname__r=   pytestmarkparametrizerJ   rN   r`   re   ro   rs   rx   r|   slice	TypeErrorrF   r   r   r   r   r   r   r   r   rv   r0   r.   r2   r2   =   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	
     r0   r2   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+d= Z,ej                            d>d?g e-d@d?d@           ej        d?g          g          ej                            dAdBg ej        dBg          g          dC                         Z.ej                            dDd)dEgg dFfdG e/g dHdIdJej0        ej0        gg dHgg dFK          fdLdMdNgfdGdOg e/dLdEej0        ej0        gg dPdQdRej0        ej0        ggg dFK          fdLg dSf ej        g dTej        *           e/dLdEej0        gg dTdQdRej0        ggg dSK          f e-dLdId@          g dUfg dTg dVg e/dLdEej0        ej0        gg dWg dXgg dFK          f e-dLdId@          g dYf ej        g dTg dVgej        *           e/dLdEej0        ej0        gg dZg d[gg dFK          f e-d@d@d@          d?dMgf e/dGdOgd\d]gd^d_ggd?dMgK           e/g d`g dag dbgg dSK          fg          dc             Z1dd Z2de Z3df Z4dg Z5dh Z6ej        j7        ej                            didjdkgdldmgg          dn                         Z8do Z9dp Z:dq Z;dr Z<ds Z=dt Z>du Z?dv Z@dw ZAdx ZBdy ZCdz ZDd{ ZEd| ZFd} ZGej                            d~g d          ej                            dej        ejH        eIg          d                         ZJd ZKd ZLd ZMej                            d>ddg          d             ZNej                            deOej        ePeQg          d             ZRd ZSej                            dd ePdLg          fd ePdEg          fg          d             ZTd ZUej                            dd)g df e-dJdO          g dfdIdQgg dfg          d             ZVd ZWd ZXd ZYej                            dddgg          d             ZZd Z[ej                            dd?d?gd? e-d@          fg          d             Z\d Z]d Z^d Z_d Z`d Zaej                            dddg          d             Zbd Zcd Zdd Zed Zfd Zgd@S )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<   r,   resultr-   s       r.   test_loc_npstrz%TestLocBaseIndependent.test_loc_npstr   sg    Z77888*..q13347344=
fh/////r0   zmsg, keyz'Period\('2019', 'A-DEC'\), 'foo', 'bar'  foobarz&Period\('2019', 'A-DEC'\), 'y1', 'bar'y1z&Period\('2019', 'A-DEC'\), 'foo', 'z1'z1z;Period\('2018', 'A-DEC'\), Period\('2016', 'A-DEC'\), 'bar'    z&Period\('2018', 'A-DEC'\), 'foo', 'y1'z;Period\('2017', 'A-DEC'\), 'foo', Period\('2015', 'A-DEC'\)    z&Period\('2017', 'A-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   rg   rV   rq   )r#   r   CV1V2r#   r   r   matchN)r   r   	set_indexr   raisesrF   r$   )r<   msgr]   r,   s       r.   ;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    rb   u   אr   )r   r   r   rF   r$   r;   s     r.   $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:   )rV   rl   c                 $    g | ]}d |dz           S )ABCDErl   rv   .0xs     r.   
<listcomp>z@TestLocBaseIndependent.test_loc_getitem_dups.<locals>.<listcomp>5  s     555a71q5>555r0   rV   r   )r#   r   r   r#   )r   r   randomdefault_rngranger$   r%   assert_series_equalr<   r,   r-   r   s       r.   test_loc_getitem_dupsz,TestLocBaseIndependent.test_loc_getitem_dups0  s     I!!!$$++G4455599555
 
 
 6&>1!#&
vx00000r0   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 )
Nrb   r:   r   r   20130101)r    r    r    r    r    r   r   r   r   )r   r   r   r   r%   r   r$   r   s       r.   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0r0   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aaaderl   float64r9   gq=
ףp?r:   g(\տ)mer   r   bar2r   rr   r          @)r   r   t)
r   listr   r   r   copyr$   r%   r   r&   )r<   df_origindexerr,   s       r.   test_loc_setitem_dupsz,TestLocBaseIndependent.test_loc_setitem_dupsO  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Jr0   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   rb   rb   )d   r   ,  uint32r   r    r   r    rb   r   )r      i-  uint64item of incompatible dtyper   )r   r   r$   r%   r&   assert_produces_warningFutureWarning)r<   df1ixnewb1r-   r   newb2s          r.   test_loc_setitem_slicez-TestLocBaseIndependent.test_loc_setitem_slicer  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   rM   r    r   rM   float32r   r   )r   r$   astyper   r   r%   r&   )r<   r,   colsr-   s       r.   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(+++++r0   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 )	Nrh   r  r   not in indexr   r    dr   )r   r   r   r   rF   )r<   ss     r.   $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   TFrz   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       r.   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 ru   rv   rw   s    r.   test_loc_getitem_int_slicez1TestLocBaseIndependent.test_loc_getitem_int_slice  s    r0   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:   rh   rh   r  )erO   gr   r8   z$\"None of \[Index\(\[1, 2\], dtype=''\)\] are in the \[index\]\"r   rb   )
r   r   r   r   r9   intr   r   rF   r$   r<   r,   r   s      r.   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        dg          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   rb   r:   r    z^-1$r   z&\"None of \[Index\(\[-1, -2\], dtype='r  zE\"None of \[Index\(\['4'\], dtype='object'\)\] are in the \[index\]\"4rh   r  z"\"None of \[Index\(\[-2\], dtype='r   )	r   objectr$   r   r   rF   r   r9   r  r<   r  r   s      r.   test_loc_to_fail2z(TestLocBaseIndependent.test_loc_to_fail2  sx       ac
]87333 	 	E"II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	"bhsmm " " " 	 ]83/// 	 	E2r(OO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 W]83/// 	 	E3%LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 b	]8>::: 	 	E2r(OO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 #""(3-- " " " 	 ]83/// 	 	E2$KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 cF]83/// 	 	AE2$K	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sl   AA#&A#"B>>CC&DDD1EEEF00F47F4G22G69G6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   rb   r:   valuer  z!\"None of \[Index\(\[3\], dtype='r  r   rh   )r   r   r9   r  r   r   rF   r$   r  s      r.   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   rh   r  )
r   r$   r   r9   r  r   r   rF   reescaper"  s      r.   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:   )rl   rg   size)alpha_0alpha_1alpha_2beta_0beta_1r   c                 
    d| v S )Nalpharv   r   s    r.   <lambda>z7TestLocBaseIndependent.test_loc_index.<locals>.<lambda>  s
    gl r0   booleanr   )r   r   r   r   r   mapr$   r   r%   r&   r   r   )r<   r,   maskr-   r   s        r.   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/////r0   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:   rk   rk   r#   r   r   Dr   r#   r   r   r   rb   r   r    r   r   )r   r   r   r   r$   r   r8   allr   r   r   r%   r   r9   r!  r   s       r.   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%%%%%%r0   c                     t          t          dd          t          t          d          t          j                  d          S )N
2000-01-01	2000-01-5rl   r   r   val)r   r   r   r   r   int64rw   s    r.   frame_for_consistencyz,TestLocBaseIndependent.frame_for_consistency0  sC    "<==eAhhbh777 
 
 	
r0   rE  r   r   )r   r   r   r   r   c                 2   t          t          dt          d          t          j                  t          t          d          t          j                  d          }|                                }||j        d d df<   t          j        ||           d S )Nr   rl   r   r9   r   rD  r   	r   r   r   r   rF  r   r$   r%   r&   )r<   rG  rE  r-   r,   s        r.   test_loc_setitem_consistencyz3TestLocBaseIndependent.test_loc_setitem_consistency9  s     qaAAAeAhhbh777 
 
 #''))qqq&y
b(+++++r0   c                    t          t          dt          d                    t          t          d          t          j                  d          }|                                }d|j        d d df<   t          j        ||           d S )Nr   rl   r   r   rD  r   rJ  r<   rG  r-   r,   s       r.   (test_loc_setitem_consistency_dt64_to_strz?TestLocBaseIndependent.test_loc_setitem_consistency_dt64_to_strJ  s     uE!HH555eAhhbh777 
 
 #''))!qqq&y
b(+++++r0   c                    t          t          dt          d                    t          t          d          t          j                  d          }|                                }d|j        d d df<   t          j        ||           d S )N      ?rl   r   r   rD  r   rJ  rM  s       r.   *test_loc_setitem_consistency_dt64_to_floatzATestLocBaseIndependent.test_loc_setitem_consistency_dt64_to_floatX  s     s%((333eAhhbh777 
 
 #''))qqq&y
b(+++++r0   c                     t          dt          t          d          g          i          }d|j        d d df<   t          dt          dg          i          }t	          j        ||           d S )Nr   20180101string)r   r   r   r$   r%   r&   r   s      r.   'test_loc_setitem_consistency_single_rowz>TestLocBaseIndependent.test_loc_setitem_consistency_single_rowe  sr     	*(=(='> ? ?@AA$qqq&yffhZ&8&89::
b(+++++r0   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   rb   )r   r%   r   r$   r&   r  r   rF  r<   r-   r,   s      r.   "test_loc_setitem_consistency_emptyz9TestLocBaseIndependent.test_loc_setitem_consistency_emptym  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<   |j        d d df         t          d          z  |j        d d df<   t          g d|j
        d          }t          j        |d         |           d S )NRegion_1rk   )Site_1r\  Site_2r]  )l   BP[ l   _Z l   q=.Z l   <.Z )RegionSiteRespondentIDnames)
Respondentrc  rc  OtherCatrd  )	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:52rk  rk  z5/20/2015 8:27z5/20/2015 8:41)r#   z5/20/2015 8:33z5/20/2015 9:09rk  Nor  )rc  rf  )rc  rg  F)r   )rc  Durationl    Xp7 )g      7@      (@g      ,@g      B@r   )r   from_arraysr   r   r   r   r$   infer_objectsr   r   r   r%   r   )r<   levelsmiclevelsr  r   r,   r-   s           r.   -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,,- 13AA))1
n%%1&qqq,,- $$$BH;U
 
 
 	r"<=xHHHHHr0   unit)YMr>  hmr  msusc                    t          dt          j        d          t          j        d          gi          }|j        d d df         j                            d| d          |j        d d |f<   |j        d d df         j                            d| d          |d<   t          |j        d d df         |          }t          j        |j        d d |f         |           d S )N	timestampz2017-02-11 12:41:29z1991-11-07 04:22:37zdatetime64[]r-   r   )	r   r   
datetime64r$   r   r  r   r%   r   )r<   ru  r,   r-   s       r.   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9r0   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{?rz  T)ru  cachedate_dt
date_dt_cpr:   rh   )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<   r,   r-   r8   s       r.   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(+++++r0   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rh   rl   rk   r#   r   r8   r9   r   rF  r   rk   rh   rl   r:   rh   rb   rI  )r   floatr   r   r$   r   r%   r&   r<   r,   serr-   s       r.   #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(+++++r0   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  rT  r   rF  r   r  r  rI  )	r   r  r   r   r$   r   r  r%   r&   r  s       r.   )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(+++++r0   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  rT  rF  r   rh   r   r  )rc   r   rP  r   r   )r   r  r   r   r$   r   r%   r&   r   s      r.   *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(+++++r0   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          j        ||	           d S )Nc                 2    g | ]}d t          |          z   S @r6   r   is     r.   r   zGTestLocBaseIndependent.test_loc_setitem_empty_frame.<locals>.<listcomp>  "    000!s1vv000r0   rl   rF  r   c                 2    g | ]}d t          |          z   S r  r  r  s     r.   r   zGTestLocBaseIndependent.test_loc_setitem_empty_frame.<locals>.<listcomp>   r  r0   rk   r   r#   r   rI  r   )r   r   r   r   setunionr   r   r$   r   r   reindexr%   r&   )
r<   keys1val1keys2val2r   r,   seraserbr-   s
             r.   test_loc_setitem_empty_framez3TestLocBaseIndependent.test_loc_setitem_empty_frame  s,   00uQxx000y'***00uQxx000y'***SZZ%%e,,--U###&3!ucz&3!ucz d%rz:::d%(((4d3344<<5<II
b(+++++r0   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   rb   )r    r#   r   r   r>  )
r   r   r   r   standard_normalr   r   r$   r%   r&   r   s       r.   test_loc_setitem_framez-TestLocBaseIndependent.test_loc_setitem_frame  s    I!!!$$44V<<v,,LL
 
 
 x!{{{{{{{{qqq#c'z6!!!SW*%ABB
fh/////r0   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      r.   /test_loc_setitem_frame_nan_int_coercion_invalidzFTestLocBaseIndependent.test_loc_setitem_frame_nan_int_coercion_invalid'  sn     YYYRV4455#%4rtbd{C 99926::;;
b(+++++r0   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 )Nrb   r:   rh   rk   r    r   )rb   r:   r    r   r   r   r9   r   rl   ri   )r   r$   r   r   r!  r%   r   r&   r   s       r.   #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(+++++r0   c           	      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   bazrh   r   r   rb   r:   r   )r   r  r  )rb   r:   r:   rB  rC  rl   rD  200001012000010220000103)r   rb   r   rb   r:   rk   )r   r   r   r   rF  r$   r   r%   r&   r   r   )r<   r,   rhsr-   s       r.    test_loc_setitem_frame_multiplesz7TestLocBaseIndependent.test_loc_setitem_frame_multiples>  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(+++++r0   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 )Nrb   r:   rh   rk   r#   r   r   r   )r   r#   r  )r   r  r!  r$   r   )r<   r   r%  r,   r   s        r.   "test_loc_setitem_with_scalar_indexz9TestLocBaseIndependent.test_loc_setitem_with_scalar_indexc  sr     AA'#s<<<CCS&MRR"q'z  2Vs]]]]]]r0   zindex,box,expectedr:   r=  rj   )rj   rj   rj   rj   rh   rk   r   rb   r   r>  r   )rh   rk   rj   r   rl   ri   r   rj   r   	   )r   r   r>  rg         )rh   rj   r   r  )rl   rg   r  r  )r   r#   r>  )r   rk   rj   r  )r  ri   rg   r  r  rg   r  r  )rj   r:   r   )r  rk   rg   )r  ri   r  c                 |    t          ddgddgddggddg	          }||j        |<   t          j        ||           d S )
Nrb   r:   rh   rk   rl   ri   r#   r   r   r   r$   r%   r&   )r<   r   boxr-   r,   s        r.    test_loc_setitem_missing_columnsz7TestLocBaseIndependent.test_loc_setitem_missing_columnss  sR    j AAA/#sDDDu
b(+++++r0   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   rb   )	r   r   tz_localizer   r   dtypesr   r%   r   r   s       r.   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7r0   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     rb   i  r:   r   )r   r   r  r   r%   r   r   s       r.   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7r0   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:   rh   )r   r  r   r%   r   r   s       r.   test_loc_coercion3z)TestLocBaseIndependent.test_loc_coercion3  sv    $! ;<==91
v}h777
v}h77777r0   c                 X   t          d                              d          t          d                              d          g}t          |ddg          }t          t                    }|d          ||          d<   |d	          ||          d<   t	          j        ||           d S )
N*   r  i  r   r   r   r   r   rb   )r   r  r   r!  r%   r   )r<   
indexer_slvalsr-   r  s        r.   test_setitem_new_key_tzz.TestLocBaseIndependent.test_setitem_new_key_tz  s     OO''..((//
 $uen5556"""!%a

3!%a

3
sH-----r0   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rb   r:   rh   rk   rl   ri   )rh   rk   rl   ri   rj   r   r   )r   rb   r   rb   r:   rh   r   z5'Cannot get left slice bound for non-unique label: 1'r   rb   z5'Cannot get left slice bound for non-unique label: 0'r   r:   axis)r:   rk   rl   ri   )rk   ri   rj   r   )rb   rb   r:   rh   )r:   rk   rl   )rk   ri   rj   )rb   rb   r:   )r   r   r   rF   r$   
sort_indexr%   r&   )r<   r,   r   r   r-   s        r.   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   Frb   )r   r   concatr   r   r   r   r  r  r   onesr   	is_uniquer$   taker%   r&   )r<   lengthl2r8   r,   r9  r   r-   s           r.    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/////r0   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 )Nrb   
index_namer   )r   r   r   r   r$   r<   r,   r   s      r.   test_loc_namez$TestLocBaseIndependent.test_loc_name"  sw    AA'(($!Q&+%%%%A%*%%%%%%r0   c                 x   t          j        dd          }t          j        |j        d d g f         |j        d d d df         dd           t          j        |j        g d d f         |j        d dd d f         dd           t          j        |j        g          |j        d dd d f         dd           d S )Nrl   r:   r   T)check_index_typecheck_column_type)r%   makeCustomDataframer&   r$   r   r;   s     r.   !test_loc_empty_list_indexer_is_okz8TestLocBaseIndependent.test_loc_empty_list_indexer_is_ok,  s    #Aq))
F111b5M27111bqb5>DTX	
 	
 	
 	
 	F2qqq5M272A2qqq5>DTX	
 	
 	
 	
 	F2JAAAQU	
 	
 	
 	
 	
 	
r0   c                    t          dg di          }|j        d d          }||usJ |d d          |usJ |j        d d d d f         |usJ t          j        |d         j        |d         j                  sJ g d|j        d d df<   |r#|d         g dk                                    sJ n |d         dk                                    sJ t          t          j                            d                              d                    }|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 g d	|d d
<   |r!t          |d d
         g dk              sJ d S t          |d d
         g d	k              sJ d S )Nr    r   )rk   rk   rk   rk   r:   rg   rk   r   r  r  rh   )
r   r$   r   shares_memory_valuesr?  r   r   r  r   )r<   using_copy_on_writeoriginal_df	sliced_dfr,   original_seriessliced_seriess          r.   &test_identity_slice_returns_new_objectz=TestLocBaseIndependent.test_identity_slice_returns_new_object;  sO     iii 011OAAA&	++++111~[0000qqq!!!t$K7777 C 0 8)C.:PQQQQQ #,))3 	/cNiii/44666666cNa',,..... ry,,Q//??HHII 	)a5qqq!t,,,,,a5BF111a4L(((( !!3!3!344'+AAA.O3333qqq!8888'ii 	7}RaR(III56666666}RaR(III56666666r0   c                    |s:t           j                            d          }|j                            |           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)reasonrh   r    r   r   r:   )r   r   xfailnode
add_markerr   zipr   r   r$   r%   r&   r   )r<   rH   r  r   r   rW  qzs           r.   test_loc_copy_vs_viewz,TestLocBaseIndependent.test_loc_copy_vs_viewb  s     # 	*;$$,O$PPDL##D)))c%((E!HH--SzBBBFFHHE!!!S&M	Q
a###FFHHE!'3,	Q
a#####r0   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   rb   r:   r   r   )r   iinfomaxr   r$   r   r%   r   )r<   umaxr  r   r-   s        r.   test_loc_uint64z&TestLocBaseIndependent.test_loc_uint64v  s     x!!%aVD1Hd#3444"8A;!!!!$($8QC=
vx000$(D)*
vs+++++r0   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   rb   r:   r   z-1r   r  )r   r  r  r   r   r   rF   r$   )r<   r  r  s      r.   !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   rW  r   rW  r   )	r   r   r   r   r  r!  r$   r%   r&   r<   r   r-   r,   s       r.   *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(+++++r0   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  rF  r$   r%   r&   r  s       r.   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(+++++r0   c                     t          dgt          j        gd          }t          ddgt                    }|j        d         |j        d<   t          j        ||           d S )NrP  r  r   rW  r7   )r   r   )r   r   r   r  r$   r%   r&   rX  s      r.   *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(+++++r0   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
                    g d          }t          j        t          |          5  ||j
        d	ddf<   d d d            d S # 1 swxY w Y   d S )Nrb   r:   r   rW  r   z"None of \[Index\(\[0, 1\], dtype='z'\)\] are in the \[index\]r   r   |)z?cannot copy sequence with size 2 to array axis with dimension 0zCcould not broadcast input array from shape \(2,\) into shape \(0,\)z@Must have equal len keys and value when setting with an iterable)r   r   r  r   rF  r9   r  r   r   rF   r$   join
ValueError)r<   r   r,   r   s       r.   $test_loc_setitem_empty_append_raisesz;TestLocBaseIndependent.test_loc_setitem_empty_append_raises  s    1vSz***8??28,,$"(3-- $ $ $ 	 ]83/// 	' 	'"&BFAq63;	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' hh  
 
 ]:S111 	$ 	$#BF1Q38	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s$   8BBBC,,C03C0c                     t          ddgddgg          }|j        t          j        d                   }t	          ddgd          }t          j        ||           d S )Nrb   r:   rh   rk   r   r   )r   r$   r   r   r   r%   r   )r<   r,   r   r  s       r.   test_indexing_zerodim_np_arrayz5TestLocBaseIndependent.test_indexing_zerodim_np_array  s_    AA'(($Aq6"""
vq)))))r0   c                 v    t          ddg          }|j        t          j        d                   }|dk    sJ d S )Nrb   r:   r   )r   r$   r   r   )r<   r  r   s      r.   %test_series_indexing_zerodim_np_arrayz<TestLocBaseIndependent.test_series_indexing_zerodim_np_array  s6    Aq6NNrx{{#{{{{{{r0   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  rk   i  i  r   rI  )ri   rl   rk   rh   r:   rb   r   r  )r   r   r   r   r$   r%   r   )r<   r   r-   r   s       r.   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0r0   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=)r6   r   r   r   )r   rY   s     r.   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Ur0   rl   r#   r   r7   c                 ,    g | ]}t          |          S rv   r  r   s     r.   r   z^TestLocBaseIndependent.test_loc_setitem_str_to_small_float_conversion_type.<locals>.<listcomp>  s    (D(D(Daq(D(D(Dr0   c                 ,    g | ]}t          |          S rv   r*  r   s     r.   r   z^TestLocBaseIndependent.test_loc_setitem_str_to_small_float_conversion_type.<locals>.<listcomp>  s    222AuQxx222r0   )	r   r   r!  r%   r&   r$   r   r  r  )r<   col_datar   r-   s       r.   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/////r0   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  rq   r:   rh   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rngr9  rI   r   r   chunkr-   s	            r.   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
)))))r0   
spmatrix_t)
coo_matrix
csc_matrix
csr_matrixr9   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)rl   rj   r   r:   r   )
fill_value)r   importorskipgetattrr   eyer   sparsefrom_spmatrixr   r$   r   toarrayr%   assert_numpy_array_equalr  fullr   )r<   r;  r9   	sp_sparserowsr  spmatrixr,   itr_idxr   r-   s              r.   $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5r0   c           	          t          dt          j        ddgt          d                    i          }|j        ddg         }t          j        ||           d S )Nr#   r   rF  r   rb   )r   r   r   r   r$   r%   r&   r  s      r.   ,test_loc_getitem_listlike_all_retains_sparsezCTestLocBaseIndependent.test_loc_getitem_listlike_all_retains_sparse&  sW    RXq!fK4H4HIIIJKKA
fb)))))r0   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 )
Nr@  rl   r:   rP  r  r  r  r  )r  rP  r  r  r  r   r  r   rb   )r   rB  r   rE  rF  rD  r$   r   r   r%   r&   )r<   rJ  r,   r   r-   s        r.   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/////r0   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 )NrR  r   r  r   r:   rP  rh   )r   r   r$   r   r%   r   )r<   r  r   r-   s       r.   test_loc_getitem_sparse_seriesz5TestLocBaseIndependent.test_loc_getitem_sparse_series=  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0r0   r$   r   c                     t          g dg dgt          t                              }t          ||          d         }t	          g dt          t                    d          }t          j        ||           d S )N)rP  r        ?)r  r   r  r   r   )r9   r   )r   r   r  rC  r   r%   r   )r<   r   r,   r   r-   s        r.   !test_getitem_single_row_sparse_dfz8TestLocBaseIndependent.test_getitem_single_row_sparse_dfI  sx     9UASASTTTW%%a(///U1C1C!LLL
vx00000r0   key_typec                      |g d          }|j         d d |f         }|j         d d g df         }t          j        ||           d S )Nr   )r$   r%   r&   )r<   float_framerY  idxr   r-   s         r.   test_loc_getitem_iterablez0TestLocBaseIndependent.test_loc_getitem_iterableQ  s[    h''C(?111ooo#56
fh/////r0   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,  0srg   r  startperiodsr2  )r   r   r   r   normalr   r   r$   r   r%   r&   r   s       r.   #test_loc_getitem_timedelta_0secondsz:TestLocBaseIndependent.test_loc_getitem_timedelta_0secondsX  s    ry,,Q//66G6DDEE"rDDD6)D//++QQQ./qqq!
fh/////r0   val,expected                c                     t          ddgddg          }|j        |         }||_        t          j        ||           d S )Nrb   r:   rf  rg  r   )r   r$   r   r%   r   )r<   rE  r-   r,   r   s        r.   test_loc_getitem_uint64_scalarz5TestLocBaseIndependent.test_loc_getitem_uint64_scalar`  sJ    
 1vi%7888
vx00000r0   c                     |}t          g dt          g d|                    }|                                }d|j        d<   d|j        d<   t          j        ||           d S )Nr  )r         ?rb   r   r   zoorb   r:   )r   r   r   r$   r   r%   r   )r<   float_numpy_dtyper9   r  r-   s        r.   +test_loc_setitem_int_label_with_float_indexzBTestLocBaseIndependent.test_loc_setitem_int_label_with_float_indexk  sk    !___E+++U,K,K,KLLL88::
 a
sH-----r0   zindexer, expected)
rV   rb   r:   rh   rk   rl   ri   rj   r   r  )
r   rb   r:   rh   rV   rV   rV   rV   r   r  )
r   rb   r:   rV   rk   rV   ri   rj   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 )	Nrg   r  ru  r   rF  r9   r   rV   r  )r   r   r   r$   r   r%   r&   )r<   r   r-   tdir,   s        r.   /test_loc_setitem_listlike_with_timedelta64indexzFTestLocBaseIndependent.test_loc_setitem_listlike_with_timedelta64indexv  s     5993///U2YY'wcBBB)+rx #%&E	
 
 
 	h+++++r0   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)rb   rb   rb   rb   rb   aaaaar   )rb   r   r   rb   rb   aabbar   r   r   r    
categoriesrb   r:   rh   )r   r   r%   r   r   r
   r$   r&   )r<   r,   r   s      r.   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                 r   t          dgdgd          }t          |d         g d          }||j        d d df<   |d         }t          ||j        d                              t                    }t          j        ||           ||d<   t          j        |d         t          |d                     d S )	Nr    r   )AlphaNumericr{  r  rw  r   r   )	r   r
   r$   r   r   r  r!  r%   r   )r<   r,   rx  r   r-   s        r.   '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J6RR
vx000 !7
r'{F:G,L,L,LMMMMMr0   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 )NrM   z
2010-10-01rh   z
2008-08-08r   rb   )r   rM   )rb   rM   zincompatible dtyper   i  rl   )r:   rM   z
2005-05-05)	r   r   r   r  r$   r%   r   r   r   r;   s     r.   "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                     |}t          ddd|          }t          d|dg          }t          |dgt          j                  }||j        d d |f<   t          j        ||           d S )	Nz
2015-07-12rh   H)ra  rb  r2  tzr  r  r  r  )r   r   r   r   r$   r%   r&   )r<   r  tz_naive_fixturer  r\  r-   r   s          r.   !test_loc_setitem_datetimeindex_tzz8TestLocBaseIndependent.test_loc_setitem_datetimeindex_tz  s|     |QSRHHHSeW=== ugRZHHH'
111e8
fh/////r0   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30minr1  r:   rl   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   r,   akeybkeyaindsbindsr   r-   s
             r.   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)))))r0   r]   c                    t          j        g d          }t          g dg dg|          }|                                }t	          j        dd          |j        d d |f<   t          g dg d	g|          }t          j        ||           |	                    d
          }t	          j        dd          |j        d d |f<   |	                    d
          }t          j        ||           d S )N))r#   rk   )r   3)r#   r5   r   rk   rl   ri   r   r:   r:   rF  r   )r   r:   r   )r   rl   r   rb   r  )
r   from_tuplesr   r   r   zerosr$   r%   r&   r  )r<   r]   rr  r,   rI   r-   s         r.   ,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(+++++r0   c                     t          g d|          }d|j        d<   t          g d|          }t          j        ||           d S )Nr   r   rk   r   )rk   r:   rh   r   r$   r%   r   )r<   any_int_numpy_dtyper)   r-   s       r.   test_loc_setitem_uint_dropz1TestLocBaseIndependent.test_loc_setitem_uint_drop  sV     			)<===
1)))+>???
vx00000r0   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 )Nrg   ry  rV   r   )r   r   timedelta64r$   r   r%   r   )r<   r  r-   s      r.   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-----r0   c                    t           j                            d                              d          }t	          t          d          d          }d                    ddg          }t          j        t          |          5  ||j
        t          d          <   d d d            n# 1 swxY w Y   d	}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  z,shape mismatch: value array of shape \(2,2\)z0cannot reshape array of size 4 into shape \(2,\)r   zEcould not broadcast input array from shape \(2,2\) into shape \(2,?\))r   r   r   r  r   r   r  r   r   r  r$   )r<   r   r  r   s       r.    test_loc_setitem_2d_to_1d_raisesz7TestLocBaseIndependent.test_loc_setitem_2d_to_1d_raises
  si   y$$Q''77??U1XXY///hh?C
 
 ]:S111 	% 	% $CGE!HH	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% W]:S111 	 	CGAAAJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   B''B+.B+C))C-0C-c                     t          j        dd          }t          g dg dg dg|g d          }d	}|j        d
         }t	          j        ||           d S )Nr   rh   )ra  rb  r   r  r  r   r  rb   )rk  r#   )r   interval_ranger   r$   r%   assert_almost_equal)r<   r   r,   r-   r   s        r.   test_loc_getitem_interval_indexz6TestLocBaseIndependent.test_loc_getitem_interval_index  su    !1555YY			999-UOOO
 
 
 !
vx00000r0   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   rh   both)ra  rb  closedr   r  r  r   r  r:   rb   )ra  rb  r2  r  rk   r#   r   rb   r#   )r   r  r   r   r$   r%   r   )r<   r   r,   	index_expr-   r   s         r.    test_loc_getitem_interval_index2z7TestLocBaseIndependent.test_loc_getitem_interval_index2'  s    !1VDDDYY			999-UOOO
 
 
 %AqqPPP	1a&	<<<
vx00000r0   tplrb   rb   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  r\  r,   r   r-   s         r.   +test_loc_getitem_index_single_double_tupleszBTestLocBaseIndependent.test_loc_getitem_index_single_double_tuples3  s     6N
 
 

 S!!!SE59993'''
fh/////r0   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  )rh   rk   r#   r   r  rb   )r   r   r   r$   )r<   r  idx1idx2r   r,   r   s          r.   !test_loc_getitem_index_namedtuplez8TestLocBaseIndependent.test_loc_getitem_index_namedtupleB  s    {S#J77	y&&y&&tTl):%PPP'usCjIII		%//05{{{{{{r0   c                    t          t          j                            d                              d          g dg d          }d|d<   t          j        |j        |j        d d d         df<   t          j        t          j        dt          j        dt          j        gt                    }t          j        |d         j        |           d S )	Nr:   rl   rh   )r    r   rM   r  r  r  r  quxr6   r   )r   r   r   r   r  r   r$   r   r   r!  r%   r  r   r   s      r.   $test_loc_setitem_single_column_mixedz;TestLocBaseIndependent.test_loc_setitem_single_column_mixedL  s    I!!!$$44V<<+++)))
 
 

 5	')vrx!}e#$8RVUBFE26B&QQQ
r%y/:::::r0   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:   )rq   rh   ABCr   eventr   r   r   )rg   r  r   rh   r!  )r#   r   r   r  r   )r   r   r   r   tupler   r%   r   r   r$   r  r   r9   r   r   s       r.   test_loc_setitem_cast2z-TestLocBaseIndependent.test_loc_setitem_cast2W  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oneri   r   )rb   r  rj   )r   r   r   int8r$   r  r  r9   r;   s     r.   test_loc_setitem_cast3z-TestLocBaseIndependent.test_loc_setitem_cast3g  s    ry"':::;<<xy} 1 11111y} 1 1111111r0   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 )Nrl   )rh   rk   rb   r   r:   r   )r  rg   r  r:   r  rg   r  rh   )r   rb   rg   r  r  )r   ndimr$   r   r%   r   )r<   r7  rI   r   r-   s        r.   test_loc_setitem_range_keyz1TestLocBaseIndependent.test_loc_setitem_range_keyo  s    oeAhhooo>>>8q==cB4"&F"a"?#4#4#4CIFFF
X&&&&&r0   )hr   r   r   r   r   r   r   r   r   r   r   r   r   r   r	  r  r  r  r  r#  r&  r*  r:  r@  fixturerG  r   r   rF  rK  rN  rQ  rU  rY  rt  r  r  r  r  r  r  r  r  r  r  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:  r   complexrN  rP  rS  rU  rX  iterr   r   r]  rd  ri  rn  rs  ry  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rv   r0   r.   r   r      s       0 0 0 [7&&,,u9UV6tU8ST6ud8STNvvd||U3 7ud8STNuffTll3 7tU8ST	
 $ % $*     
	1 	1 	11 1 1(!K !K !KF- - -0, , ,&	 	 	 [We}6P6P6P&QRR  SR  # # #% % %N     0 0 0*& & &$ ^
 
 ^
 [	
HBHQbh'''///)R)R)RS , ,	 ,, , ,, , ,, , ,, , , /I /I /Ib [V%O%O%OPP: : QP:", , ,4	, 	, 	,
, 
, 
,, , ,, , ,.0 0 0*, , ,, , ,#, #, #,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 %7N$ $ $(, , ,"  , , ,, , ,, , ,$ $ $.* * *  1 1 10 0 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' ' ' ' 'r0   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 ru   )param)r<   rH   s     r.   r   zTestLocWithEllipsis.indexer~  s     }r0   c                 D    |}|t           ur|                                }|S ru   )r   to_frame)r<   series_with_simple_indexr7  rI   s       r.   rI   zTestLocWithEllipsis.obj  s$    &&((,,..C
r0   c                 R     ||          d         }t          j        ||           d S )N.)r%   r   )r<   rI   r   r   s       r.   test_loc_iloc_getitem_ellipsisz2TestLocWithEllipsis.test_loc_iloc_getitem_ellipsis  s,    c"
$$$$$r0   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   r7  z2MultiIndex does not support indexing with Ellipsisr   .)r%   r   r  r   r$   inferred_typer   r   r   r   NotImplementedErrorr   r   r  r&   )
r<   r  r   rI   r]   r   r   r-   key2r,   s
             r.   &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<   rI   r   r]   s       r.   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   rI   r  r   filterwarningsr  r  rv   r0   r.   r  r  }  s        V^BFBG,---  .- ^  ^% % % [ VWW0 0 XW00( ( ( ( (r0   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    )rb   r:   rb   r:   )r    r    r   r   rb   r:   )r:   rb   r:   rb   rM   )rM   r    r    )rb   r:   rb   dimr   r8   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)rM   r    r    r   r   )rb   rb   r:   rb   r:      rl   r   r8   )r   r   r   reshaper   ro  r$   r%   assert_index_equalr   r8   )r<   r  keysr-   kwargsr,   	exp_indexr   s           r.   '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 r0   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#   rb   )r  r:   r:   )r$   r   rb  r   )r<   /multiindex_year_month_day_dataframe_random_dataymdr   result2s        r.   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7r0   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   rb   r   )r   from_productr   r$   r%   r   r   )r<   rr  r  r   r-   res2s         r.   .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.....r0   c                    t          d gt          j        dgdgg                    }|j        d         }|J t          j        dgddgg          }t          d gt          |          z  t          |          }|j        d         }|J t          dgt          |          z  t          |          }|j        d         }|dk    sJ d S )	NLevel1Level2)r  r  Level2_aLevel2_brq  )r  r	  rb   )r   r   ro  r$   r  r  r!  )r<   r  r   midxs       r.   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{{{{{{r0   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secondra  )rb   rb   rb   rb   rb   rb   rb   rb   r   r   )r  r  )r   r  )rb   rb   r   r   r   r   rb   rb   )r   r  r  r   r$   r%   r   )r<   r   r   r-   s       r.   !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0r0   c                     t          ddd          }t          t          d          |          }|j        t	          ddd          t	          ddd                   }t          j        ||           d S )NrB  10minr  r2  rb  il  rb   i4  )r   r   r   r$   r   r%   r   )r<   timesr  r   s       r.   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+++++r0   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 )Nrg   r   z
2010-01-01z
2010-01-10r   z
2010-01-05r    r   r   rk   )r   r   r   r$   r   r%   r&   r   s       r.   3test_loc_getitem_datetime_string_with_datetimeindexzITestLocWithMultiIndex.test_loc_getitem_datetime_string_with_datetimeindex  s    ))%)),,\<88
 
 
 |4sCj@Aa&1v&&| <==
 
 
 	fh/////r0   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   ra  rP  rb   r   r:   rc   rh         @rk         @rl         @ri   r   r>  r  r   )level)r   rb   rk   r   r  )r   r  r   r  r  r$   r%   r&   )r<   rr  r,   r-   r   s        r.   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/////r0   c                     t          g dd          }d|j        d<   t          g dd          }t          j        ||           d S )Nr  categoryr   r   rh   )r    r   rM   r   r!  r  r<   r   r-   s      r.   1test_additional_element_to_categorical_series_loczGTestLocWithMultiIndex.test_additional_element_to_categorical_series_locG  sU    z:::
1,,,H===
vx00000r0   c                     t          g dd          }d|j        d<   t          g dd          }t          j        ||           d S )Nr  r$  r   r    rh   r    r   rM   r    r  r%  s      r.   'test_additional_categorical_element_locz=TestLocWithMultiIndex.test_additional_categorical_element_locN  sU    z:::
1...jAAA
vx00000r0   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   rh   rb   r:   )r   r   r   r   r   r$   r%   r   )r<   any_numeric_ea_dtypesrsr-   s       r.   &test_loc_set_nan_in_categorical_seriesz<TestLocWithMultiIndex.test_loc_set_nan_in_categorical_seriesU  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-----r0   naNc                     t          g dd          }||j        d<   t          g dd          }||j        d<   t          j        ||           t          ddd|gd          }t          j        ||           d S )	Nr  r$  r   rh   r(  r    r   rM   r  )r<   r.  srs_enlargesrs_setintor-   s        r.   ,test_loc_consistency_series_enlarge_set_intozBTestLocWithMultiIndex.test_loc_consistency_series_enlarge_set_intoj  s     ___J???111DDD
{K8883S"-Z@@@
{H55555r0   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   rg   r   rl   rb   Index1Index2)rq  codesrb  )r   r   Fr$  )rx  orderedr   r9   )r   r   r   r   r   r   r   rq  r%   r  r$   r   s       r.   5test_loc_getitem_preserves_index_level_category_dtypezKTestLocWithMultiIndex.test_loc_getitem_preserves_index_level_category_dtypew  s    1b!$$(#s44eBii@sQw!q(%))4*  
 
 
 $#JSz
 
 
 #
fh///$+A.
fh/////r0   lt_valuerq   rg   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   rb   r:   rh   r   z\['b'\] not in indexr   r   )r   r   r   r   rF   r$   )r<   r:  r,   s      r.   >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   rb   r   )	r   r   r   r   ro  r   r$   r%   r   )r<   lev1lev2rr  r  r   r-   s          r.   '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0r0   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xyrb   r:   )rG  rH  numra  r   r   r    r   rk   )
r   r  r   r   r   r$   r   	droplevelr%   r  )r<   rr  r  
loc_resultr-   s        r.   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9r0   )r   r   r   r   r   r   r  r  r  r  r  r  r  r"  r&  r)  r-  r   r   r   NAr   r2  r9  rA  rE  rL  rv   r0   r.   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
: 
: 
: 
: 
:r0   r  c                   Z   e Zd Zej        j        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S )TestLocSetitemWithExpansionc                     t          dt          d          id          }t          |          dz   |j        t          |          <   t          dt          d          id          }t	          j        ||           d S )Nr   i@B rF  r   rb   iAB )r   r   r  r$   r%   r&   r%  s      r.   /test_loc_setitem_with_expansion_large_dataframezKTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_large_dataframe  su     Cu.g>>>"%f++/
3v;;c5#3#34GDDD
fh/////r0   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   rb   r   rh   r   r!  r$   r%   r   r<   r  s     r.   test_loc_setitem_empty_seriesz9TestLocSetitemWithExpansion.test_loc_setitem_empty_series  s|     6"""

sFA3qc$:$:$:;;;

sFAq6!Q$@$@$@AAAAAr0   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   rP  rb   r   rc   rh   rS  rT  s     r.   #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Er0   c                 X   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|j        d<   t          j        |t          g dg d	                     d S )
Nr   rb   r   r   rh   r   rk   )rb   rh   rk   )r   r   rh   rS  rT  s     r.   %test_loc_setitem_empty_series_str_idxzATestLocSetitemWithExpansion.test_loc_setitem_empty_series_str_idx  s     6"""
sFA3ug$>$>$>???
sFAq6%$H$H$HIII

sF999<M<M<M$N$N$NOOOOOr0   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  rb   
US/Pacific)tzinfoc                 <    g | ]}t          |d z            z   S )r  )seconds)r   )r   r  bases     r.   r   zUTestLocSetitemWithExpansion.test_loc_setitem_incremental_with_dst.<locals>.<listcomp>  s-    EEEayS1111EEEr0      r   r   )r   r   r   r   r$   r%   r   )r<   idxsr   rT   r-   r_  s        @r.   %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0r0   convc                     | S ru   rv   r5  s    r.   r6  z$TestLocSetitemWithExpansion.<lambda>  s    a r0   c                 *    |                                  S ru   )to_datetime64r5  s    r.   r6  z$TestLocSetitemWithExpansion.<lambda>      aoo'' r0   c                 *    |                                  S ru   )to_pydatetimer5  s    r.   r6  z$TestLocSetitemWithExpansion.<lambda>  rg  r0   c                 *    t          j        |           S ru   )r   r  r5  s    r.   r6  z$TestLocSetitemWithExpansion.<lambda>  s    bmA&& r0   )r<   rf  ri  znp.datetime64)idsc                 
   t          d          }t          d          }t                      }d|j         ||          df<   d|j         ||          df<   t          dddgi||g          }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<   rc  dt1dt2r,   r-   s         r.   #test_loc_setitem_datetime_keys_castz?TestLocSetitemWithExpansion.test_loc_setitem_datetime_keys_cast  s     +,,+,,[[#&ttCyy% #&ttCyy% eeU^4S#JGGG
b(+++++r0   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#   rb   r   )r8  r   r   )r   r
   r$   r%   r&   )r<   r8  r   r-   s       r.   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/////r0   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  )	inclusiver2  r%  r  r  r  )r   r   r   r$   r   r   r  appendr   r!  r%   r&   )r<   ra  endrT   r\  r   r-   s          r.   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/////r0   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   r8   newoldnew_colr  r[  r   )rb   r   r   1s)r   r   r   r   r  r   r|  
tz_convertr   r$   r   r%   r   r   )r<   r,   vr   r-   s        r.   test_setitem_with_expansionz7TestLocSetitemWithExpansion.test_setitem_with_expansion  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Fr0   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 )Nrb   r  r:   )rb   rb   rh   r   r   )	r   r$   r   infr8   r   r   r%   r  r   s       r.   0test_loc_setitem_with_expansion_inf_upcast_emptyzLTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_inf_upcast_empty'  so    [[ttq"&y!Qrz:::
fh/////r0   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  rb   r   rb   r   )r  r   skiprepeatr   r   r  rF  r   insertr   r   r   r   r$   r%   r&   r   r   r   r  )r<   r   Narrorigr]   r  exp_datar-   r,   r  s              r.   /test_loc_setitem_with_expansion_nonunique_indexzKTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_nonunique_index2  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(+++++r0   r9   )Int32Int64UInt32UInt64Float32Float64c                 D   t          g d|          }t          d|i          }t          |j                  }||j        |j        df<   t	          j        ||           t          |j                  }|j        |j        |j        df<   t	          j        ||           d S )Nr@  r   r   r   )r   r   r   r$   r%   r&   r  )r<   r9   r  r,   r   s        r.   6test_loc_setitem_with_expansion_preserves_nullable_intzRTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_preserves_nullable_int`  s    
 \\\///}%%***'*
28V#$
fb)))***'*{
28V#$
fb)))))r0   N)r   r   r   r   r   slowrQ  rU  rW  rY  rb  r   ro  rq  rx  r  r  r  r  r  rv   r0   r.   rO  rO    s       [0 0 0B B BF F F
P 
P 
P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 * * * * *r0   rO  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rb   r:   rh   rk   r?  r   c                     | j         dk    S Nr:   r#   r5  s    r.   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>y      qsQw r0   r:   c                     | j         dk    S )Nr   )r   r5  s    r.   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>|  s    qscz r0   r   c                     | j         dk    S r  r  r5  s    r.   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r0   c                     | j         dk    S Nr   r   r5  s    r.   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    !)s2B r0   )FTFc                     | j         dk    S r  r  r5  s    r.   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r0   c                     dS r  rv   r5  s    r.   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    # r0   r   c                     | j         dk    S r  r  r5  s    r.   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r0   c                 
    ddgS Nr#   r   rv   r5  s    r.   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s
    3* r0   r#   c                     | j         dk    S r  r  r5  s    r.   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    qsax r0   c                 
    ddgS r  rv   r5  s    r.   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s
    C: r0   c                     dS )Nrb   rv   r5  s    r.   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    q r0   c                     dS r"   rv   r5  s    r.   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    C r0   r  )r   r   r$   r%   r&   r#   r   r   r<   r,   r   s      r.   test_frame_loc_getitem_callablez/TestLocCallable.test_frame_loc_getitem_callables  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$$$$$$r0   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  r?  r   c                     | j         dk    S r  r  r5  s    r.   r6  zITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>  r  r0   r#   r   r:   rh   c                 
    ddgS r  rv   r5  s    r.   r6  zITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>  s
    Sz r0   c                 
    ddgS r  rv   r5  s    r.   r6  zITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>  s
    3* r0   )r   r   r$   r%   r&   r#   r   r  s      r.   '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:::::r0   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  r?  Xrv  r  r   c                 
    ddgS Nr#   r   rv   r5  s    r.   r6  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  
    Sz r0   r#   r   c                 
    ddgS r  rv   r5  s    r.   r6  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r0   c                 
    ddgS r  rv   r5  s    r.   r6  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r0   c                     dS Nr  rv   r5  s    r.   r6  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  s    S r0   r  c                 
    ddgS r  rv   r5  s    r.   r6  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r0   c                     dgS r  rv   r5  s    r.   r6  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  s    cU r0   c                     dS r  rv   r5  s    r.   r6  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  s    3 r0   c                     dgS r  rv   r5  s    r.   r6  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  s    C5 r0   c                 
    ddgS r  rv   r5  s    r.   r6  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r0   c                 
    ddgS r  rv   r5  s    r.   r6  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r0   )r   r   r$   r%   r&   r   r  s      r.   &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*;#<=====r0   c                 R   t          g dt          d          dt          d                    }|                                }d|j        d <   |                                }d|j        dd	g<   t	          j        ||           |                                }d
|j        d d d f<   |                                }d
|j        dd	gd d f<   t	          j        ||           |                                }d|j        d d f<   |                                }d|j        dd	gdf<   t	          j        ||           |                                }d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  r?  r  r  r   ic                 
    ddgS r  rv   r5  s    r.   r6  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>  
    3* r0   r#   r   rV   c                 
    ddgS r  rv   r5  s    r.   r6  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>  r  r0   r  c                 
    ddgS r  rv   r5  s    r.   r6  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>  r  r0   c                     dS r  rv   r5  s    r.   r6  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>  s     r0   r  rl   rg   c                 
    ddgS r  rv   r5  s    r.   r6  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>  r  r0   c                     dgS r  rv   r5  s    r.   r6  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>  s     r0   r  c                     dS r  rv   r5  s    r.   r6  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>  s    c r0   c                     dgS r  rv   r5  s    r.   r6  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>  s    se r0   c                 
    ddgS r  rv   r5  s    r.   r6  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>  r  r0   c                 
    ddgS r  rv   r5  s    r.   r6  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>  r  r0   )r   r   r   r$   r%   r&   r   r   )r<   r,   r   r   s       r.   test_frame_loc_setitem_callablez/TestLocCallable.test_frame_loc_setitem_callable  s   \\\V==T&\\RRR 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'''''r0   N)r   r   r   r  r  r  r  rv   r0   r.   r  r  r  sP        % % %8; ; ;> > ><4( 4( 4( 4( 4(r0   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    rM   rb   rh   r  r  z2020-08)r   r   r$   r%   r&   r   s       r.   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/////r0   c                     t          j        ddd          }|                                }|j        d d         }|j        d d         }t          j        ||           d S )N
2017-01-01
2018-01-01rw  ra  rw  r2  z2017-12r  )r   period_range	to_seriesr$   r   r%   r   )r<   pir  r   r-   s        r.   8test_loc_getitem_partial_string_slicing_with_periodindexzQTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_with_periodindex  s]    _<\LLLllnn)$8CRC=
vx00000r0   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   r-   s        r.   ;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0r0   c                     t          dt          d          it          t          d          d                    }|j        d         }|j        d         }t          j        ||           d S )Nr   rh   daysrp  r   r   0 days)r   r   r   r   r$   r%   r   )r<   r,   r-   sliceds       r.   #test_loc_getitem_str_timedeltaindexz<TestPartialStringSlicing.test_loc_getitem_str_timedeltaindex	  sa    U1XXl588&.Q.Q.QRRR71:!
vx00000r0   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 )Nrb   rl   z
2019-12-30z
2020-01-01z
2019-12-25r  z
2019-12-19rs  r   r:   )r   r   r   r%   r   r$   )r<   tz_aware_fixturer  r7  rI   r-   r   r   s           r.   /test_loc_getitem_partial_slice_non_monotonicityzHTestPartialStringSlicing.test_loc_getitem_partial_slice_non_monotonicity	  s   
 oC!Gl++l++l++=>>l++ $	 	 	
 
 
 #?C!Gl++=>> $  	
 	
 	
 k22W
)))!
)))))r0   )r   r   r   r  r  r  r  r   r   r   r  rv   r0   r.   r  r    s        0 0 01 1 11 1 11 1 1 []T3R,STT!* !* UT!* !* !*r0   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   rb   rg   r   r   r  s     r.   r   zMTestLabelSlicing.test_loc_getitem_slicing_datetimes_frame.<locals>.<listcomp>B	  s(    FFFA8D!QB//FFFr0   r  r   r  c           	      4    g | ]}t          d d|dd          S r  r  r  s     r.   r   zMTestLabelSlicing.test_loc_getitem_slicing_datetimes_frame.<locals>.<listcomp>H	  s(    IIIA8D!QB//IIIr0   )rb   r:   r:   rh   rk   r  rb   rg   rk   r  z20010101 11)r   r   r   r$   r   r%   r&   r   )r<   	df_uniquedf_dupsr,   r   r-   s         r.   (test_loc_getitem_slicing_datetimes_framez9TestLabelSlicing.test_loc_getitem_slicing_datetimes_frame<	  s    Ic+++FFFFF
 
 
	 Ic+++IIIII
 
 

 g& 	4 	4BVHT1a44667F!&"---V6htQ26667F!&"---VHT1a44xaB7O7OOPF!&"---VHT1a44667Fwqrr{H!&(333VMNN+F!&(3333	4 	4r0   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/Berlinrl   z30 min)r  rb  r2  )r   rb   r:   rh   rk   r   z2017-10-29 02:30:00+02:00rs  z2017-10-29 02:00:00+01:00r:   rh   rk   )r   r   r   r$   r%   r   )r<   r\  series2t_1t_2r   r-   s          r.   'test_loc_getitem_label_slice_across_dstz8TestLabelSlicing.test_loc_getitem_label_slice_across_dstY	  s    !oqx
 
 
 4443HHH3HHHSW%1a&AaC111
vx000!!!!!!r0   r   r  r  rw  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   r-   s        r.   -test_loc_getitem_label_slice_period_timedeltaz>TestLabelSlicing.test_loc_getitem_label_slice_period_timedeltaj	  sO     oo59%8CRC=
vx00000r0   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:   rh   r:   r   g3333c|@g    |@g3333|@g|@rh   )r   r   r   r   r$   r  )r<   r   r,   s1s       r.   %test_loc_getitem_slice_floats_inexactz6TestLabelSlicing.test_loc_getitem_slice_floats_inexactx	  s    :::ry,,Q//66v>>eLLLVGGO$2ww!||||VGGO$2ww!||||VGGO$2ww!||||||r0   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:   rg   rV   r   r   rn  r   g      )@rj   gffffff(@)r   r   r   r   r   r  r$   r   )r<   rm  r9   r  r\  s        r.   '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''''''r0   zstart,stop, expected_slicer   nsNr  rb   r>  ri   rj   rk   rl   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<   ra  stopexpected_slicer  r   r-   s          r.   $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0r0   ra  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   rF   r$   )r<   r7  ra  rI   s       r.   )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%  rW  c                      |t          d          |dddg          }|j        |d         } |t          d          |dddg          }t          j        ||           d S )Nrk   r  r:   thirdr   )r   r$   r%   r   )r<   r7  r%  rI   r   r-   s         r.   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
)))))r0   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 )	Nrb   r:   rh   )testrb   r:   r   r   r   )r   r   r8   )r   r   r!  r%   r&   r$   r   s      r.   *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6r0   )r   r   r   r  r  r   r   r   r   r  r   r  r  r  r   r  r   r  r  r  r  rv   r0   r.   r  r  ;	  s       4 4 4:" " "" [BO,LsKKKO'xdCCC	
 1 1 1  ( ( ( [$R^At$$dEE!RLL9R^As##^R^As%;%;UU1a[[I>2>!S))55A;;7	
 1 1 1 [Wvv&677" " 87" [Wq#h//* * 0/*7 7 7 7 7r0   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 indexr7  r!  rI  r   )r  r   r   rF   r$   )r<   r   r7  r  messagerI   s         r.   '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 )NTFr7  r   r!  rI  )r   r$   )r<   r7  r  rI   s       r.   test_loc_bool_should_not_raisez<TestLocBooleanLabelsAndSlices.test_loc_bool_should_not_raise	  sC    ouY777x
 
 
 	
r0   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!  rI  r   TF)r   r   r   r$   )r<   r   r7  r  rI   s        r.   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   r  r!  r#  rv   r0   r.   r  r  	  s        [\D%=99$ $ :9$ [\D%=99  :9         r0   r  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   rg   r  rp  rh   )
r   rb   r:   rh   rg   rg   rg   rg   rg   rg   )
r   rb   r:   rg   rk   rl   ri   rj   r   r  )
rg   rg   rg   rh   rk   rl   ri   rj   r   r  rF  r  )	r   r   r   r   r  r   r$   r%   r&   )r<   r,   
conditionsexpected_datacondr   r   r-   s           r.   )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 
	4r0   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 )Nrz   20010101rk   rb  r  r    r   r   )
r   r   r   r   r   r  r   r$   r%   r&   )r<   r  r9  r\  r,   r   s         r.   +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)))))r0   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   rh   r:   ABr/  r  )rb  r2  r   r   r   rb   )r   r   r   r  r   r   r   r   r   r   r#   r$   r%   r&   )r<   r,   r-   r9  s       r.   2test_loc_setitem_mask_and_label_with_datetimeindexzETestLocBooleanMask.test_loc_setitem_mask_and_label_with_datetimeindex
  s     IcNN""1a((JJZ>>>
 
 

 7799!*+rvrv.>>taxF4L.tSy
b(+++++r0   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colrb   TF)	r   r   r   r   r   _valuer$   r%   r&   )r<   td1td2r,   df_copyr  r-   r   s           r.   'test_loc_setitem_mask_td64_series_valuez:TestLocBooleanMask.test_loc_setitem_mask_td64_series_value
  s    ll)**vsCj11233''))cUmme9>!$+ #e}E")6!!!!
b'*****r0   c                 
   |                                 }|d         dk    }d|j        |df<   |j                                         }d||j        df<   t          ||j        |j                  }t          j        ||           d S )Nr#   r   r   rb   r  )r   r$   r   r   r   r8   r%   r&   )r<   r[  r-   r9  r   s        r.   #test_loc_setitem_boolean_and_columnz6TestLocBooleanMask.test_loc_setitem_boolean_and_column"
  s    ##%%3!#%&c	"%%''!"t{A~V8>8CSTTT
k844444r0   c                     t          g dg dd          }t          dg dig d          |j        g ddgf<   t          g d	g dd          }t          j        ||           t          g dg dd          }t	          g d
g d          |j        g ddgf<   t          j        ||           t          g dg dd          }t	          g d
g d          |j        g ddf<   t          j        ||           t          g dg dd          }|                                }|d         }t	          g d
g d          |j        g d<   |rt          j        ||           d S t          j        ||           d S )Nr   r  r   r    r   )r:   rb   r   r   )FFT)rb   r:   rg   r  )r   r$   r%   r&   r   r   )r<   r  r,   r-   r   r  s         r.   )test_loc_setitem_ndframe_values_alignmentz<TestLocBooleanMask.test_loc_setitem_ndframe_values_alignment.
  s   YYYYYY7788.7,,,yyy/
 /
 /
###cU*+ :::III>>??
b(+++ YYYYYY7788.4\\\.S.S.S###cU*+
b(+++ YYYYYY7788,2<<<yyy,Q,Q,Q###S()
b(+++YYYYYY7788''))g(.|||999(M(M(M$$$% 	0!"g.....!"h/////r0   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      r.    test_loc_indexer_empty_broadcastz3TestLocBooleanMask.test_loc_indexer_empty_broadcastK
  sj    Rb))888779968grx"(+++cU23
b(+++++r0   c                     t          dgdgdt                    }|                                }|d         |j        t	          j        dgt          j                  dgf<   t          j        ||           d S )Nr   rW  r   r   r   Fr    r>  r   s      r.   $test_loc_indexer_all_false_broadcastz7TestLocBooleanMask.test_loc_indexer_all_false_broadcastR
  sp    cU#//v>>>7799;=c7rxrx0003%78
b(+++++r0   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   rW  r   r   r   Tr    )r   r!  r$   r   r   r?  r%   r&   r   s      r.   test_loc_indexer_length_onez.TestLocBooleanMask.test_loc_indexer_length_oneY
  s    cU#//v>>>C5u55VDDD:<S'rxbh///#67
b(+++++r0   )r   r   r   r*  r   r   r   r.  r1  r8  tdskip_array_manager_invalid_testr:  r<  r@  rB  rD  rv   r0   r.   r%  r%  	  s        4 4 4, [TD%=11* * 21* , , ,+ + + '	5 	5 ('	50 0 0:, , ,, , ,, , , , ,r0   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 ru   rv   r5  s    r.   r6  zTestLocListlike.<lambda>b
  s    q r0   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   rh   r   r  rb   r  r   )r   r   r   r   r   r$   r%   r   r  r&   r   r   rF   )r<   r  cir  r   ser2ci2r   s           r.   8test_loc_getitem_list_of_labels_categoricalindex_with_nazHTestLocListlike.test_loc_getitem_list_of_labels_categoricalindex_with_nab
  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-02rP  z
2001-01-14r  r   )r:   rl   r   r  z
2001-01-01r>  rk   r  r  r   )r   r   r   r   r   r   rF   r$   )r<   r]   r  s      r.   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   rF   r$   rT  s     r.   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-02r>  r\  )r2  r   皙?皙?r  r   c                 8    g | ]}|                     d           S r>  rU  r   s     r.   r   zRTestLocListlike.test_loc_getitem_listlike_of_datetimelike_keys.<locals>.<listcomp>
  $    333AKK$$333r0   T)r  c                 8    g | ]}|                     d           S r[  r\  r   s     r.   r   zRTestLocListlike.test_loc_getitem_listlike_of_datetimelike_keys.<locals>.<listcomp>
  r]  r0   )rY  rY  rX  )r   r9   
2011-01-03c                 8    g | ]}|                     d           S r[  r\  r   s     r.   r   zRTestLocListlike.test_loc_getitem_listlike_of_datetimelike_keys.<locals>.<listcomp>
  r]  r0   r  r   )r   rU  r   r   r$   r   r6  r%   r   r   r9   r   r   rF   )r<   rU  r\  r  r  r   r   s          r.   .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 )Nrb   r:   rk   rl   rj   r   )cobraviper
sidewinder	max_speedshieldr  r   rc  rd  r   )r   r   r   r   r$   r   r%   r&   r   s       r.   test_loc_named_indexz$TestLocListlike.test_loc_named_index
  s    VaVaV$222 (+
 
 

 72A2;#w0u===>
fh/////r0   N)r   r   r   r   r   r   r   asarrayr   rN  rQ  rT  ra  rh  rv   r0   r.   rH  rH  a
  s        [U[["*d$CDD* * ED*6  E E E [[4-88' ' 98'R
0 
0 
0 
0 
0r0   rH  z%columns, column_key, expected_columns)  r  i  rj  r  rb   )rj  r  Allrk  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   T)r  )	r   r   r   r   r   r   r$   r%   r&   )r8   
column_keyexpected_columnsr,   r-   r   s         r.   *test_loc_getitem_label_list_integer_labelsro  
  s     

	a  ''//U
 
 
B wqqq**+HVOOOZ/0F&(dCCCCCCr0   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   rk   rk  r   rb   )r  rP  r   rc   rk  r   )r   r   r   r  r   r   r$   hstackr   r  r%   r&   )	rand_datar   r(  r-   s       r.   test_loc_setitem_float_intindexrs  
  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&(+++++r0   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 ))rj   r   r  rg   rv   )r   yrry  s      r.   r   z)test_loc_axis_1_slice.<locals>.<listcomp>
  s)    BBBMBBqRGBBBBr0   )  r   )rg   r   
ABCDEFGHIJr  rb   r  rw  r  r   r   r  )ry  )rw  rg   )r   rj   rz  )	r   r   r  r  r   r  r$   r%   r&   )r  r,   r   r-   s       r.   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
 &(+++++r0   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&   )r-   r   s     r.   !test_loc_set_dataframe_multiindexr}  
  s    588Z%<eAhha=Q%R%R  H ]]__F$jVH5FJq6({&(+++++r0   c                      t          t          d          t          ddgt                              } | j        d         }|dk    sJ d S )Nr:   rb   r   r   r   )r   r   r   r!  r$   )r  r   s     r.   test_loc_mixed_int_floatr    sD    
q5!S888
9
9CWQZFQ;;;;;;r0   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 )Nrk   r=  r   $Slicing a positional slice with .locr   r:   rh   )r   r   r   r   r   r$   )r  s    r.   %test_loc_with_positional_slice_raisesr    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 )Nz
2016-01-01rh   rb  r:   r  r   r   zOcannot do slice indexing on DatetimeIndex with these indexers \[1\] of type intr   rb   r  )	r   r   r   r   r   r   r   r   r$   )dtir,   r  r   rI   s        r.   #test_loc_slice_disallows_positionalr    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  rl   r  r   )r   r:   r:   rh   z/None of \[TimedeltaIndex.* are in the \[index\]r   r    )r   r   r   r   r  r   r   r   r   r   TimedeltaIndexasi8r   r   rF   r$   )r,   r  rr  r   s       r.   'test_loc_datetimelike_mismatched_dtypesr  /  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-12rw  r1  r:   )r  rg   r   r   rl   )r   r  r   r   r   r   r  r%   r&   r$   r   r   )r\  r,   s     r.   "test_loc_with_period_index_indexerr  E  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0r0   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   ri   r/  r   r  )r#   r   r   r>  EFr  rb   r   r   )r   r   r   r  r   r   r   r$   r   r%   r&   )r  r\  r  r   r   s        r.   %test_loc_setitem_multiindex_timestampr  P  s    9  ##33F;;D
Z
+
+
+C)))D
DT
2
2
2C(*CGCIaL*$%6DGAaCL
DT
2
2
2C#s#####r0   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  )rb   r   r   rb   )r   rW  r
  ra  ri   rl   r  ra   )r!  r  )
r   r  r   r   r$   r   r%   r&   xsr   )rC  rD  lev3r  r,   r   r-   altr  	expected2alt2r   s               r.   '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<<<<<<r0   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  )rl   ri   rj   r   rb   r:   r  r  )r   r8   r9   rM   rl   r  )r   r   r   r   Tr   r   r9   r$   r   r8   r%   r   r  r!  )r,   r   r   r-   s       r.   /test_loc_getitem_nullable_index_with_duplicatesr  z  s    	X|||\\\Aq"&"&3IJKKM
 
 
B
 ,,s

C9?g%%%%
'!*Cq!fCKwQGGGH3))) 	  ((CI
'!*C3)))))r0   r%  r   c                     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          g ddgd	          }t          j        ||           d S )
Nr  r   uint8r7   r   r   )r:   r   )rb   r:   r   rk   uint16)r   r%   r   r   r$   r&   )r%  r,   r-   s      r.   test_loc_setitem_uint8_upcastr    s     
<<<&	A	A	AB		#M9U	V	V	V " "!y" " " " " " " " " " " " " " " &JJJH"h'''''s   AAAzfill_val,exp_dtypez
2022-01-06zdatetime64[ns]z
2022-01-07
US/Easternrs  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  r9   )rg   r  r  r  r    r   r  )
2022-01-08r    r  r   T)exact)	r   r   r  r   r$   rv  r%   r  r   )fill_val	exp_dtyper   r   r,   expected_indexs         r.   0test_loc_setitem_using_datetimelike_str_as_indexr    s     ,hmmooFD$8;i@@@E	###cU%	@	@	@B "BFKK"4y999N"(N$??????r0   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abcrl   r   r    r   rM   )r   rb   r:   r   )r   r   r$   r%   r&   )r,   r-   s     r.   test_loc_set_int_dtyper    se    	DKK=	!	!BBF111f9cUu#DDEEH"h'''''r0   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   r2  )r#   r   rP  )r#   r   r   )r  Qrc   )Wr  r  )ONETWOVALUESr  r  r  T)rv  r  r   r#   rP  )r   r   r   r$   )p_index	mi_seriess     r.   test_loc_periodindex_3_levelsr    s     LLL  G
 	///???OOOL(((  I
 ##UEN4#@@JI='!*c3/0C777777r0   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)stringsrk  r  rv  r  )r  rv  r   )r   rB  r   r   r$   rk  r%   r&   )r,   	new_valueexpected_dfs      r.    test_loc_setitem_pyarrow_stringsr    s    
	"""	ooo5FGGG---..	
 	

 
B Sz""I )BF269ooo5FGGG---..	
 	
 K "k*****r0   c                   .   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S )TestLocSeriesre  )rf  rh   )rg  rk   c                 P    t          ddd          }|j        |         |k    sJ d S )Nrh   rk   )rf  rg  )r   r$   )r<   rE  r-   r  s       r.   r  zTestLocSeries.test_loc_uint64  s6     1--..ws|x''''''r0   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rh   rk   rj   rl   r:      )r   r%   r   r$   r  r   truncatemedian)	r<   string_seriesdatetime_seriesindsd1d2r   r-   r9  s	            r.   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&/"*=======r0   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 )Nrl   r  r:   )rb   r:   r   z"Timestamp\('2000-01-10 00:00:00'\)r   r   )r   r   r   r   rF   r$   )r<   r  r  r  ts2r   s         r.   test_loc_getitem_not_monotonicz,TestLocSeries.test_loc_getitem_not_monotonic  s9    &2w/Bccc"'			23]83/// 	 	GBrENN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]83/// 	 	CGBrEN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   A$$A(+A(
B$$B(+B(c           
      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:   rg   r   rV   r   rk   rh   r  ri   )rk   ri   r   rg   rl   r  r  z^3$r   )r   r   r   r   r  r   r   r   r   r?  r   r$   r  r%   r   r   r   rF   )r<   r  cpr   r   r-   s2s          r.   0test_loc_getitem_setitem_integer_slice_keyerrorsz>TestLocSeries.test_loc_getitem_setitem_integer_slice_keyerrors  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 )Nrg   )r  r   r$   r%   r   )r<   r  r\  r   s       r.   test_loc_getitem_iteratorz'TestLocSeries.test_loc_getitem_iterator   sJ    =&ss+,,"3'
v}SbS'9:::::r0   c                     ||                                 k    }|                                }d|j        |<   |}d||<   t          j        ||           d S )Nr   )r  r   r$   r%   r   )r<   r  r9  r   r-   s        r.   test_loc_setitem_booleanz&TestLocSeries.test_loc_setitem_boolean%  s\    }33555##%%
4 
vx00000r0   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)rl   r   r  rl   z\['foo'\] not in indexr   r   )r   r   r$   r   r   rF   )r<   r  r  r   s       r.   test_loc_setitem_cornerz%TestLocSeries.test_loc_setitem_corner.  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)rl   rg   r  r   r:   )r   r   r$   r%   r   )r<   r  indicesr  r   s        r.   test_basic_setitem_with_labelsz,TestLocSeries.test_basic_setitem_with_labels5  s    !'4!!##""$$7
r3'''!!##""$$&'71:
"#+,
WQZ'(
r3'''''r0   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:   rg   r   rV   r   )r   rk   ri   r   rk   rl   ri   z\[5\] not in indexr   )r   r   r   r   r  r   r   r   r   r$   r%   r   r   r   rF   	Exception)	r<   r  r  arr_indsr  r   inds_notfoundarr_inds_notfoundr   s	            r.   !test_loc_setitem_listlike_of_intsz/TestLocSeries.test_loc_setitem_listlike_of_intsD  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 )NrW  rh   r  r-  r  r   r_  rs  r    r   )r   r   r   r   r$   r   )r<   r  r  r-   r   s        r.   test_loc_setitem_dt64tz_valuesz,TestLocSeries.test_loc_setitem_dt64tz_values`  s    |Q<@@@!//
 
 
 XXZZ\l;;;s!!!!XXZZ
!!!!XXZZ3C!!!!!!r0   array_fnr-  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   abcderI  r    )r   r   r!  r$   r%   r   r   )r<   r-  r  r  r-   r  s         r.   #test_loc_iloc_setitem_with_listlikez1TestLocSeries.test_loc_iloc_setitem_with_listlikev  s     hsTz""31a+4==OOOQd7mm6:::
sH---Qd7mm6:::
sH-----r0   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#   r4   )r   r  )   r4  r<  rS  r  r   rb   )r   r   r  r   r   r	   r$   )r<   r   r  r   s       r.   +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  rl   rg   r  ri   r`  rk   )r   r   r$   r   r%   r   )r<   r  r  r   r-   r  r  s          r.   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%%%%%%r0   r9   r!  rT  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<   r9   r,   r-   s       r.   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(+++++r0   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   ri   r  rp  r   )r   r%  rb   r   )r   r   r$   r%   r&   r%  s      r.   ,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/////r0   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 )Nrb   r:   r    r  ri   rj   r   rM   r!  r   r  r   )r   r$   r   r   r   r%   r&   r   s      r.   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(+++++r0   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   2000rV   r   r`  r   z
2000-01-14r  )r%   r   r   r   r  r   r   r$   )r<   r   r   r)   s       r.    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) 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  rE  rF  r  r  r  rv   r0   r.   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 1 1r0   r  )T__doc__collectionsr   r   r   r   r   r(  dateutil.tzr   numpyr   r   pandas.errorsr	   pandas.util._test_decoratorsutil_test_decoratorsrE  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   r/   r2   r   r  r  rO  r  r  r  r  r%  rH  ro  rs  r{  r}  r  r  r  r  r  r  r  r  r  int16r  r  r  r  r  r  r  rv   r0   r.   <module>r     s   * * " " " " " "            
			            ' ' ' ' ' ' ) ) ) ) ) ) ) ) )                                           (       & & & & & & 6 6 6 6 6 6 K K K K K K &
&"&#	bfbf 57J7J7JK
&#bft}5 1 1 1{ { { { { { { {|' ' ' ' ' ' ' 'D,:( :( :( :( :( :( :( :(zs: s: s: s: s: s: s: s:l* * * * * * * *D|( |( |( |( |( |( |( |(~G* G* G* G* G* G* G* G*TA7 A7 A7 A7 A7 A7 A7 A7H               :B, B, B, B, B, B, B, B,J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 + + +,}1 }1 }1 }1 }1 }1 }1 }1 }1 }1r0   