
    bMh             	       f   d Z ddlmZ ddlZddlmZmZmZmZ ddlZddl	m
Z
 ddlZddlZddlmZ ddlmZ ddlm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/m0Z1 ddl2m3Z3 ddl4m5Z5 ddl6m7Z7 ej8        9                    dej:        ej:        dgdej:        ej:        gg dgej:        dgdej:        gddggg          d             Z; G d d          Z< G d d          Z= G d d          Z> G d d          Z? G d d          Z@ G d d           ZA G d! d"          ZB G d# d$          ZC G d% d&          ZD G d' d(          ZE G d) d*          ZFej8        9                    d+g d,d-d.gdd/gfg d0d-d.gdd/gfg d0d-d1gdd2gfg          d3             ZGd4 ZHd5 ZId6 ZJd7 ZKd8 ZLd9 ZMd: ZNd; ZOd< ZPd= ZQd> ZRej8        9                    d?d@ ejS        d@           ejT        d@          g          dA             ZUej8        9                    dB e*dC          dDf e*dEdFG          dHfg          dI             ZVdJ ZWej8        X                    dK          ej8        X                    dL          dM                         ZYdN ZZ G dO dP          Z[dS )Qz$ test label based indexing with loc     )
namedtupleN)datedatetimetime	timedelta)gettz)using_string_dtypeindex)np_version_gt2)IndexingError)CategoricalCategoricalDtypeCategoricalIndex	DataFrameDatetimeIndexIndex
IndexSlice
MultiIndexPeriodPeriodIndexSeriesSparseDtype	Timedelta	Timestamp
date_rangetimedelta_rangeto_datetimeto_timedelta)	is_scalar)_one_ellipsis_message)"check_indexing_smoketest_or_raisesz series, new_series, expected_serba)FTTFTc                    t          d| i          }||j        d d df<   t          d|i          }t          j        |                                |           t          j        |                                |            d S NA)r   loctmassert_frame_equalisnanotna)series
new_seriesexpected_serdfexpecteds        ^/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/indexing/test_loc.pytest_not_change_nan_locr3   2   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                     t          g ddgt                    }|j        d         J t          g ddgd          }|r#t          j        |j        d                   sJ d S |j        d         J d S )N)12Nr$   columnsdtype)   r$   str)r   objectr(   npisnan)selfusing_infer_stringr0   s      r2   "test_none_values_on_string_columnsz*TestLoc.test_none_values_on_string_columnsC   s    '''#fEEEvf~%%%'''#eDDD 	*8BF6N+++++++6&>)))))r4   kindr-   framec                 f    |                     | d          }t          |ddt                     d S )N_labelsr(   r=   failsgetfixturevaluer"   KeyErrorrB   rE   requestobjs       r2   test_loc_getitem_intzTestLoc.test_loc_getitem_intN   s=     %%&6&6&677*3qIIIIIIr4   c                 f    |                     | d          }t          |ddt                     d S )N_emptyr(   crI   rK   rN   s       r2   test_loc_getitem_labelzTestLoc.test_loc_getitem_labelT   s:     %%ooo66*3s(KKKKKKr4   zkey, typs, axesf)intsuintslabelsmixedtsNfloats   )rW   rX   rZ   rY   r[   r   c                 v    |D ]5}|                     | d|           }t          |d||t                     6d S N_r(   axesrJ   rK   rB   keytypsrb   rE   rO   typrP   s           r2   #test_loc_getitem_label_out_of_rangez+TestLoc.test_loc_getitem_label_out_of_rangeZ   sa      	 	C))T//C//::C.UCd(    	 	r4   z	key, typsr      r=   )rW   rX   r\   )ri         @r'   c                 t    |D ]4}|                     | d|           }t          |d|t                     5d S )Nr`   r(   rI   rK   )rB   rd   re   rE   rO   rf   rP   s          r2   test_loc_getitem_label_listz#TestLoc.test_loc_getitem_label_listn   sX      	P 	PC))T//C//::C.sE3hOOOOO	P 	Pr4   empty)r   r=   
   )         ri   ))ri   ro   )ri      )r=      multic                 v    |D ]5}|                     | d|           }t          |d||t                     6d S r_   rK   rc   s           r2   (test_loc_getitem_label_list_with_missingz0TestLoc.test_loc_getitem_label_list_with_missing|   sa      	 	C))T//C//::C.UCd(    	 	r4   re   rW   rX   c                 p    |                     | d|           }t          |dg ddt                     d S )Nr`   r(   )r]      (   ri   ra   rK   )rB   re   rE   rO   rP   s        r2   !test_loc_getitem_label_list_failsz)TestLoc.test_loc_getitem_label_list_fails   sU     %%&6&6&6&677*1H	
 	
 	
 	
 	
 	
r4   c                     d S N rB   s    r2   !test_loc_getitem_label_array_likez)TestLoc.test_loc_getitem_label_array_like   s	     	r4   c                 n    |                     | d          }g d}t          |d|t                     d S )NrS   TFTFr(   rI   )rL   r"   
IndexError)rB   rE   rO   rP   r#   s        r2   test_loc_getitem_boolzTestLoc.test_loc_getitem_bool   sC    %%ooo66&&&*3q
KKKKKKr4   zslc, typs, axes, failsro   )rY   rZ   rm   r[   r\   2013010220130104r=      rZ   rr   c                 l    |D ]0}|                     | d|           }t          |d|||           1d S r_   )rL   r"   )	rB   slcre   rb   rJ   rE   rO   rf   rP   s	            r2   test_loc_getitem_label_slicez$TestLoc.test_loc_getitem_label_slice   se    ,  	 	C))T//C//::C.    	 	r4   c                     t          ddgddgddggddgg d          }t          j        d          |j        d	<   t          ddgd
dgddggddgg d          }t	          j        ||           d S )Nr]   r$      col1col2)rn   ri   ri   r;   r   r=   )ri   r   r   ri   )r   r@   aranger(   r)   r*   rB   r0   r1   s      r2    test_setitem_from_duplicate_axisz(TestLoc.test_setitem_from_duplicate_axis   s    #Yc
S#J/V$**
 
 

 IaLLy#YC1c(+ff5EZZZ
 
 
 	b(+++++r4   c           	         t          g ddt          j        dgt          d          t          j        t          d          gd          }t          dgt          d          gd	          }|j        |j        |d
                                         d
dgf<   t          g dg dt          d          t          d          t          d          gd          }t          j
        ||           d S )Nri   r=   ro   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*   )rB   r0   df2r1   s       r2   test_column_types_consistentz$TestLoc.test_column_types_consistent   s   $99 "&*5344F344 

 

 

 "|95J+K+K*LMM
 
 
 .1Zr#w||~~Sz)*$99999344344344 

 

 

 	b(+++++r4   zobj, key, expFr;   namer
   c                     |j         |         }t          |t          t          f          rt	          j        ||           d S ||k    sJ d S r|   )r(   
isinstancer   r   r)   assert_equal)rB   rP   rd   express        r2   #test_loc_getitem_single_boolean_argz+TestLoc.test_loc_getitem_single_boolean_arg   sO     gclcIv.// 	OC%%%%%#::::::r4   )__name__
__module____qualname__rD   pytestmarkparametrizerQ   rU   rg   rl   rv   rz   r   r   slice	TypeErrorrM   r   r   r   r   r   r   r   r   r}   r4   r2   r6   r6   B   s       	* 	* 	* [Vh%899J J :9J
 [Vh%899L L :9L
 [<<<dC8*d#+++T2(T"$O(Q	

 
 [Vh%899  :9
 
 [YY3334]]7778	
  [Vh%899P P :9 P [YY	4(ZZ444a8YY333Q7%%%y!4	
	 	 [Vh%899  :9	 	 [Vfg%677[Vh%899
 
 :9 87
  
 [Vh%899L L :9L [  a<<<	 U:z**TFAyAU1a[[7)Q	2U1a[[7)Q1U1a^^gY95	
  [Vh%899  :9   , , ,, , ,> [ 	A3%w888111e8$s'''
 VQCuueW~~...s;YuEE5'NN333UFFA3U<S<S<ST	
     r4   r6   c                      e Zd Zd Zej                            dd ed          ddffd ed          ddffd	 ed          dd
ffd ed           ed          dffd ed          ddffd ed          d ed          ffd ed          d
dffg          d             Zd Z	d Z
d Zd Zd Zd Zd Zej                            dddgg dg          d             Zd  Zd! Zd" Zd# Zd$ Zd% Zd& Zej        d'             Zej                            d(d) ej        d)ej        *           ej        g d+ej        *          g          d,             Zd- Zd. Zd/ Z d0 Z!ej        "                     e#            d12          d3             Z$ej                            d4g d5          d6             Z%d7 Z&d8 Z'd9 Z(d: Z)d; Z*d< Z+d= Z,d> Z-ej        .                    d?          d@             Z/ej                            dAdBg e0dCdBdC           ej        dBg          g          ej                            dDdEg ej        dEg          g          dF                         Z1ej                            dGd)dHgg dIfdJ e2g dKdLdMej3        ej3        gg dKgg dIN          fdOdPdQgfdJdRg e2dOdHej3        ej3        gg dSdTdUej3        ej3        ggg dIN          fdOg dVf ej        g dWej        *           e2dOdHej3        gg dWdTdUej3        ggg dVN          f e0dOdLdC          g dXfg dWg dYg e2dOdHej3        ej3        gg dZg d[gg dIN          f e0dOdLdC          g d\f ej        g dWg dYgej        *           e2dOdHej3        ej3        gg d]g d^gg dIN          f e0dCdCdC          dBdPgf e2dJdRgd_d`gdadbggdBdPgN           e2g dcg ddg degg dVN          fg          df             Z4dg Z5dh Z6di Z7dj Z8dk Z9ej        j:        ej                            dldmdngdodpgg          dq                         Z;dr Z<ds Z=dt Z>du Z?dv Z@dw ZAdx ZBdy ZCdz ZDd{ ZEd| ZFd} ZGd~ ZHd ZId ZJej                            dg d          ej                            dej        ejK        eLg          d                         ZMd ZNd ZOd ZPej                            dAddg          d             ZQej                            deRej        eSeTg          d             ZUd ZVej                            dd eSdOg          fd eSdHg          fg          d             ZWd ZXej                            dd)g df e0dMdR          g dfdLdTgg dfg          d             ZYd ZZd Z[d Z\ej                            dddgg          d             Z]d Z^ej                            ddBdBgdB e0dC          fg          d             Z_d Z`d Zad Zbd Zcd Zdej                            dddg          d             Zed Zfd Zgd Zhd Zid Zjd ZkdCS )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*   rB   r0   resultr1   s       r2   test_loc_npstrz%TestLocBaseIndependent.test_loc_npstr  sg    Z77888*..q13347344=
fh/////r4   zmsg, keyz'Period\('2019', 'Y-DEC'\), 'foo', 'bar'  foobarz&Period\('2019', 'Y-DEC'\), 'y1', 'bar'y1z&Period\('2019', 'Y-DEC'\), 'foo', 'z1'z1z;Period\('2018', 'Y-DEC'\), Period\('2016', 'Y-DEC'\), 'bar'    z&Period\('2018', 'Y-DEC'\), 'foo', 'y1'z;Period\('2017', 'Y-DEC'\), 'foo', Period\('2015', 'Y-DEC'\)    z&Period\('2017', 'Y-DEC'\), 'z1', 'bar'c           	      x   t          t          d          ddgt          d          t          d          dgt          d          dt          d	          gg d
g dd                              g d          }t          j        t
          |          5  |j        |          ddd           dS # 1 swxY w Y   dS )a(  
        parse_datetime_string_with_reso return parameter if type not matched.
        PeriodIndex.get_loc takes returned value from parse_datetime_string_with_reso
        as a tuple.
        If first argument is Period and a tuple has 3 items,
        process go on not raise exception
        r   x1x2r   r   r   r   r   r   r   rn   r]   rx   )r'   r   CV1V2r'   r   r   matchN)r   r   	set_indexr   raisesrM   r(   )rB   msgrd   r0   s       r2   ;test_contains_raise_error_if_period_index_is_in_multi_indexzRTestLocBaseIndependent.test_contains_raise_error_if_period_index_is_in_multi_index  s   6 TllD$/TllF4LL$7TllD&,,7ii"ll 
 
 )OOO
$
$ 	 ]83/// 	 	F3KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   B//B36B3c                     t          ddgi          }t          j        t          d          5  |j        d d df          d d d            d S # 1 swxY w Y   d S )Nr$   ri   u   אr   )r   r   r   rM   r(   rB   r0   s     r2   $test_loc_getitem_missing_unicode_keyz;TestLocBaseIndependent.test_loc_getitem_missing_unicode_key5  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=   )r]   rs   c                 $    g | ]}d |dz           S )ABCDErs   r}   .0xs     r2   
<listcomp>z@TestLocBaseIndependent.test_loc_getitem_dups.<locals>.<listcomp>?  s     555a71q5>555r4   r]   r
   )r'   r   r   r'   )r   r@   randomdefault_rngranger(   r)   assert_series_equalrB   r0   r1   r   s       r2   test_loc_getitem_dupsz,TestLocBaseIndependent.test_loc_getitem_dups:  s     I!!!$$++G4455599555
 
 
 6&>1!#&
vx00000r4   c           	      *   t          ddddt          d          ggg ddg          }t          ddddt          d          gg dd          }|j        d	         }t	          j        ||           |j        d         }t	          j        ||           d S )
Nri   r=   r   r   20130101r$   r$   r$   r$   r$   r   r   r   r   )r   r   r   r   r)   r   r(   r   s       r2   test_loc_getitem_dups2z-TestLocBaseIndependent.test_loc_getitem_dups2E  s     E5)J"7"789---#
 
 

 5%:!6!67+++
 
 
 
vx000
vx00000r4   c           	         t          t          d          t          d          t          j        dd          dz  dz   t          j        dd          dz  dz   d	                              d
          }dddgf}|                                }|j        |xx         dz  cc<   t          j        |j        |         d|j        |         z             d}|                                }|j        |xx         dz  cc<   |j        |         d|j        |         z  k    sJ dddgf}|                                }|j        |xx         dz  cc<   t          j	        |j        |         d|j        |         z             d S )Nrtttiaaaders   float64r<   gq=
ףp?r=   g(\տ)mer   r   bar2r   rr   r          @)r   r   t)
r   listr@   r   r   copyr(   r)   r   r*   )rB   df_origindexerr0   s       r2   test_loc_setitem_dupsz,TestLocBaseIndependent.test_loc_setitem_dupsY  s   7mmG}}y)444t;a?	!9555=A	 
 
 )D// 	 FO
 \\^^
w3
rvggk'6J0JKKK
 \\^^
w3vg#G(<"<<<<< FO
 \\^^
w3
bfWosW[5I/IJJJJJr4   c                 V   t          g dt          g dd          d          }|d         dk    }|j        |df         dz   }||j        |df<   t          g dt          g d	d          d          }t          j        ||           t          g dg ddd
          }|d         dk    }|j        |df         }t          j        t          d          5  ||j        |df<   d d d            n# 1 swxY w Y   t          g dg ddd
          }t          j        ||           d S )N)r   ri   ri   )d   r   ,  uint32r   r$   r#   r$   ri   r#   )r      i-  uint64item of incompatible dtyper   )r   r   r(   r)   r*   assert_produces_warningFutureWarning)rB   df1ixnewb1r1   r   newb2s          r2   test_loc_setitem_slicez-TestLocBaseIndependent.test_loc_setitem_slice|  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#   rT   r$   r#   rT   float32r   r   )r   r(   astyper@   r   r)   r*   )rB   r0   colsr1   s       r2   test_loc_setitem_dtypez-TestLocBaseIndependent.test_loc_setitem_dtype  s    se3%se4&IIJJ&D/00;;qqq$w eXse9555Xse9555XtfI666	 
 
 	b(+++++r4   c                 t   t          t          d          g d          }t          j        t          d          5  |ddg          d d d            n# 1 swxY w Y   t          t          d                    }t          j        t          d          5  |ddg          d d d            d S # 1 swxY w Y   d S )	Nro   r  r
   not in indexr   r$   dr   )r   r   r   r   rM   )rB   ss     r2   $test_getitem_label_list_with_missingz;TestLocBaseIndependent.test_getitem_label_list_with_missing  s2   588???333 ]8>::: 	 	sCjMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 588]8>::: 	 	q!fII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s#   AAAB--B14B1r   TFr   c                     t          g d          }dt          |           dt          |           }t          j        t          |          5  |j        |          d d d            d S # 1 swxY w Y   d S )Nr   z Boolean index has wrong length: z instead of r   )r   lenr   r   r   r(   )rB   r   r  r   s       r2   test_loc_getitem_bool_diff_lenz5TestLocBaseIndependent.test_loc_getitem_bool_diff_len  s     999QUQQQQQ]:S111 	 	E%LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A**A.1A.c                     d S r|   r}   r~   s    r2   test_loc_getitem_int_slicez1TestLocBaseIndependent.test_loc_getitem_int_slice  s    r4   c                 Z   t          t          j                            d                              d          g dg d          }dt          j        t
                     d}t          j        t          |          5  |j	        d	dgd	dgf          d d d            d S # 1 swxY w Y   d S )
Nr=   ro   ro   r  )erV   gr   r;   z$\"None of \[Index\(\[1, 2\], dtype=''\)\] are in the \[index\]\"r   ri   )
r   r@   r   r   r<   intr   r   rM   r(   rB   r0   r   s      r2   test_loc_to_failz'TestLocBaseIndependent.test_loc_to_fail  s    I!!!$$++F33!//#OO
 
 
"BHSMM " " " 	 ]83/// 	# 	#FAq6Aq6>""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s   ?B  B$'B$c                 &   t          t                    }d|j        d<   d|j        d<   t          j        t
          d          5  |j        d          d d d            n# 1 swxY w Y   dt          j        t                     d	}t          j        t
          |          5  |j        dd
g          d d d            n# 1 swxY w Y   d}t          j        t
          |          5  |j        t          dgt                              d d d            n# 1 swxY w Y   d|j        d<   t          j        t
          d          5  |j        dd
g          d d d            n# 1 swxY w Y   d|d<   dt          j        t                     d	}t          j        t
          |          5  |j        d
g          d d d            n# 1 swxY w Y   |d= t          j        t
          |          5  d|j        d
g<   d d d            d S # 1 swxY w Y   d S )Nr   ri   r=   r$   z^-1$r   z&\"None of \[Index\(\[-1, -2\], dtype='r  zE\"None of \[Index\(\['4'\], dtype='object'\)\] are in the \[index\]\"4ro   r  z"\"None of \[Index\(\[-2\], dtype='r   )
r   r?   r(   r   r   rM   r@   r<   r   r   rB   r  r   s      r2   test_loc_to_fail2z(TestLocBaseIndependent.test_loc_to_fail2  s       ac
]87333 	 	E"II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	"bhsmm " " " 	 ]83/// 	 	E2r(OO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 W]83/// 	. 	.E%V,,,--	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. b	]8>::: 	 	E2r(OO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 #""(3-- " " " 	 ]83/// 	 	E2$KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 cF]83/// 	 	AE2$K	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sl   AA#&A#"B>>CC&#DDDE!!E%(E%)GGG-HH
H
c                    t          dgdggddgdg          }dt          j        t                     d}t	          j        t          |	          5  |j        d
gd d f          d d d            n# 1 swxY w Y   t	          j        t          |	          5  |j        d
g          d d d            d S # 1 swxY w Y   d S )Nr$   r#   ri   r=   valuer  z!\"None of \[Index\(\[3\], dtype='r  r   ro   )r   r@   r<   r   r   r   rM   r(   r!  s      r2   test_loc_to_fail3z(TestLocBaseIndependent.test_loc_to_fail3  sR    u~aVgYGGG"# " " " 	 ]83/// 	 	FA36NN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]83/// 	 	FA3KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   A11A58A5B33B7:B7c                    t          g d          }|j        dg          dt          j        t                     d}t          j        t          t          j	        |                    5  |j        dg          d d d            n# 1 swxY w Y   t          j        t          d          5  |j        ddg          d d d            d S # 1 swxY w Y   d S )Nr   r=   z"None of [Index([3], dtype='z')] are in the [index]r   ro   r  )
r   r(   r@   r<   r   r   r   rM   reescaper'  s      r2   test_loc_getitem_list_with_failz6TestLocBaseIndependent.test_loc_getitem_list_with_fail  sC    999	qc

SbhsmmSSS]829S>>::: 	 	E1#JJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]8>::: 	 	E1a&MM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   *BB	B	+CCCc                     t          t          j                            d                              d          g d          }|j                            d           }|j        t          j        |                   }|j        |         }t          j	        ||           |j        |j
                 }t          j	        ||           |j        t          j        |d                   }t          j	        ||           d S )	Nr=   )rs   rn   size)alpha_0alpha_1alpha_2beta_0beta_1r
   c                 
    d| v S )Nalphar}   r   s    r2   <lambda>z7TestLocBaseIndependent.test_loc_index.<locals>.<lambda>  s
    gl r4   booleanr   )r   r@   r   r   r   mapr(   r   r)   r*   r   r   )rB   r0   maskr1   r   s        r2   test_loc_indexz%TestLocBaseIndependent.test_loc_index  s     I!!!$$+++99GGG
 
 

 x||22336"(4..)
fh///$
fh///Y7778
fh/////r4   c                 J   t          t          j                            d                              d          g dg d          }|j        d d ddf         j        ddd d f         }|j        ddgk                                    sJ |j        ddgk                                    sJ t          t          d          gd	gd
          j        d         }t          t          d          d	gddgd          }t          j        ||           |j        t          k    sJ d S )Nr=   rr   rr   r'   r   r   Dr   r'   r   r   r   ri   r   r$   r#   r   )r   r@   r   r   r(   r   r;   allr   r   r   r)   r   r<   r?   r   s       r2   test_loc_generalz'TestLocBaseIndependent.test_loc_general(  s:   I!!!$$++F33(((&&&
 
 
 3s7
#(1aaa03*,1133333c
*//11111 )J"7"7!8sCCDDI!L9Z00!4S#JQOOO
vx000|v%%%%%%r4   c                     t          t          dd          t          t          d          t          j                  d          S )N
2000-01-01	2000-01-5rs   r   r   val)r   r   r   r   r@   int64r~   s    r2   frame_for_consistencyz,TestLocBaseIndependent.frame_for_consistency:  sC    "<==eAhhbh777 
 
 	
r4   rJ  r   r   )r   r   r   r   r   c                    t          t          dt          d          t          j                  t          t          d          t          j                  d          }|                                }t          j        t          d          5  ||j	        d d df<   d d d            n# 1 swxY w Y   t          j
        ||           d S )	Nr   rs   r   r<   r   rI  incompatible dtyper   r   r   r   r   r@   rK  r   r)   r   r  r(   r*   )rB   rL  rJ  r1   r0   s        r2   test_loc_setitem_consistencyz3TestLocBaseIndependent.test_loc_setitem_consistencyC  s     qaAAAeAhhbh777 
 
 #''))'=QRRR 	$ 	$ #BF111f9	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$
b(+++++s   B**B.1B.c                    t          t          dt          d                    t          t          d          t          j                  d          }|                                }t          j        t          d          5  d|j	        d d df<   d d d            n# 1 swxY w Y   t          j
        ||           d S )	Nr   rs   r
   r   rI  rO  r   r   rP  rB   rL  r1   r0   s       r2   (test_loc_setitem_consistency_dt64_to_strz?TestLocBaseIndependent.test_loc_setitem_consistency_dt64_to_strU  s     uE!HH555eAhhbh777 
 
 #''))'=QRRR 	& 	& %BF111f9	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&
b(+++++   BB#&B#c                    t          t          dt          d                    t          t          d          t          j                  d          }|                                }t          j        t          d          5  d|j	        d d df<   d d d            n# 1 swxY w Y   t          j
        ||           d S )	N      ?rs   r
   r   rI  rO  r   r   rP  rS  s       r2   *test_loc_setitem_consistency_dt64_to_floatzATestLocBaseIndependent.test_loc_setitem_consistency_dt64_to_floatd  s     s%((333eAhhbh777 
 
 #''))'=QRRR 	$ 	$ #BF111f9	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$
b(+++++rU  c                 H   t          dt          t          d          g          i          }t          j        t
          d          5  d|j        d d df<   d d d            n# 1 swxY w Y   t          dt          dg          i          }t          j        ||           d S )Nr   20180101rO  r   string)r   r   r   r)   r   r  r(   r*   r   s      r2   'test_loc_setitem_consistency_single_rowz>TestLocBaseIndependent.test_loc_setitem_consistency_single_rowr  s     	*(=(='> ? ?@AA'=QRRR 	) 	) (BF111f9	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)ffhZ&8&89::
b(+++++s   A##A'*A'c                    t          ddg          }t          ddg          }t          j        d           5  d|j        d d df<   d d d            n# 1 swxY w Y   t          j        ||           t          ddg          }d|d<   |d                             t          j                  |d<   t          j        ||           d S )Nr   yr   ri   )r   r)   r   r(   r*   r  r@   rK  rB   r1   r0   s      r2   "test_loc_setitem_consistency_emptyz9TestLocBaseIndependent.test_loc_setitem_consistency_empty{  s    c3Z000Sz***'-- 	 	BF111c6N	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
b(+++ Sz***3 ,,RX66
b(+++++s   AAAzTODO(infer_string)reasonc                 *   dgdz  g dg dg}t          j        |g d          }g dg dg}t          j        |d	d
g          }ddddt          j        gg dddddt          j        gg dg}t	          |||          }t          j                    }|rt          j        t          d          }|5  t          |j        d d df                   |j        d d df<   d d d            n# 1 swxY w Y   |5  t          |j        d d df                   |j        d d df<   d d d            n# 1 swxY w Y   |rd S |                                }|j        d d df         |j        d d df         z
  |j        d d df<   t          j        t          d          5  |j        d d df         t!          d          z  |j        d d df<   d d d            n# 1 swxY w Y   t#          g d|j        d          }	t          j        |d         |	           d S )NRegion_1rr   )Site_1re  Site_2rf  )l   BP[ l   _Z l   q=.Z l   <.Z )RegionSiteRespondentIDnames)
Respondentrl  rl  OtherCatrm  )	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:52rt  rt  z5/20/2015 8:27z5/20/2015 8:41)r'   z5/20/2015 8:33z5/20/2015 9:09rt  Nor  Invalid valuer   )rl  ro  )rl  rp  )rl  DurationrO  l    Xp7 )g      7@      (@g      ,@g      B@r   )r   from_arraysr@   r   r   
contextlibnullcontextr   r   r   r   r(   infer_objectsr)   r   r  r   r   r   r   )
rB   rC   levelsmiclevelsr  r   r0   ctxr1   s
             r2   -test_loc_setitem_consistency_slice_column_lenzDTestLocBaseIndependent.test_loc_setitem_consistency_slice_column_len  sq   
 L1444<<<

 #F2T2T2TUUU ONNLLL
 %gi5KLLL #%6rvFCCC"$4eRVDBBB	
 vR666$&& 	B-	AAAC 	 	5@qqq5566 6BF111112	 	 	 	 	 	 	 	 	 	 	 	 	 	 	  	 	3>qqq3344 4BF111//0	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
  	F F111//0fQQQ3345 	qqq,,- '=QRRR 	* 	*46F--5.))5*BF111001	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*
 $$$BH;U
 
 
 	r"<=xHHHHHs6   2+C))C-0C-6+D--D14D1.GGGunit)YMrC  hmr  msusc                    t          dt          j        d          t          j        d          gi          }|j        d d df         j                            d| d          |j        d d |f<   |j        d d df         j                            d| d          |d<   t          |j        d d df         |          }t          j        |j        d d |f         |           d S )N	timestampz2017-02-11 12:41:29z1991-11-07 04:22:37zdatetime64[]r1   r   )	r   r@   
datetime64r(   r   r  r   r)   r   )rB   r  r0   r1   s       r2   test_loc_assign_non_ns_datetimez6TestLocBaseIndependent.test_loc_assign_non_ns_datetime  s     M"788M"788
 
 &K07>>?TT?T?T?TUUqqq$w;/6==>SD>S>S>STT:"&J/d;;;
rvaaag99999r4   c                    t          j        dg di          }t          |d         dd          |d<   |j        d d df         |j        d d df<   |j        dd	gdf         |j        dd	gdf<   t          g d
g dg dg dgg d          }ddg}||                             t                    ||<   t          j        ||           d S )Nr   )   CO!g   s~!g    4	8   A{?r  T)r  cachedate_dt
date_dt_cpr=   ro   )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*   )rB   r0   r1   r;   s       r2   test_loc_modify_datetimez/TestLocBaseIndependent.test_loc_modify_datetime  s    QQQR
 
 $BvJTFFF9"$&I"6qqq,')vq!fi.?'@1v|#$UUUUUUUUUUUU	 655
 
 
 l+$W-33K@@
b(+++++r4   c                    t          g ddgt                    }t          j        g dd          |j        g ddf<   t          g dg dt          	          }t          d|i          }t          j        ||           d S )
Nro   rs   rr   r'   r   r;   r<   r   rK  r   rr   ro   rs   r=   ro   ri   rN  )r   floatr@   r   r(   r   r)   r*   rB   r0   serr1   s       r2   #test_loc_setitem_frame_with_reindexz:TestLocBaseIndependent.test_loc_setitem_frame_with_reindex  s    YYYUCCC!#)))7!C!C!Cyyy#~ YYYiiiu===c3Z((
b(+++++r4   c                 @   t          g dddgt                    }d|d<   t          j        g dd          |j        g d	df<   t          g d
g dd          }t          d|                    t                    i          }d|d<   t          j        ||           d S )Nr  r'   r   r  r[  r   rK  r   r  r  rN  )	r   r  r@   r   r(   r   r  r)   r*   r  s       r2   )test_loc_setitem_frame_with_reindex_mixedz@TestLocBaseIndependent.test_loc_setitem_frame_with_reindex_mixed  s    YYYc
%HHH3!#)))7!C!C!Cyyy#~YYYiiiw??? c3::e#4#4566 
b(+++++r4   c                    t          g dddgt                    }d|d<   t          j        g dd          |j        t          dd	d
          df<   t          g dddg d          }t          j        ||           d S )Nr   r'   r   r  r[  rK  r   ro   r   r$  )rj   r   rW  r   r
   )r   r  r@   r   r(   r   r)   r*   r   s      r2   *test_loc_setitem_frame_with_inverted_slicezATestLocBaseIndependent.test_loc_setitem_frame_with_inverted_slice  s    YYYc
%HHH3')x			'I'I'IuQ2#$ ???BB)))TTT
b(+++++r4   c                    d t          d          D             }t          j        dd          }d t          d          D             }t          j        dd          }t          t	          |                              |                    }t          |          }t          j        |d<   ||j        |df<   t          j        |d	<   ||j        |d	f<   t          ||t          j
        
          }t          ||          }t          ||dt          dd	gt                                                  |          }	t          j        ||	           d S )Nc                 2    g | ]}d t          |          z   S @r>   r   is     r2   r   zGTestLocBaseIndependent.test_loc_setitem_empty_frame.<locals>.<listcomp>  "    000!s1vv000r4   rs   rK  r   c                 2    g | ]}d t          |          z   S r  r  r  s     r2   r   zGTestLocBaseIndependent.test_loc_setitem_empty_frame.<locals>.<listcomp>  r  r4   rr   r
   r'   r   rN  r   r   )r   r@   r   r   setunionr   r   r(   r   r   r   r?   reindexr)   r*   )
rB   keys1val1keys2val2r   r0   seraserbr1   s
             r2   test_loc_setitem_empty_framez3TestLocBaseIndependent.test_loc_setitem_empty_frame  sL   00uQxx000y'***00uQxx000y'***SZZ%%e,,--U###&3!ucz&3!ucz d%rz:::d%(((T""E3*F,K,K,K
 
 

''

 	 	b(+++++r4   c                    t          t          j                            d                              d          t          d          t          d                    }|j        d         }d|j        d<   |j        d         }|dk    sJ |j        d         }|dk    sJ d	|j        d d d
df<   |j        d d d
df         }|j        d d dd f         }t          j	        ||           d S )Nr=   rA  abcdABCDr  r   r   ri   )r$   r'   r   r   rC  )
r   r@   r   r   standard_normalr   r   r(   r)   r*   r   s       r2   test_loc_setitem_framez-TestLocBaseIndependent.test_loc_setitem_frame0  s    I!!!$$44V<<v,,LL
 
 
 x!{{{{{{{{qqq#c'z6!!!SW*%ABB
fh/////r4   c                     t          g dt          j        d          }|j        |j        |j        |j        k    df<   t          g dt          j        d          }t          j        ||           d S )Nr   r   r   )r   r@   r   r'   r(   r   r)   r*   r   s      r2   /test_loc_setitem_frame_nan_int_coercion_invalidzFTestLocBaseIndependent.test_loc_setitem_frame_nan_int_coercion_invalidE  sn     YYYRV4455#%4rtbd{C 99926::;;
b(+++++r4   c                 `   t          ddgddgddgd          }|j        dddgf         }t          ddgt          ddgt          	          t          d
          }t          j        ||           t          ddgddgddgd          }ddg|j        dddgf<   t          j        ||           d S )Nri   r=   ro   rr   r$   r#   )ri   r=   r$   r   r   r   r<   r   rs   rp   )r   r(   r   r   r?   r)   r   r*   r   s       r2   #test_loc_setitem_frame_mixed_labelsz:TestLocBaseIndependent.test_loc_setitem_frame_mixed_labelsM  s     Aq6q!fC:>>??Aq6	"F%Af555V!
 
 
 	vx000!QQF#sDDEEFq1a&y
b(+++++r4   z.ignore:Setting a value on a view:FutureWarningc           	      Z   t          g dt          t          d          t          j                  d          }|j        dd         }|j        dd         |_        ||j        dd<   t          g dt          g d	t          j                  d          }t          j        ||           t          t          d
d          t          t          d          t          j                  d          }t          t          d          t          d          t          d          t          d          t          d          gt          g dt          j                  d          }|j        dd         }|j        dd         |_        ||j        dd<   t          j        ||           d S )Nr   r   bazro   r   r   ri   r=   r   )r   r  r  )ri   r=   r=   rG  rH  rs   rI  200001012000010220000103)r   ri   r   ri   r=   rr   )r   r   r   r@   rK  r(   r   r)   r*   r   r   )rB   warn_copy_on_writer0   rhsr1   s        r2    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(+++++r4   r   r'   Nr*  Zc                     t          ddgddggddg                              dt          i          }||j        d|f<   |j        d	         }t	          |          r|d
k    sJ d S )Nri   r=   ro   rr   r'   r   r   r   )r   r'   r  )r   r  r?   r(   r    )rB   r   r*  r0   r   s        r2   "test_loc_setitem_with_scalar_indexz9TestLocBaseIndependent.test_loc_setitem_with_scalar_index  sr     AA'#s<<<CCS&MRR"q'z  2Vs]]]]]]r4   zindex,box,expectedr=   rB  rq   )rq   rq   rq   rq   ro   rr   r   ri   r   rC  r   )ro   rr   rq   r   rs   rp   r   rq   r   	   )r   r   rC  rn         )ro   rq   r   r  )rs   rn   r  r  )r   r'   rC  )r   rr   rq   r  )r  rp   rn   r  r  rn   r  r  )rq   r=   r   )r  rr   rn   )r  rp   r  c                 |    t          ddgddgddggddg	          }||j        |<   t          j        ||           d S )
Nri   r=   ro   rr   rs   rp   r'   r   r   r   r(   r)   r*   )rB   r   boxr1   r0   s        r2    test_loc_setitem_missing_columnsz7TestLocBaseIndependent.test_loc_setitem_missing_columns  sR    j AAA/#sDDDu
b(+++++r4   c                 .   t          dt          d                              d          t          j        gi          }|j        }|j        dg         }t          j        |j        |           |j        dg         }t          j        |j        |           d S )Nr   r   UTCr   ri   )	r   r   tz_localizer   r   dtypesr   r)   r   r   s       r2   test_loc_coercionz(TestLocBaseIndependent.test_loc_coercion  s    :!6!6!B!B5!I!I26 RSTT9!
v}h777!
v}h77777r4   c           	         t          dt          ddd          t          ddd          gi          }|j        }|j        dg         }t	          j        |j        |           |j        dg         }t	          j        |j        |           d S )Nr     ri   i  r=   r   )r   r   r  r   r)   r   r   s       r2   test_loc_coercion2z)TestLocBaseIndependent.test_loc_coercion2  s    $1!5!5xa7K7K LMNN9!
v}h777!
v}h77777r4   c                     t          ddgd gdz  z   i          }|j        }|j        dd         }t          j        |j        |           |j        dd          }t          j        |j        |           d S )Ntextz
some wordsr  r   r=   ro   )r   r  r   r)   r   r   s       r2   test_loc_coercion3z)TestLocBaseIndependent.test_loc_coercion3  sv    $! ;<==91
v}h777
v}h77777r4   c                    t          d                              d          t          d                              d          g}t          |t          ddgt                              }t          t                    }|d          ||          d<   |d	          ||          d<   t          j        ||           d S )
N*   r  i  r   r   r   r
   r   ri   )r   r  r   r   r?   r)   r   )rB   
indexer_slvalsr1   r  s        r2   test_setitem_new_key_tzz.TestLocBaseIndependent.test_setitem_new_key_tz  s     OO''..((//
 $eUEN&&I&I&IJJJ6"""!%a

3!%a

3
sH-----r4   c                 n   t          g dg ddg d          }d}t          j        t          |          5  |j        dd           d d d            n# 1 swxY w Y   d	}t          j        t          |          5  |j        d
d           d d d            n# 1 swxY w Y   d}t          j        t          |          5  |j        dd          d d d            n# 1 swxY w Y   t          g dg ddg d                              d
          }|j        dd          }t          g dg ddg d          }t          j        ||           |j        d
d          }t          j        ||           |j        dd         }t          g dg ddg d          }t          j        ||           d S )Nri   r=   ro   rr   rs   rp   )ro   rr   rs   rp   rq   r   r   )r   ri   r   ri   r=   ro   r
   z5'Cannot get left slice bound for non-unique label: 1'r   ri   z5'Cannot get left slice bound for non-unique label: 0'r   r=   axis)r=   rr   rs   rp   )rr   rp   rq   r   )ri   ri   r=   ro   )r=   rr   rs   )rr   rp   rq   )ri   ri   r=   )r   r   r   rM   r(   
sort_indexr)   r*   )rB   r0   r   r   r1   s        r2   test_loc_non_uniquez*TestLocBaseIndependent.test_loc_non_unique  s    $$$+=+=+=>>FXFXFX
 
 
 F]83/// 	 	F122JJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	E]83/// 	 	F122JJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	E]83/// 	 	F1Q3KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 $$$+=+=+=>>FXFXFX
 
 

*!*

 	 <<<lllCC<<<XXX
fh///
fb)))!999999==YYYOOO
fh/////s5   AAA<BBB CC #C z
length, l2  r   i 順 c                 2   t          d          }t          j        t          t          j                            d                              |t          |          f          t	          j	        |          |          t          t	          j
        |t          |          f          dg|z  |          g          }|j        j        du sJ t	          j	        |          }|j        |         }t          j        |                    dg          t          t	          j
        t          |          t          |          f          dgt          |          z  |          |                    |dd                    g          }t          j        ||           d S )NABCDEFGr=   r  r   Fri   )r   r   concatr   r@   r   r   r  r  r   onesr   	is_uniquer(   taker)   r*   )rB   lengthl2r;   r0   r>  r   r1   s           r2    test_loc_non_unique_memory_errorz7TestLocBaseIndependent.test_loc_non_unique_memory_error  sm    y//YI))!,,<<fc'll=STT)F++#  
 "'2s7||"455aS2XwWWW	
 	
 x!U****y}}9GSYYG566#D		/#  
 QRR!!

 

 	fh/////r4   c                     t          ddgddgg          }d|j        _        |j        ddg         j        j        }|dk    sJ |j        ddg         j        j        }|dk    sJ d S )Nri   
index_namer   )r   r   r   r   r(   rB   r0   r   s      r2   test_loc_namez$TestLocBaseIndependent.test_loc_nameA  sw    AA'(($!Q&+%%%%A%*%%%%%%r4   c           
      .   t          t          j        d          t          d t	          d          D             d          t          d t	          d          D             d                    }t          j        |j        d d g f         |j        d d d d	f         d
d
           t          j        |j        g d d f         |j        d d	d d f         d
d
           t          j        |j        g          |j        d d	d d f         d
d
           d S )N)rs   r=   c                     g | ]}d | S zi-r}   r  s     r2   r   zLTestLocBaseIndependent.test_loc_empty_list_indexer_is_ok.<locals>.<listcomp>N  s    444aa444r4   rs   r$   r   c                     g | ]}d | S r  r}   r  s     r2   r   zLTestLocBaseIndependent.test_loc_empty_list_indexer_is_ok.<locals>.<listcomp>O  s    666888666r4   r=   r  r   T)check_index_typecheck_column_type)	r   r@   r  r   r   r)   r*   r(   r   r   s     r2   !test_loc_empty_list_indexer_is_okz8TestLocBaseIndependent.test_loc_empty_list_indexer_is_okK  s?   GFOO445884443???66U1XX666SAAA
 
 
 	F111b5M27111bqb5>DTX	
 	
 	
 	
 	F2qqq5M272A2qqq5>DTX	
 	
 	
 	
 	F2JAAAQU	
 	
 	
 	
 	
 	
r4   c                 F   t          dg di          }|j        d d          }||usJ |d d          |usJ |j        d d d d f         |usJ t          j        |d         j        |d         j                  sJ t          j        |          5  g d|j        d d df<   d d d            n# 1 swxY w Y   |r#|d         g dk                                    sJ n |d         dk                                    sJ t          t          j        	                    d          
                    d                    }|s|r|d         |j        d d df         usJ n|d         |j        d d df         u sJ t          g d          }|j        d d          }||usJ |d d          |usJ t          j        |          5  g d	|d d
<   d d d            n# 1 swxY w Y   |r!t          |d d
         g dk              sJ d S t          |d d
         g d	k              sJ d S )Nr$   r   )rr   rr   rr   rr   r=   rn   rr   r   r  r  ro   )r   r(   r@   shares_memory_valuesr)   assert_cow_warningrD  r   r   r  r   )rB   using_copy_on_writer  original_df	sliced_dfr0   original_seriessliced_seriess           r2   &test_identity_slice_returns_new_objectz=TestLocBaseIndependent.test_identity_slice_returns_new_object^  s%   
  iii 011OAAA&	++++111~[0000qqq!!!t$K7777 C 0 8)C.:PQQQQQ "#566 	0 	0&/iiKOAAAsF#	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	/cNiii/44666666cNa',,..... ry,,Q//??HHII 	)"4 	)a5qqq!t,,,,,a5BF111a4L(((( !!3!3!344'+AAA.O3333qqq!8888"#566 	, 	,"+))OBQB	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	7}RaR(III56666666}RaR(III56666666s$   B,,B03B0>
GGGc                    |s5t           j                            d          }|                    |           t	          t          t          d          t          d                    ddg          }|                                }|j        d d df         }|dz  }t          j
        ||           |                                }|j        |j        df         }|dz  }t          j
        ||           d S )Nz!accidental fix reverted - GH37497ra  ro   r$   r#   r   r=   )r   r   xfailapplymarkerr   zipr   r   r(   r)   r*   r   )rB   rO   r  r   r   r^  qzs           r2   test_loc_copy_vs_viewz,TestLocBaseIndependent.test_loc_copy_vs_view  s     # 	&;$$,O$PPD%%%c%((E!HH--SzBBBFFHHE!!!S&M	Q
a###FFHHE!'3,	Q
a#####r4   c                 h   t          j        d          j        }t          ddg|dz
  |g          }|j        |dz
           }|j        d         }||k    sJ |j        |dz
  g         }|j        dg         }t          j        ||           |j        |dz
  |g         }t          j        ||           d S )Nr   ri   r=   r
   r   )r@   iinfomaxr   r(   r   r)   r   )rB   umaxr  r   r1   s        r2   test_loc_uint64z&TestLocBaseIndependent.test_loc_uint64  s     x!!%aVD1Hd#3444"8A;!!!!$($8QC=
vx000$(D)*
vs+++++r4   c                 l   t          j        d          j        }t          ddg|dz
  |g          }t	          j        t          d          5  |j        d          d d d            n# 1 swxY w Y   t	          j        t          d          5  |j        dg          d d d            d S # 1 swxY w Y   d S )Nr   ri   r=   r
   z-1r   r$  )r@   r  r  r   r   r   rM   r(   )rB   r  r  s      r2   !test_loc_uint64_disallow_negativez8TestLocBaseIndependent.test_loc_uint64_disallow_negative  s0   x!!%aVD1Hd#3444]84000 	 	GBKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]84000 	 	GRDMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   A''A+.A+B))B-0B-c           	         g d}t          |t          j        t          j        gt	          |          z  t
                    d          }t          ddg          }||j        d d df<   t          j        ||           d S Nr   r   r   r^  r   r^  r   )	r   r@   r   r   r  r?   r(   r)   r*   rB   r   r1   r0   s       r2   *test_loc_setitem_empty_append_expands_rowszATestLocBaseIndependent.test_loc_setitem_empty_append_expands_rows  s     yyRXrvhT&:&IIIJJ
 

 Sz***qqq#v
b(+++++r4   c           	      T   g d}t          |t          j        t          j        gt	          |          z  t
                    d          }t          ddg          }|d                             t          j                  |d<   ||j        d d df<   t          j
        ||           d S r#  )r   r@   r   r   r  r?   r  rK  r(   r)   r*   r%  s       r2   6test_loc_setitem_empty_append_expands_rows_mixed_dtypezMTestLocBaseIndependent.test_loc_setitem_empty_append_expands_rows_mixed_dtype  s     yyRXrvhT&:&IIIJJ
 
 Sz***S'..**3qqq#v
b(+++++r4   c                     t          dgt          j        gd          }t          ddgt                    }|j        d         |j        d<   t          j        ||           d S )NrW  r$  r   r^  r:   )r   r   )r   r@   r   r  r(   r)   r*   r_  s      r2   *test_loc_setitem_empty_append_single_valuezATestLocBaseIndependent.test_loc_setitem_empty_append_single_value  s^    C5x8899Sz777!f-v
b(+++++r4   c                    ddg}t          ddg          }|j                            t          j                  |_        dt          j        t                     d}t          j        t          |          5  ||j
        d	dgdf<   d d d            n# 1 swxY w Y   d
}t          j        t          |          5  ||j
        d	ddf<   d d d            d S # 1 swxY w Y   d S )Nri   r=   r   r^  r   z"None of \[Index\(\[0, 1\], dtype='z'\)\] are in the \[index\]r   r   )setting an array element with a sequence.)r   r   r  r@   rK  r<   r   r   r   rM   r(   
ValueError)rB   r   r0   r   s       r2   $test_loc_setitem_empty_append_raisesz;TestLocBaseIndependent.test_loc_setitem_empty_append_raises  so    1vSz***8??28,,$"(3-- $ $ $ 	 ]83/// 	' 	'"&BFAq63;	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' :]:S111 	$ 	$#BF1Q38	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s$   8BBB;CCCc                     t          ddgddgg          }|j        t          j        d                   }t	          ddgd          }t          j        ||           d S )Nri   r=   ro   rr   r   r   )r   r(   r@   r   r   r)   r   )rB   r0   r   r  s       r2   test_indexing_zerodim_np_arrayz5TestLocBaseIndependent.test_indexing_zerodim_np_array  s_    AA'(($Aq6"""
vq)))))r4   c                 v    t          ddg          }|j        t          j        d                   }|dk    sJ d S )Nri   r=   r   )r   r(   r@   r   )rB   r  r   s      r2   %test_series_indexing_zerodim_np_arrayz<TestLocBaseIndependent.test_series_indexing_zerodim_np_array  s6    Aq6NNrx{{#{{{{{{r4   c                     g dd gdz  z   }t          |t          dd                    }t          t          dd          t          j                  }g d|j        ddd	<   t          j        ||           d S )
Nr  rr   i  i  r
   rN  )rp   rs   rr   ro   r=   ri   r   r$  )r   r   r@   r   r(   r)   r   )rB   r   r1   r   s       r2   test_loc_reverse_assignmentz2TestLocBaseIndependent.test_loc_reverse_assignment  s    !!!TFQJ.$eD$&7&7888eD$//rzBBB#5#5#5
4R< 
vx00000r4   c                    d t          d          D             }t          |dg          }t          |dg          }t          j        ||           |rOt	          j        t          d          5  d |D             |j        |j        df<   d d d            n# 1 swxY w Y   n`d |D             |j        |j        df<   t          |dgt          	          
                    t                    }t          j        ||           d
 |D             |d<   t          |dgt          	          }t          j        ||           d S )Nc                     g | ]C}t          t          j                            d                                           dz            DS )r=   g-q=)r>   r@   r   r   )r   r`   s     r2   r   z^TestLocBaseIndependent.test_loc_setitem_str_to_small_float_conversion_type.<locals>.<listcomp>  sA    UUUqC	--a007799EABBUUUr4   rs   r'   r   rv  r   c                 ,    g | ]}t          |          S r}   r  r   s     r2   r   z^TestLocBaseIndependent.test_loc_setitem_str_to_small_float_conversion_type.<locals>.<listcomp>  s    0L0L0Laq0L0L0Lr4   c                 ,    g | ]}t          |          S r}   r8  r   s     r2   r   z^TestLocBaseIndependent.test_loc_setitem_str_to_small_float_conversion_type.<locals>.<listcomp>  s    ,H,H,H!U1XX,H,H,Hr4   r:   c                 ,    g | ]}t          |          S r}   r8  r   s     r2   r   z^TestLocBaseIndependent.test_loc_setitem_str_to_small_float_conversion_type.<locals>.<listcomp>  s    222AuQxx222r4   )r   r   r)   r*   r   r   r   r(   r   r  r  r?   )rB   rC   col_datar   r1   s        r2   3test_loc_setitem_str_to_small_float_conversion_typezJTestLocBaseIndependent.test_loc_setitem_str_to_small_float_conversion_type  s    VUERSHHUUU8cU333Xu555
fh///  	4y@@@ M M0L0L80L0L0L
6<,-M M M M M M M M M M M M M M M -I,Hx,H,H,HFJv|S() C5FFFMMfUUH!&(333 32222sXuEBBB
fh/////s   0BBBc                    t          ddd          }|j        dk    |j        dk    z  }t          t          j                            d                              t          |          df          |	          }t          j
        ||          }|j        t          dd                   }|j        |         }t          j        ||           |j        d
d          }|j        t          dd                   }|dd          }|j                            d           |_        |j                            d           |_        t          j        ||           d S )N1/1/2000z1/5/20005minfreqr  rx   r=   ro   r
   z1/4/2000r$  )r   hourminuter   r@   r   r   r  r  r)   get_objr(   r   r   r   
_with_freq)	rB   frame_or_seriesrngr>  rP   r   r   chunkr1   s	            r2   test_loc_getitem_time_objectz3TestLocBaseIndependent.test_loc_getitem_time_object  s+   Zf===A#*"23I!!!$$44c#hh]CC3
 
 
 jo..a%gdm
$$$
$42;;'"##; |..t44!22488
)))))r4   
spmatrix_t)
coo_matrix
csc_matrix
csr_matrixr<   c                    t          j        d          }t          ||          }d\  }} |t          j        |||          |          }t
          j                            |          }t          d|          }|j	        |         j
        }	|                                |         }
t          j        |	|
           |j	        |         j        j
        }	t          j        |t!          |d                    }
t          j        |	|
           d S )Nscipy.sparse)rs   rq   r   r=   r   )
fill_value)r   importorskipgetattrr@   eyer   sparsefrom_spmatrixr   r(   r   toarrayr)   assert_numpy_array_equalr  fullr   )rB   rJ  r<   	sp_sparserowsr  spmatrixr0   itr_idxr   r1   s              r2   $test_loc_getitem_range_from_spmatrixz;TestLocBaseIndependent.test_loc_getitem_range_from_spmatrix2  s     '77	Y
33

 
d:bfT4u===UKKK++H55 4..'##%%g.
#FH555 '.74Uq!A!A!ABB
#FH55555r4   c           	          t          dt          j        ddgt          d                    i          }|j        ddg         }t          j        ||           d S )Nr'   r   rK  r   ri   )r   r   r   r   r(   r)   r*   r   s      r2   ,test_loc_getitem_listlike_all_retains_sparsezCTestLocBaseIndependent.test_loc_getitem_listlike_all_retains_sparseK  sW    RXq!fK4H4HIIIJKKA
fb)))))r4   c                    t          j        d          }t          j                            |                    d                    }|j        t          d                   }t          g dg dgt          dd                    }t          j
        ||           |j        t          d                   j        t          d	                   }t          g dgt          dd                    }t          j
        ||           d S )
NrO  rs   r=   rW  r	  r	  r	  r	  )r	  rW  r	  r	  r	  r   r	  r   ri   )r   rQ  r   rT  rU  rS  r(   r   r   r)   r*   )rB   rY  r0   r   r1   s        r2   test_loc_getitem_sparse_framez4TestLocBaseIndependent.test_loc_getitem_sparse_frameP  s    '77	++IMM!,<,<==a!&&&(A(A(ABi--
 
 
 	fh///a!%eAhh/&&&'{9c/J/J
 
 
 	fh/////r4   c                    t          g dt          dd                    }|j        t          d                   }t          ddgt          dd                    }t	          j        ||           |j        t          d                   j        t          d                   }t          ddgt          dd                    }t	          j        ||           d S )Nra  r   r	  r   r=   rW  ro   )r   r   r(   r   r)   r   )rB   r  r   r1   s       r2   test_loc_getitem_sparse_seriesz5TestLocBaseIndependent.test_loc_getitem_sparse_seriesb  s    ,,,K	34O4OPPPuQxx3*K	3,G,GHHH
vx000uQxx$U1XX.3*K	3,G,GHHH
vx00000r4   r(   r   c                     t          g dg dgt          t                              }t          ||          d         }t	          g dt          t                    d          }t          j        ||           d S )N)rW  r	        ?)r	  r   r	  r   r   )r<   r   )r   r   r  rR  r   r)   r   )rB   r   r0   r   r1   s        r2   !test_getitem_single_row_sparse_dfz8TestLocBaseIndependent.test_getitem_single_row_sparse_dfn  sx     9UASASTTTW%%a(///U1C1C!LLL
vx00000r4   key_typec                      |g d          }|j         d d |f         }|j         d d g df         }t          j        ||           d S )Nr   )r(   r)   r*   )rB   float_framerh  idxr   r1   s         r2   test_loc_getitem_iterablez0TestLocBaseIndependent.test_loc_getitem_iterablev  s[    h''C(?111ooo#56
fh/////r4   c                 D   t          t          j                            d                              d                    }t          ddd          |_        |j        t          d          d d d f         }|j        dd d d f         }t          j
        ||           d S )Nr=   r
  r1  0srn   r  startperiodsrA  )r   r@   r   r   normalr   r   r(   r   r)   r*   r   s       r2   #test_loc_getitem_timedelta_0secondsz:TestLocBaseIndependent.test_loc_getitem_timedelta_0seconds}  s    ry,,Q//66G6DDEE"rDDD6)D//++QQQ./qqq!
fh/////r4   val,expected                c                     t          ddgddg          }|j        |         }||_        t          j        ||           d S )Nri   r=   ru  rv  r
   )r   r(   r   r)   r   )rB   rJ  r1   r0   r   s        r2   test_loc_getitem_uint64_scalarz5TestLocBaseIndependent.test_loc_getitem_uint64_scalar  sJ    
 1vi%7888
vx00000r4   c                     |}t          g dt          g d|                    }|                                }d|j        d<   d|j        d<   t          j        ||           d S )Nr  )r         ?ri   r   r
   zoori   r=   )r   r   r   r(   r   r)   r   )rB   float_numpy_dtyper<   r  r1   s        r2   +test_loc_setitem_int_label_with_float_indexzBTestLocBaseIndependent.test_loc_setitem_int_label_with_float_index  sk    !___E+++U,K,K,KLLL88::
 a
sH-----r4   zindexer, expected)
r]   ri   r=   ro   rr   rs   rp   rq   r   r  )
r   ri   r=   ro   r]   r]   r]   r]   r   r  )
r   ri   r=   r]   rr   r]   rp   rq   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 )	Nrn   r  r  r   rK  r<   r   r]   r  )r   r   r   r(   r   r)   r*   )rB   r   r1   tdir0   s        r2   /test_loc_setitem_listlike_with_timedelta64indexzFTestLocBaseIndependent.test_loc_setitem_listlike_with_timedelta64index  s     5993///U2YY'wcBBB)+rx #%&E	
 
 
 	h+++++r4   c                    t          g dt          d          d          }t          g dt          d          d          }t          j        t          d          5  t          ddgd	dg
          |j        ddd	f<   t          ddgd	dg
          |j        dddf<   d d d            n# 1 swxY w Y   t          j        ||           d S )Nri   ri   ri   ri   ri   aaaaar   )ri   r#   r#   ri   ri   aabbar   r   r#   r$   
categoriesri   r=   ro   )r   r   r)   r   r  r   r(   r*   )rB   r0   r   s      r2   8test_loc_setitem_categorical_values_partial_column_slicezOTestLocBaseIndependent.test_loc_setitem_categorical_values_partial_column_slice  s8    ___4==AABB111WFFGG'!=
 
 
 	N 	N  +C:3*MMMBF1Q38*C:3*MMMBF1Q38		N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N
 	b#&&&&&s   AB--B14B1c                 z   t          dgdgd          }t          |d         g d          }||j        d d df<   |d         }t          ||j        d                              |st          nd          }t          j        ||           ||d<   t          j        |d         t          |d	                     d S )
Nr$   r   )AlphaNumericr  r  r  r   r>   r   )	r   r   r(   r   r   r  r?   r)   r   )rB   rC   r0   r  r   r1   s         r2   'test_loc_setitem_single_row_categoricalz>TestLocBaseIndependent.test_loc_setitem_single_row_categorical  s    #A37788 GIII
 (qqq'zG*BH7CCCJJ,7FF%
 
 	vx000 !7
r'{F:G,L,L,LMMMMMr4   c                    t          dt          d          gdz  i          }t          j        d          |j        dddf<   t          d          |j        d         k    sJ t          d          |j        d         k    sJ t          j        t          d	
          5  t          ddd          |j        d<   d d d            n# 1 swxY w Y   t          d                                          |j        d         k    sJ d S )NrT   z
2010-10-01ro   z
2008-08-08r   ri   )r   rT   )ri   rT   rO  r   i  rs   )r=   rT   z
2005-05-05)	r   r   r@   r  r(   r)   r   r  r   r   s     r2   "test_loc_setitem_datetime_coercionz9TestLocBaseIndependent.test_loc_setitem_datetime_coercion  s4   i556:;<<=66qsCx&&"&.8888&&"&.8888'=QRRR 	. 	.!$1--BF6N	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.&&++--??????s   CCCidxervarc                 L   |}t          ddd|          }t          d|dg          }t          |dgt          j                  }t	          j        |dk    rt          nd d	
          5  ||j        d d |f<   d d d            n# 1 swxY w Y   t	          j        ||           d S )Nz
2015-07-12ro   r  )rp  rq  rA  tzr  r  r  r  rO  r   )	r   r   r@   r   r)   r   r  r(   r*   )rB   r  tz_naive_fixturer  rk  r1   r   s          r2   !test_loc_setitem_datetimeindex_tzz8TestLocBaseIndependent.test_loc_setitem_datetimeindex_tz  s     |QSRHHHSeW=== ugRZHHH'"e^^MM=Q
 
 
 	, 	, $,FJqqq%x 		, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,
 	fh/////s   )BBBc                    t          ddd          }t          t          j                            d                              t          |          df          |          }t          dd	d	          }t          t          d
d	d	          t          dd	d	                    }g d}g d}|	                                }d	|j
        |<   |j
        |         }|j
        |         	                                }	d	|	j
        d d <   |r|	                    t                    }	t          j        ||	           |	                                }d	|j
        |<   |j        |         |j
        |<   t          j        ||           |	                                }d	|j
        |<   |j
        |         }|j
        |         	                                }	d	|	j
        d d <   |r|	                    t                    }	t          j        ||	           |	                                }d	|j
        |<   |j        |         |j
        |<   t          j        ||           d S )Nz
2012-01-01z
2012-01-0530minr@  r=   rs   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   )
rB   using_array_managerr   r0   akeybkeyaindsbindsr   r1   s
             r2   test_loc_setitem_time_keyz0TestLocBaseIndependent.test_loc_setitem_time_key  s   <GDDDI!!!$$44c%jj!_EEU
 
 
 B1~~T"a^^T"a^^44"""FFF
4D!6$<$$&&QQQ 	.u--H
fh///
475>
4
fb)))
4D!6$<$$&&QQQ 	.u--H
fh///
475>
4
fb)))))r4   rd   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'   rr   )r   3)r'   r9   r   rr   rs   rp   r   r=   r=   rK  r   )r   r=   r   )r   rs   r   ri   r  )
r   from_tuplesr   r   r@   zerosr(   r)   r*   r  )rB   rd   r~  r0   rP   r1   s         r2   ,test_loc_setitem_unsorted_multiindex_columnszCTestLocBaseIndependent.test_loc_setitem_unsorted_multiindex_columns  s     #$F$F$FGG			999-r:::ggii(69993iii3R@@@
c8,,,]]]""&888qqq#v&&A&..
b(+++++r4   c                     t          g d|          }d|j        d<   t          g d|          }t          j        ||           d S )Nr   r   rr   r   )rr   r=   ro   r   r(   r)   r   )rB   any_int_numpy_dtyper-   r1   s       r2   test_loc_setitem_uint_dropz1TestLocBaseIndependent.test_loc_setitem_uint_drop%  sV     			)<===
1)))+>???
vx00000r4   c                 ^   t          dt          j        dd          gz            }t          j        dd          |j        g d<   t          dt          j        dd          gz            }t	          t          j        dd                    |j        g d<   t          j        ||           d S )Nrn   r  r]   r   )r   r@   timedelta64r(   r   r)   r   )rB   r  r1   s      r2   test_loc_setitem_td64_non_nanoz5TestLocBaseIndependent.test_loc_setitem_td64_non_nano-  s    R2>"c223344^B44			"r3 7 78899"+BN2s,C,C"D"DYYY
sH-----r4   c                    t           j                            d                              d          }t	          t          d          d          }d}t          j        t          |          5  ||j	        t          d          <   d d d            n# 1 swxY w Y   t          j        t          |          5  ||j	        d d <   d d d            d S # 1 swxY w Y   d S )Nr=   r  r   r   r,  r   )
r@   r   r   r  r   r   r   r   r-  r(   )rB   r   r  r   s       r2    test_loc_setitem_2d_to_1d_raisesz7TestLocBaseIndependent.test_loc_setitem_2d_to_1d_raises5  sH   y$$Q''77??U1XXY///9]:S111 	% 	% $CGE!HH	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% ]:S111 	 	CGAAAJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   .BBB8CCCc                     t          j        dd          }t          g dg dg dg|g d          }d	}|j        d
         }t	          j        ||           d S )Nr   ro   )rp  rq  r   r  r  r   r  ri   )rz  r'   )r   interval_ranger   r(   r)   assert_almost_equal)rB   r   r0   r1   r   s        r2   test_loc_getitem_interval_indexz6TestLocBaseIndependent.test_loc_getitem_interval_indexA  su    !1555YY			999-UOOO
 
 
 !
vx00000r4   c                 
   t          j        ddd          }t          g dg dg dg|g d	          }t          j        dd
dd          }t          ddg|d          }|j        d         }t          j        ||           d S )Nr   ro   both)rp  rq  closedr   r  r  r   r  r=   ri   )rp  rq  rA  r  rr   r'   r   ri   r'   )r   r  r   r   r(   r)   r   )rB   r   r0   	index_expr1   r   s         r2    test_loc_getitem_interval_index2z7TestLocBaseIndependent.test_loc_getitem_interval_index2L  s    !1VDDDYY			999-UOOO
 
 
 %AqqPPP	1a&	<<<
vx00000r4   tplri   ri   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*   )rB   r  rk  r0   r   r1   s         r2   +test_loc_getitem_index_single_double_tupleszBTestLocBaseIndependent.test_loc_getitem_index_single_double_tuplesX  s     6N
 
 

 S!!!SE59993'''
fh/////r4   c                     t          dddg          } |dd          } |dd          }t          ||gdd	
          }t          ddg|ddg          }|j         |dd                   d         }|dk    sJ d S )N	IndexTyper$   r#   r   r   r  bofcomposite_indexFr  r  )ro   rr   r'   r   r  ri   )r   r   r   r(   )rB   r  idx1idx2r   r0   r   s          r2   !test_loc_getitem_index_namedtuplez8TestLocBaseIndependent.test_loc_getitem_index_namedtupleg  s    {S#J77	y&&y&&tTl):%PPP'usCjIII		%//05{{{{{{r4   c                    t          t          j                            d                              d          g dg d          }d|d<   t          j        |j        |j        d d d         df<   t          t          j        dt          j        dt          j        g|st          nd          j
        }t          j        |d         j
        |           d S )	Nr=   rs   ro   )r$   r#   rT   r  r  r  r  quxr>   r   )r   r@   r   r   r  r   r(   r   r   r?   r   r)   r  )rB   rC   r0   r1   s       r2   $test_loc_setitem_single_column_mixedz;TestLocBaseIndependent.test_loc_setitem_single_column_mixedq  s    I!!!$$44V<<+++)))
 
 

 5	')vrx!}e#$VUBFE262 2=&&
 
 
  	 	r%y/:::::r4   c                    t          t          j                            d                              d          t	          d                    }t          j        |d<   t          j        t          d          5  d|j	        d	<   d d d            n# 1 swxY w Y   |j
        }t          t          j        d
          gdz  t          j        d          gz   g d          }t          j        ||           d S )Nr=   )rx   ro   ABCr   eventr   r   r   )rn   r  r   ro   r?   )r'   r   r   r  r
   )r   r@   r   r   tupler   r)   r   r  r(   r  r   r<   r   r   s       r2   test_loc_setitem_cast2z-TestLocBaseIndependent.test_loc_setitem_cast2  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onerp   r   )ri   r  rq   )r   r@   r   int8r(   r  r  r<   r   s     r2   test_loc_setitem_cast3z-TestLocBaseIndependent.test_loc_setitem_cast3  s    ry"':::;<<xy} 1 11111y} 1 1111111r4   c                      |t          d          g d          }g d}|j        dk    rdgdgdgg}||j        t          d	          <    |g d
|j                  }t	          j        ||           d S )Nrs   )ro   rr   ri   r   r=   r
   )r  rn   r  r=   r  rn   r  ro   )r   ri   rn   r  r  )r   ndimr(   r   r)   r   )rB   rF  rP   r   r1   s        r2   test_loc_setitem_range_keyz1TestLocBaseIndependent.test_loc_setitem_range_key  s    oeAhhooo>>>8q==cB4"&F"a"?#4#4#4CIFFF
X&&&&&r4   c                     t          g dg dd          }t          ddgddg          |j        dddf<   t          g dg dd          }t          j        ||           d S )	Nr  r   r   r=   ri   r  r$   )ri   r=   r=   ri   ri   r   r   r(   r)   r*   r   s      r2   .test_loc_setitem_numpy_frame_categorical_valuezETestLocBaseIndependent.test_loc_setitem_numpy_frame_categorical_value  s    ___3L3L3LMMNN&1v1a&AAAqsCx???9R9R9RSSTT
b(+++++r4   )lr   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r"  r(  r+  r/  r?  rE  fixturerL  r@   r   rK  rQ  rT  rX  r\  r`  r  r	   r  r  r  r  r  r  r  r  r  r  filterwarningsr  r   r  r   r   r  r  r  r  r  r  arm_slowr  r  r  r  r  r  r!  r&  r(  r*  r.  r0  r2  r4  r<  rI  r   complexr]  r_  rb  rd  rg  iterr   r   rl  rs  rx  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r}   r4   r2   r   r     sG       0 0 0 [7&&,,u9UV6tU8ST6ud8STNvvd||U3 7ud8STNuffTll3 7tU8ST	
 $ % $*     
	1 	1 	11 1 1(!K !K !KF- - -0, , ,&	 	 	 [We}6P6P6P&QRR  SR  # # #% % %N     0 0 0*& & &$ ^
 
 ^
 [	
HBHQbh'''///)R)R)RS , ,	 ,, , ,, , ,, , ,, , ," [))++4HII;I ;I JI;Iz [V%O%O%OPP: : QP:", , ,4	, 	, 	,
, 
, 
,, , ,, , ,20 0 0*, , ,, , , [ PQQ#, #, RQ#,J [SE55sD11828SE??C  [Wuhbhuoo&>??
3 
3 @? 
3 [ Q---.	!\\Aq"&"&#9<<<H000   S#JA	BFBF+\\\Aq"&"&;QR000   OOO$"(333	BF^YYYArv?   q!T""OOO4LLL)	BFBF+\\\???K000   q!T""OOO4)))\\\2"(CCC	BFBF+\\\???K000   tT4((3*5	Aq6Ar7RH5SzJJJ	YY


KKK8///  Q/	
2 2f, ,g2 2f,	8 	8 	8	8 	8 	8	8 	8 	8. . . 0  0  0D [[\S#J8H+IJJ 0  0 KJ  0D& & &
 
 
&)7 )7 )7V$ $ $(, , ,"  , , ,, , ,, , ,$ $ $"* * *  1 1 10 0 00* * *, [\+U+U+UVV[WrxW&EFF6 6 GF WV6.* * *
0 0 0$
1 
1 
1 [Y881 1 981 [Z$&%)HII0 0 JI00 0 0 [)VVQC[[1E661#;;3GH 1 1 1	. 	. 	. [ ///0U1a[[<<<=V5556	
	 	, ,	 	, 
' 
' 
'N N N&@ @ @ [Wuug&6770 0 870&* &* &*P [US3%#uuT{{1C$DEE, , FE,1 1 1. . .
 
 
	1 	1 	1
1 
1 
1 [UT6N330 0 430  ; ; ;1 1 1 2 2 2' ' ', , , , ,r4   r   c                       e Zd Z ej        ej        ej        g          d             Zej        d             Z	d Z
ej                            d          d             Zd ZdS )	TestLocWithEllipsis)paramsc                     |j         S r|   )param)rB   rO   s     r2   r   zTestLocWithEllipsis.indexer  s     }r4   c                 D    |}|t           ur|                                }|S r|   )r   to_frame)rB   series_with_simple_indexrF  rP   s       r2   rP   zTestLocWithEllipsis.obj  s$    &&((,,..C
r4   c                 R     ||          d         }t          j        ||           d S )N.)r)   r   )rB   rP   r   r   s       r2   test_loc_iloc_getitem_ellipsisz2TestLocWithEllipsis.test_loc_iloc_getitem_ellipsis  s,    c"
$$$$$r4   3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                    |}|t           j        u st          |          dk    rdn|j        d         }|t           j        u r|j        j        dk    rd S |t           j        u rdt          |j        t                    rJd}t          j	        t          |          5   ||          d|gf         }d d d            n# 1 swxY w Y   nNt          |          dk    r; ||          d|gf         } ||          |g         }t          j        ||           |t           j        u rdn|j        }|                                }	 ||	          d|gf         } ||	          d d |gf         }t          j        ||           d S )Nr   r<  z2MultiIndex does not support indexing with Ellipsisr   .)r)   r   r  r   r(   inferred_typer   r   r   r   NotImplementedErrorr   r   r  r*   )
rB   r  r   rP   rd   r   r   r1   key2r0   s
             r2   &test_loc_iloc_getitem_leading_ellipsesz:TestLocWithEllipsis.test_loc_iloc_getitem_leading_ellipses  s   &rw&&#c((a--aacilbf!8I!E!E FbfCIz!B!BFC2#>>> 2 2 cC5j12 2 2 2 2 2 2 2 2 2 2 2 2 2 2 XX]]WS\\#u*-Fws||SE*H"68444rw&&qqCH\\^^S4&[)72;;qqq4&y)
fh/////s   B99B= B=c                    |t           j        u st          |          dk    rdn|j        d         }t	          j        t          t                    5   ||          d          d d d            n# 1 swxY w Y   t	          j        t          t                    5   ||          d|gdf          d d d            n# 1 swxY w Y   t	          j        t          t                    5   ||          dd|f          d d d            n# 1 swxY w Y   t	          j        t          d          5   ||          |ddf          d d d            d S # 1 swxY w Y   d S )Nr   r   )...Too many indexers)r)   r   r  r   r   r   r   r!   )rB   rP   r   rd   s       r2   0test_loc_iloc_getitem_ellipses_only_one_ellipsiszDTestLocWithEllipsis.test_loc_iloc_getitem_ellipses_only_one_ellipsis  sL   rw&&#c((a--aacil]=0EFFF 	# 	#GCLL""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# ]=0EFFF 	* 	*GCLLseS))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* ]=0EFFF 	( 	(GCLLc3''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(
 ]=0CDDD 	( 	(GCLLc3''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(sH   A//A36A3B<<C C 'DDD.EEEN)r   r   r   r   r  r)   r(   r   r   rP   r  r   r  r  r  r}   r4   r2   r  r    s        V^BFBG,---  .- ^  ^% % % [ VWW0 0 XW00( ( ( ( (r4   r  c                   f   e Zd Zej                            dddgg dg dgfddgg dg dgfddgddgfg dg dgfddgddgfg dg d	gfddgddgfg dg d	gfddgddgfg dg dgfd
dgddgfg dg dgfg          ej                            dddg          d                         Zd Zd Zd Z	d Z
d Zd Zd Zd Zd Zd Zej                            dej        ej        dej        f          d             Zd Zej                            dd d!g          d"             Zd# Zd$ ZdS )%TestLocWithMultiIndexzkeys, expectedr#   r$   )r#   r#   r$   r$   )ri   r=   ri   r=   )r$   r$   r#   r#   ri   r=   )r=   ri   r=   ri   rT   )rT   r$   r$   )ri   r=   ri   dimr   r;   c                 t   |g dg dgi}t          t          j        d                              dd          fi |}t	          j        |          }|dk    r-|j        |d d f         }t          j        |j	        |           d S |dk    r-|j        d d |f         }t          j        |j
        |           d S d S )N)rT   r$   r$   r#   r#   )ri   ri   r=   ri   r=      rs   r   r;   )r   r@   r   reshaper   ry  r(   r)   assert_index_equalr   r;   )rB   r  keysr1   kwargsr0   	exp_indexr   s           r2   'test_loc_getitem_multilevel_index_orderz=TestLocWithMultiIndex.test_loc_getitem_multilevel_index_order  s      111???CDry}},,Q22==f==*844	'>>&qqq/C!#)Y77777I&D/C!#+y99999 r4   c                    |}|j         d         }|d         j         d         }|j        j        |j        j        dd          k    sJ |j        j        |j        j        dd          k    sJ |j         d         }|d         j         d         }|j        j        |j        j        d         k    sJ |j        j        |j        j        d         k    sJ d S )N  r'   ri   )r  r=   r=   )r(   r   rk  r   )rB   /multiindex_year_month_day_dataframe_random_dataymdr   result2s        r2   test_loc_preserve_namesz-TestLocWithMultiIndex.test_loc_preserve_names  s    =c(,t$|!SY_QRR%88888}"cioabb&99999!c(,w'| CIOA$66666}!SY_Q%7777777r4   c                    t          j        dgddgg          }t          d|          }|j        g          }|d d         }t	          j        ||           |j        |j        dd                  }t	          j        ||           d S )Nr   ri   r
   )r   from_productr   r(   r)   r   r   )rB   r~  r  r   r1   res2s         r2   .test_loc_getitem_multiindex_nonunique_len_zerozDTestLocWithMultiIndex.test_loc_getitem_multiindex_nonunique_len_zero  s    $qcAq6]33Qb!!!gbkrr7
sH---wsx!}%
tX.....r4   c                    t          d gt          j        dgdgg                    }|j        d         }|J t          j        dgddgg          }t          d gt          |          z  t          |          }|j        d         }|J t          dgt          |          z  t          |          }|j        d         }|dk    sJ d S )	NLevel1Level2)r  r  Level2_aLevel2_br  )r  r  ri   )r   r   ry  r(   r  r  r?   )rB   r  r   midxs       r2   0test_loc_getitem_access_none_value_in_multiindexzFTestLocWithMultiIndex.test_loc_getitem_access_none_value_in_multiindex  s     dVZ3hZ(4LMMNN-.~~~&
Z4L'MNNdVc$ii'vTBBB/0~~~aS3t99_F$???/0{{{{{{r4   c                     t          j        t          g dg d          ddg          }t          g d|          }d|j        d	d
<   t          g d|          }t          j        ||           d S )N)r   r   r  r  r   r   r  r  )r  twor  r   r  r   r  r   firstsecondrj  )ri   ri   ri   ri   ri   ri   ri   ri   r
   r   )r  r  )r   r   )ri   ri   r   r   r   r   ri   ri   )r   r  r  r   r(   r)   r   )rB   r   r   r1   s       r2   !test_loc_setitem_multiindex_slicez7TestLocWithMultiIndex.test_loc_setitem_multiindex_slice0  s     &HHHHHH  H%
 
 
 000>>>47
>.01:::%HHH
vx00000r4   c                     t          ddd          }t          t          d          |          }|j        t	          ddd          t	          ddd                   }t          j        ||           d S )NrG  10minr  rA  rq  il  ri   i4  )r   r   r   r(   r   r)   r   )rB   timesr  r   s       r2   7test_loc_getitem_slice_datetime_objs_with_datetimeindexzMTestLocWithMultiIndex.test_loc_getitem_slice_datetime_objs_with_datetimeindexB  sm    <gvFFFU6]]E**$1--q!0D0DDE
vs+++++r4   c                    t          t          d          t          d          dt          dd                    }|j        ddgddgf         }t          d	d
gd	d
gdt	          ddg                    }t          j        ||           d S )Nrn   r   z
2010-01-01z
2010-01-10r
   z
2010-01-05r$   r#   r   rr   )r   r   r   r(   r   r)   r*   r   s       r2   3test_loc_getitem_datetime_string_with_datetimeindexzITestLocWithMultiIndex.test_loc_getitem_datetime_string_with_datetimeindexH  s    ))%)),,\<88
 
 
 |4sCj@Aa&1v&&| <==
 
 
 	fh/////r4   c           	      Z   t          j        g dddg          }t          ddgddgd	d
gddgddgddgg|ddg          }|                    d          }t          ddgddgddggddg|                    g d                    }|j        d         }t          j        ||           d S )N)r   r   r,  bahbamr-  r,  r-  r'   r   rj  rW  ri   r   r=   rj   ro         @rr         @rs         @rp   r   rC  r  r   )level)r   ri   rr   r   r,  )r   r  r   r  r  r(   r)   r*   )rB   r~  r0   r1   r   s        r2   3test_loc_getitem_sorted_index_level_with_duplicateszITestLocWithMultiIndex.test_loc_getitem_sorted_index_level_with_duplicatesU  s    #   *

 

 

 aaaaaa #J
 
 
 ]]]##1XQx#q*S#JbggiiiFXFX
 
 
 '
fh/////r4   c                     t          g dd          }d|j        d<   t          g dd          }t          j        ||           d S )Nr  categoryr   r   ro   )r$   r#   rT   r   r?   r  rB   r   r1   s      r2   1test_additional_element_to_categorical_series_loczGTestLocWithMultiIndex.test_additional_element_to_categorical_series_locw  sU    z:::
1,,,H===
vx00000r4   c                     t          g dd          }d|j        d<   t          g dd          }t          j        ||           d S )Nr  r6  r   r$   ro   r$   r#   rT   r$   r  r7  s      r2   'test_additional_categorical_element_locz=TestLocWithMultiIndex.test_additional_categorical_element_loc~  sU    z:::
1...jAAA
vx00000r4   c           	         t          g dt          t          g d|                              }t          j        |j        d<   t          dddt          j        gt          t          g d|                              }t          j        ||           t          j        |j        d<   t          dt          j        dt          j        gt          t          g d|                              }t          j        ||           d S )Nr   r   ro   ri   r=   )r   r   r   r@   r   r(   r)   r   )rB   any_numeric_ea_dtypesrsr1   s       r2   &test_loc_set_nan_in_categorical_seriesz<TestLocWithMultiIndex.test_loc_set_nan_in_categorical_series  s   II"5:N#O#O#OPP
 
 

 V
1bf"5:N#O#O#OPP
 
 
 	sH---V
26""5:N#O#O#OPP
 
 
 	sH-----r4   naNc                     t          g dd          }||j        d<   t          g dd          }||j        d<   t          j        ||           t          ddd|gd          }t          j        ||           d S )	Nr  r6  r   ro   r:  r$   r#   rT   r  )rB   r@  srs_enlargesrs_setintor1   s        r2   ,test_loc_consistency_series_enlarge_set_intozBTestLocWithMultiIndex.test_loc_consistency_series_enlarge_set_into  s     ___J???111DDD
{K8883S"-Z@@@
{H55555r4   c           
         t          t          j        ddd          t          t	          ddg          t          d          gdgdz  dgdz  z   t          d          gd	d
g                    }t	          ddgddgdd	d          }|j        j        d         }t          j	        ||           |j
        dg         j        j        d         }t          j	        ||           d S )Nr=      r$   r#   rn   r   rs   ri   Index1Index2)r}  codesrk  )r   r   Fr6  )r  orderedr   r<   )r   r@   r   r   r   r   r   r}  r)   r	  r(   r   s       r2   5test_loc_getitem_preserves_index_level_category_dtypezKTestLocWithMultiIndex.test_loc_getitem_preserves_index_level_category_dtype  s    1b!$$(#s44eBii@sQw!q(%))4*  
 
 
 $#JSz
 
 
 #
fh///$+A.
fh/////r4   lt_valuerx   rn   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   ri   r=   ro   r
   z\['b'\] not in indexr   r#   )r   r   r   r   rM   r(   )rB   rL  r0   s      r2   >test_loc_multiindex_levels_contain_values_not_in_index_anymorezTTestLocWithMultiIndex.test_loc_multiindex_levels_contain_values_not_in_index_anymore  s     ---.tF||\\\6RSSS]8+BCCC 	8 	8F2c7X%qqq()-seQQQh77	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8s   ,A;;A?A?c                 :   t          j        t           j        t           j        g          }ddg}t          j        ||g          }t          ddg|          }|j        d d df         }t          dgt           j        g          }t          j        ||           d S )Nr   r  r   ri   r
   )	r@   r   r   r   ry  r   r(   r)   r   )rB   lev1lev2r~  r  r   r1   s          r2   'test_loc_multiindex_null_slice_na_levelz=TestLocWithMultiIndex.test_loc_multiindex_null_slice_na_level  s    x())u~#T4L11aV2&&&E" 1#bfX...
vx00000r4   c                 P   t          j        t          d          t          d          ddggg d          }t          t	          d          |          }|j        d	d d d d f         }|j                            d
          d d         }t          j	        |j        |           d S )Nabxyri   r=   )rY  rZ  numrj  r   r
   r$   r   rr   )
r   r  r   r   r   r(   r   	droplevelr)   r	  )rB   r~  r  
loc_resultr1   s        r2   test_loc_drops_levelz*TestLocWithMultiIndex.test_loc_drops_level  s     $$ZZdaV,4G4G4G
 
 
 U1XXR(((WS!!!QQQY'
9&&q))"1"-
j.99999r4   )r   r   r   r   r   r   r  r  r  r  r#  r(  r*  r4  r8  r;  r?  r@   r   r   NAr   rD  rK  rS  rW  r^  r}   r4   r2   r  r    s       [3Z...=>3Z...=>Cj1a&!$8$8$8,,,#GHCj1a&!$8$8$8,,,#GHCj1a&!$8$8$8,,,#GHCj1a&!$8$8$8,,,#GHCj1a&!OOOYYY#?@	
  [UWi$899: : :9 :8 8 8/ / /  "1 1 1$, , ,0 0 0 0  0  0D1 1 11 1 1. . .* [TBFBE4#@AA
6 
6 BA
60 0 02 [Z"b228 8 328
1 
1 
1
: 
: 
: 
: 
:r4   r  c                   <   e Zd Zd Zd Zd Zd Zd Zej	        
                    dd d d	 d
 gg d          d             Zd Zd Zd Zd Zej	                            d          d             Zej	        
                    dg d          d             Zd ZdS )TestLocSetitemWithExpansionc                 ^   d}|                                 5  |                    t          d|           t          dt	          |          id          }||j        |<   d d d            n# 1 swxY w Y   t          dt	          |dz             id          }t          j        ||           d S )N2   _SIZE_CUTOFFr   rK  r   ri   )contextsetattrlibindexr   r   r(   r)   r*   )rB   monkeypatchsize_cutoffr   r1   s        r2   /test_loc_setitem_with_expansion_large_dataframezKTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_large_dataframe  s      "" 	2 	2.+FFFU;%7%78HHHF&1FJ{#	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 c5q#9#9:'JJJ
fh/////s   AA**A.1A.c                     t          t                    }d|j        d<   t          j        |t          dgdg                     d|j        d<   t          j        |t          ddgddg                     d S )Nr   ri   r
   ro   r   r?   r(   r)   r   rB   r  s     r2   test_loc_setitem_empty_seriesz9TestLocSetitemWithExpansion.test_loc_setitem_empty_series  s|     6"""

sFA3qc$:$:$:;;;

sFAq6!Q$@$@$@AAAAAr4   c                     t          t                    }d|j        d<   t          j        |t          dgdg                     d|j        d<   t          j        |t          ddgddg                     d S )Nr   rW  ri   r
   rj   ro   rl  rm  s     r2   #test_loc_setitem_empty_series_floatz?TestLocSetitemWithExpansion.test_loc_setitem_empty_series_float  s|     6"""

sFC5$<$<$<===

sFC:aV$D$D$DEEEEEr4   c           
         t          t                    }d|j        d<   t          j        |t          dgt          dgt                                         d|j        d<   t          j        |t          ddgt          ddgt                                         d|j        d<   t          j        |t          g dt          g d	t                                         d S )
Nr   ri   r   r
   ro   r   rr   )ri   ro   rr   )r   r   ro   )r   r?   r(   r)   r   r   rm  s     r2   %test_loc_setitem_empty_series_str_idxzATestLocSetitemWithExpansion.test_loc_setitem_empty_series_str_idx  s     6"""
sFA3eUG66R6R6R$S$S$STTT
AeUEN&&I&I&IJJJ	
 	
 	
 

			/@/@/@)O)O)OPPP	
 	
 	
 	
 	
r4   c                    t          dddt          d                    fdt          d          D             }t          dg|d         g	          }|D ]}d|j        |<   t          d|	          }t          j        ||           d S )
Nr   r  ri   
US/Pacific)tzinfoc                 <    g | ]}t          |d z            z   S )r  )seconds)r   )r   r  bases     r2   r   zUTestLocSetitemWithExpansion.test_loc_setitem_incremental_with_dst.<locals>.<listcomp>  s-    EEEayS1111EEEr4      r   r
   )r   r   r   r   r(   r)   r   )rB   idxsr   r[   r1   rx  s        @r2   %test_loc_setitem_incremental_with_dstzATestLocSetitemWithExpansion.test_loc_setitem_incremental_with_dst  s    b!E,,?,?@@@EEEE599EEEDG9--- 	 	BFJrNN!4(((
vx00000r4   convc                     | S r|   r}   r:  s    r2   r;  z$TestLocSetitemWithExpansion.<lambda>  s    a r4   c                 *    |                                  S r|   )to_datetime64r:  s    r2   r;  z$TestLocSetitemWithExpansion.<lambda>      aoo'' r4   c                 *    |                                  S r|   )to_pydatetimer:  s    r2   r;  z$TestLocSetitemWithExpansion.<lambda>  r  r4   c                 *    t          j        |           S r|   )r@   r  r:  s    r2   r;  z$TestLocSetitemWithExpansion.<lambda>  s    bmA&& r4   )rB   r  r  znp.datetime64)idsc                 6   t          d          }t          d          }t                      }d|j         ||          df<   d|j         ||          df<   t          dddgi||gt          dgt                    	          }t          j        ||           d S )
Nz20130101 09:00:00z20130101 10:00:00r   r  r   g      Y@g      i@r   r  )r   r   r(   r   r?   r)   r*   )rB   r|  dt1dt2r0   r1   s         r2   #test_loc_setitem_datetime_keys_castz?TestLocSetitemWithExpansion.test_loc_setitem_datetime_keys_cast  s     +,,+,,[[#&ttCyy% #&ttCyy% UEN#*5'000
 
 

 	b(+++++r4   c                     t          ddgi          }t          dg|          |j        d d df<   t          dgt          dg|          d          }t          j        ||           d S )Nr'   ri   r#   )rJ  r   r   r  )rB   rJ  r   r1   s       r2   1test_loc_setitem_categorical_column_retains_dtypezMTestLocSetitemWithExpansion.test_loc_setitem_categorical_column_retains_dtype2  sw    C!:&&(#@@@
111c6A3[#-P-P-PQQRR
fh/////r4   c                    t          dd          }t          dd          }t          dd          }t          ||dd          }||vsJ t          |d	g
          }d|j        |d	f<   t          t          j        gt          |          z  dgz   |                    t          |g                    d	gt                    }t          j        ||           d S )Nz2017-10-29 00:00:00+0200zEurope/Madridr  z2017-10-29 03:00:00+0100z2016-10-10 03:00:00leftr  )	inclusiverA  r*  r  r  r  )r   r   r   r(   r@   r   r  appendr   r?   r)   r*   )rB   rp  endr[   rk  r   r1   s          r2   0test_loc_setitem_with_expansion_and_existing_dstzLTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_and_existing_dst9  s    4III2GGG,AAAvC@@@}}}}wi888"$
2w;VHs3xx2$&**]B40011I	
 
 
 	fh/////r4   c                    t          t          ddg          dg          }ddg|d<   |                    d          j                            d          |_        ||j        dk                                 d          j                            d	          }|                                }||j	        |j        dk    df<   t          |d
                             d          |j	        d         gd          }t          j        |j        |           |j	        |j        dk    df         t          d          z   }||j	        |j        dk    df<   t          j        |j	        |j        dk    df         |           d S )Nz2015-03-30 20:12:32z2015-03-12 00:11:11r   )r   r;   newoldnew_colr  rt  r   )ri   r   r   1s)r   r   r   r   r  r   r  
tz_convertr   r(   r   r)   r   r   )rB   r0   vr   r1   s        r2   test_setitem_with_expansionz7TestLocSetitemWithExpansion.test_setitem_with_expansionK  sa   35JKLLH
 
 
 9,,v&&,88??rzU"#--f55;FF|TT ggii01u$f,-1Q4??51126)3DEFSSS
sx222F2:&./)D//A./rzU"F*+
rvbjE&96&ABAFFFFFr4   c                     t                      }d|j        d<   d|j        d<   d|j        dt          j        f<   |j        }t          ddt          j        gt          j                  }t          j        ||           d S )Nri   r  r=   )ri   ri   ro   r   r   )	r   r(   r@   infr;   r   r   r)   r	  r   s       r2   0test_loc_setitem_with_expansion_inf_upcast_emptyzLTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_inf_upcast_emptya  so    [[ttq"&y!Qrz:::
fh/////r4   z"ignore:indexing past lexsort depthc                    t          |          st          j        d           |                    d          }t          |          }t	          j        |                              t          j                  }t          ||dg          }d}||vsJ |	                    t          |          |          }t          |t                    r|d         d         |k    sJ n|d         |k    sJ t	          j        |dz                                 t          j                  }t          ||dg          }|                                }	||	j        |df<   t          j        |	|           |                                d         }
||
j        |<   |d                             t          j                  }t          j        |
|           |                                }	||	j        |df<   t          t%          |          t          j        gz   t          j        g|z  t)          |          gz   d|	          }t          j        |	|           d S )
NzNot relevant for empty Indexr=   r   r  kapowr$  ri   r   ri   r
   )r  r   skiprepeatr@   r   r  rK  r   insertr   r   r   r   r(   r)   r*   r   r   r   r  )rB   r   Narrorigrd   r  exp_datar1   r0   r  s              r2   /test_loc_setitem_with_expansion_nonunique_indexzKTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_nonunique_indexl  s    5zz 	8K6777QJJill!!"(++EA3777 % LLUS11	eZ(( 	(R=#s*****R=C''''9QU##**2:66XYDDD YY[[sAv
b(+++ iikk!nA;%%bh//
sH--- YY[[sAvS		RVH$"&Aq
)BCC
 
 
 	b(+++++r4   r<   )Int32Int64UInt32UInt64Float32Float64c                 L   t          g d|          }t          d|i          }t          |j                  }||j        |j        df<   t	          j        ||d           t          |j                  }|j        |j        |j        df<   t	          j        ||d           d S )NrR  r   r   r
   Fr  )r   r   r   r(   r)   r*   r  )rB   r<   r  r0   r   s        r2   6test_loc_setitem_with_expansion_preserves_nullable_intzRTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_preserves_nullable_int  s    
 \\\///}%%***'*
28V#$
fbEBBBB***'*{
28V#$
fbEBBBBBBr4   c                    t          dt          d          i          }t          ddd          }||j        g ddf<   |                    t          t          j        t          j        g|j        	                    }t          t          d          |d
          }|j	        d         |j        k    sJ t          j        ||           d S )Nr'   rs   
2016-01-01ro   rt  rq  r  rh   r   r   r   )r   r   r   r(   r  r   r   r   r<   r  r)   r*   )rB   r0   rJ  bexr1   s        r2   #test_loc_setitem_ea_not_full_columnz?TestLocSetitemWithExpansion.test_loc_setitem_ea_not_full_column  s    U1XX''q\BBB!$yyy#~jj'7syIIIJJ588#6677s#sy0000
b(+++++r4   N)r   r   r   rj  rn  rp  rr  r{  r   r   r   r  r  r  r  r  r  r  r  r  r}   r4   r2   ra  ra    s       0 0 0B B BF F F
 
 
 1 1 1 [K''''&&		
 HGG  	 	, ,	 	,0 0 00 0 0$G G G,	0 	0 	0 [ DEE+, +, FE+,Z [MMM C C C, , , , ,r4   ra  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ri   r=   ro   rr   rQ  r   c                     | j         dk    S Nr=   r'   r:  s    r2   r;  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>      qsQw r4   r=   c                     | j         dk    S )Nr#   )r   r:  s    r2   r;  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    qscz r4   r#   c                     | j         dk    S r  r  r:  s    r2   r;  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r4   c                     | j         dk    S Nr   r   r:  s    r2   r;  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    !)s2B r4   )FTFc                     | j         dk    S r  r  r:  s    r2   r;  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r4   c                     dS r  r}   r:  s    r2   r;  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    # r4   r   c                     | j         dk    S r  r  r:  s    r2   r;  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r4   c                 
    ddgS Nr'   r   r}   r:  s    r2   r;  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s
    3* r4   r'   c                     | j         dk    S r  r  r:  s    r2   r;  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    qsax r4   c                 
    ddgS r  r}   r:  s    r2   r;  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s
    C: r4   c                     dS )Nri   r}   r:  s    r2   r;  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    q r4   c                     dS r&   r}   r:  s    r2   r;  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    C r4   r  )r   r   r(   r)   r*   r'   r   r   rB   r0   r   s      r2   test_frame_loc_getitem_callablez/TestLocCallable.test_frame_loc_getitem_callable  s   \\\V<<<PPQQ f&&'
c26"$(#3444f))111,-
c26"$#+qqq.#9:::f&&(B(BBC
c26"$(4H4H4H*H#IJJJf&&56
sBF24!8S=$9:::f&&(<(<<=
c26"$(S#J*>#?@@@f'')=)==>
c26"$!)c3Z*?#@AAA f[[--/0bfVn$$$$$$r4   c                    t          g dt          d          g dd          }|j        d ddgf         }t          j        ||j        |j        dk    ddgf                    |j        ddgd	 f         }t          j        ||j        ddgddgf                    |j        dd
 f         }t          j        ||j        dddgf                    d S )Nr  rQ  r   c                     | j         dk    S r  r  r:  s    r2   r;  zITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>  r  r4   r'   r   r=   ro   c                 
    ddgS r  r}   r:  s    r2   r;  zITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>  s
    Sz r4   c                 
    ddgS r  r}   r:  s    r2   r;  zITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>  s
    3* r4   )r   r   r(   r)   r*   r'   r   r  s      r2   'test_frame_loc_getitem_callable_mixturez7TestLocCallable.test_frame_loc_getitem_callable_mixture  s    \\\V<<<PPQQf&&c
23
c26"$(S#J*>#?@@@faV1112
c261a&3**<#=>>>fQ,,,-
sBF1sCj=$9:::::r4   c                    t          g dt          d          dt          d                    }|j        d          }t          j        ||j        ddg                    |j        d	 d d f         }t          j        ||j        ddgd d f                    |j        d
 d f         }t          j        ||j        ddgdf                    |j        d d f         }t          j        ||j        ddgdgf                    |j        ddgd f         }t          j        ||j        ddgdf                    |j        ddgd f         }t          j        ||j        ddgdgf                    |j        d df         }t          j        ||j        ddgdf                    |j        d dgf         }t          j        ||j        ddgdgf                    d S )Nr  rQ  Xr  r  r
   c                 
    ddgS Nr'   r   r}   r:  s    r2   r;  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  
    Sz r4   r'   r   c                 
    ddgS r  r}   r:  s    r2   r;  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   c                 
    ddgS r  r}   r:  s    r2   r;  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   c                     dS Nr  r}   r:  s    r2   r;  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  s    S r4   r  c                 
    ddgS r  r}   r:  s    r2   r;  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   c                     dgS r  r}   r:  s    r2   r;  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  s    cU r4   c                     dS r  r}   r:  s    r2   r;  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  s    3 r4   c                     dgS r  r}   r:  s    r2   r;  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  s    C5 r4   c                 
    ddgS r  r}   r:  s    r2   r;  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   c                 
    ddgS r  r}   r:  s    r2   r;  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   )r   r   r(   r)   r*   r   r  s      r2   &test_frame_loc_getitem_callable_labelsz6TestLocCallable.test_frame_loc_getitem_callable_labels  s    \\\V==T&\\RRR f))*
c263*#5666f))111,-
c263*aaa-#8999f))==89
sBFC:s?$;<<<f))??:;
c263*se*;#<=== fc3Z./
sBFC:s?$;<<<fc3Z01
c263*se*;#<===f))3./
sBFC:s?$;<<<f))C501
c263*se*;#<=====r4   c                 z   t          g dt          t          d          t                    dt          d                    }|                                }d|j        d <   |                                }d|j        d	d
g<   t          j        ||           |                                }d|j        d d d f<   |                                }d|j        d	d
gd d f<   t          j        ||           |                                }d|j        d d f<   |                                }d|j        d	d
gdf<   t          j        ||           |                                }ddg|j        d d f<   |                                }ddg|j        d	d
gdgf<   t          j        ||           |                                }t          j	        ddg          |j        d	d
gd f<   |                                }t          j	        ddg          |j        d	d
gdf<   t          j        ||           |                                }d|j        d	d
gd f<   |                                }d|j        d	d
gdgf<   t          j        ||           |                                }d|j        d df<   |                                }d|j        d	d
gdf<   t          j        ||           |                                }d|j        d dgf<   |                                }d|j        d	d
gdgf<   t          j        ||           d S )Nr  rQ  r   r  r  r
   ic                 
    ddgS r  r}   r:  s    r2   r;  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>
	  
    3* r4   r'   r   r]   c                 
    ddgS r  r}   r:  s    r2   r;  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  r  r4   r$  c                 
    ddgS r  r}   r:  s    r2   r;  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  r  r4   c                     dS r  r}   r:  s    r2   r;  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  s     r4   r  rs   rn   c                 
    ddgS r  r}   r:  s    r2   r;  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  r  r4   c                     dgS r  r}   r:  s    r2   r;  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  s     r4   r%  c                     dS r  r}   r:  s    r2   r;  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>#	  s    c r4   c                     dgS r  r}   r:  s    r2   r;  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>)	  s    se r4   c                 
    ddgS r  r}   r:  s    r2   r;  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>/	  r  r4   c                 
    ddgS r  r}   r:  s    r2   r;  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>5	  r  r4   )
r   r   r   r?   r   r(   r)   r*   r@   r   )rB   r0   r   r   s       r2   test_frame_loc_setitem_callablez/TestLocCallable.test_frame_loc_setitem_callable	  s1   ,,VDLL%G%G%GHHv,,
 
 
 ggii(+$$%ggii!c

c3'''ggii+-$$aaa'(ggii!#c
AAA
c3'''ggii79$$mm34ggii#%c
C 
c3'''ggii:;R$$oo56ggii&'Wc
SE!"
c3''' ggii-/Xr2h-?-?c
MM)*ggii#%8RH#5#5c
C 
c3'''ggii/1c
OO+,ggii%'c
SE!"
c3'''ggii-/$$c)*ggii#%c
C 
c3'''ggii/1$$se+,ggii%'c
SE!"
c3'''''r4   N)r   r   r   r  r  r  r  r}   r4   r2   r  r    sP        % % %8; ; ;> > ><7( 7( 7( 7( 7(r4   r  c                   r    e Zd Zd Zd Zd Zd Zej        	                    dddg          d             Z
dS )	TestPartialStringSlicingc                     t          g dg ddt          g d                    }t          ddgdd	gdt          d
dg                    }|j        d         }t          j        ||           d S )Nr  r   )r   r   )
2020-08-01z
2020-07-02
2020-08-05r
   r$   rT   ri   ro   r  r  z2020-08)r   r   r(   r)   r*   r   s       r2   5test_loc_getitem_partial_string_slicing_datetimeindexzNTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_datetimeindex<	  s    $__iii88HHHII
 
 
 3Z!Q00|\:;;
 
 
 	"
fh/////r4   c                     t          j        ddd          }|                                }|j        d d         }|j        d d         }t          j        ||           d S )N
2017-01-01
2018-01-01r  rp  r  rA  z2017-12r$  )r   period_range	to_seriesr(   r   r)   r   )rB   pir  r   r1   s        r2   8test_loc_getitem_partial_string_slicing_with_periodindexzQTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_with_periodindexI	  s]    _<\LLLllnn)$8CRC=
vx00000r4   c                     t          ddd          }|                                }|j        d d         }|j        d d         }t	          j        ||           d S )N1 day2 days1hr  z1 daysr$  )r   r  r(   r   r)   r   )rB   r  r  r   r1   s        r2   ;test_loc_getitem_partial_string_slicing_with_timedeltaindexzTTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_with_timedeltaindexQ	  s[    7tDDDllnn(#8CRC=
vx00000r4   c                     t          dt          d          it          t          d          d                    }|j        d         }|j        d         }t          j        ||           d S )Nr   ro   daysr  r
   r   0 days)r   r   r   r   r(   r)   r   )rB   r0   r1   sliceds       r2   #test_loc_getitem_str_timedeltaindexz<TestPartialStringSlicing.test_loc_getitem_str_timedeltaindexY	  sa    U1XXl588&.Q.Q.QRRR71:!
vx00000r4   indexer_endN2020-01-02 23:59:59.999999999c                     |dgdz  t          t          d          t          d          t          d          t          d          t          d          g|          	          } |dgd
z  t          t          d          t          d          g|          	          }t          d|          }||         }t          j        ||           |j        |         }t          j        ||           d S )Nri   rs   z
2019-12-30z
2020-01-01z
2019-12-25r
  z
2019-12-19r  r
   r=   )r   r   r   r)   r   r(   )rB   tz_aware_fixturer	  rF  rP   r1   r   r   s           r2   /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
)))!
)))))r4   )r   r   r   r  r  r  r  r   r   r   r  r}   r4   r2   r  r  ;	  s        0 0 01 1 11 1 11 1 1 []T3R,STT!* !* UT!* !* !*r4   r  c                   ^   e Zd Zd Zd Zej                            d ej	        ddd           e
dd	d
          g          d             Zd Zd Zej                            d ej        dd          d edd          g ej        dd           ej        dd           edd          gd ej        dd           edd          gg          d             Zej                            dddg          d             Zej                            dddg          d              Zd! ZdS )"TestLabelSlicingc           	         t          t          j        dd          d dD                       }t          t          j        dd          d d	D                       }||fD ]}|j        t	          d
ddd          d          }t          j        ||           |j        d t	          d
ddd                   }t          j        ||           |j        t	          d
ddd          t	          d
ddd                   }t          j        ||           |j        t	          d
ddd          d          }|j        dd          }t          j        ||           |j        dd          }t          j        ||           d S )Nr0  r   r   c           	      4    g | ]}t          d d|dd          S   ri   rn   r   r   r  s     r2   r   zMTestLabelSlicing.test_loc_getitem_slicing_datetimes_frame.<locals>.<listcomp>	  s(    FFFA8D!QB//FFFr4   r  r
   r1  c           	      4    g | ]}t          d d|dd          S r  r  r  s     r2   r   zMTestLabelSlicing.test_loc_getitem_slicing_datetimes_frame.<locals>.<listcomp>	  s(    IIIA8D!QB//IIIr4   )ri   r=   r=   ro   rr   r  ri   rn   rr   r  z20010101 11)r   r@   r   r(   r   r)   r*   r   )rB   	df_uniquedf_dupsr0   r   r1   s         r2   (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 	4r4   c                 8   t          dddd          }t          g d|          }t          dd	          }t          d
d	          }|j        ||         }t          ddg|dd                   }t	          j        ||           ||         }d}||k    sJ d S )Nz2017-10-29 01:30:00zEurope/Berlinrs   z30 min)r  rq  rA  )r   ri   r=   ro   rr   r
   z2017-10-29 02:30:00+02:00r  z2017-10-29 02:00:00+01:00r=   ro   rr   )r   r   r   r(   r)   r   )rB   rk  series2t_1t_2r   r1   s          r2   'test_loc_getitem_label_slice_across_dstz8TestLabelSlicing.test_loc_getitem_label_slice_across_dst	  s    !oqx
 
 
 4443HHH3HHHSW%1a&AaC111
vx000!!!!!!r4   r   r  r  r  r  r   r  r  c                     |                                 }|j        d |d                  }|j        d d         }t          j        ||           d S )Nr%  r$  )r  r(   r   r)   r   )rB   r   r  r   r1   s        r2   -test_loc_getitem_label_slice_period_timedeltaz>TestLabelSlicing.test_loc_getitem_label_slice_period_timedelta	  sO     oo59%8CRC=
vx00000r4   c                 h   g d}t          t          j                            d                              d          |          }|j        dd         }t          |          dk    sJ |j        dd         }t          |          dk    sJ |j        dd         }t          |          d	k    sJ d S )
N)gx"p|@g\Va|@g|@r=   ro   r=   r
   g3333c|@g    |@g3333|@g|@ro   )r   r@   r   r   r(   r  )rB   r   r0   s1s       r2   %test_loc_getitem_slice_floats_inexactz6TestLabelSlicing.test_loc_getitem_slice_floats_inexact	  s    :::ry,,Q//66v>>eLLLVGGO$2ww!||||VGGO$2ww!||||VGGO$2ww!||||||r4   c                    |}t          t          j                            d                              d          t          j        dd|                    }t          |j        dd                    dk    sJ t          |j        dd                    d	k    sJ t          j        dd|          }d
|d<   ||_        t          |j        dd                    dk    sJ t          |j        dd                    d	k    sJ d S )Nr=   rn   r]   r   r
   rx  r   g      )@rq   gffffff(@)r   r@   r   r   r   r  r(   r   )rB   r|  r<   r  rk  s        r2   'test_loc_getitem_float_slice_floatindexz8TestLabelSlicing.test_loc_getitem_float_slice_floatindex	  s	   !I!!!$$++B//ryRu7U7U7U
 
 
 37455>""a''''37455>""a''''iBe,,,A	37455>""a''''37455>""a''''''r4   zstart,stop, expected_slicer   nsNr  ri   rC  rp   rq   rr   rs   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   )rB   rp  stopexpected_slicer  r   r1   s          r2   $test_loc_getitem_slice_label_td64objz5TestLabelSlicing.test_loc_getitem_slice_label_td64obj	  s^     U2YY) D DEEud++,8N+
vx00000r4   rp  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   rM   r(   )rB   rF  rp  rP   s       r2   )test_loc_getitem_slice_unordered_dt_indexz:TestLabelSlicing.test_loc_getitem_slice_unordered_dt_index	  s    oIIV$$i&7&769J9JK
 
 
 ]J
 
 
 	" 	" GE&L!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"s   A22A69A6r*  rf  c                      |t          d          |dddg          }|j        |d         } |t          d          |dddg          }t          j        ||           d S )Nrr   r!  r=   thirdr
   )r   r(   r)   r   )rB   rF  r*  rP   r   r1   s         r2   1test_loc_getitem_slice_labels_int_in_object_indexzBTestLabelSlicing.test_loc_getitem_slice_labels_int_in_object_index	  sr     oeAhhugq'.JKKKw'"?588E7Aw3OPPP
)))))r4   c                     t          dddddg          }t          ddggdgt          ddgt                              }t          j        |j        d d dd f         |           d S )	Nri   r=   ro   )testri   r=   r   r
   r   )r   r   r;   )r   r   r?   r)   r*   r(   r   s      r2   *test_loc_getitem_slice_columns_mixed_dtypez;TestLabelSlicing.test_loc_getitem_slice_columns_mixed_dtype 
  s    aA..qc:::a&!eQF&.I.I.I
 
 
 	bfQQQUmX66666r4   )r   r   r   r  r  r   r   r   r   r  r   r  r#  r%  r@   r  r   r*  r1  r4  r7  r}   r4   r2   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 7r4   r  c                       e Zd Zej                            dddg          d             Zej                            dddg          d             Zd ZdS )TestLocBooleanLabelsAndSlices
bool_valueTFc                     | d}|j         dk    rP ||d          }t          j        t          |          5  |j        |          d d d            d S # 1 swxY w Y   d S d S )Nz7: boolean label can not be used without a boolean indexr<  r?   rN  r   )r  r   r   rM   r(   )rB   r   rF  r:  messagerP   s         r2   'test_loc_bool_incompatible_index_raiseszETestLocBooleanLabelsAndSlices.test_loc_bool_incompatible_index_raises

  s    
  XXX)++!/X>>>Cxw777 $ $
##$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ,+s   AAAc                 \     |t          ddgd          d          }|j        |          d S )NTFr<  r   r?   rN  )r   r(   )rB   rF  r:  rP   s       r2   test_loc_bool_should_not_raisez<TestLocBooleanLabelsAndSlices.test_loc_bool_should_not_raise
  sC    ouY777x
 
 
 	
r4   c                     d} ||d          }t          j        t          |          5  |j        dd          d d d            d S # 1 swxY w Y   d S )NzEslice\(True, False, None\): boolean values can not be used in a slicer?   rN  r   TF)r   r   r   r(   )rB   r   rF  r<  rP   s        r2   test_loc_bool_slice_raisesz8TestLocBooleanLabelsAndSlices.test_loc_bool_slice_raises
  s     U 	 oE:::]9G444 	  	 GDJ	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s   AAAN)	r   r   r   r   r   r   r=  r?  rA  r}   r4   r2   r9  r9  	
  s        [\D%=99$ $ :9$ [\D%=99  :9         r4   r9  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   rn   r  r  ro   )
r   ri   r=   ro   rn   rn   rn   rn   rn   rn   )
r   ri   r=   rn   rr   rs   rp   rq   r   r  )
rn   rn   rn   ro   rr   rs   rp   rq   r   r  rK  r  )	r   r   r   r   r  r   r(   r)   r*   )rB   r0   
conditionsexpected_datacondr   r   r1   s           r2   )test_loc_setitem_bool_mask_timedeltaindexz<TestLocBooleanMask.test_loc_setitem_bool_mask_timedeltaindex'
  s   U2YY'((b		444gk2c7a<C1=
000+++---

 j-88 
	4 
	4JD$WWYYF$&FJtSy! "5993777	  H !(F3333
	4 
	4r4   r  Nr  c                    t          j        g d          }t          dd|          }t          dt          j        d          i|                              d          }|                                }|j        |d d f         |j        |d d f<   t          j	        ||           |                                }|j        |         |j        |<   t          j	        ||           d S )Nr   20010101rr   r  r$   r
   r   )
r@   r   r   r   r   r  r   r(   r)   r*   )rB   r  r>  rk  r0   r   s         r2   +test_loc_setitem_mask_with_datetimeindex_tzz>TestLocBooleanMask.test_loc_setitem_mask_with_datetimeindex_tz=
  s     x22233Q2666RYq\\*#666==iHH fT111Wo
47
fb)))6$<
4
fb)))))r4   c           	         t          t          j        d                              dd          t	          d          t          ddd                    }|                                }|j        d	         gt          j	        t          j	        gz   |d
<   |j
        dk     }|j        |         j        |j        |d
f<   t          j        ||           d S )Nr2  ro   r=   ABr>  r  )rq  rA  r   r   r   ri   )r   r@   r   r  r   r   r   r   r   r   r'   r(   r)   r*   )rB   r0   r1   r>  s       r2   2test_loc_setitem_mask_and_label_with_datetimeindexzETestLocBooleanMask.test_loc_setitem_mask_and_label_with_datetimeindexN
  s     IcNN""1a((JJZ>>>
 
 

 7799!*+rvrv.>>taxF4L.tSy
b(+++++r4   c                 |   t          d          }t          d          }t          dt          ||g          i          }|                                }t          |g          }|d         j        d         j        }||j        ddg<   |d         j        d         j        }||k    sJ t          j        ||           d S )Nr   l   ,GsO1colri   TF)	r   r   r   r   r   _valuer(   r)   r*   )rB   td1td2r0   df_copyr  r1   r   s           r2   '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'*****r4   c                 
   |                                 }|d         dk    }d|j        |df<   |j                                         }d||j        df<   t          ||j        |j                  }t          j        ||           d S )Nr'   r   r   ri   r  )r   r(   r   r   r   r;   r)   r*   )rB   rj  r1   r>  r   s        r2   #test_loc_setitem_boolean_and_columnz6TestLocBooleanMask.test_loc_setitem_boolean_and_columnl
  s    ##%%3!#%&c	"%%''!"t{A~V8>8CSTTT
k844444r4   c                 X   t          g dg dd          }t          dg dig d          |j        g ddgf<   t          g d	g dd          }t          j        ||           t          g dg dd          }t	          g d
g d          |j        g ddgf<   t          j        ||           t          g dg dd          }t	          g d
g d          |j        g ddf<   t          j        ||           t          g dg dd          }|                                }|d         }t          j        |          5  t	          g d
g d          |j        g d<   d d d            n# 1 swxY w Y   |rt          j        ||           d S t          j        ||           d S )Nr   r  r   r$   r   )r=   ri   r   r
   )FFT)ri   r=   rn   r  )r   r(   r)   r*   r   r   r  )rB   r  r  r0   r1   r   r  s          r2   )test_loc_setitem_ndframe_values_alignmentz<TestLocBooleanMask.test_loc_setitem_ndframe_values_alignmentx
  s[    YYYYYY7788.7,,,yyy/
 /
 /
###cU*+ :::III>>??
b(+++ YYYYYY7788.4\\\.S.S.S###cU*+
b(+++ YYYYYY7788,2<<<yyy,Q,Q,Q###S()
b(+++YYYYYY7788''))g"#566 	R 	R,2<<<yyy,Q,Q,QCG((()	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	0!"g.....!"h/////s    E11E58E5c                    t          g g dt                    }|                                }|d                                         |j        t	          j        g t          j                  dgf<   t          j        ||           d S )Nr   r   r$   	r   r?   r   r(   r@   r   bool_r)   r*   r   s      r2    test_loc_indexer_empty_broadcastz3TestLocBooleanMask.test_loc_indexer_empty_broadcast
  sr    Rb))888779968gllnnrx"(+++cU23
b(+++++r4   c                    t          dgdgdt                    }|                                }|d                                         |j        t	          j        dgt          j                  dgf<   t          j        ||           d S )Nr   r^  r   r   r#   Fr$   r[  r   s      r2   $test_loc_indexer_all_false_broadcastz7TestLocBooleanMask.test_loc_indexer_all_false_broadcast
  sx    cU#//v>>>7799;=c7<<>>rxrx0003%78
b(+++++r4   c                 $   t          dgdgdt                    }t          dgdgdt                    }|d                                         |j        t	          j        dgt          j                  dgf<   t          j        ||           d S )Nr   r^  r   r   r#   Tr$   r[  r   s      r2   test_loc_indexer_length_onez.TestLocBooleanMask.test_loc_indexer_length_one
  s    cU#//v>>>C5u55VDDD:<S',,..rxbh///#67
b(+++++r4   )r   r   r   rH  r   r   r   rK  rN  rU  tdskip_array_manager_invalid_testrW  rY  r]  r_  ra  r}   r4   r2   rC  rC  &
  s        4 4 4, [TD%=11* * 21* , , ,+ + + '	5 	5 ('	50 0 0@, , ,, , ,, , , , ,r4   rC  c                       e Zd Zej                            dd ej        eg          d             Z	d Z
d Zej                            dddg          d	             Zd
 ZdS )TestLocListliker  c                     | S r|   r}   r:  s    r2   r;  zTestLocListlike.<lambda>
  s    q r4   c                    t          ddt          j        g          }t          t	          d          |          }|j         ||                   }t          j        ||           | ||                   }t          j        ||           |                                j         ||                   }t          j	        ||                                           |d d         }|dd          }d}t          j        t          |          5  |j         ||                    d d d            n# 1 swxY w Y   t          j        t          |          5  | ||                    d d d            n# 1 swxY w Y   t          j        t          |          5  |                                j         ||                    d d d            d S # 1 swxY w Y   d S )	Nr'   r   ro   r
   r$  ri   r  r   )r   r@   r   r   r   r(   r)   r   r  r*   r   r   rM   )rB   r  cir  r   ser2ci2r   s           r2   8test_loc_getitem_list_of_labels_categoricalindex_with_nazHTestLocListlike.test_loc_getitem_list_of_labels_categoricalindex_with_na
  si    sC011U1XXR(((R!
vs+++SSWW
vs+++#CCGG,
fcllnn5553B3xf]83/// 	 	HSSXX	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]83/// 	 	SNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]83/// 	* 	*MMOOC))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s6   D//D36D3E33E7:E7)GGGc                     t          j        g dd          }t          g dt          ddd                    }t	          j        t          d	
          5  |j        |          d d d            d S # 1 swxY w Y   d S )N)
2001-01-04z
2001-01-02rm  z
2001-01-14r  r   )r=   rs   r   r  z
2001-01-01rC  rr   r&  r  r   )r@   r   r   r   r   r   rM   r(   )rB   rd   r  s      r2   1test_loc_getitem_series_label_list_missing_valueszATestLocListlike.test_loc_getitem_series_label_list_missing_values
  s    hDDDL
 
 
 ]]]J|#q$Q$Q$QRR]8>::: 	 	GCLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A11A58A5c                 "   t          t          j        ddg          t          j        ddg                    }t          j        t
          d          5  |j        t          j        ddg                    d d d            d S # 1 swxY w Y   d S )Nl   PF
AHl   UBeNl   P2$$nr   r   r  r   l   NZ4FG)r   r@   r   r   r   rM   r(   rm  s     r2   9test_loc_getitem_series_label_list_missing_integer_valueszITestLocListlike.test_loc_getitem_series_label_list_missing_integer_values
  s    (,.?@AA-/ABCC
 
 
 ]8>::: 	E 	EGBH.0ABCCDD	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	Es   "BBB	to_periodTFc                    t          dddd          }|r|                    d          }t          ddg|d	          }t          d          t          d          g}|rd
 |D             }|j        |         }t          ddg|d	          }|s|j                            d           |_        t          j        ||d           t          d          t          d          t          d          g}|rd |D             }t          g dt          |d|j
                  d	          }|j        |         }t          j        ||d           t          d          t          d          t          d          g}|rd |D             }t          j        t          d          5  |j        |          d d d            d S # 1 swxY w Y   d S )N
2011-01-01z
2011-01-02rC  rk  )rA  r   皙?皙?r  r   c                 8    g | ]}|                     d           S rC  rr  r   s     r2   r   zRTestLocListlike.test_loc_getitem_listlike_of_datetimelike_keys.<locals>.<listcomp>
  $    333AKK$$333r4   T)r  c                 8    g | ]}|                     d           S rx  ry  r   s     r2   r   zRTestLocListlike.test_loc_getitem_listlike_of_datetimelike_keys.<locals>.<listcomp>
  rz  r4   )rv  rv  ru  )r   r<   
2011-01-03c                 8    g | ]}|                     d           S rx  ry  r   s     r2   r   zRTestLocListlike.test_loc_getitem_listlike_of_datetimelike_keys.<locals>.<listcomp>  rz  r4   r  r   )r   rr  r   r   r(   r   rE  r)   r   r   r<   r   r   rM   )rB   rr  rk  r  r
  r   r   s          r2   .test_loc_getitem_listlike_of_datetimelike_keysz>TestLocListlike.test_loc_getitem_listlike_of_datetimelike_keys
  sB    |#EJJJ 	%--$$Cc3Zs555,''<)@)@A 	433d333Dc3Zs555 	3	,,T22CI
vsTBBBB l##l##l##

  	433d333DOO5E#K#K#KRU
 
 
 
vsTBBBB l##l##l##

  	433d333D]8>::: 	 	GDMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s    F;;F?F?c                     t          ddgddgddggg ddd	g
          }|j        d d         }d|j        _        |j        t          ddgd                   }t          j        ||           d S )Nri   r=   rr   rs   rq   r   )cobraviper
sidewinder	max_speedshieldr  r   r  r  r   )r   r   r   r   r(   r   r)   r*   r   s       r2   test_loc_named_indexz$TestLocListlike.test_loc_named_index  s    VaVaV$222 (+
 
 

 72A2;#w0u===>
fh/////r4   N)r   r   r   r   r   r   r@   asarrayr   rk  rn  rq  r~  r  r}   r4   r2   re  re  
  s        [U[["*d$CDD* * ED*6  E E E [[4-88' ' 98'R
0 
0 
0 
0 
0r4   re  z%columns, column_key, expected_columns)  r  i  r  r  ri   )r  r  Allr  r=   c                    t          t          j                            d                              d          | t	          d                    }|j        d d |f         }|j        g d|f         }t          j        ||d           d S )Nr=   r  r  r   r   Tr  )	r   r@   r   r   r   r   r(   r)   r*   )r;   
column_keyexpected_columnsr0   r1   r   s         r2   *test_loc_getitem_label_list_integer_labelsr    s     

	a  ''//U
 
 
B wqqq**+HVOOOZ/0F&(dCCCCCCr4   c                     t           j                            d                              d          } t	          |           }t           j        |j        d d df<   t          j        | t          j        t           j        gdz            	                    dd          f          }t	          |g d          }t          j        ||           t	          |           }t           j        |j        d d df<   t          j        ||           d S )Nr=   )r   rr   rz  r   ri   )r	  rW  r   rj   rz  r   )r@   r   r   r  r   r   r(   hstackr   r  r)   r*   )	rand_datar   rF  r1   s       r2   test_loc_setitem_float_intindexr  '  s    	%%a((88@@Iy!!FFJqqq#vIy"(BF8a<*@*@*H*HA*N*NOPPM0I0I0IJJJH&(+++y!!FFJqqq#v&(+++++r4   c                     d dD             } t          t          j        d          t          d          t	          j        |                     }|                    d          dd	         }t          t          j        d
          t          d          t	          j        g d                    }t          j        ||           d S )Nc                      g | ]}d D ]}||fS ))rq   r   r  rn   r}   )r   yrr  s      r2   r   z)test_loc_axis_1_slice.<locals>.<listcomp>7  s)    BBBMBBqRGBBBBr4   )  r   )rn   r   
ABCDEFGHIJr  ri   r  r  r  r   r   r
  )r  )r  rn   )r   rq   r  )	r   r@   r  r  r   r  r(   r)   r*   )r  r0   r   r1   s       r2   test_loc_axis_1_slicer  5  s    BBlBBBD	
L!!&t,,
 
 
B
 VVV^^Ii/0F
L!!&'T'T'TUU  H
 &(+++++r4   c            
      (   t          dt          d          t          j        t          d          t          d          g                    } |                                 }|j        ddgf         |j        ddgf<   t          j        ||            d S )Nr$   r=   r  r   r  )r   r   r   r  r   r(   r)   r*   )r1   r   s     r2   !test_loc_set_dataframe_multiindexr  F  s    588Z%<eAhha=Q%R%R  H ]]__F$jVH5FJq6({&(+++++r4   c                      t          t          d          t          ddgt                              } | j        d         }|dk    sJ d S )Nr=   ri   r   r   r   )r   r   r   r?   r(   )r  r   s     r2   test_loc_mixed_int_floatr  P  sD    
q5!S888
9
9CWQZFQ;;;;;;r4   c                      t          t          d          g d          } t          j        t          d          5  d| j        d d<   d d d            d S # 1 swxY w Y   d S )Nrr   rB  r
   $Slicing a positional slice with .locr   r=   ro   )r   r   r   r   r   r(   )r  s    r2   %test_loc_with_positional_slice_raisesr  X  s    
q!5!5!5
6
6
6C	y(N	O	O	O                   s   AAAc                     t          dd          } t          t          j                            d                              d          |           }|d         }d}||fD ]}t          j        t          |	          5  |j        d
d          d d d            n# 1 swxY w Y   t          j        t          d	          5  d
|j        d
d<   d d d            n# 1 swxY w Y   t          j        t          |	          5  |j        d
dd
f          d d d            n# 1 swxY w Y   t          j        t          d	          5  d|j        d
dd
f<   d d d            d S # 1 swxY w Y   d S )Nr  ro   rq  r=   r!  r
   r   zOcannot do slice indexing on DatetimeIndex with these indexers \[1\] of type intr   ri   r  )	r   r   r@   r   r   r   r   r   r(   )dtir0   r  r   rP   s        r2   #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  rs   r&  r   )r   r=   r=   ro   z/None of \[TimedeltaIndex.* are in the \[index\]r   r$   )r   r@   r   r   r  r   r   r   r   r   TimedeltaIndexasi8r   r   rM   r(   )r0   r  r  r   s       r2   '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-12r  r@  r=   )r  rn   r
   r   rs   )r   r  r   r@   r   r   r  r)   r*   r(   r   r   )rk  r0   s     r2   "test_loc_with_period_index_indexerr    s    
/)YS
9
9
9C	29((++;;HEES	Q	Q	QB"bfSk***"bfT#YY/000"bfT#YY/000"'!A#,s1Q3x(8999"bfT#YY/00000r4   c                  v   t           j                            d                              d          } t	          dd          }g d}t          | ||          }t           j        |j        |j        d         d	f<   t           j        | d         d
d<   t          | ||          }t          j
        ||           d S )Nr=   )r   rp   r>  r   r  )r'   r   r   rC  EFr  ri   r   r   )r@   r   r   r  r   r   r   r(   r   r)   r*   )r  rk  r  r   r   s        r2   %test_loc_setitem_multiindex_timestampr    s    9  ##33F;;D
Z
+
+
+C)))D
DT
2
2
2C(*CGCIaL*$%6DGAaCL
DT
2
2
2C#s#####r4   c                     g d} ddg}ddg}t          j        | ||gg d          }t          dt          d	          |
          }|j        d d | d         |d         |d         ff         }|j        d d d df         }t          j        ||           |                    | d         |d         |d         fg dd          }t          j        ||           |j        d         }|j        d d         }	|                    | d         |d         |d         fg dd          }
t          j	        |
|	           |j        | d         |d         |d         f         }|dk    sJ d S )Nr  r  )ri   r   r   ri   )r   r^  r  rj  rp   rs   r  rh   )r3  r  )
r   r  r   r   r(   r   r)   r*   xsr   )rU  rV  lev3r  r0   r   r1   altr  	expected2alt2r  s               r2   'test_loc_getitem_multiindex_tuple_levelr    s|   ??DFDq6D"D$#5___MMMD	1E!HHd	3	3	3B VAAAQa$q'223F wqqq"1"u~H&(+++
%%a$q'47+9991%
E
EC#x((( '!*C!I6647DGT!W-YYYQ6GGD4+++gd1gtAwQ/0Ga<<<<<<r4   c            
         t          t          j        g dg dddt          j        t          j        gg          j        g dd          } |                     d          }|j        j        dk    sJ |j        d         }t          dd	g|j
        dd
          }t          j        ||           |j                            t                    |_        |j        d         }t          j        ||           d S )Nr  )rs   rp   rq   r   ri   r=   r  r  )r   r;   r<   rT   rs   r  )r   r@   r   r   Tr   r   r<   r(   r   r;   r)   r   r  r?   )r0   r   r   r1   s       r2   /test_loc_getitem_nullable_index_with_duplicatesr    s    	X|||\\\Aq"&"&3IJKKM
 
 
B
 ,,s

C9?g%%%%
'!*Cq!fCKwQGGGH3))) 	  ((CI
'!*C3)))))r4   r*  r   c                 J   t          g ddgd          }t          j        t          d          5  | |j        d<   d d d            n# 1 swxY w Y   t
          rt          | t          j                  rd}nd	}t          g d
dg|          }t          j	        ||           d S )Nr  r   uint8r:   r   r   )r=   r   int16uint16)ri   r=   r   rr   )
r   r)   r   r  r(   r   r   r@   r  r*   )r*  r0   r<   r1   s       r2   test_loc_setitem_uint8_upcastr    s     
<<<&	A	A	AB		#M9U	V	V	V " "!y" " " " " " " " " " " " " " "  *UBH55  &GGGH"h'''''s   AAAzfill_val,exp_dtypez
2022-01-06zdatetime64[ns]z
2022-01-07
US/Easternr  zdatetime64[ns, US/Eastern]c                 &   ddd|                                  g}t          || j        |          }t          g ddg|          }d|j        d	<   |                    d
           t          ||          }t          j        |j        |d           d S )Nz
2022-01-02z
2022-01-03z
2022-01-04)r  r<   )rn   r  r  r  r$   r   r  )
2022-01-08r$   r  r   T)exact)	r   r   r  r   r(   r  r)   r	  r   )fill_val	exp_dtyper   r   r0   expected_indexs         r2   0test_loc_setitem_using_datetimelike_str_as_indexr    s     ,hmmooFD$8;i@@@E	###cU%	@	@	@B "BFKK"4y999N"(N$??????r4   c                      t          t          d          g          } d| j        d d df<   t          dgdgdgdgd          }t          j        | |           d S )Nabcrs   r   r$   r#   rT   )r   ri   r=   r   )r   r   r(   r)   r*   )r0   r1   s     r2   test_loc_set_int_dtyper    se    	DKK=	!	!BBF111f9cUu#DDEEH"h'''''r4   z8ignore:Period with BDay freq is deprecated:FutureWarningr  c                      t          g ddd          } t          g dg dg dg dg| g d	
          }|                    ddgd          d         }|j        | d         ddf         dk    sJ d S )N)z20181101 1100z20181101 1200z20181102 1300z20181102 1400r   r   )r   rA  )r'   r   rW  )r'   r   r   )r  Qrj   )Wr  r0  )ONETWOVALUESr  r  r  T)r  r  r   r'   rW  )r   r   r   r(   )p_index	mi_seriess     r2   test_loc_periodindex_3_levelsr    s     LLL  G
 	///???OOOL(((  I
 ##UEN4#@@JI='!*c3/0C777777r4   c                  d   t          j        d           t          t          g dd          t          g d          d          } t          ddg          }|| j        | j        d	f<   t          t          g d
d          t          g d          d          }t          j        | |           d S )Npyarrowr   zstring[pyarrow]r   )TTF)stringsr  r  r  r  )r  r  r   )r   rQ  r   r   r(   r  r)   r*   )r0   	new_valueexpected_dfs      r2    test_loc_setitem_pyarrow_stringsr    s    
	"""	ooo5FGGG---..	
 	

 
B Sz""I )BF269ooo5FGGG---..	
 	
 K "k*****r4   c                   4   e Zd Zej                            dddg          d             Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zej                            dej        ej        eeg          ej                            dg d          d                         Zej                            dedddf         d ed          fg          d             Zd Zej                            dddg          d             Zej        d             Zd Zd Zd Z dS )TestLocSeriesrt  )ru  ro   )rv  rr   c                 P    t          ddd          }|j        |         |k    sJ d S )Nro   rr   )ru  rv  )r   r(   )rB   rJ  r1   r  s       r2   r  zTestLocSeries.test_loc_uint644  s6     1--..ws|x''''''r4   c                 Z   |j         g d         }t          j        |j        |         |                    |                     t          j        |j        dd d         |dd d                    |j         ddg         \  }}|j        ||         }|                    ||          }t          j        ||           ||                                k    }t          j        |j        |         ||                    |j        |         ||         k    sJ |j        |         ||         k    sJ d S )Nro   rr   rq   rs   r=      )r   r)   r   r(   r  r   truncatemedian)	rB   string_seriesdatetime_seriesindsd1d2r   r1   r>  s	            r2   test_loc_getitemzTestLocSeries.test_loc_getitem:  s4   "999-
}068M8Md8S8STTT
}1!$Q$7qt!t9LMMM !&2w/B $RU+"++B33
vx000 }33555
}06d8KLLL "2&/"*====="2&/"*=======r4   c                 b   |j         ddg         \  }}|d d d         j        g d         }d}t          j        t          |          5  |j        ||          d d d            n# 1 swxY w Y   t          j        t          |          5  d|j        ||<   d d d            d S # 1 swxY w Y   d S )Nrs   r  r=   )ri   r=   r   z"Timestamp\('2000-01-10 00:00:00'\)r   r   )r   r   r   r   rM   r(   )rB   r  r  r  ts2r   s         r2   test_loc_getitem_not_monotonicz,TestLocSeries.test_loc_getitem_not_monotonicM  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=   rn   r   r]   r
   rr   ro   r  rp   )rr   rp   r   rn   rs   r  r$  z^3$r   )r   r@   r   r   r  r   r   r   r   rD  r   r(   r  r)   r   r   r   rM   )rB   r  cpr   r  r1   s2s          r2   0test_loc_getitem_setitem_integer_slice_keyerrorsz>TestLocSeries.test_loc_getitem_setitem_integer_slice_keyerrorsX  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 )Nrn   )r  r   r(   r)   r   )rB   r  rk  r   s       r2   test_loc_getitem_iteratorz'TestLocSeries.test_loc_getitem_iteratoru  sJ    =&ss+,,"3'
v}SbS'9:::::r4   c                     ||                                 k    }|                                }d|j        |<   |}d||<   t          j        ||           d S )Nr   )r  r   r(   r)   r   )rB   r  r>  r   r1   s        r2   test_loc_setitem_booleanz&TestLocSeries.test_loc_setitem_booleanz  s\    }33555##%%
4 
vx00000r4   c                     t          |j        g d                   }d|j        |<   d}t          j        t
          |          5  d|j        |dgz   <   d d d            d S # 1 swxY w Y   d S )N)rs   r   r  rs   z\['foo'\] not in indexr   r   )r   r   r(   r   r   rM   )rB   r  r  r   s       r2   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)rs   rn   r  r   r=   )r   r   r(   r)   r   )rB   r  indicesr  r   s        r2   test_basic_setitem_with_labelsz,TestLocSeries.test_basic_setitem_with_labels  s    !'4!!##""$$7
r3'''!!##""$$&'71:
"#+,
WQZ'(
r3'''''r4   c           
      >   t          t          j                            d                              d          t          t          ddd                              }g d}t          j        g d          }|                                }|                                }d||<   d|j	        |<   t          j        ||           |                                }|                                }d||<   d|j	        |<   t          j        ||           g d}t          j        g d          }d}t          j        t          |	          5  d||<   d d d            n# 1 swxY w Y   t          j        t          |	          5  d||<   d d d            d S # 1 swxY w Y   d S )
Nr=   rn   r   r]   r
   )r   rr   rp   r   rr   rs   rp   z\[5\] not in indexr   )r   r@   r   r   r  r   r   r   r   r(   r)   r   r   r   rM   	Exception)	rB   r  r  arr_indsr  r   inds_notfoundarr_inds_notfoundr   s	            r2   !test_loc_setitem_listlike_of_intsz/TestLocSeries.test_loc_setitem_listlike_of_ints  s   I!!!$$44R88U1bRS__@U@U
 
 
 yy8III&&XXZZhhjjD	
r3'''XXZZhhjjH
r3'''$H\\\22#]83/// 	# 	#!"C	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#]9C000 	' 	'%&C!"	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's$   EE E?FFFc                    t          t          ddd          g d          }|                                }t          dd          }||j        d	<   |j        d	         }||k    sJ |                                }||j        d
<   |j        d
         }||k    sJ |                                }||d	<   |d	         }||k    sJ d S )Nrt  ro   r  r  r  r
   r|  r  r$   r   )r   r   r   r   r(   r   )rB   r  r  r1   r   s        r2   test_loc_setitem_dt64tz_valuesz,TestLocSeries.test_loc_setitem_dt64tz_values  s    |Q<@@@!//
 
 
 XXZZ\l;;;s!!!!XXZZ
!!!!XXZZ3C!!!!!!r4   array_fnr2  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   abcderN  r$   )r   r   r?   r(   r)   r   r   )rB   r2  r  r  r1   r  s         r2   #test_loc_iloc_setitem_with_listlikez1TestLocSeries.test_loc_iloc_setitem_with_listlike  s     hsTz""31a+4==OOOQd7mm6:::
sH---Qd7mm6:::
sH-----r4   r   r'   Nc                 d   t          t          j        g d          g d          }d}t          j        t
          |          5  |j        |d d f          d d d            n# 1 swxY w Y   t          j        t
          |          5  d|j        |d d f<   d d d            d S # 1 swxY w Y   d S )N))r'   0)r'   r8   )r   r  )   rF  rN  rp  r  r   ri   )r   r   r  r   r   r   r(   )rB   r   r  r   s       r2   +test_loc_series_getitem_too_many_dimensionsz9TestLocSeries.test_loc_series_getitem_too_many_dimensions  sI    ()M)M)MNN
 
 
 "]=444 	  	 GGQQQJ	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  ]=444 	$ 	$"#CGGQQQJ	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s$   A##A'*A'	B%%B),B)c                    |j         g d         }|                                }d|j        |<   |                                }d|j        g d<   t	          j        ||           d|j        dd<   d|dd<   t	          j        ||           |j         ddg         \  }}d|j        ||<   d|dd<   t	          j        ||           d|j        |<   d|j        |<   ||         dk    sJ ||         dk    sJ d S )Nr  rs   rn   r  rp   ry  rr   )r   r   r(   r   r)   r   )rB   r  r  r   r1   r  r  s          r2   test_loc_setitemzTestLocSeries.test_loc_setitem  s)   "999-##%%
4 %%''#$iii 
vx000AbD2
vx000 $aW-B
2b52
vx000 !"" !"R A%%%%R A%%%%%%r4   r<   r?   r[  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  )rB   r<   r0   r1   s       r2   test_loc_assign_dict_to_rowz)TestLocSeries.test_loc_assign_dict_to_row  s}     eU^5%.AAOOO#&11q!!!tFE?&%IIQVWWW
b(+++++r4   c                    t          ddg          }t          dd          dd|j        d	<   t          dd          dd|j        d	<   t          t          dd          dggddgd	g
          }t          j        ||           d S )Nr   r*  r   rp   r  r  r   )r   r*  ri   r   )r   r   r(   r)   r*   r7  s      r2   ,test_loc_setitem_dict_timedelta_multiple_setz:TestLocSeries.test_loc_setitem_dict_timedelta_multiple_set  s     FG#4555!*13!7!7!7%HH
1!*13!7!7!7%HH
1$$$e,-7HQRPS
 
 
 	fh/////r4   c                     t          ddgdg          }ddg|j        dddgf<   t          t          t          j        t          j        gd	
          dt          j        gdt          j        gdddg          }t          j        ||           d S )Nri   r=   r$   r  rp   rq   r#   rT   r?   r   r  r
   )r   r(   r   r@   r   r)   r*   r   s      r2   3test_loc_set_multiple_items_in_multiple_new_columnszATestLocSeries.test_loc_set_multiple_items_in_multiple_new_columns  s    aVcU333!"Aq3*}RVRV,H===[[ 
 a&
 
 
 	b(+++++r4   c                    d}t          j        t          |          5  t          j        ddd          }t          t          d          |          }|j        d         d	k    sJ 	 d d d            d S # 1 swxY w Y   d S )
Nz#Period with BDay freq is deprecatedr   2000r]   r   ro  r
   z
2000-01-14r  )r)   r   r  r   r  r   r   r(   )rB   r   r   r-   s       r2    test_getitem_loc_str_periodindexz.TestLocSeries.test_getitem_loc_str_periodindex*  s    3'SAAA 	1 	1O&"3GGGEE"IIU333F:l+q00000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1s   A	A55A9<A9c                    t          t          d                    }t          |dz  d          }t          dt	          j        t          |          t          j                  i|          }|j        |         }t          d|	                    d          
                    t          j                  it          t	          j        |                              d          d                    }t          j        ||           d S )	Nr  i  r  r   rJ  r
   stable)rE   )r   r   r   r   r@   r   r  intpr(   argsortr  r   r  r)   r*   )rB   r  r   r0   r   r1   s         r2   test_loc_nonunique_masked_indexz-TestLocSeries.test_loc_nonunique_masked_index2  s    599oocDj000ryU27CCCDERRREMMxM0077@@A,,T22'BBB
 
 
 	fh/////r4   )!r   r   r   r   r   r   r  r  r  r  r  r  r  r  r  r  r@   r   r   r   r  r  r   r   r  r  r  rb  rc  r  r  r  r  r}   r4   r2   r  r  3  s       [^nj-IJJ( ( KJ(
> > >&	 	 	  :; ; ;
1 1 12 2 2( ( (' ' '8" " ", [Z"(BHdE)JKK[V\\\22. . 32 LK.  [YCF);c55;;=O(PQQ$ $ RQ$& & &4 [Wx&:;;, , <;, '0 0 ('0, , , 1 1 1
0 
0 
0 
0 
0r4   r  )\__doc__collectionsr   rz  r   r   r   r   r-  dateutil.tzr   numpyr@   r   pandas._configr	   pandas._libsr   rg  pandas.compat.numpyr   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorsrb  pandasr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr)   pandas.api.typesr    pandas.core.indexingr!   pandas.tests.indexing.commonr"   r   r   r   r3   r6   r   r  r  ra  r  r  r  r9  rC  re  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r}   r4   r2   <module>r-     s   * * " " " " " "                
			            - - - - - - * * * * * * . . . . . . ' ' ' ' ' ' ) ) ) ) ) ) ) ) )                                           (       & & & & & & 6 6 6 6 6 6 K K K K K K &
&"&#	bfbf 57J7J7JK
&#bft}5 1 1 1@ @ @ @ @ @ @ @Fe, e, e, e, e, e, e, e,P-:( :( :( :( :( :( :( :(zs: s: s: s: s: s: s: s:lV, V, V, V, V, V, V, V,r( ( ( ( ( ( ( (DG* G* G* G* G* G* G* G*TA7 A7 A7 A7 A7 A7 A7 A7H               :E, E, E, E, E, E, E, E,Pc0 c0 c0 c0 c0 c0 c0 c0L +			dD\Aq62			tTlQF3			tUmaV4 D D D, , ,, , ,", , ,      8  ,1 1 1	$ 	$ 	$  <* * *( 3		#"FGG( ( HG(& 	<	 	 "23	<L	1	1	13OP 	@ 	@ 	@( ( ( WXXRSS8 8 TS YX8 + + +,I0 I0 I0 I0 I0 I0 I0 I0 I0 I0r4   