
    Owg:             	       4   d Z ddlmZ ddlmZmZmZmZ ddlZddlm	Z	 ddl
ZddlZddlmZ ddlmZ ddlmZ dd	lmZ ddlmc mZ ddlZdd
lmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z- ddl.m/Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6 ejn                  jq                  dejr                  ejr                  dgdejr                  ejr                  gg dgejr                  dgdejr                  gddggg      d        Z: G d d      Z; G d d      Z< G d d      Z= G d d      Z> G d d      Z? G d d       Z@ G d! d"      ZA G d# d$      ZB G d% d&      ZC G d' d(      ZD G d) d*      ZEejn                  jq                  d+g d,d-d.gdd/gfg d0d-d.gdd/gfg d0d-d1gdd2gfg      d3        ZFd4 ZGd5 ZHd6 ZId7 ZJd8 ZKd9 ZLd: ZMd; ZNd< ZOd= ZPd> ZQejn                  jq                  d?d@ ej                  d@       ej                  d@      g      dA        ZTejn                  jq                  dB e)dC      dDf e)dEdFG      dHfg      dI        ZUdJ ZVejn                  j                  dK      ejn                  j                  dL      dM               ZXdN ZY G dO dP      ZZy)Qz$ test label based indexing with loc     )
namedtuple)datedatetimetime	timedeltaN)gettz)using_pyarrow_string_dtypeindex)np_version_gt2)IndexingError)CategoricalCategoricalDtypeCategoricalIndex	DataFrameDatetimeIndexIndex
IndexSlice
MultiIndexPeriodPeriodIndexSeriesSparseDtype	Timedelta	Timestamp
date_rangetimedelta_rangeto_datetimeto_timedelta)	is_scalar)_one_ellipsis_message)"check_indexing_smoketest_or_raisesz series, new_series, expected_serba)FTTFTc                     t        d| i      }||j                  d d df<   t        d|i      }t        j                  |j	                         |       t        j                  |j                         |        y NA)r   loctmassert_frame_equalisnanotna)series
new_seriesexpected_serdfexpecteds        U/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/indexing/test_loc.pytest_not_change_nan_locr3   1   s`     
C=	!BBFF1c6N#|,-H"'')X."((*xi0    c                      e Zd Zd Zej
                  j                  dddg      d        Zej
                  j                  dddg      d        Zej
                  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
                  j                  dddg      d               Z	ej
                  j                  dg dg dgg dg dgg      ej
                  j                  dddg      d               Z
ej
                  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
                  j                  dddg      d               Zej
                  j                  ddd g      ej
                  j                  dddg      d!               Zd" Zej
                  j                  dddg      d#        Zej
                  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
                  j                  dddg      d-               Zd. Zd/ Zej
                  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y
)6TestLocc                 H    t        g ddgd      }|j                  d   J y )N)12Nr$   strcolumnsdtype)   r$   )r   r(   selfr0   s     r2   "test_none_values_on_string_columnsz*TestLoc.test_none_values_on_string_columnsB   s'    '#eDvvf~%%%r4   kindr-   framec                 R    |j                  | d      }t        |ddt               y )N_labelsr(   r>   failsgetfixturevaluer"   KeyErrorr@   rB   requestobjs       r2   test_loc_getitem_intzTestLoc.test_loc_getitem_intH   s)     %%g&67*3qIr4   c                 R    |j                  | d      }t        |ddt               y )N_emptyr(   crF   rH   rK   s       r2   test_loc_getitem_labelzTestLoc.test_loc_getitem_labelN   s(     %%fo6*3s(Kr4   zkey, typs, axesf)intsuintslabelsmixedtsNfloats   )rT   rU   rW   rV   rX   r   c                 f    |D ],  }|j                  | d|       }t        |d||t               . y N_r(   axesrG   rH   r@   keytypsr_   rB   rL   typrM   s           r2   #test_loc_getitem_label_out_of_rangez+TestLoc.test_loc_getitem_label_out_of_rangeT   s@      	C))TF!C5/:C.UCd(	r4   z	key, typsr      r>   )rT   rU   rY   )rf         @r'   c                 d    |D ]+  }|j                  | d|       }t        |d|t               - y )Nr]   r(   rF   rH   )r@   ra   rb   rB   rL   rc   rM   s          r2   test_loc_getitem_label_listz#TestLoc.test_loc_getitem_label_listh   s=      	PC))TF!C5/:C.sE3hO	Pr4   empty)r   r>   
   )         rf   ))rf   rl   )rf      )r>      multic                 f    |D ],  }|j                  | d|       }t        |d||t               . y r\   rH   r`   s           r2   (test_loc_getitem_label_list_with_missingz0TestLoc.test_loc_getitem_label_list_with_missingv   s@      	C))TF!C5/:C.UCd(	r4   rb   rT   rU   c                 \    |j                  | d|       }t        |dg ddt               y )Nr]   r(   )rZ      (   rf   r^   rH   )r@   rb   rB   rL   rM   s        r2   !test_loc_getitem_label_list_failsz)TestLoc.test_loc_getitem_label_list_fails   s2     %%av&67*1H	
r4   c                      y N r@   s    r2   !test_loc_getitem_label_array_likez)TestLoc.test_loc_getitem_label_array_like   s     	r4   c                 Z    |j                  | d      }g d}t        |d|t               y )NrP   TFTFr(   rF   )rI   r"   
IndexError)r@   rB   rL   rM   r#   s        r2   test_loc_getitem_boolzTestLoc.test_loc_getitem_bool   s+    %%fo6&*3q
Kr4   zslc, typs, axes, failsrl   )rV   rW   rj   rX   rY   2013010220130104r>      rW   ro   c                 ^    |D ](  }|j                  | d|       }t        |d|||       * y r\   )rI   r"   )	r@   slcrb   r_   rG   rB   rL   rc   rM   s	            r2   test_loc_getitem_label_slicez$TestLoc.test_loc_getitem_label_slice   sD    ,  	C))TF!C5/: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
                  ||       y )NrZ   r$      col1col2)rk   rf   rf   r<   r   r>   )rf   r   r   rf   )r   nparanger(   r)   r*   r@   r0   r1   s      r2    test_setitem_from_duplicate_axisz(TestLoc.test_setitem_from_duplicate_axis   s    #Yc
S#J/V$

 IIaLy#YC1c(+ff5EZ
 	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
   j                         d
dgf<   t        g dg dt        d      t        d      t        d      gd      }t        j                  ||       y )Nrf   r>   rl   String 1String 2z2019-06-11 11:00:00z2019-06-11 12:00:00)channelr'   B)dataString 3r'   r   r'   r   )r   r   r   )r   r   nanr   pdNaTvaluesr(   r+   r)   r*   )r@   r0   df2r1   s       r2   test_column_types_consistentz$TestLoc.test_column_types_consistent   s    $ "&&*534FF34

 "|95J+K*LM
 .1ZZr#w||~Sz)*$9343434

 	b(+r4   zobj, key, expFr<   namer
   c                     |j                   |   }t        |t        t        f      rt	        j
                  ||       y ||k(  sJ y ry   )r(   
isinstancer   r   r)   assert_equal)r@   rM   ra   express        r2   #test_loc_getitem_single_boolean_argz+TestLoc.test_loc_getitem_single_boolean_arg   s:     ggclcIv./OOC%#::r4   )__name__
__module____qualname__rA   pytestmarkparametrizerN   rR   rd   ri   rs   rw   r|   r   slice	TypeErrorrJ   r   r   r   r   r   r   r   r   rz   r4   r2   r6   r6   A   s   & [[Vh%89J :J
 [[Vh%89L :L
 [[<dC8*d#+T2(T"$O(Q	

 [[Vh%89 :
 [[3478	
 [[Vh%89P :P [[	4(4a83Q7%y!4	
	 [[Vh%89 :	 [[Vfg%67[[Vh%89
 : 8

 [[Vh%89L :L [[  a<	 :z*TFAyA1a[7)Q	21a[7)Q11a^gY95	
 [[Vh%89 :  ,,> [[ A3%w81e8$s'
 QCueW~.s;uE5'N3UFA3U<ST	
r4   r6   c                      e Zd Zd Zej
                  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
                  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j0                  d'        Zej
                  j                  d(d) ej6                  d)ej8                  *       ej6                  g d+ej8                  *      g      d,        Zd- Zd. Zd/ Z d0 Z!d1 Z"ej
                  j                  d2g d3      d4        Z#d5 Z$d6 Z%d7 Z&d8 Z'd9 Z(d: Z)d; Z*d< Z+ej
                  jY                  d=      d>        Z-ej
                  j                  d?d@g e.dAd@dA       ej6                  d@g      g      ej
                  j                  dBdCg ej6                  dCg      g      dD               Z/ej
                  j                  dEd)dFgg dGfdH e0g dIdJdKejb                  ejb                  gg dIgg dGL      fdMdNdOgfdHdPg e0dMdFejb                  ejb                  gg dQdRdSejb                  ejb                  ggg dGL      fdMg dTf ej6                  g dUej8                  *       e0dMdFejb                  gg dUdRdSejb                  ggg dTL      f e.dMdJdA      g dVfg dUg dWg e0dMdFejb                  ejb                  gg dXg dYgg dGL      f e.dMdJdA      g dZf ej6                  g dUg dWgej8                  *       e0dMdFejb                  ejb                  gg d[g d\gg dGL      f e.dAdAdA      d@dNgf e0dHdPgd]d^gd_d`ggd@dNgL       e0g dag dbg dcgg dTL      fg      dd        Z2de Z3df Z4dg Z5dh Z6di Z7ej
                  jp                  ej
                  j                  djdkdlgdmdngg      do               Z9dp Z:dq Z;dr Z<ds Z=dt Z>du Z?dv Z@dw ZAdx ZBdy ZCdz ZDd{ ZEd| ZFej
                  j                   eH       d}~      d        ZId ZJej
                  j                  dg d      ej
                  j                  dej8                  ej                  eLg      d               ZMd ZNd ZOd ZPej
                  j                  d?ddg      d        ZQej
                  j                  deRej6                  eSeTg      d        ZUd ZVej
                  j                  dd eSdMg      fd eSdFg      fg      d        ZWd ZXej
                  j                  dd)g df e.dKdP      g dfdJdRgg dfg      d        ZYd ZZd Z[d Z\ej
                  j                  dddgg      d        Z]d Z^ej
                  j                  dd@d@gd@ e.dA      fg      d        Z_d Z`d Zad Zbd Zcd Zdej
                  j                  dddg      d        Zed Zfd Zgd Zhd Zid Zjd ZkyA)TestLocBaseIndependentc                     t        t        dd            }|j                  t        j                  dg      d   d  }|j
                  dd  }t        j                  ||       y )N20212022r
   z2021/6/1r      )r   r   r(   r   arrayilocr)   r*   r@   r0   resultr1   s       r2   test_loc_npstrz%TestLocBaseIndependent.test_loc_npstr  sS    Z78*.q1347734=
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           	      :   t        t        d      ddgt        d      t        d      dgt        d      dt        d	      gg d
g dd      j                  g d      }t        j                  t
        |      5  |j                  |    ddd       y# 1 sw Y   yxY w)a(  
        parse_datetime_string_with_reso return parameter if type not matched.
        PeriodIndex.get_loc takes returned value from parse_datetime_string_with_reso
        as a tuple.
        If first argument is Period and a tuple has 3 items,
        process go on not raise exception
        r   x1x2r   r   r   r   r   r   r   rk   rZ   ru   )r'   r   CV1V2r'   r   r   matchN)r   r   	set_indexr   raisesrJ   r(   )r@   msgra   r0   s       r2   ;test_contains_raise_error_if_period_index_is_in_multi_indexzRTestLocBaseIndependent.test_contains_raise_error_if_period_index_is_in_multi_index  s    6 TlD$/TlF4L$7TlD&,7"
 )O
$ 	 ]]83/ 	FF3K	 	 	s   8BBc                     t        ddgi      }t        j                  t        d      5  |j                  d d df    d d d        y # 1 sw Y   y xY w)Nr$   rf   u   אr   )r   r   r   rJ   r(   r?   s     r2   $test_loc_getitem_missing_unicode_keyz;TestLocBaseIndependent.test_loc_getitem_missing_unicode_key/  sE    aSz"]]884 	 FF1h;	  	  	 s   AAc           	      D   t        t        j                  j                  d      j                  d      t	        d      D cg c]
  }d|dz      c}      }|j
                  d   }|j
                  d d df   j
                  d	   }t        j                  ||       y c c}w )
Nr>   )rZ   rp   rZ   ABCDErp   r
   )r'   r   r   r'   )r   r   randomdefault_rngranger(   r)   assert_series_equal)r@   xr0   r1   r   s        r2   test_loc_getitem_dupsz,TestLocBaseIndependent.test_loc_getitem_dups4  s     II!!!$++G4+095a71q5>5
 66&>1!!#&
vx0	 6s    B
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
                  ||       y )
Nrf   r>   r   r   20130101r$   r$   r$   r$   r$   r   r   r   r   )r   r   r   r   r)   r   r(   r@   r0   r1   r   s       r2   test_loc_getitem_dups2z-TestLocBaseIndependent.test_loc_getitem_dups2?  s     E5)J"789-#

 5%:!67+
 
vx0
vx0r4   c           	         t        t        d      t        d      t        j                  dd      dz  dz   t        j                  dd      dz  dz   d	      j	                  d
      }dddgf}|j                         }|j                  |xx   dz  cc<   t        j                  |j                  |   d|j                  |   z         d}|j                         }|j                  |xx   dz  cc<   |j                  |   d|j                  |   z  k(  sJ dddgf}|j                         }|j                  |xx   dz  cc<   t        j                  |j                  |   d|j                  |   z         y )Nrtttiaaaderp   float64r=   gq=
ףp?r>   g(\տ)mer   r   bar2r   rr   r          @)r   r   t)
r   listr   r   r   copyr(   r)   r   r*   )r@   df_origindexerr0   s       r2   test_loc_setitem_dupsz,TestLocBaseIndependent.test_loc_setitem_dupsS  sW   7mG}yy)4t;a?		!95=A	
 )D/ 	 FO
 \\^
w3
rvvggkk'6J0JK
 \\^
w3vvg#G(<"<<<< FO
 \\^
w3
bffWosW[[5I/IJr4   c                 .   t        g dt        g dd      d      }|d   dk(  }|j                  |df   dz   }||j                  |df<   t        g dt        g d	d      d      }t        j                  ||       t        g dg ddd
      }|d   dk(  }|j                  |df   }t        j
                  t        d      5  ||j                  |df<   d d d        t        g dg ddd
      }t        j                  ||       y # 1 sw Y   4xY w)N)r   rf   rf   )d   r   ,  uint32r   r$   r#   r$   rf   r#   )r      i-  uint64item of incompatible dtyper   )r   r   r(   r)   r*   assert_produces_warningFutureWarning)r@   df1ixnewb1r1   r   newb2s          r2   test_loc_setitem_slicez-TestLocBaseIndependent.test_loc_setitem_slicev  s    if_H.UVWX]C 1$ C&"IJ
 	c8, io>hOX]C ''!=
 	%  %CGGBG	% 9?C8T
c8,	% 	%s   DDc           	      l   t        dgdgdgdgd      }g d}|j                  d d |f   j                  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                  ||       y )
Nr'   333333?        g      )idr$   r#   rQ   r$   r#   rQ   float32r   r   )r   r(   astyper   r   r)   r*   )r@   r0   colsr1   s       r2   test_loc_setitem_dtypez-TestLocBaseIndependent.test_loc_setitem_dtype  s    se3%se4&IJ&&D/00;q$w eXXse95XXse95XXtfI6	
 	b(+r4   c                 8   t        t        d      g d      }t        j                  t        d      5  |ddg    d d d        t        t        d            }t        j                  t        d      5  |ddg    d d d        y # 1 sw Y   IxY w# 1 sw Y   y xY w)	Nrl   r  r
   not in indexr   r$   dr   )r   r   r   r   rJ   )r@   ss     r2   $test_getitem_label_list_with_missingz;TestLocBaseIndependent.test_getitem_label_list_with_missing  s    58?3 ]]8>: 	sCjM	 58]]8>: 	q!fI	 			 		 	s   B3BBBr   TFr~   c                     t        g d      }dt        |       dt        |       }t        j                  t        |      5  |j
                  |    d d d        y # 1 sw Y   y xY w)Nr   z Boolean index has wrong length: z instead of r   )r   lenr   r   r   r(   )r@   r   r  r   s       r2   test_loc_getitem_bool_diff_lenz5TestLocBaseIndependent.test_loc_getitem_bool_diff_len  sV     90ULQQ]]:S1 	EE%L	 	 	s   AA%c                      y ry   rz   r{   s    r2   test_loc_getitem_int_slicez1TestLocBaseIndependent.test_loc_getitem_int_slice  s    r4   c                 D   t        t        j                  j                  d      j                  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        y # 1 sw Y   y xY w)
Nr>   rl   rl   r  )erS   gr   r<   z$\"None of \[Index\(\[1, 2\], dtype=''\)\] are in the \[index\]\"r   rf   )
r   r   r   r   r=   intr   r   rJ   r(   r@   r0   r   s      r2   test_loc_to_failz'TestLocBaseIndependent.test_loc_to_fail  s    II!!!$++F3!#
 4BHHSM? C" " 	 ]]83/ 	#FFAq6Aq6>"	# 	# 	#s   7BBc                 *   t        t              }d|j                  d<   d|j                  d<   t        j                  t
        d      5  |j                  d    d d d        dt        j                  t               d	}t        j                  t
        |      5  |j                  dd
g    d d d        d}t        j                  t
        |      5  |j                  t        dgt                  d d d        d|j                  d<   t        j                  t
        d      5  |j                  dd
g    d d d        d|d<   dt        j                  t               d	}t        j                  t
        |      5  |j                  d
g    d d d        |d= t        j                  t
        |      5  d|j                  d
g<   d d d        y # 1 sw Y   sxY w# 1 sw Y   .xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   sxY w# 1 sw Y   y xY w)Nr   rf   r>   r$   z^-1$r   z&\"None of \[Index\(\[-1, -2\], dtype='r  zE\"None of \[Index\(\['4'\], dtype='object'\)\] are in the \[index\]\"4rl   r
  z"\"None of \[Index\(\[-2\], dtype='r   )
r   objectr(   r   r   rJ   r   r=   r  r   r@   r  r   s      r2   test_loc_to_fail2z(TestLocBaseIndependent.test_loc_to_fail2  s     ac
]]873 	EE"I	 6bhhsm_ E" " 	 ]]83/ 	EE2r(O	 W]]83/ 	.EE%V,-	. b	]]8>: 	EE2r(O	 #1"((3- A" " 	 ]]83/ 	EE2$K	 cF]]83/ 	AEE2$K	 	9	 		 		. 	.	 		 	
	 	sH   
GG G%#G1:G=1H	GG"%G.1G:=H	Hc                 p   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        t	        j
                  t        |	      5  |j                  d
g    d d d        y # 1 sw Y   >xY w# 1 sw Y   y xY w)Nr$   r#   rf   r>   valuer  z!\"None of \[Index\(\[3\], dtype='r  r   rl   )r   r   r=   r  r   r   rJ   r(   r  s      r2   test_loc_to_fail3z(TestLocBaseIndependent.test_loc_to_fail3  s     u~aVgYG 1# @" " 	 ]]83/ 	FFA36N	 ]]83/ 	FFA3K	 		 		 	s   B B, B),B5c                    t        g d      }|j                  dg    dt        j                  t               d}t        j                  t        t        j                  |            5  |j                  dg    d d d        t        j                  t        d      5  |j                  ddg    d d d        y # 1 sw Y   ?xY w# 1 sw Y   y xY w)Nr   r>   z"None of [Index([3], dtype='z')] are in the [index]r   rl   r
  )
r   r(   r   r=   r  r   r   rJ   reescaper!  s      r2   test_loc_getitem_list_with_failz6TestLocBaseIndependent.test_loc_getitem_list_with_fail  s     9	qc
-bhhsm_<RS]]8299S>: 	EE1#J	 ]]8>: 	EE1a&M	 			 		 	s   )B8C8CCc                    t        t        j                  j                  d      j                  d      g d      }|j                  j                  d       }|j                  t        j                  |         }|j                  |   }t        j                  ||       |j                  |j                     }t        j                  ||       |j                  t        j                  |d         }t        j                  ||       y )	Nr>   )rp   rk   size)alpha_0alpha_1alpha_2beta_0beta_1r
   c                 
    d| v S )Nalpharz   r   s    r2   <lambda>z7TestLocBaseIndependent.test_loc_index.<locals>.<lambda>  s
    gl r4   booleanr   )r   r   r   r   r   mapr(   r   r)   r*   r   r   )r@   r0   maskr1   r   s        r2   test_loc_indexz%TestLocBaseIndependent.test_loc_index  s     II!!!$+++9G

 xx||2366"((4.)
fh/$
fh/Y78
fh/r4   c                 ,   t        t        j                  j                  d      j                  d      g dg d      }|j                  d d ddf   j
                  ddd d f   }|j                  ddgk(  j                         sJ |j                  ddgk(  j                         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 y )Nr>   ro   ro   r'   r   r   Dr   r'   r   r   r   rf   r   r$   r#   r   )r   r   r   r   r(   r   r<   allr   r   r   r)   r   r=   r   r   s       r2   test_loc_generalz'TestLocBaseIndependent.test_loc_general"  s    II!!!$++F3(&
 3s7
#((1a03*,11333c
*//111 )J"7!8sCDII!L9Z0!4S#JQO
vx0||v%%%r4   c                 v    t        t        dd      t        t        d      t        j
                        d      S )N
2000-01-01	2000-01-5rp   r   r   val)r   r   r   r   r   int64r{   s    r2   frame_for_consistencyz,TestLocBaseIndependent.frame_for_consistency4  s0    "<=eAhbhh7
 	
r4   rD  r   r   )r   r   r   r   r   c                 |   t        t        dt        d      t        j                        t        t        d      t        j                        d      }|j                         }t        j                  t        d      5  ||j                  d d df<   d d d        t        j                  ||       y # 1 sw Y    xY w)	Nr   rp   r   r=   r   rC  incompatible dtyper   r   r   r   r   r   rE  r   r)   r   r   r(   r*   )r@   rF  rD  r1   r0   s        r2   test_loc_setitem_consistencyz3TestLocBaseIndependent.test_loc_setitem_consistency=  s     qaAeAhbhh7
 #'')''=QR 	$ #BFF1f9	$
b(+	$ 	$s   ?B22B;c                 ^   t        t        dt        d            t        t        d      t        j                        d      }|j                         }t        j                  t        d      5  d|j                  d d df<   d d d        t        j                  ||       y # 1 sw Y    xY w)	Nr   rp   r
   r   rC  rI  r   r   rJ  r@   rF  r1   r0   s       r2   (test_loc_setitem_consistency_dt64_to_strz?TestLocBaseIndependent.test_loc_setitem_consistency_dt64_to_strO  s     uE!H5eAhbhh7
 #'')''=QR 	& %BFF1f9	&
b(+	& 	&   0B##B,c                 ^   t        t        dt        d            t        t        d      t        j                        d      }|j                         }t        j                  t        d      5  d|j                  d d df<   d d d        t        j                  ||       y # 1 sw Y    xY w)	N      ?rp   r
   r   rC  rI  r   r   rJ  rM  s       r2   *test_loc_setitem_consistency_dt64_to_floatzATestLocBaseIndependent.test_loc_setitem_consistency_dt64_to_float^  s     s%(3eAhbhh7
 #'')''=QR 	$ #BFF1f9	$
b(+	$ 	$rO  c                 $   t        dt        t        d      g      i      }t        j                  t
        d      5  d|j                  d d df<   d d d        t        dt        dg      i      }t        j                  ||       y # 1 sw Y   7xY w)Nr   20180101rI  r   string)r   r   r   r)   r   r   r(   r*   r   s      r2   'test_loc_setitem_consistency_single_rowz>TestLocBaseIndependent.test_loc_setitem_consistency_single_rowl  s~     	*(='> ?@A''=QR 	) (BFF1f9	)ffhZ&89:
b(+	) 	)s   BBc                 ~   t        ddg      }t        ddg      }t        j                  d       5  d|j                  d d df<   d d d        t        j                  ||       t        ddg      }d|d<   |d   j                  t        j                        |d<   t        j                  ||       y # 1 sw Y   nxY w)Nr   yr   rf   )r   r)   r   r(   r*   r  r   rE  r@   r1   r0   s      r2   "test_loc_setitem_consistency_emptyz9TestLocBaseIndependent.test_loc_setitem_consistency_emptyu  s     c3Z0Sz*''- 	BFF1c6N	
b(+ Sz*3 ,,RXX6
b(+	 	s   B33B<c                 |   dgdz  g dg dg}t        j                  |g d      }g dg dg}t        j                  |d	d
g      }ddddt        j                  gg dddddt        j                  gg dg}t	        |||      }t        |j                  d d df         |j                  d d df<   t        |j                  d d df         |j                  d d df<   |j                  d      }|j                  d d df   |j                  d d df   z
  |j                  d d df<   t        j                  t        d      5  |j                  d d df   t        d      z  |j                  d d df<   d d d        t        g d|j                  d      }t        j                  |d   |       y # 1 sw Y   =xY w)NRegion_1ro   )Site_1r]  Site_2r^  )l   BP[ l   _Z l   q=.Z l   <.Z )RegionSiteRespondentIDnames)
Respondentrd  rd  OtherCatre  )	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:52rl  rl  z5/20/2015 8:27z5/20/2015 8:41)r'   z5/20/2015 8:33z5/20/2015 9:09rl  Nor  )rd  rg  )rd  rh  F)r   )rd  DurationrI  r   l    Xp7 )g      7@      (@g      ,@g      B@r   )r   from_arraysr   r   r   r   r(   infer_objectsr)   r   r   r   r   r   r   )r@   levelsmiclevelsr  r   r0   r1   s           r2   -test_loc_setitem_consistency_slice_column_lenzDTestLocBaseIndependent.test_loc_setitem_consistency_slice_column_len  s    L14<

 ##F2TU OL
 %%gi5KL #%6rvvFC"$4eRVVDB	
 vR61<FF11122
q--. 0;FF1//00
q++, 5) FF1//0ffQ3345 	q,,- ''=QR 	*46FF--5.)5*BFF1001	*
 $BHH;U
 	r"<=xH	* 	*s   1F22F;unit)YMr=  hmr  msusc                    t        dt        j                  d      t        j                  d      gi      }|j                  d d df   j                  j                  d| d      |j                  d d |f<   |j                  d d df   j                  j                  d| d      |d<   t        |j                  d d df   |      }t        j                  |j                  d d |f   |       y )N	timestampz2017-02-11 12:41:29z1991-11-07 04:22:37zdatetime64[]r1   r   )	r   r   
datetime64r(   r   r  r   r)   r   )r@   rv  r0   r1   s       r2   test_loc_assign_non_ns_datetimez6TestLocBaseIndependent.test_loc_assign_non_ns_datetime  s     MM"78MM"78
 &&K077>>TFRS?TUq$w;/66==D6QR>ST:"&&J/d;
rvvag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}||   j	                  t              ||<   t        j                  ||       y )Nr   )   CO!g   s~!g    4	8   A{?r{  T)rv  cachedate_dt
date_dt_cpr>   rl   )r  2017-01-24 13:26:12.711r  )r  2017-01-24 13:52:05.110r  )r  2018-10-22 13:44:05.888r  )r  2018-10-23 08:08:41.025r  )r   r  r  r   )r   	from_dictr   r(   applyr)   r*   )r@   r0   r1   r<   s       r2   test_loc_modify_datetimez/TestLocBaseIndependent.test_loc_modify_datetime  s      QR
 $BvJTF9"$&&I"6q,')vvq!fi.?'@1v|#$UUUU	 6
 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                  ||       y )
Nrl   rp   ro   r'   r   r<   r=   r   rE  r   ro   rl   rp   r>   rl   rf   rH  )r   floatr   r   r(   r   r)   r*   r@   r0   serr1   s       r2   #test_loc_setitem_frame_with_reindexz:TestLocBaseIndependent.test_loc_setitem_frame_with_reindex  s]    YUC!#)7!Cy#~ Yiu=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|j                  t              i      }d|d<   t        j                  ||       y )Nr  r'   r   r  rU  r   rE  r   r  r  rH  )	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{    Yc
%H3!#)7!Cy#~Yiw? c3::e#45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                  ||       y )Nr   r'   r   r  rU  rE  r   rl   r   r  )rg   r   rQ  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  sf    Yc
%H3')xx	'IuQ2#$ ?B)T
b(+r4   c                    t        d      D cg c]  }dt        |      z    }}t        j                  dd      }t        d      D cg c]  }dt        |      z    }}t        j                  dd      }t	        t        |      j                  |            }t        |      }t        j                  |d<   ||j                  |df<   t        j                  |d<   ||j                  |df<   t        ||t        j                  	      }t        ||      }	t        ||	d
t        ddgt                    j                  |      }
t        j                   ||
       y c c}w c c}w )Nrp   @rE  r   ro   r
   r'   r   rH  r   r   )r   r:   r   r   r   setunionr   r   r(   r   r   r   r   reindexr)   r*   )r@   ikeys1val1keys2val2r   r0   seraserbr1   s              r2   test_loc_setitem_empty_framez3TestLocBaseIndependent.test_loc_setitem_empty_frame  s+   ',Qx0!s1v00yy'*',Qx0!s1v00yy'*SZ%%e,-U#&&3!ucz&&3!ucz d%rzz:d%(T"E3*F,K

''
 	 	b(++ 1 1s   E	E$c                    t        t        j                  j                  d      j	                  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                  ||       y )Nr>   r;  abcdABCDr  r   r   rf   )r$   r'   r   r   r=  )
r   r   r   r   standard_normalr   r   r(   r)   r*   r   s       r2   test_loc_setitem_framez-TestLocBaseIndependent.test_loc_setitem_frame  s    II!!!$44V<v,L
 x!{{{{q#c'z66!SW*%AB
fh/r4   c                    t        g dt        j                  d      }|j                  |j                  |j
                  |j                  kD  df<   t        g dt        j                  d      }t        j                  ||       y )Nr   r   r   )r   r   r   r'   r(   r   r)   r*   r   s      r2   /test_loc_setitem_frame_nan_int_coercion_invalidzFTestLocBaseIndependent.test_loc_setitem_frame_nan_int_coercion_invalid2  s]     YRVV45#%44rttbdd{C 9266:;
b(+r4   c                 L   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                  ||       y )Nrf   r>   rl   ro   r$   r#   )rf   r>   r$   r   r   r   r=   r   rp   rm   )r   r(   r   r   r   r)   r   r*   r   s       r2   #test_loc_setitem_frame_mixed_labelsz:TestLocBaseIndependent.test_loc_setitem_frame_mixed_labels:  s     Aq6q!fC:>?Aq6	"F%Af5V!
 	vx0!QQF#sDEFq1a&y
b(+r4   z.ignore:Setting a value on a view:FutureWarningc           	         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                  ||       y )Nr   r   bazrl   r   r   rf   r>   r   )r   r  r  )rf   r>   r>   rA  rB  rp   rC  200001012000010220000103)r   rf   r   rf   r>   ro   )r   r   r   r   rE  r(   r   r)   r*   r   r   )r@   warn_copy_on_writer0   rhsr1   s        r2    test_loc_setitem_frame_multiplesz7TestLocBaseIndependent.test_loc_setitem_frame_multiplesI  sC    'fU1XRXX.NO
 ffQqkHHQqM	q'fYbhh.OP
 	b(+ "<=eAhbhh7
  j)j)j)j)j) oRXX>	
 ffQqkHHQqM	q
b(+r4   r   r'   Nr$  Zc                     t        ddgddggddg      j                  dt        i      }||j                  d|f<   |j                  d	   }t	        |      r|d
k(  sJ y )Nrf   r>   rl   ro   r'   r   r   r   )r   r'   r  )r   r  r   r(   r    )r@   r   r$  r0   r   s        r2   "test_loc_setitem_with_scalar_indexz9TestLocBaseIndependent.test_loc_setitem_with_scalar_indexo  se     AA'#s<CCS&MR"q'z Vs]22]r4   zindex,box,expectedr>   r<  rn   )rn   rn   rn   rn   rl   ro   r   rf   r   r=  r   )rl   ro   rn   r   rp   rm   r   rn   r   	   )r   r   r=  rk         )rl   rn   r   r  )rp   rk   r  r  )r   r'   r=  )r   ro   rn   r  )r  rm   rk   r  r  rk   r  r  )rn   r>   r   )r  ro   rk   )r  rm   r  c                 ~    t        ddgddgddggddg	      }||j                  |<   t        j                  ||       y )
Nrf   r>   rl   ro   rp   rm   r'   r   r   r   r(   r)   r*   )r@   r   boxr1   r0   s        r2    test_loc_setitem_missing_columnsz7TestLocBaseIndependent.test_loc_setitem_missing_columns  sE    j AAA/#sDu
b(+r4   c                 F   t        dt        d      j                  d      t        j                  gi      }|j
                  }|j                  dg   }t        j                  |j
                  |       |j                  dg   }t        j                  |j
                  |       y )Nr   r   UTCr   rf   )	r   r   tz_localizer   r   dtypesr   r)   r   r   s       r2   test_loc_coercionz(TestLocBaseIndependent.test_loc_coercion  sy    :!6!B!B5!I266 RST99!
v}}h7!
v}}h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                  |       y )Nr     rf   i  r>   r   )r   r   r  r   r)   r   r   s       r2   test_loc_coercion2z)TestLocBaseIndependent.test_loc_coercion2  sw    $1!5xa7K LMN99!
v}}h7!
v}}h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                  |       y )Ntextz
some wordsr  r   r>   rl   )r   r  r   r)   r   r   s       r2   test_loc_coercion3z)TestLocBaseIndependent.test_loc_coercion3  sm    $! ;<=991
v}}h7
v}}h7r4   c                 ,   t        d      j                  d      t        d      j                  d      g}t        |t        ddgt                    }t        t              }|d    ||      d<   |d	    ||      d<   t        j                  ||       y )
N*   r  i  r   r   r   r
   r   rf   )r   r  r   r   r   r)   r   )r@   
indexer_slvalsr1   r  s        r2   test_setitem_new_key_tzz.TestLocBaseIndependent.test_setitem_new_key_tz  s     O''.((/
 $eUEN&&IJ6"!%a
3!%a
3
sH-r4   c                 <   t        g dg ddg d      }d}t        j                  t        |      5  |j                  dd   d d d        d	}t        j                  t        |      5  |j                  d
d   d d d        d}t        j                  t        |      5  |j                  dd  d d d        t        g dg ddg d      j                  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                  ||       y # 1 sw Y   6xY w# 1 sw Y   xY w# 1 sw Y   xY w)Nrf   r>   rl   ro   rp   rm   )rl   ro   rp   rm   rn   r   r   )r   rf   r   rf   r>   rl   r
   z5'Cannot get left slice bound for non-unique label: 1'r   rf   z5'Cannot get left slice bound for non-unique label: 0'r   r>   axis)r>   ro   rp   rm   )ro   rm   rn   r   )rf   rf   r>   rl   )r>   ro   rp   )ro   rm   rn   )rf   rf   r>   )r   r   r   rJ   r(   
sort_indexr)   r*   )r@   r0   r   r   r1   s        r2   test_loc_non_uniquez*TestLocBaseIndependent.test_loc_non_unique  sd    $+=>FX
 F]]83/ 	FF12J	E]]83/ 	FF12J	E]]83/ 	FF1QK	 $+=>FX

*!*
 	 <lC<X
fh/
fb)!99=YO
fh/-	 		 		 	s#   E8)FF8FFFz
length, l2  r   i 順 c                    t        d      }t        j                  t        t        j
                  j                  d      j                  |t        |      f      t	        j                  |      |      t        t	        j                  |t        |      f      dg|z  |      g      }|j                  j                  du sJ t	        j                  |      }|j                  |   }t        j                  |j                  dg      t        t	        j                  t        |      t        |      f      dgt        |      z  |      |j                  |dd        g      }t        j                   ||       y )NABCDEFGr>   r  r   Frf   )r   r   concatr   r   r   r   r  r  r   onesr   	is_uniquer(   taker)   r*   )r@   lengthl2r<   r0   r8  r   r1   s           r2    test_loc_non_unique_memory_errorz7TestLocBaseIndependent.test_loc_non_unique_memory_error
  s.    y/YYII))!,<<fc'l=ST))F+#
 "''2s7|"45aS2XwW	
 xx!!U***yy}99GGSYG56#D	/#
 QR!

 	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 y )Nrf   
index_namer   )r   r   r   r   r(   r@   r0   r   s      r2   test_loc_namez$TestLocBaseIndependent.test_loc_name.  sz    AA'($!Q&&++%%%A%%**%%%r4   c                 T   t        t        j                  d      t        t	        d      D cg c]  }d| 	 c}d      t        t	        d      D cg c]  }d| 	 c}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	
       y c c}w c c}w )N)rp   r>   rp   zi-r$   r   r>   r  r   T)check_index_typecheck_column_type)	r   r   r  r   r   r)   r*   r(   r   )r@   r  r0   s      r2   !test_loc_empty_list_indexer_is_okz8TestLocBaseIndependent.test_loc_empty_list_indexer_is_ok8  s    GGFO584a2aS43?U1X6Rs86SA
 	FF1b5M2771bqb5>DTX	
 	FF2q5M2772A2q5>DTX	
 	FF2JAQU	
 56s   D D%c                    t        dg di      }|j                  d d  }||usJ |d d  |usJ |j                  d d d d f   |usJ t        j                  |d   j                  |d   j                        sJ t        j                  |      5  g d|j                  d d df<   d d d        |r|d   g dk(  j                         sJ |d   dk(  j                         sJ t        t        j                  j                  d      j                  d            }|s|r|d   |j                  d d df   usJ |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        |rt        |d d
 g dk(        sJ y t        |d d
 g d	k(        sJ y # 1 sw Y   +xY w# 1 sw Y   DxY w)Nr$   r   )ro   ro   ro   ro   r>   rk   ro   r   r  r  rl   )r   r(   r   shares_memory_valuesr)   assert_cow_warningr>  r   r   r  r   )r@   using_copy_on_writer  original_df	sliced_dfr0   original_seriessliced_seriess           r2   &test_identity_slice_returns_new_objectz=TestLocBaseIndependent.test_identity_slice_returns_new_objectK  s   
  i 01OOA&	+++1~[000q!t$K777 C 0 8 8)C.:P:PQQQ ""#56 	0&/KOOAsF#	0cNi/44666cNa',,... ryy,,Q/??HI"4a5q!t,,,a5BFF1a4L((( !!34'++A.O333q!888""#56 	,"+OBQ	,}Ra(I5666}Ra(I56663	0 	0(	, 	,s   GGGG#c                    |s1t         j                  j                  d      }|j                  |       t	        t        t        d      t        d            ddg      }|j                         }|j                  d d df   }|dz  }t        j                  ||       |j                         }|j                  |j                  df   }|dz  }t        j                  ||       y )Nz!accidental fix reverted - GH37497reasonrl   r$   r#   r   r>   )r   r   xfailapplymarkerr   zipr   r   r(   r)   r*   r   )r@   rL   r  r   r   rX  qzs           r2   test_loc_copy_vs_viewz,TestLocBaseIndependent.test_loc_copy_vs_viewv  s     #;;$$,O$PD%c%(E!H-SzBFFHEE!S&M	Q
a#FFHEE!''3,	Q
a#r4   c                    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                  ||       y )Nr   rf   r>   r
   r   )r   iinfomaxr   r(   r   r)   r   )r@   umaxr  r   r1   s        r2   test_loc_uint64z&TestLocBaseIndependent.test_loc_uint64  s     xx!%%aVD1Hd#34"88A;!!!$($88QC=
vx0$(D)*
vs+r4   c                 h   t        j                  d      j                  }t        ddg|dz
  |g      }t	        j
                  t        d      5  |j                  d    d d d        t	        j
                  t        d      5  |j                  dg    d d d        y # 1 sw Y   >xY w# 1 sw Y   y xY w)Nr   rf   r>   r
   z-1r   r  )r   r	  r
  r   r   r   rJ   r(   )r@   r  r  s      r2   !test_loc_uint64_disallow_negativez8TestLocBaseIndependent.test_loc_uint64_disallow_negative  s    xx!%%aVD1Hd#34]]840 	GGBK	 ]]840 	GGRDM	 			 		 	s   BB(B%(B1c           	          g d}t        |t        j                  t        j                  gt	        |      z  t
              d      }t        ddg      }||j                  d d df<   t        j                  ||       y Nr   r   r   rX  r   rX  r   )	r   r   r   r   r  r   r(   r)   r*   r@   r   r1   r0   s       r2   *test_loc_setitem_empty_append_expands_rowszATestLocBaseIndependent.test_loc_setitem_empty_append_expands_rows  sf     RXXrvvhT&:&IJ

 Sz*q#v
b(+r4   c           	      H   g d}t        |t        j                  t        j                  gt	        |      z  t
              d      }t        ddg      }|d   j                  t        j                        |d<   ||j                  d d df<   t        j                  ||       y r  )r   r   r   r   r  r   r  rE  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     RXXrvvhT&:&IJ
 Sz*S'..*3q#v
b(+r4   c                     t        dgt        j                  gd      }t        ddgt              }|j                  d   |j                  d<   t        j                  ||       y )NrQ  r  r   rX  r;   )r   r   )r   r   r   r  r(   r)   r*   rY  s      r2   *test_loc_setitem_empty_append_single_valuezATestLocBaseIndependent.test_loc_setitem_empty_append_single_value  sO    C5x89Sz7!f-v
b(+r4   c                    ddg}t        ddg      }|j                  j                  t        j                        |_        dt        j
                  t               d}t        j                  t        |      5  ||j                  d	dgdf<   d d d        d
}t        j                  t        |      5  ||j                  d	ddf<   d d d        y # 1 sw Y   CxY w# 1 sw Y   y xY w)Nrf   r>   r   rX  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   rE  r=   r  r   r   rJ   r(   
ValueError)r@   r   r0   r   s       r2   $test_loc_setitem_empty_append_raisesz;TestLocBaseIndependent.test_loc_setitem_empty_append_raises  s     1vSz*88??288,1"((3- A$ $ 	 ]]83/ 	'"&BFFAq63;	' :]]:S1 	$#BFF1Q38	$ 	$		' 	'	$ 	$s   9C2CCC$c                     t        ddgddgg      }|j                  t        j                  d         }t	        ddgd      }t        j                  ||       y )Nrf   r>   rl   ro   r   r   )r   r(   r   r   r   r)   r   )r@   r0   r   r  s       r2   test_indexing_zerodim_np_arrayz5TestLocBaseIndependent.test_indexing_zerodim_np_array  sO    AA'($Aq6"
vq)r4   c                 p    t        ddg      }|j                  t        j                  d         }|dk(  sJ y )Nrf   r>   r   )r   r(   r   r   )r@   r  r   s      r2   %test_series_indexing_zerodim_np_arrayz<TestLocBaseIndependent.test_series_indexing_zerodim_np_array  s1    Aq6Nrxx{#{{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                  ||       y )
Nr  ro   i  i  r
   rH  )rm   rp   ro   rl   r>   rf   r   r  )r   r   r   r   r(   r)   r   )r@   r   r1   r   s       r2   test_loc_reverse_assignmentz2TestLocBaseIndependent.test_loc_reverse_assignment  s`    !TFQJ.$eD$&78eD$/rzzB#5

4R< 
vx0r4   zcan't set int into stringr   c                    t        d      D cg c];  }t        t        j                  j	                  d      j                         dz        = }}t        |dg      }t        |dgt              }t        j                  ||       |D cg c]  }t        |       c}|j                  |j                  df<   t        |dgt              j                  t              }t        j                  ||       |D cg c]  }t        |       c}|d<   t        |dgt              }t        j                  ||       y c c}w c c}w c c}w )Nrp   r>   g-q=r'   r   r;   )r   r:   r   r   r   r   r   r)   r*   r  r(   r   r  )r@   r]   col_datar   r1   r   s         r2   3test_loc_setitem_str_to_small_float_conversion_typezJTestLocBaseIndependent.test_loc_setitem_str_to_small_float_conversion_type  s    MRRSHUqC		--a0779EABUU8cU3XuFC
fh/ <D(Daq(D

6<<$%XuEBII&Q
fh/ *22AuQx2sXuEB
fh/ V )E 3s   A D;E 9Ec                    t        ddd      }|j                  dk(  |j                  dk(  z  }t        t        j
                  j                  d      j                  t        |      df      |	      }t        j                  ||      }|j                  t        dd         }|j                  |   }t        j                  ||       |j                  d
d  }|j                  t        dd         }|dd  }|j                  j                  d       |_        |j                  j                  d       |_        t        j                  ||       y )N1/1/2000z1/5/20005minfreqr  ru   r>   rl   r
   z1/4/2000r  )r   hourminuter   r   r   r   r  r  r)   get_objr(   r   r   r   
_with_freq)	r@   frame_or_seriesrngr8  rM   r   r   chunkr1   s	            r2   test_loc_getitem_time_objectz3TestLocBaseIndependent.test_loc_getitem_time_object  s   Zf=A#**"23II!!!$44c#h]C3
 jjo.a%ggdm
$
$42;'"#; ||..t4!2248
)r4   
spmatrix_t)
coo_matrix
csc_matrix
csr_matrixr=   c                    t        j                  d      }t        ||      }d\  }} |t        j                  |||      |      }t
        j                  j                  |      }t        d|      }|j                  |   j                  }	|j                         |   }
t        j                  |	|
       |j                  |   j                  j                  }	t        j                  |t!        |d            }
t        j                  |	|
       y )Nscipy.sparse)rp   rn   r   r>   r   )
fill_value)r   importorskipgetattrr   eyer   sparsefrom_spmatrixr   r(   r   toarrayr)   assert_numpy_array_equalr  fullr   )r@   r2  r=   	sp_sparserowsr  spmatrixr0   itr_idxr   r1   s              r2   $test_loc_getitem_range_from_spmatrixz;TestLocBaseIndependent.test_loc_getitem_range_from_spmatrix  s     ''7	Y
3

 
dbffT4u=UK++H5 4.''##%g.
##FH5 ''..774Uq!AB
##FH5r4   c           	          t        dt        j                  ddgt        d            i      }|j                  ddg   }t        j                  ||       y )Nr'   r   rE  r   rf   )r   r   r   r   r(   r)   r*   r  s      r2   ,test_loc_getitem_listlike_all_retains_sparsezCTestLocBaseIndependent.test_loc_getitem_listlike_all_retains_sparse5  sF    RXXq!fK4HIJKA
fb)r4   c                    t        j                  d      }t        j                  j	                  |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                  ||       y )
Nr7  rp   r>   rQ  r  r  r  r  )r  rQ  r  r  r  r   r  r   rf   )r   r9  r   r<  r=  r;  r(   r   r   r)   r*   )r@   rA  r0   r   r1   s        r2   test_loc_getitem_sparse_framez4TestLocBaseIndependent.test_loc_getitem_sparse_frame:  s    ''7	++IMM!,<=a!&(ABi-
 	fh/a!%%eAh/&'{9c/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
                  ||       y )NrI  r   r  r   r>   rQ  rl   )r   r   r(   r   r)   r   )r@   r  r   r1   s       r2   test_loc_getitem_sparse_seriesz5TestLocBaseIndependent.test_loc_getitem_sparse_seriesL  s    ,K	34OPuQx3*K	3,GH
vx0uQx$$U1X.3*K	3,GH
vx0r4   r(   r   c                     t        g dg dgt        t                    }t        ||      d   }t	        g dt        t              d      }t        j                  ||       y )N)rQ  r        ?)r  r   r  r   r   )r=   r   )r   r   r  r:  r   r)   r   )r@   r   r0   r   r1   s        r2   !test_getitem_single_row_sparse_dfz8TestLocBaseIndependent.test_getitem_single_row_sparse_dfX  sN     9UASTW%a(/U1C!L
vx0r4   key_typec                      |g d      }|j                   d d |f   }|j                   d d g df   }t        j                  ||       y )Nr   )r(   r)   r*   )r@   float_framerP  idxr   r1   s         r2   test_loc_getitem_iterablez0TestLocBaseIndependent.test_loc_getitem_iterable`  sA    'C(??1o#56
fh/r4   c                 ,   t        t        j                  j                  d      j	                  d            }t        ddd      |_        |j                  t        d      d d d f   }|j                  dd d d f   }t        j                  ||       y )Nr>   r  r+  0srk   r  startperiodsr)  )r   r   r   r   normalr   r   r(   r   r)   r*   r   s       r2   #test_loc_getitem_timedelta_0secondsz:TestLocBaseIndependent.test_loc_getitem_timedelta_0secondsg  sw    ryy,,Q/66G6DE"rD66)D/+Q./q!
fh/r4   val,expected                c                 ~    t        ddgddg      }|j                  |   }||_        t        j                  ||       y )Nrf   r>   r]  r^  r
   )r   r(   r   r)   r   )r@   rD  r1   r0   r   s        r2   test_loc_getitem_uint64_scalarz5TestLocBaseIndependent.test_loc_getitem_uint64_scalaro  s=    
 1vi%78
vx0r4   c                     |}t        g dt        g d|            }|j                         }d|j                  d<   d|j                  d<   t        j                  ||       y )Nr  )r         ?rf   r   r
   zoorf   r>   )r   r   r   r(   r   r)   r   )r@   float_numpy_dtyper=   r  r1   s        r2   +test_loc_setitem_int_label_with_float_indexzBTestLocBaseIndependent.test_loc_setitem_int_label_with_float_indexz  sP    !_E+U,KL88:
 a
sH-r4   zindexer, expected)
rZ   rf   r>   rl   ro   rp   rm   rn   r   r  )
r   rf   r>   rl   rZ   rZ   rZ   rZ   r   r  )
r   rf   r>   rZ   ro   rZ   rm   rn   r   r  c                     t        t        d      d      }t        dt        d      id|      }d|j                  |j                  |   df<   t        ||dgd      }t        j                  ||       y )	Nrk   r  rv  r   rE  r=   r   rZ   r  )r   r   r   r(   r   r)   r*   )r@   r   r1   tdir0   s        r2   /test_loc_setitem_listlike_with_timedelta64indexzFTestLocBaseIndependent.test_loc_setitem_listlike_with_timedelta64index  sq     593/U2Y'wcB)+rxx #%&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        t        j                  ||       y # 1 sw Y    xY w)Nrf   rf   rf   rf   rf   aaaaar   )rf   r#   r#   rf   rf   aabbar   r   r#   r$   
categoriesrf   r>   rl   )r   r   r)   r   r   r   r(   r*   )r@   r0   r   s      r2   8test_loc_setitem_categorical_values_partial_column_slicezOTestLocBaseIndependent.test_loc_setitem_categorical_values_partial_column_slice  s     _4=AB1WFG''!=
 	N  +C:3*MBFF1Q38*C:3*MBFF1Q38		N
 	b#&	N 	Ns   AB22B;c                 T   t        dgdgd      }t        |d   g d      }||j                  d d df<   |d   }t        ||j                  d      j                  |st        nd      }t        j                  ||       ||d<   t        j                  |d   t        |d	             y )
Nr$   r   )AlphaNumericrs  r  ro  r   string[pyarrow_numpy]r   )	r   r   r(   r   r   r  r   r)   r   )r@   using_infer_stringr0   rp  r   r1   s         r2   'test_loc_setitem_single_row_categoricalz>TestLocBaseIndependent.test_loc_setitem_single_row_categorical  s    #A378 GI
 (q'zG*BHH7CJJ,F2I
 	vx0 !7
r'{F:G,L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        t        d      j                         |j                  d   k(  sJ y # 1 sw Y   5xY w)NrQ   z
2010-10-01rl   z
2008-08-08r   rf   )r   rQ   )rf   rQ   rI  r   i  rp   )r>   rQ   z
2005-05-05)	r   r   r   r  r(   r)   r   r   r   r?   s     r2   "test_loc_setitem_datetime_coercionz9TestLocBaseIndependent.test_loc_setitem_datetime_coercion  s    i56:;<==6qsCx&"&&.888&"&&.888''=QR 	.!$1-BFF6N	.&++-???	. 	.s   C%%C.idxervarc                 >   |}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        t	        j                  ||       y # 1 sw Y    xY w)Nz
2015-07-12rl   ry  )rX  rY  r)  tzr  r{  r  r  rI  r   )	r   r   r   r   r)   r   r   r(   r*   )r@   rz  tz_naive_fixturer}  rS  r1   r   s          r2   !test_loc_setitem_datetimeindex_tzz8TestLocBaseIndependent.test_loc_setitem_datetimeindex_tz  s     |QSRHSeW= ugRZZH''"e^M=Q
 	, $,FJJq%x 		,
 	fh/	, 	,s    BBc                 v   t        ddd      }t        t        j                  j	                  d      j                  t        |      df      |      }t        dd	d	      }t        t        d
d	d	      t        dd	d	            }g d}g d}|j                         }d	|j                  |<   |j                  |   }|j                  |   j                         }	d	|	j                  d d  |r|	j                  t              }	t        j                  ||	       |j                         }d	|j                  |<   |j                  |   |j                  |<   t        j                  ||       |j                         }d	|j                  |<   |j                  |   }|j                  |   j                         }	d	|	j                  d d  |r|	j                  t              }	t        j                  ||	       |j                         }d	|j                  |<   |j                  |   |j                  |<   t        j                  ||       y )Nz
2012-01-01z
2012-01-0530minr(  r>   rp   r
   r  r         )   H   x      )         J   K   L   z   {   |            )r   r   r   r   r   r  r  r   r   r   r(   r  r  r)   r*   r   )
r@   using_array_managerr   r0   akeybkeyaindsbindsr   r1   s
             r2   test_loc_setitem_time_keyz0TestLocBaseIndependent.test_loc_setitem_time_key  s   <GDII!!!$44c%j!_EU
 B1~T"a^T"a^4"F

4D!66$<$$&Qu-H
fh/

4775>

4
fb)

4D!66$<$$&Qu-H
fh/

4775>

4
fb)r4   ra   c                    t        j                  g d      }t        g dg dg|      }|j                         }t	        j
                  dd      |j                  d d |f<   t        g dg d	g|      }t        j                  ||       |j                  d
      }t	        j
                  dd      |j                  d d |f<   |j                  d
      }t        j                  ||       y )N))r'   ro   )r   3)r'   r9   r   ro   rp   rm   r   r>   r>   rE  r   )r   r>   r   )r   rp   r   rf   r  )
r   from_tuplesr   r   r   zerosr(   r)   r*   r  )r@   ra   rs  r0   rM   r1   s         r2   ,test_loc_setitem_unsorted_multiindex_columnszCTestLocBaseIndependent.test_loc_setitem_unsorted_multiindex_columns   s     ##$FG	9-r:ggi((693i3R@
c8,]]]"&8q#v&&A&.
b(+r4   c                     t        g d|      }d|j                  d<   t        g d|      }t        j                  ||       y )Nr   r   ro   r   )ro   r>   rl   r   r(   r)   r   )r@   any_int_numpy_dtyper-   r1   s       r2   test_loc_setitem_uint_dropz1TestLocBaseIndependent.test_loc_setitem_uint_drop  s;     	)<=

1)+>?
vx0r4   c                 b   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                  ||       y )Nrk   rz  rZ   r   )r   r   timedelta64r(   r   r)   r   )r@   r  r1   s      r2   test_loc_setitem_td64_non_nanoz5TestLocBaseIndependent.test_loc_setitem_td64_non_nano  s    R2>>"c2334^^B4	"r3 7889"+BNN2s,C"DY
sH-r4   c                    t         j                  j                  d      j                  d      }t	        t        d      d      }d}t        j                  t        |      5  ||j                  t        d      <   d d d        t        j                  t        |      5  ||j                  d d  d d d        y # 1 sw Y   =xY w# 1 sw Y   y xY w)Nr>   r  r   r   r  r   )
r   r   r   r  r   r   r   r   r  r(   )r@   r   r  r   s       r2    test_loc_setitem_2d_to_1d_raisesz7TestLocBaseIndependent.test_loc_setitem_2d_to_1d_raises  s    yy$$Q'77?U1XY/9]]:S1 	% $CGGE!H	% ]]:S1 	CGGAJ	 		% 	%	 	s   "B7C7C Cc                     t        j                  dd      }t        g dg dg dg|g d      }d	}|j                  d
   }t	        j
                  ||       y )Nr   rl   )rX  rY  r   r  r  r   r  rf   )rb  r'   )r   interval_ranger   r(   r)   assert_almost_equal)r@   r   r0   r1   r   s        r2   test_loc_getitem_interval_indexz6TestLocBaseIndependent.test_loc_getitem_interval_index+  sQ    !!15	9-UO
 !
vx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                  ||       y )Nr   rl   both)rX  rY  closedr   r  r  r   r  r>   rf   )rX  rY  r)  r  ro   r'   r   rf   r'   )r   r  r   r   r(   r)   r   )r@   r   r0   	index_expr1   r   s         r2    test_loc_getitem_interval_index2z7TestLocBaseIndependent.test_loc_getitem_interval_index26  su    !!1VD	9-UO
 %%AqqP	1a&	<
vx0r4   tplrf   rf   r>   c                     t        ddgdd      }t        |      }|j                  |g   }t        |gdd      }t        |      }t        j                  ||       y )Nr  r  r'   Fr   tupleize_colsr
   )r   r   r(   r)   r*   )r@   r  rS  r0   r   r1   s         r2   +test_loc_getitem_index_single_double_tupleszBTestLocBaseIndependent.test_loc_getitem_index_single_double_tuplesB  s`     6N

 S!SE59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 y )N	IndexTyper$   r#   r   r   r  bofcomposite_indexFr  r  )rl   ro   r'   r   r  rf   )r   r   r   r(   )r@   r  idx1idx2r   r0   r   s          r2   !test_loc_getitem_index_namedtuplez8TestLocBaseIndependent.test_loc_getitem_index_namedtupleQ  sz    {S#J7	&&tTl):%P'usCjI	%/05{{r4   c                    t        t        j                  j                  d      j	                  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                  |       y )
Nr>   rp   rl   )r$   r#   rQ   r  r  r  r  quxr:   ru  r   )r   r   r   r   r  r   r(   r   r   r   r   r)   r  )r@   rv  r0   r1   s       r2   $test_loc_setitem_single_column_mixedz;TestLocBaseIndependent.test_loc_setitem_single_column_mixed[  s    II!!!$44V<+)

 5	')vvrxx!}e#$VVUBFFE2662 2&8O
 & 	 	r%y//:r4   c                    t        t        j                  j                  d      j                  d      t	        d            }t        j
                  |d<   t        j                  t        d      5  d|j                  d	<   d d d        |j                  }t        t        j                  d
      gdz  t        j                  d      gz   g d      }t        j                  ||       y # 1 sw Y   ixY w)Nr>   )ru   rl   ABCr   eventr   r   r   )rk   r  r   rl   r   )r'   r   r   r  r
   )r   r   r   r   tupler   r)   r   r   r(   r  r   r=   r   r   s       r2   test_loc_setitem_cast2z-TestLocBaseIndependent.test_loc_setitem_cast2i  s     ryy,,Q/66w?uVff7''!=
 	( #(BFF;	( XXi !A%();(<<*
 	vx0	( 	(s   1C))C2c                    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 y )Nonerm   r   )rf   r  rn   )r   r   r   int8r(   r  r  r=   r?   s     r2   test_loc_setitem_cast3z-TestLocBaseIndependent.test_loc_setitem_cast3y  s    ryy"'':;<xyy}} 1111yy}} 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
                  ||       y )Nrp   )rl   ro   rf   r   r>   r
   )r  rk   r  r>   r  rk   r  rl   )r   rf   rk   r  r  )r   ndimr(   r   r)   r   )r@   r.  rM   r   r1   s        r2   test_loc_setitem_range_keyz1TestLocBaseIndependent.test_loc_setitem_range_key  se    eAho>88q=cB4"&F"a"#4CII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                  ||       y )	Nrl  r   r   r>   rf   ro  r$   )rf   r>   r>   rf   rf   r   r   r(   r)   r*   r   s      r2   .test_loc_setitem_numpy_frame_categorical_valuezETestLocBaseIndependent.test_loc_setitem_numpy_frame_categorical_value  sW    _3LMN&1v1a&AqsCx?9RS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)  r9  r?  fixturerF  r   r   rE  rK  rN  rR  rV  rZ  ru  r  r  r  r  r  r  r  r  r  filterwarningsr  r   r  r   r   r  r  r  r  r  r  arm_slowr  r  r  r  r  r  r  r  r  r  r  r  r  r!  r  r	   r$  r1  r   complexrE  rG  rJ  rL  rO  iterr   r   rT  r[  r`  re  rj  rq  rw  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rz   r4   r2   r   r      s   0 [[7&,u9UV6tU8ST6ud8STNvd|U3 7ud8STNufTl3 7tU8ST	
$%$* 
	11(!KF-0,&	 [[We}6P&QR S#%N 0*&$ ^^
 
 [[	
HBHHQbhh'/)RS,	,,,,, 0Id [[V%OP: Q:",4	,
,,,20*,, [[ PQ#, R#,J [[SE5sD18288SE?C [[Wuhbhhuo&>?
3 @
3 [[ Q-.!Aq"&&"&&#9<H0 S#JABFFBFF+\Aq"&&"&&;QR0 O$"((3BFF^YArvv? q!T"O4L)BFFBFF+\?K0 q!T"O4)\2"((CBFFBFF+\?K0 tT4(3*5Aq6Ar7RH5SzJ
K8/Q/	
2f,g2f,	8	8	8. 0D [[[[\S#J8H+IJ 0 K  0D&
&)7V$(,",,,$"*1 [[13<WX0 Y0(*, [[\+UV[[WrxxW&EF6 G W6.*
0$
1 [[Y81 91 [[Z$&%)HI0 J00 [[)VQC[1E61#;3GH11	. [[ /01a[<=V56	
	,	, 
'N&@ [[Wuug&670 80&*P [[US3%#uT{1C$DE, F,1.
	1
1 [[UT6N30 40;1 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                  j                  d      d        Zd Zy)	TestLocWithEllipsis)paramsc                     |j                   S ry   )param)r@   rL   s     r2   r   zTestLocWithEllipsis.indexer  s     }}r4   c                 :    |}|t         ur|j                         }|S ry   )r   to_frame)r@   series_with_simple_indexr.  rM   s       r2   rM   zTestLocWithEllipsis.obj  s    &&(,,.C
r4   c                 F     ||      d   }t        j                  ||       y )N.)r)   r   )r@   rM   r   r   s       r2   test_loc_iloc_getitem_ellipsisz2TestLocWithEllipsis.test_loc_iloc_getitem_ellipsis  s    c"
$r4   3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                    |}|t         j                  u st        |      dk(  rdn|j                  d   }|t         j                  u r|j                  j
                  dk(  ry |t         j                  u rOt        |j                  t              r5d}t        j                  t        |      5   ||      d|gf   }d d d        n>t        |      dk7  r0 ||      d|gf   } ||      |g   }t        j                  ||       |t         j                  u rdn|j                  }|j                         }	 ||	      d|gf   } ||	      d d |gf   }t        j                  ||       y # 1 sw Y   nxY w)Nr   r6  z2MultiIndex does not support indexing with Ellipsisr   .)r)   r   r  r   r(   inferred_typer   r   r   r   NotImplementedErrorr   r   r  r*   )
r@   r  r   rM   ra   r   r   r1   key2r0   s
             r2   &test_loc_iloc_getitem_leading_ellipsesz:TestLocWithEllipsis.test_loc_iloc_getitem_leading_ellipses  sB   &rww&#c(a-aciilbff!8!8I!E bffCIIz!BFC2#> 2 cC5j12 2 X]S\#u*-Fs|SE*H""684rww&qCHH\\^S4&[)2;q4&y)
fh/2 2s   )E$$E-c                 j   |t         j                  u st        |      dk(  rdn|j                  d   }t	        j
                  t        t              5   ||      d    d d d        t	        j
                  t        t              5   ||      d|gdf    d d d        t	        j
                  t        t              5   ||      dd|f    d d d        t	        j
                  t        d      5   ||      |ddf    d d d        y # 1 sw Y   xY w# 1 sw Y   ~xY w# 1 sw Y   TxY w# 1 sw Y   y xY w)Nr   r   )...Too many indexers)r)   r   r  r   r   r   r   r!   )r@   rM   r   ra   s       r2   0test_loc_iloc_getitem_ellipses_only_one_ellipsiszDTestLocWithEllipsis.test_loc_iloc_getitem_ellipses_only_one_ellipsis  s   rww&#c(a-aciil]]=0EF 	#CL"	# ]]=0EF 	*CLseS)	* ]]=0EF 	(CLc3'	(
 ]]=0CD 	(CLc3'	( 	(	# 	#	* 	*	( 	(
	( 	(s0   DD;D-D)DDD&)D2N)r   r   r   r   r  r)   r(   r   r   rM   r  r   r  r  r  rz   r4   r2   r  r    ss    V^^BFFBGG,- . ^^ % [[ VW0 X00(r4   r  c                   r   e Zd Zej                  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                  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                  j                  dej$                  ej(                  dej*                  f      d        Zd Zej                  j                  dd d!g      d"        Zd# Zd$ Zy)%TestLocWithMultiIndexzkeys, expectedr#   r$   )r#   r#   r$   r$   )rf   r>   rf   r>   )r$   r$   r#   r#   rf   r>   )r>   rf   r>   rf   rQ   )rQ   r$   r$   )rf   r>   rf   dimr   r<   c                    |g dg dgi}t        t        j                  d      j                  dd      fi |}t	        j
                  |      }|dk(  r4|j                  |d d f   }t        j                  |j                  |       y |dk(  r4|j                  d d |f   }t        j                  |j                  |       y y )N)rQ   r$   r$   r#   r#   )rf   rf   r>   rf   r>      rp   r   r<   )r   r   r   reshaper   rp  r(   r)   assert_index_equalr   r<   )r@   r  keysr1   kwargsr0   	exp_indexr   s           r2   'test_loc_getitem_multilevel_index_orderz=TestLocWithMultiIndex.test_loc_getitem_multilevel_index_order  s      1?CDryy},,Q2=f=**84	'>&&q/C!!#))Y7I&&D/C!!#++y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 y )N  r'   rf   )r  r>   r>   )r(   r   rc  r   )r@   /multiindex_year_month_day_dataframe_random_dataymdr   result2s        r2   test_loc_preserve_namesz-TestLocWithMultiIndex.test_loc_preserve_names  s    =c(,,t$||!!SYY__QR%8888}}""ciiooab&9999!c(,,w'||  CIIOOA$6666}}!!SYY__Q%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
                  ||       y )Nr   rf   r
   )r   from_productr   r(   r)   r   r   )r@   rs  r  r   r1   res2s         r2   .test_loc_getitem_multiindex_nonunique_len_zerozDTestLocWithMultiIndex.test_loc_getitem_multiindex_nonunique_len_zero  sx    $$qcAq6]3Qb!ggbkr7
sH-wwsxx!}%
tX.r4   c                 t   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 y )	NLevel1Level2)r  r  Level2_aLevel2_brh  )r  r  rf   )r   r   rp  r(   r  r  r   )r@   r  r   midxs       r2   0test_loc_getitem_access_none_value_in_multiindexzFTestLocWithMultiIndex.test_loc_getitem_access_none_value_in_multiindex	  s     dVZ33hZ(4LMN-.~~&&
Z4L'MNdVc$i'vTB/0~~aS3t9_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                  ||       y )N)r   r   r  r  r   r   r  r  )r  twor  r
  r  r
  r  r
  firstsecondrb  )rf   rf   rf   rf   rf   rf   rf   rf   r
   r   )r  r  )r   r
  )rf   rf   r   r   r   r   rf   rf   )r   r  r  r   r(   r)   r   )r@   r   r   r1   s       r2   !test_loc_setitem_multiindex_slicez7TestLocWithMultiIndex.test_loc_setitem_multiindex_slice  sh     &&HH H%
 0>47

>.1:%H
vx0r4   c                     t        ddd      }t        t        d      |      }|j                  t	        ddd      t	        ddd       }t        j                  ||       y )NrA  10minr  r)  rY  il  rf   i4  )r   r   r   r(   r   r)   r   )r@   timesr  r   s       r2   7test_loc_getitem_slice_datetime_objs_with_datetimeindexzMTestLocWithMultiIndex.test_loc_getitem_slice_datetime_objs_with_datetimeindex,  sR    <gvFU6]E*$1-q!0D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                  ||       y )Nrk   r   z
2010-01-01z
2010-01-10r
   z
2010-01-05r$   r#   r   ro   )r   r   r   r(   r   r)   r*   r   s       r2   3test_loc_getitem_datetime_string_with_datetimeindexzITestLocWithMultiIndex.test_loc_getitem_datetime_string_with_datetimeindex2  s}    )%),\<8
 |4sCj@Aa&1v&| <=
 	fh/r4   c           	      @   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      }|j                  d      }t        ddgddgddggddg|j	                  g d            }|j
                  d   }t        j                  ||       y )N)r   r   r  bahbamr  r  r  r'   r   rb  rQ  rf   r   r>   rg   rl         @ro         @rp         @rm   r   r=  r  r   )level)r   rf   ro   r   r  )r   r  r   r  r  r(   r)   r*   )r@   rs  r0   r1   r   s        r2   3test_loc_getitem_sorted_index_level_with_duplicateszITestLocWithMultiIndex.test_loc_getitem_sorted_index_level_with_duplicates?  s    ## *

 aaaaaa #J
 ]]]#1XQx#q*S#JbggiFX
 '
fh/r4   c                     t        g dd      }d|j                  d<   t        g dd      }t        j                  ||       y )Nr  categoryr   r   rl   )r$   r#   rQ   r   r   r  r@   r   r1   s      r2   1test_additional_element_to_categorical_series_loczGTestLocWithMultiIndex.test_additional_element_to_categorical_series_loca  s8    z:

1,H=
vx0r4   c                     t        g dd      }d|j                  d<   t        g dd      }t        j                  ||       y )Nr  r   r   r$   rl   r$   r#   rQ   r$   r  r!  s      r2   'test_additional_categorical_element_locz=TestLocWithMultiIndex.test_additional_categorical_element_loch  s8    z:

1.jA
vx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                  ||       y )Nr   r   rl   rf   r>   )r   r   r   r   r   r(   r)   r   )r@   any_numeric_ea_dtypesrsr1   s       r2   &test_loc_set_nan_in_categorical_seriesz<TestLocWithMultiIndex.test_loc_set_nan_in_categorical_serieso  s    "5:N#OP

 VV
1bff"5:N#OP
 	sH-VV
266""5:N#O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                  ||       y )	Nr  r   r   rl   r$  r$   r#   rQ   r  )r@   r*  srs_enlargesrs_setintor1   s        r2   ,test_loc_consistency_series_enlarge_set_intozBTestLocWithMultiIndex.test_loc_consistency_series_enlarge_set_into  sn     _J?1D
{K83S"-Z@
{H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                  ||       y )Nr>      r$   r#   rk   r   rp   rf   Index1Index2)rr  codesrc  )r   r   Fr   )rp  orderedr   r=   )r   r   r   r   r   r   r   rr  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4eBi@sQw!q(%)4*
 $#JSz
 #
fh/$$++A.
fh/r4   lt_valueru   rk   c                     t        dg dit        d      g dg      }t        j                  t        d      5  |j
                  |d   |k  d d f   j
                  dgd d f    d d d        y # 1 sw Y   y xY w)	Nr$   )r     "   -   aabbr   rf   r>   rl   r
   z\['b'\] not in indexr   r#   )r   r   r   r   rJ   r(   )r@   r6  r0   s      r2   >test_loc_multiindex_levels_contain_values_not_in_index_anymorezTTestLocWithMultiIndex.test_loc_multiindex_levels_contain_values_not_in_index_anymore  sn     -.tF|\6RS]]8+BC 	8FF2c7X%q()--seQh7	8 	8 	8s   ,A//A8c                 J   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                  ||       y )Nr   r  r   rf   r
   )	r   r   r   r   rp  r   r(   r)   r   )r@   lev1lev2rs  r  r   r1   s          r2   'test_loc_multiindex_null_slice_na_levelz=TestLocWithMultiIndex.test_loc_multiindex_null_slice_na_level  s    xx()u~##T4L1aV2&E" 1#bffX.
vx0r4   c                 8   t        j                  t        d      t        d      ddggg d      }t        t	        d      |      }|j
                  d	d d d d f   }|j                  j                  d
      d d }t        j                  |j                  |       y )Nabxyrf   r>   )rC  rD  numrb  r   r
   r$   r   ro   )
r   r  r   r   r   r(   r   	droplevelr)   r  )r@   rs  r  
loc_resultr1   s        r2   test_loc_drops_levelz*TestLocWithMultiIndex.test_loc_drops_level  s     $$$ZdaV,4G
 U1XR(WWS!QY'
99&&q)"1-
j..9r4   )r   r   r   r   r   r   r  r  r  r  r  r  r  r  r"  r%  r)  r   r   r   NAr   r.  r5  r=  rA  rH  rz   r4   r2   r  r    s   [[3Z.=>3Z.=>Cj1a&!$8,#GHCj1a&!$8,#GHCj1a&!$8,#GHCj1a&!$8,#GHCj1a&!OY#?@	
 [[UWi$89: ::8/"1$,0 0D11.* [[TBFFBEE4#@A
6 B
602 [[Z"b28 38
1
:r4   r  c                   .   e Zd Zd Zd Zd Zd Zd Zej                  j                  dd d d	 d
 gg d      d        Zd Zd Zd Zd Zej                  j!                  d      d        Zej                  j                  dg d      d        Zd Zy)TestLocSetitemWithExpansionc                 0   d}|j                         5  |j                  t        d|       t        dt	        |      id      }||j
                  |<   d d d        t        dt	        |dz         id      }t        j                  |       y # 1 sw Y   ;xY w)N2   _SIZE_CUTOFFr   rE  r   rf   )contextsetattrlibindexr   r   r(   r)   r*   )r@   monkeypatchsize_cutoffr   r1   s        r2   /test_loc_setitem_with_expansion_large_dataframezKTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_large_dataframe  s      " 	2.+FU;%78HF&1FJJ{#	2 c5q#9:'J
fh/	2 	2s   ?BB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             y )Nr   rf   r
   rl   r   r   r(   r)   r   r@   r  s     r2   test_loc_setitem_empty_seriesz9TestLocSetitemWithExpansion.test_loc_setitem_empty_series  sb     6"

sFA3qc$:;

sFAq6!Q$@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             y )Nr   rQ  rf   r
   rg   rl   rV  rW  s     r2   #test_loc_setitem_empty_series_floatz?TestLocSetitemWithExpansion.test_loc_setitem_empty_series_float  sb     6"

sFC5$<=

sFC:aV$D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                           y )
Nr   rf   r   r
   rl   r   ro   )rf   rl   ro   )r   r   rl   )r   r   r(   r)   r   r   rW  s     r2   %test_loc_setitem_empty_series_str_idxzATestLocSetitemWithExpansion.test_loc_setitem_empty_series_str_idx  s     6"
sFA3eUG66R$ST
AeUEN&&IJ	
 

	/@)OP	
r4   c                 $   t        dddt        d            }t        d      D cg c]  }|t        |dz        z    }}t	        d	g|d	   g
      }|D ]  }d|j
                  |<    t	        d|
      }t        j                  ||       y c c}w )Nr   r  rf   
US/Pacific)tzinfo   r  )secondsr   r
   )r   r   r   r   r   r(   r)   r   )r@   baser  idxsr   rX   r1   s          r2   %test_loc_setitem_incremental_with_dstzATestLocSetitemWithExpansion.test_loc_setitem_incremental_with_dst  s    b!E,,?@;@9EayS11EEDG9- 	BFJJrN	!4(
vx0 Fs   Bconvc                     | S ry   rz   r4  s    r2   r5  z$TestLocSetitemWithExpansion.<lambda>  s    a r4   c                 "    | j                         S ry   )to_datetime64r4  s    r2   r5  z$TestLocSetitemWithExpansion.<lambda>      aoo' r4   c                 "    | j                         S ry   )to_pydatetimer4  s    r2   r5  z$TestLocSetitemWithExpansion.<lambda>  ri  r4   c                 ,    t        j                  |       S ry   )r   r  r4  s    r2   r5  z$TestLocSetitemWithExpansion.<lambda>	  s    bmmA& r4   )r@   rh  rk  znp.datetime64)idsc                    t        d      }t        d      }t               }d|j                   ||      df<   d|j                   ||      df<   t        dddgi||gt        dgt              	      }t        j                  ||       y )
Nz20130101 09:00:00z20130101 10:00:00r   r  r   g      Y@g      i@r   r  )r   r   r(   r   r   r)   r*   )r@   re  dt1dt2r0   r1   s         r2   #test_loc_setitem_datetime_keys_castz?TestLocSetitemWithExpansion.test_loc_setitem_datetime_keys_cast  s     +,+,[#&tCy% #&tCy% UEN#*5'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                  ||       y )Nr'   rf   r#   )r4  r   r   r  )r@   r4  r   r1   s       r2   1test_loc_setitem_categorical_column_retains_dtypezMTestLocSetitemWithExpansion.test_loc_setitem_categorical_column_retains_dtype  sW    C!:&(#@

1c6A3[#-PQ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   |j                  t        |g            d	gt              }t        j                  ||       y )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leftry  )	inclusiver)  r$  r  r  r  )r   r   r   r(   r   r   r  appendr   r   r)   r*   )r@   rX  endrX   rS  r   r1   s          r2   0test_loc_setitem_with_expansion_and_existing_dstzLTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_and_existing_dst#  s    4I2G,AvC@}}wi8"$

2w;VVHs3x2$&**]B401I	
 	fh/r4   c                    t        t        ddg      dg      }ddg|d<   |j                  d      j                  j	                  d      |_        ||j                  dk(     j                  d      j                  j                  d	      }|j                         }||j                  |j                  dk(  df<   t        |d
   j                  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   |       y )Nz2015-03-30 20:12:32z2015-03-12 00:11:11r   )r   r<   newoldnew_colr  r^  r   )rf   r   r   1s)r   r   r   r   r  r   r~  
tz_convertr   r(   r   r)   r   r   )r@   r0   vr   r1   s        r2   test_setitem_with_expansionz7TestLocSetitemWithExpansion.test_setitem_with_expansion5  sK   35JKLH
 9,,v&,,88?rzzU"#--f5;;FF|T ggi01u$f,-1Q4??51266)3DEFS
sxx2FF2::&./)D/A./rzzU"F*+
rvvbjjE&96&ABA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                  ||       y )Nrf   r  r>   )rf   rf   rl   r   r   )	r   r(   r   infr<   r   r   r)   r  r   s       r2   0test_loc_setitem_with_expansion_inf_upcast_emptyzLTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_inf_upcast_emptyK  sl    [ttq"&&y!Qrzz:
fh/r4   z"ignore:indexing past lexsort depthc                 >   t        |      st        j                  d       |j                  d      }t        |      }t	        j
                  |      j                  t        j                        }t        ||dg      }d}||vsJ |j                  t        |      |      }t        |t              r|d   d   |k(  sJ |d   |k(  sJ t	        j
                  |dz         j                  t        j                        }t        ||dg      }|j                         }	||	j                  |df<   t        j                   |	|       |j                         d   }
||
j                  |<   |d   j                  t        j                        }t        j"                  |
|       |j                         }	||	j                  |df<   t        t%        |      t        j&                  gz   t        j&                  g|z  t)        |      gz   d|	      }t        j                   |	|       y )
NzNot relevant for empty Indexr>   r   r  kapowr  rf   r   rf   r
   )r  r   skiprepeatr   r   r  rE  r   insertr   r   r   r   r(   r)   r*   r   r   r   r  )r@   r   Narrorigra   r  exp_datar1   r0   r  s              r2   /test_loc_setitem_with_expansion_nonunique_indexzKTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_nonunique_indexV  s    5zKK67QJiil!!"((+EA37 % LLUS1	eZ(R=#s***R=C'''99QU#**2::6XYD YY[sAv
b(+ iik!nA;%%bhh/
sH- YY[sAvS	RVVH$"&&Aq
)BC
 	b(+r4   r=   )Int32Int64UInt32UInt64Float32Float64c                 t   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       y )Nr<  r   r   r
   Fr  )r   r   r   r(   r)   r*   r  )r@   r=   r  r0   r   s        r2   6test_loc_setitem_with_expansion_preserves_nullable_intzRTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_preserves_nullable_int  s    
 \/}%*'*

288V#$
fbEB*'*{{

288V#$
fbEBr4   c                    t        dt        d      i      }t        ddd      }||j                  g ddf<   |j	                  t        t        j                  t        j                  g|j                  	            }t        t        d      |d
      }|j                  d   |j                  k(  sJ t        j                  ||       y )Nr'   rp   
2016-01-01rl   r^  rY  r}  re   r   r   r   )r   r   r   r(   rx  r   r   r   r=   r  r)   r*   )r@   r0   rD  bexr1   s        r2   #test_loc_setitem_ea_not_full_columnz?TestLocSetitemWithExpansion.test_loc_setitem_ea_not_full_column  s    U1X'q\B!$y#~jj'7syyIJ58#67s#syy000
b(+r4   N)r   r   r   rT  rX  rZ  r\  rd  r   r   r   rq  rs  rz  r  r  r  r  r  r  rz   r4   r2   rK  rK    s    0BF
 1 [[''&		
 H  	,	,00$G,	0 [[ DE+, F+,Z [[MCC,r4   rK  c                   $    e Zd Zd Zd Zd Zd Zy)TestLocCallablec                    t        g dt        d      g dd      }|j                  d    }t        j                  ||j                  |j
                  dkD            |j                  d d d f   }t        j                  ||j                  |j                  dk(  d d f          |j                  d d	 f   }t        j                  ||j                  |j
                  dkD  g d
f          |j                  d d f   }t        j                  ||j                  |j
                  dkD  df          |j                  d d f   }t        j                  ||j                  |j
                  dkD  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 y )Nrf   r>   rl   ro   r;  r   c                      | j                   dkD  S Nr>   r'   r4  s    r2   r5  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>      qssQw r4   r>   c                      | j                   dk(  S )Nr#   )r   r4  s    r2   r5  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    qsscz r4   r#   c                      | j                   dkD  S r  r  r4  s    r2   r5  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r4   c                      | j                   dk(  S Nr   r   r4  s    r2   r5  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    !))s2B r4   )FTFc                      | j                   dkD  S r  r  r4  s    r2   r5  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r4   c                      yr  rz   r4  s    r2   r5  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>      r4   r   c                      | j                   dkD  S r  r  r4  s    r2   r5  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r4   c                 
    ddgS Nr'   r   rz   r4  s    r2   r5  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s
    3* r4   r'   c                      | j                   dk(  S r  r  r4  s    r2   r5  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    qssax r4   c                 
    ddgS r  rz   r4  s    r2   r5  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s
    C: r4   c                      y)Nrf   rz   r4  s    r2   r5  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r4   c                      yr&   rz   r4  s    r2   r5  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r4   r  )r   r   r(   r)   r*   r'   r   r   r@   r0   r   s      r2   test_frame_loc_getitem_callablez/TestLocCallable.test_frame_loc_getitem_callable  s   \V<PQ ff&'
c266"$$(#34ff)1,-
c266"$$#+q.#9:ff&(BBC
c266"$$(4H*H#IJff&56
sBFF244!8S=$9:ff&(<<=
c266"$$(S#J*>#?@ff')==>
c266"$$!)c3Z*?#@A ff[-/0bffVn$$$r4   c                    t        g dt        d      g dd      }|j                  d ddgf   }t        j                  ||j                  |j
                  dkD  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          y )Nr  r;  r   c                      | j                   dkD  S r  r  r4  s    r2   r5  zITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>  r  r4   r'   r   r>   rl   c                 
    ddgS r  rz   r4  s    r2   r5  zITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>  s
    Sz r4   c                 
    ddgS r  rz   r4  s    r2   r5  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Qff&c
23
c266"$$(S#J*>#?@ffaV112
c2661a&3**<#=>ffQ,,-
sBFF1sCj=$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          y )Nr  r;  Xrw  r  r
   c                 
    ddgS Nr'   r   rz   r4  s    r2   r5  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  
    Sz r4   r'   r   c                 
    ddgS r  rz   r4  s    r2   r5  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   c                 
    ddgS r  rz   r4  s    r2   r5  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   c                      yNr  rz   r4  s    r2   r5  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   r  c                 
    ddgS r  rz   r4  s    r2   r5  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   c                     dgS r  rz   r4  s    r2   r5  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  s    cU r4   c                      yr  rz   r4  s    r2   r5  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   c                     dgS r  rz   r4  s    r2   r5  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  s    C5 r4   c                 
    ddgS r  rz   r4  s    r2   r5  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   c                 
    ddgS r  rz   r4  s    r2   r5  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 ff)*
c2663*#56ff)1,-
c2663*a-#89ff)=89
sBFFC:s?$;<ff)?:;
c2663*se*;#<= ffc3Z./
sBFFC:s?$;<ffc3Z01
c2663*se*;#<=ff)3./
sBFFC:s?$;<ff)C501
c2663*se*;#<=r4   c                    t        g dt        t        d      t              dt        d            }|j	                         }d|j
                  d <   |j	                         }d|j
                  d	d
g<   t        j                  ||       |j	                         }d|j
                  d d d f<   |j	                         }d|j
                  d	d
gd d f<   t        j                  ||       |j	                         }d|j
                  d d f<   |j	                         }d|j
                  d	d
gdf<   t        j                  ||       |j	                         }ddg|j
                  d d f<   |j	                         }ddg|j
                  d	d
gdgf<   t        j                  ||       |j	                         }t        j                  ddg      |j
                  d	d
gd f<   |j	                         }t        j                  ddg      |j
                  d	d
gdf<   t        j                  ||       |j	                         }d|j
                  d	d
gd f<   |j	                         }d|j
                  d	d
gdgf<   t        j                  ||       |j	                         }d|j
                  d df<   |j	                         }d|j
                  d	d
gdf<   t        j                  ||       |j	                         }d|j
                  d dgf<   |j	                         }d|j
                  d	d
gdgf<   t        j                  ||       y )Nr  r;  r   r  r  r
   ic                 
    ddgS r  rz   r4  s    r2   r5  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>  
    3* r4   r'   r   rZ   c                 
    ddgS r  rz   r4  s    r2   r5  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>  r  r4   r  c                 
    ddgS r  rz   r4  s    r2   r5  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda> 	  r  r4   c                      yr  rz   r4  s    r2   r5  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda> 	  r  r4   r  rp   rk   c                 
    ddgS r  rz   r4  s    r2   r5  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  r  r4   c                     dgS r  rz   r4  s    r2   r5  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  s     r4   r  c                      yr  rz   r4  s    r2   r5  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  r  r4   c                     dgS r  rz   r4  s    r2   r5  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  s    se r4   c                 
    ddgS r  rz   r4  s    r2   r5  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  r  r4   c                 
    ddgS r  rz   r4  s    r2   r5  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  r  r4   )
r   r   r   r   r   r(   r)   r*   r   r   )r@   r0   r   r   s       r2   test_frame_loc_setitem_callablez/TestLocCallable.test_frame_loc_setitem_callable  s   VDL%GHv,
 ggi(+$%ggi!c

c3'ggi+-$a'(ggi!#c
A
c3'ggi79$m34ggi#%c
C 
c3'ggi:;R$o56ggi&'Wc
SE!"
c3' ggi-/XXr2h-?c
M)*ggi#%88RH#5c
C 
c3'ggi/1c
O+,ggi%'c
SE!"
c3'ggi-/$c)*ggi#%c
C 
c3'ggi/1$se+,ggi%'c
SE!"
c3'r4   N)r   r   r   r  r  r  r  rz   r4   r2   r  r    s    %8;><7(r4   r  c                   l    e Zd Zd Zd Zd Zd Zej                  j                  dddg      d        Z
y)	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                  ||       y )Nr  r   )r   r   )
2020-08-01z
2020-07-02
2020-08-05r
   r$   rQ   rf   rl   r  r  z2020-08)r   r   r(   r)   r*   r   s       r2   5test_loc_getitem_partial_string_slicing_datetimeindexzNTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_datetimeindex&	  sf    $i8HI
 3Z!Q0|\:;
 	"
fh/r4   c                     t        j                  ddd      }|j                         }|j                  d d }|j                  d d }t        j                  ||       y )N
2017-01-01
2018-01-01rx  rX  ry  r)  z2017-12r  )r   period_range	to_seriesr(   r   r)   r   )r@   pir  r   r1   s        r2   8test_loc_getitem_partial_string_slicing_with_periodindexzQTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_with_periodindex3	  sN    __<\Llln)$88CR=
vx0r4   c                     t        ddd      }|j                         }|j                  d d }|j                  d d }t	        j
                  ||       y )N1 day2 days1hr  z1 daysr  )r   r  r(   r   r)   r   )r@   r   r  r   r1   s        r2   ;test_loc_getitem_partial_string_slicing_with_timedeltaindexzTTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_with_timedeltaindex;	  sJ    7tDlln(#88CR=
vx0r4   c                     t        dt        d      it        t        d      d            }|j                  d   }|j                  d   }t        j                  ||       y )Nr   rl   daysrg  r
   r   0 days)r   r   r   r   r(   r)   r   )r@   r0   r1   sliceds       r2   #test_loc_getitem_str_timedeltaindexz<TestPartialStringSlicing.test_loc_getitem_str_timedeltaindexC	  sL    U1Xl58&.QR771:!
vx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                  ||       y )Nrf   rp   z
2019-12-30z
2020-01-01z
2019-12-25r  z
2019-12-19ru  r
   r>   )r   r   r   r)   r   r(   )r@   tz_aware_fixturer  r.  rM   r1   r   r   s           r2   /test_loc_getitem_partial_slice_non_monotonicityzHTestPartialStringSlicing.test_loc_getitem_partial_slice_non_monotonicityJ	  s    
 C!Gl+l+l+=>l+ $	
 #C!Gl+=> $	
 k2W
)!
)r4   )r   r   r   r  r  r  r  r   r   r   r  rz   r4   r2   r  r  %	  sB    0111 [[]T3R,ST!* U!*r4   r  c                   H   e Zd Zd Zd Zej                  j                  d ej                  ddd       e
dd	d
      g      d        Zd Zd Zej                  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                  j                  dddg      d        Zej                  j                  dddg      d         Zd! Zy)"TestLabelSlicingc                 *   t        t        j                  dd      dD cg c]  }t        dd|dd       c}	      }t        t        j                  d
d      dD cg c]  }t        dd|dd       c}	      }||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                  ||       
 y c c}w c c}w )Nr  r   r   r  i  rf   rk   r   r
   r  )rf   r>   r>   rl   ro   ro   r  z20010101 11)r   r   r   r   r(   r)   r*   r   )r@   r  	df_uniquedf_dupsr0   r   r1   s          r2   (test_loc_getitem_slicing_datetimes_framez9TestLabelSlicing.test_loc_getitem_slicing_datetimes_framep	  sw    IIc+9EFA8D!QB/F
	 IIc+9HIA8D!QB/I

 g& 	4BVVHT1a467F!!&"-VV6htQ267F!!&"-VVHT1a4xaB7OPF!!&"-VVHT1a467Fwwqr{H!!&(3VVMN+F!!&(3	4 G Js   F
F
c                     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 y )Nz2017-10-29 01:30:00zEurope/Berlinrp   z30 min)r}  rY  r)  )r   rf   r>   rl   ro   r
   z2017-10-29 02:30:00+02:00ru  z2017-10-29 02:00:00+01:00r>   rl   ro   )r   r   r   r(   r)   r   )r@   rS  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3H3HS%1a&Aa1
vx0!!!r4   r   r  r  rx  r  r  r  r  c                     |j                         }|j                  d |d    }|j                  d d }t        j                  ||       y )Nr  r  )r  r(   r   r)   r   )r@   r   r  r   r1   s        r2   -test_loc_getitem_label_slice_period_timedeltaz>TestLabelSlicing.test_loc_getitem_label_slice_period_timedelta	  sC     oo59%88CR=
vx0r4   c                 8   g d}t        t        j                  j                  d      j                  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 y )
N)gx"p|@g\Va|@g|@r>   rl   r>   r
   g3333c|@g    |@g3333|@g|@rl   )r   r   r   r   r(   r  )r@   r   r0   s1s       r2   %test_loc_getitem_slice_floats_inexactz6TestLabelSlicing.test_loc_getitem_slice_floats_inexact	  s    :ryy,,Q/66v>eLVVGG$2w!||VVGG$2w!||VVGG$2w!||r4   c                    |}t        t        j                  j                  d      j                  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 y )Nr>   rk   rZ   r   r
   ro  r   g      )@rn   gffffff(@)r   r   r   r   r   r  r(   r   )r@   rd  r=   r  rS  s        r2   'test_loc_getitem_float_slice_floatindexz8TestLabelSlicing.test_loc_getitem_float_slice_floatindex	  s    !II!!!$++B/ryyRu7U
 37745>"a'''37745>"a'''iiBe,A	37745>"a'''37745>"a'''r4   zstart,stop, expected_slicer   nsNr  rf   r=  rm   rn   ro   rp   c                     t        t        d      t        dd            }|j                  t	        ||         }|j
                  |   }t        j                  ||       y )Nr  r  z10 days)r   r   r   r(   r   r   r)   r   )r@   rX  stopexpected_slicer  r   r1   s          r2   $test_loc_getitem_slice_label_td64objz5TestLabelSlicing.test_loc_getitem_slice_label_td64obj	  sN     U2Y) DEud+,88N+
vx0r4   rX  20182020c                      |g dt        d      t        d      t        d      g      }t        j                  t        d      5  |j                  |d  d d d        y # 1 sw Y   y xY w)	Nr   201620192017r
   z,Value based partial slicing on non-monotonicr   r   )r   r   r   rJ   r(   )r@   r.  rX  rM   s       r2   )test_loc_getitem_slice_unordered_dt_indexz:TestLabelSlicing.test_loc_getitem_slice_unordered_dt_index	  sa    V$i&769JK
 ]]J
 	" GGE&!	" 	" 	"s   AA(r$  rN  c                      |t        d      |dddg      }|j                  |d } |t        d      |dddg      }t        j                  ||       y )Nro   r  r>   thirdr
   )r   r(   r)   r   )r@   r.  r$  rM   r   r1   s         r2   1test_loc_getitem_slice_labels_int_in_object_indexzBTestLabelSlicing.test_loc_getitem_slice_labels_int_in_object_index	  sT     eAhugq'.JKw'"58E7Aw3O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   |       y )	Nrf   r>   rl   )testrf   r>   r   r
   r   )r   r   r<   )r   r   r   r)   r*   r(   r   s      r2   *test_loc_getitem_slice_columns_mixed_dtypez;TestLabelSlicing.test_loc_getitem_slice_columns_mixed_dtype	  s[    aA.qc:a&!eQF&.I
 	bffQUmX6r4   )r   r   r   r  r  r   r   r   r   r  r   r  r  r
  r   r  r   r  r  r  r  rz   r4   r2   r  r  o	  sF   4:"" [[BOO,LsK'xdC	
11( [[$R^^At$dE!RL9R^^As#^R^^As%;U1a[I>2>>!S)5A;7	
11 [[Wvv&67" 8" [[Wq#h/* 0*7r4   r  c                       e Zd Zej                  j                  dddg      d        Zej                  j                  dddg      d        Zd Zy)TestLocBooleanLabelsAndSlices
bool_valueTFc                     | d}|j                   dk7  r> ||d      }t        j                  t        |      5  |j                  |    d d d        y y # 1 sw Y   y xY w)Nz7: boolean label can not be used without a boolean indexr6  r   rH  r   )r  r   r   rJ   r(   )r@   r   r.  r  messagerM   s         r2   'test_loc_bool_incompatible_index_raiseszETestLocBooleanLabelsAndSlices.test_loc_bool_incompatible_index_raises	  sd    
  L WX)+!X>Cxw7 $
#$ $ ,$ $s   AAc                 P     |t        ddgd      d      }|j                  |    y )NTFr6  r   r   rH  )r   r(   )r@   r.  r  rM   s       r2   test_loc_bool_should_not_raisez<TestLocBooleanLabelsAndSlices.test_loc_bool_should_not_raise	  s*    uY7x
 	
r4   c                     d} ||d      }t        j                  t        |      5  |j                  dd  d d d        y # 1 sw Y   y xY w)NzEslice\(True, False, None\): boolean values can not be used in a slicer   rH  r   TF)r   r   r   r(   )r@   r   r.  r!  rM   s        r2   test_loc_bool_slice_raisesz8TestLocBooleanLabelsAndSlices.test_loc_bool_slice_raises
  sL     U 	 E:]]9G4 	 GGD	  	  	 s   AA
N)	r   r   r   r   r   r   r"  r$  r&  rz   r4   r2   r  r  	  sW    [[\D%=9$ :$ [[\D%=9 : r4   r  c                       e Zd Zd Zej
                  j                  dddg      d        Zd Zd Z	e
j                  d        Zd	 Zd
 Zd Zd Zy)TestLocBooleanMaskc           	         t        dt        d      i      }t        t        d      d      |_        |d   dkD  |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                  ||       b y )Nr   rk   r  rg  rl   )
r   rf   r>   rl   rk   rk   rk   rk   rk   rk   )
r   rf   r>   rk   ro   rp   rm   rn   r   r  )
rk   rk   rk   rl   ro   rp   rm   rn   r   r  rE  r  )	r   r   r   r   r  r   r(   r)   r*   )r@   r0   
conditionsexpected_datacondr   r   r1   s           r2   )test_loc_setitem_bool_mask_timedeltaindexz<TestLocBooleanMask.test_loc_setitem_bool_mask_timedeltaindex
  s    U2Y'(b	4gk2c7a<C1=
0+-

 j-8 
	4JD$WWYF$&FJJtSy! "5937	H !!(F3
	4r4   r}  Nr  c                    t        j                  g d      }t        dd|      }t        dt        j                  d      i|      j                  d      }|j                         }|j                  |d d f   |j                  |d d f<   t        j                  ||       |j                         }|j                  |   |j                  |<   t        j                  ||       y )Nr~   20010101ro   r  r$   r
   r   )
r   r   r   r   r   r  r   r(   r)   r*   )r@   r}  r8  rS  r0   r   s         r2   +test_loc_setitem_mask_with_datetimeindex_tzz>TestLocBooleanMask.test_loc_setitem_mask_with_datetimeindex_tz'
  s     xx23Q26RYYq\*#6==iH ffT1Wo

47
fb)66$<

4
fb)r4   c           	         t        t        j                  d      j                  dd      t	        d      t        ddd            }|j                         }|j                  d	   gt        j                  t        j                  gz   |d
<   |j                  dk  }|j                  |   j                  |j                  |d
f<   t        j                  ||       y )Nr  rl   r>   ABr&  r  )rY  r)  r   r   r   rf   )r   r   r   r  r   r   r   r   r   r   r'   r(   r)   r*   )r@   r0   r1   r8  s       r2   2test_loc_setitem_mask_and_label_with_datetimeindexzETestLocBooleanMask.test_loc_setitem_mask_and_label_with_datetimeindex8
  s     IIcN""1a(JZ>

 779!*+rvvrvv.>>ttaxFF4L..tSy
b(+r4   c                 d   t        d      }t        d      }t        dt        ||g      i      }|j                         }t        |g      }|d   j                  d   j
                  }||j                  ddg<   |d   j                  d   j
                  }||k(  sJ t        j                  ||       y )Nr   l   ,GsO1colrf   TF)	r   r   r   r   r   _valuer(   r)   r*   )r@   td1td2r0   df_copyr  r1   r   s           r2   'test_loc_setitem_mask_td64_series_valuez:TestLocBooleanMask.test_loc_setitem_mask_td64_series_valueG
  s    l)*vsCj123'')cUme9>>!$++ #e}E"))6!!!
b'*r4   c                    |j                         }|d   dkD  }d|j                  |df<   |j                  j                         }d||j                  df<   t        ||j                  |j
                        }t        j                  ||       y )Nr'   r   r   rf   r  )r   r(   r   r   r   r<   r)   r*   )r@   rR  r1   r8  r   s        r2   #test_loc_setitem_boolean_and_columnz6TestLocBooleanMask.test_loc_setitem_boolean_and_columnV
  s}    ##%3!#%&c	"%%'!"t{{A~V8>>8CSCST
k84r4   c                 ,   t        g dg dd      }t        dg dig d      |j                  g ddgf<   t        g d	g dd      }t        j                  ||       t        g dg dd      }t	        g d
g d      |j                  g ddgf<   t        j                  ||       t        g dg dd      }t	        g d
g d      |j                  g ddf<   t        j                  ||       t        g dg dd      }|j                         }|d   }t        j                  |      5  t	        g d
g d      |j                  g d<   d d d        |rt        j                  ||       y t        j                  ||       y # 1 sw Y   9xY w)Nr   r  r   r$   r   )r>   rf   r   r
   )FFT)rf   r>   rk   r  )r   r(   r)   r*   r   r   r  )r@   r  r  r0   r1   r   r  s          r2   )test_loc_setitem_ndframe_values_alignmentz<TestLocBooleanMask.test_loc_setitem_ndframe_values_alignmentb
  sW    YY78.7,y/
#cU*+ :I>?
b(+ YY78.4\.S#cU*+
b(+ YY78,2<y,Q#S()
b(+YY78'')g""#56 	R,2<y,QCGG()	R!!"g.!!"h/	R 	Rs   1!F

Fc                    t        g g dt              }|j                         }|d   j                         |j                  t	        j
                  g t        j                        dgf<   t        j                  ||       y )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
  s\    Rb)877968gllnrxx"((+cU23
b(+r4   c                 
   t        dgdgdt              }|j                         }|d   j                         |j                  t	        j
                  dgt        j                        dgf<   t        j                  ||       y )Nr   rX  r   r   r#   Fr$   r@  r   s      r2   $test_loc_indexer_all_false_broadcastz7TestLocBooleanMask.test_loc_indexer_all_false_broadcast
  sb    cU#/v>779;=c7<<>rxxrxx03%78
b(+r4   c                    t        dgdgdt              }t        dgdgdt              }|d   j                         |j                  t	        j
                  dgt        j                        dgf<   t        j                  ||       y )Nr   rX  r   r   r#   Tr$   r@  r   s      r2   test_loc_indexer_length_onez.TestLocBooleanMask.test_loc_indexer_length_one
  sl    cU#/v>C5u5VD:<S',,.rxxbhh/#67
b(+r4   )r   r   r   r-  r   r   r   r0  r3  r:  tdskip_array_manager_invalid_testr<  r>  rB  rD  rF  rz   r4   r2   r(  r(  
  si    4, [[TD%=1* 2* ,+ ''	5 (	50@,,,r4   r(  c                       e Zd Zej                  j                  dd ej                  eg      d        Z	d Z
d Zej                  j                  dddg      d	        Zd
 Zy)TestLocListliker  c                     | S ry   rz   r4  s    r2   r5  zTestLocListlike.<lambda>
  s    q r4   c                 L   t        ddt        j                  g      }t        t	        d      |      }|j
                   ||         }t        j                  ||       | ||         }t        j                  ||       |j                         j
                   ||         }t        j                  ||j                                |d d }|dd  }d}t        j                  t        |      5  |j
                   ||          d d d        t        j                  t        |      5  | ||          d d d        t        j                  t        |      5  |j                         j
                   ||          d d d        y # 1 sw Y   xY w# 1 sw Y   ]xY w# 1 sw Y   y xY w)	Nr'   r   rl   r
   r  rf   r
  r   )r   r   r   r   r   r(   r)   r   r  r*   r   r   rJ   )r@   r  cir  r   ser2ci2r   s           r2   8test_loc_getitem_list_of_labels_categoricalindex_with_nazHTestLocListlike.test_loc_getitem_list_of_labels_categoricalindex_with_na
  sX    sC01U1XR(R!
vs+SW
vs+##CG,
fclln53Bxf]]83/ 	HHSX	 ]]83/ 	SN	 ]]83/ 	*MMOC)	* 	*	 		 		* 	*s$   -F&F$FFFF#c                     t        j                  g dd      }t        g dt        ddd            }t	        j
                  t        d	
      5  |j                  |    d d d        y # 1 sw Y   y xY w)N)
2001-01-04z
2001-01-02rR  z
2001-01-14r  r   )r>   rp   r   r  z
2001-01-01r=  ro   r  r
  r   )r   r   r   r   r   r   rJ   r(   )r@   ra   r  s      r2   1test_loc_getitem_series_label_list_missing_valueszATestLocListlike.test_loc_getitem_series_label_list_missing_values
  sZ    hhDL
 ]J|#q$QR]]8>: 	GGCL	 	 	s   A((A1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        y # 1 sw Y   y xY w)Nl   PF
AHl   UBeNl   P2$$nr   r   r
  r   l   NZ4FG)r   r   r   r   r   rJ   r(   rW  s     r2   9test_loc_getitem_series_label_list_missing_integer_valueszITestLocListlike.test_loc_getitem_series_label_list_missing_integer_values
  sw    ((,.?@A-/ABC
 ]]8>: 	EGGBHH.0ABCD	E 	E 	Es   %BB
	to_periodTFc                    t        dddd      }|r|j                  d      }t        ddg|d	      }t        d      t        d      g}|r|D cg c]  }|j                  d       }}|j                  |   }t        ddg|d	      }|s |j
                  j                  d       |_        t        j                  ||d
       t        d      t        d      t        d      g}|r|D cg c]  }|j                  d       }}t        g dt        |d|j                        d	      }|j                  |   }t        j                  ||d
       t        d      t        d      t        d      g}|r|D cg c]  }|j                  d       }}t        j                  t        d      5  |j                  |    d d d        y c c}w c c}w c c}w # 1 sw Y   y xY w)N
2011-01-01z
2011-01-02r=  rS  )r)  r   皙?皙?r  r   T)r  )r[  r[  rZ  )r   r=   
2011-01-03r
  r   )r   rW  r   r   r(   r   r-  r)   r   r   r=   r   r   rJ   )r@   rW  rS  r  r  r   r   r   s           r2   .test_loc_getitem_listlike_of_datetimelike_keysz>TestLocListlike.test_loc_getitem_listlike_of_datetimelike_keys
  s    |#EJ--$Cc3Zs5,'<)@A.23AKK$3D3c3Zs5		,,T2CI
vsTB l#l#l#

 .23AKK$3D35E#KRU
 
vsTB l#l#l#

 .23AKK$3D3]]8>: 	GGDM	 	9 4 4 4	 	s   G(G5G*GG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                  ||       y )Nrf   r>   ro   rp   rn   r   )cobraviper
sidewinder	max_speedshieldr  r   r_  r`  r   )r   r   r   r   r(   r   r)   r*   r   s       r2   test_loc_named_indexz$TestLocListlike.test_loc_named_index
  st    VaVaV$2 (+

 772A;#w0u=>
fh/r4   N)r   r   r   r   r   r   r   asarrayr   rP  rS  rV  r]  rd  rz   r4   r2   rJ  rJ  
  sk    [[U["**d$CD* E*6E [[[4-8' 9'R
0r4   rJ  z%columns, column_key, expected_columns)  r  i  rf  r  rf   )rf  r  Allrg  r>   c                    t        t        j                  j                  d      j                  d      | t	        d            }|j
                  d d |f   }|j                  g d|f   }t        j                  ||d       y )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_labelsrk  
  sn     

		a ''/U
B wwq**+HVVOZ/0F&(dCr4   c                     t         j                  j                  d      j                  d      } t	        |       }t         j
                  |j                  d d df<   t        j                  | t        j                  t         j
                  gdz        j                  dd      f      }t	        |g d      }t        j                  ||       t	        |       }t         j
                  |j                  d d df<   t        j                  ||       y )Nr>   )r   ro   rb  r   rf   )r  rQ  r   rg   rb  r   )r   r   r   r  r   r   r(   hstackr   r  r)   r*   )	rand_datar   r+  r1   s       r2   test_loc_setitem_float_intindexro    s    		%%a(88@Iy!FFJJq#vIIy"((BFF8a<*@*H*HA*NOPM0IJH&(+y!FFJJq#v&(+r4   c                     dD  cg c]  } dD ]  }| |f  }} }t        t        j                  d      t        d      t	        j
                  |            }|j                  d      dd	 }t        t        j                  d
      t        d      t	        j
                  g d            }t        j                  ||       y c c}} w )N)  r   )rn   r   r  rk   )rk   r   
ABCDEFGHIJr  rf   r  rq  r  r   r   r  )rs  )rq  rk   )r   rn   rt  )	r   r   r  r  r   r  r(   r)   r*   )yrrz  r  r0   r   r1   s         r2   test_loc_axis_1_slicerv    s    *BMBqRGBGBDB	
L!&&t,
B
 VVV^Ii0F
L!&&'TUH
 &(+ Cs   Cc            
         t        dt        d      t        j                  t        d      t        d      g            } | j	                         }|j
                  ddgf   |j
                  ddgf<   t        j                  ||        y )Nr$   r>   r  r   r  )r   r   r   r  r   r(   r)   r*   )r1   r   s     r2   !test_loc_set_dataframe_multiindexrx  0  so    58Z%<%<eAha=Q%RH ]]_F$jjVH5FJJq6({&(+r4   c                  |    t        t        d      t        ddgt                    } | j                  d   }|dk(  sJ y )Nr>   rf   r   r   r   )r   r   r   r   r(   )r  r   s     r2   test_loc_mixed_int_floatrz  :  s6    
q5!S8
9CWWQZFQ;;r4   c                      t        t        d      g d      } t        j                  t        d      5  d| j
                  d d d d d        y # 1 sw Y   y xY w)Nro   r<  r
   $Slicing a positional slice with .locr   r>   rl   )r   r   r   r   r   r(   )r  s    r2   %test_loc_with_positional_slice_raisesr}  B  sF    
q!5
6C	y(N	O   s   AAc                     t        dd      } t        t        j                  j	                  d      j                  d      |       }|d   }d}||fD ]h  }t        j                  t        |	      5  |j                  d
d  d d d        t        j                  t        d	      5  d
|j                  d
d d d d        j t        j                  t        |	      5  |j                  d
dd
f    d d d        t        j                  t        d	      5  d|j                  d
dd
f<   d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   YxY w# 1 sw Y   y xY w)Nr  rl   rY  r>   r  r
   r   zOcannot do slice indexing on DatetimeIndex with these indexers \[1\] of type intr   rf   r|  )	r   r   r   r   r   r   r   r   r(   )dtir0   r  r   rM   s        r2   #test_loc_slice_disallows_positionalr  J  s>   
\1
-C	299((+226:#	FB
Q%C	& 
 Cy ]]9C0 	GGAaL	 ]]9,RS 	CGGAaL	 		 
y	, 
qsAv 
y(N	O qsAv 	 		 	  s0   0D,#D8EE,D5	8E	EEc            	      .   t        t        j                  j                  d      j	                  d      g dt        ddd            } | j                  g d	   j                         } | j                  }t        j                  |j                        }d
}t        j                  t        |      5  | j                  |    d d d        t        j                  t        |      5  | d   j                  |    d d d        y # 1 sw Y   @xY w# 1 sw Y   y xY w)Nr>   r  r  2012ry  rp   r  r   )r   r>   r>   rl   z/None of \[TimedeltaIndex.* are in the \[index\]r   r$   )r   r   r   r   r  r   r   r   r   r   TimedeltaIndexasi8r   r   rJ   r(   )r0   r  ri  r   s       r2   'test_loc_datetimelike_mismatched_dtypesr  f  s     

		a 008c15
B 
		#	#	%B
((C


CHH
%C
<C	xs	+ 
s 
xs	+ 
3C   s   0C?#D?DDc                  Z   t        j                  ddd      } t        t        j                  j                  d      j                  d      |       }t        j                  ||j                  |           t        j                  ||j                  t        |                 t        j                  ||j                  t        |                 t        j                  |j                  dd	 |j                  | dd	           t        j                  ||j                  t        |                 y )
Nz2002-01z2003-12rx  r(  r>   )r  rk   r
   r   rp   )r   r  r   r   r   r   r  r)   r*   r(   r   r   )rS  r0   s     r2   "test_loc_with_period_index_indexerr  |  s    
//)YS
9C	299((+;;HES	QB"bffSk*"bffT#Y/0"bffT#Y/0"''!A,s1Qx(89"bffT#Y/0r4   c                  j   t         j                  j                  d      j                  d      } t	        dd      }g d}t        | ||      }t         j                  |j                  |j                  d   d	f<   t         j                  | d   d
d t        | ||      }t        j                  ||       y )Nr>   )r   rm   r&  r   r  )r'   r   r   r=  EFr  rf   r   r   )r   r   r   r  r   r   r   r(   r   r)   r*   )r  rS  r  r   r   s        r2   %test_loc_setitem_multiindex_timestampr    s    99  #33F;D
Z
+C)D
DT
2C(*CGGCIIaL*$%66DGAaL
DT
2C#s#r4   c                  v   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                  ||       |j                  | d   |d   |d   fg dd      }t        j                  ||       |j
                  d   }|j
                  d d }	|j                  | d   |d   |d   fg dd      }
t        j                  |
|	       |j                  | d   |d   |d   f   }|dk(  sJ y )Nr  r  )rf   r   r   rf   )r   rX  r  rb  rm   rp   r  re   )r  r  )
r   r  r   r   r(   r   r)   r*   xsr   )r?  r@  lev3r  r0   r   r1   altr  	expected2alt2r  s               r2   'test_loc_getitem_multiindex_tuple_levelr    sM   DFDq6D""D$#5_MD	1E!Hd	3B VVAQa$q'223F wwq"1"u~H&(+
%%a$q'47+91%
EC#x( ''!*C!I6647DGT!W-YQ6GD4+ggd1gtAwQ/0Ga<<r4   c            
         t        t        j                  g dg dddt        j                  t        j                  gg      j                  g dd      } | j                  d      }|j                  j                  dk(  sJ |j                  d   }t        dd	g|j                  dd
      }t        j                  ||       |j                  j                  t              |_        |j                  d   }t        j                  ||       y )Nr  )rp   rm   rn   r   rf   r>   r  r  )r   r<   r=   rQ   rp   r  )r   r   r   r   Tr   r   r=   r(   r   r<   r)   r   r  r   )r0   r   r   r1   s       r2   /test_loc_getitem_nullable_index_with_duplicatesr    s    	XX|\Aq"&&"&&3IJKMM
B
 ,,s
C99??g%%%
''!*Cq!fCKKwQGH3) 		  (CI
''!*C3)r4   r$  r   c                 <   t        g ddgd      }t        j                  t        d      5  | |j                  d<   d d d        t
        rt        | t        j                        rd}nd	}t        g d
dg|      }t        j                  ||       y # 1 sw Y   VxY w)Nr  r   uint8r;   r   r   )r>   r   int16uint16)rf   r>   r   ro   )
r   r)   r   r   r(   r   r   r   r  r*   )r$  r0   r=   r1   s       r2   test_loc_setitem_uint8_upcastr    s     
<&	AB		#	#M9U	V "!y" *UBHH5 &GH"h'" "s   BBzfill_val,exp_dtypez
2022-01-06zdatetime64[ns]z
2022-01-07
US/Easternru  zdatetime64[ns, US/Eastern]c                    ddd| j                         g}t        || j                  |      }t        g ddg|      }d|j                  d	<   |j                  d
       t        ||      }t        j                  |j                  |d       y )Nz
2022-01-02z
2022-01-03z
2022-01-04)r}  r=   )rk   r  r  r  r$   r   r  )
2022-01-08r$   r  r   T)exact)	r   r   r}  r   r(   rx  r)   r  r   )fill_val	exp_dtyper   r   r0   expected_indexs         r2   0test_loc_setitem_using_datetimelike_str_as_indexr    sx     ,hmmoFD$8;;i@E	#cU%	@B "BFFKK"4y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                  | |       y )Nabcrp   r   r$   r#   rQ   )r   rf   r>   r   )r   r   r(   r)   r*   )r0   r1   s     r2   test_loc_set_int_dtyper    sO    	DK=	!BBFF1f9cUu#D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	
      }|j                  ddgd      d   }|j                  | d   ddf   dk(  sJ y )N)z20181101 1100z20181101 1200z20181102 1300z20181102 1400r   r   )r   r)  )r'   r   rQ  )r'   r   r   )r  Qrg   )Wr  r  )ONETWOVALUESr  r  r  T)rx  r  r   r'   rQ  )r   r   r   r(   )p_index	mi_seriess     r2   test_loc_periodindex_3_levelsr    sw     LG
 	/?OL(I
 ##UEN4#@JI=='!*c3/0C777r4   c                  B   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                  | |       y )Npyarrowr   zstring[pyarrow]r   )TTF)stringsrm  r  rw  r  )r  rw  r   )r   r9  r   r   r(   rm  r)   r*   )r0   	new_valueexpected_dfs      r2    test_loc_setitem_pyarrow_stringsr    s    
	"	o5FG-.	

B Sz"I )BFF2669o5FG-.	
K "k*r4   c                   *   e Zd Zej                  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                  j                  dej"                  ej"                  eeg      ej                  j                  dg d      d               Zej                  j                  dedddf   d ed      fg      d        Zd Zej                  j                  dddg      d        Zej8                  d        Zd Zd Zd Z y)TestLocSeriesr\  )r]  rl   )r^  ro   c                 H    t        ddd      }|j                  |   |k(  sJ y )Nrl   ro   )r]  r^  )r   r(   )r@   rD  r1   r  s       r2   r  zTestLocSeries.test_loc_uint64  s)     1-.wws|x'''r4   c                 F   |j                   g d   }t        j                  |j                  |   |j	                  |             t        j                  |j
                  dd d   |dd d          |j                   ddg   \  }}|j                  || }|j                  ||      }t        j                  ||       ||j                         kD  }t        j                  |j                  |   ||          |j                  |   ||   k(  sJ |j                  |   ||   k(  sJ y )Nrl   ro   rn   rp   r>      )r   r)   r   r(   r  r   truncatemedian)	r@   string_seriesdatetime_seriesindsd1d2r   r1   r8  s	            r2   test_loc_getitemzTestLocSeries.test_loc_getitem$  s%   ""9-
}0068M8Md8ST
}11!$Q$7qt!t9LM !&&2w/B $$R+"++B3
vx0 }3355
}006d8KL ""2&/"*====""2&/"*====r4   c                 Z   |j                   ddg   \  }}|d d d   j                  g d   }d}t        j                  t        |      5  |j
                  ||  d d d        t        j                  t        |      5  d|j
                  || d d d        y # 1 sw Y   =xY w# 1 sw Y   y xY w)Nrp   r  r>   )rf   r>   r   z"Timestamp\('2000-01-10 00:00:00'\)r   r   )r   r   r   r   rJ   r(   )r@   r  r  r  ts2r   s         r2   test_loc_getitem_not_monotonicz,TestLocSeries.test_loc_getitem_not_monotonic7  s     &&2w/Bcc"''	23]]83/ 	GGBrN	]]83/ 	CGGBrN	 		 		 	s   	B<B!B!B*c           
         t        t        j                  j                  d      j	                  d      t        t        ddd                  }|j                         }d|j                  dd |j                  dd dk(  j                         sJ |j                         }d|j                  dd |j                  dd dk(  j                  j                         sJ |j                  dd	 }|j                  dd }|j                  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        t        j                   t"        d      5  d|j                  dd d d d        y # 1 sw Y   =xY w# 1 sw Y   y xY w)Nr>   rk   r   rZ   r
   ro   rl   r  rm   )ro   rm   r   rk   rp   r  r  z^3$r   )r   r   r   r   r  r   r   r   r   r>  r   r(   r  r)   r   r   r   rJ   )r@   r  cpr   r  r1   s2s          r2   0test_loc_getitem_setitem_integer_slice_keyerrorsz>TestLocSeries.test_loc_getitem_setitem_integer_slice_keyerrorsB  s   II!!!$44R8U1bRS_@U

 XXZ"""''))) XXZ"""**..000!A''!B-;;}-
vx0
w1 XXd58ntE!QO'<<=]]862 	FF1RL	]]862 	BFF1RL	 		 		 	s   
G=G"G"G+c                     t        |j                  d d       }|j                  |   }t        j                  ||d d        y )Nrk   )r  r   r(   r)   r   )r@   r  rS  r   s       r2   test_loc_getitem_iteratorz'TestLocSeries.test_loc_getitem_iterator_  s@    =&&s+,""3'
v}Sb'9:r4   c                     ||j                         kD  }|j                         }d|j                  |<   |}d||<   t        j                  ||       y )Nr   )r  r   r(   r)   r   )r@   r  r8  r   r1   s        r2   test_loc_setitem_booleanz&TestLocSeries.test_loc_setitem_booleand  sO    }3355##%

4 
vx0r4   c                     t        |j                  g d         }d|j                  |<   d}t        j                  t
        |      5  d|j                  |dgz   <   d d d        y # 1 sw Y   y xY w)N)rp   r   r  rp   z\['foo'\] not in indexr   r   )r   r   r(   r   r   rJ   )r@   r  r  r   s       r2   test_loc_setitem_cornerz%TestLocSeries.test_loc_setitem_cornerm  se    M''
34"#$']]83/ 	201MdeWn-	2 	2 	2s   A$$A-c                 f   |j                   g d   }|j                         }|j                         }d||<   d|j                  |<   t        j                  ||       |j                         }|j                         }d||d   |d    d|j                  |d   |d    t        j                  ||       y )N)rp   rk   r  r   r>   )r   r   r(   r)   r   )r@   r  indicesr  r   s        r2   test_basic_setitem_with_labelsz,TestLocSeries.test_basic_setitem_with_labelst  s    !''4!!#""$7
r3'!!#""$&'71:
#+,
WQZ(
r3'r4   c           
      
   t        t        j                  j                  d      j	                  d      t        t        ddd                  }g d}t        j                  g d      }|j                         }|j                         }d||<   d|j                  |<   t        j                  ||       |j                         }|j                         }d||<   d|j                  |<   t        j                  ||       g d}t        j                  g d      }d}t        j                  t        |	      5  d||<   d d d        t        j                  t        |	      5  d||<   d d d        y # 1 sw Y   3xY w# 1 sw Y   y xY w)
Nr>   rk   r   rZ   r
   )r   ro   rm   r   ro   rp   rm   z\[5\] not in indexr   )r   r   r   r   r  r   r   r   r   r(   r)   r   r   r   rJ   	Exception)	r@   r  r  arr_indsr  r   inds_notfoundarr_inds_notfoundr   s	            r2   !test_loc_setitem_listlike_of_intsz/TestLocSeries.test_loc_setitem_listlike_of_ints  s@   II!!!$44R8U1bRS_@U
 88I&XXZhhjD	
r3'XXZhhjH
r3'$HH\2#]]83/ 	#!"C	#]]9C0 	'%&C!"	' 	'	# 	#	' 	's   5E-E9-E69Fc                 j   t        t        ddd      g d      }|j                         }t        dd      }||j                  d	<   |j                  d	   }||k(  sJ |j                         }||j
                  d
<   |j
                  d
   }||k(  sJ |j                         }||d	<   |d	   }||k(  sJ y )NrY  rl   r  r  r  r
   r\  ru  r$   r   )r   r   r   r   r(   r   )r@   r  r  r1   r   s        r2   test_loc_setitem_dt64tz_valuesz,TestLocSeries.test_loc_setitem_dt64tz_values  s    |Q<@!
 XXZ\l;s!!!XXZ
!!!XXZ3C!!!r4   array_fnr,  r  c                 \    |dg|z        }t        |ddddgt        d      t              }t        dt        d      t              }||j                  d<   t	        j
                  ||       t        dt        d      t              }||j                  d<   t	        j
                  ||       y )Nr   abcderH  r$   )r   r   r   r(   r)   r   r   )r@   r,  r  r  r1   r  s         r2   #test_loc_iloc_setitem_with_listlikez1TestLocSeries.test_loc_iloc_setitem_with_listlike  s     sTz"31a+4=OQd7m6:
sH-Qd7m6:
sH-r4   r   r'   Nc                 \   t        t        j                  g d      g d      }d}t        j                  t
        |      5  |j                  |d d f    d d d        t        j                  t
        |      5  d|j                  |d d f<   d d d        y # 1 sw Y   AxY w# 1 sw Y   y xY w)N))r'   0)r'   r8   )r   r  )   r0  r8  rU  r  r   rf   )r   r   r  r   r   r   r(   )r@   r   r  r   s       r2   +test_loc_series_getitem_too_many_dimensionsz9TestLocSeries.test_loc_series_getitem_too_many_dimensions  s     (()MN
 "]]=4 	 GGGQJ	  ]]=4 	$"#CGGGQJ	$ 	$	  	 	$ 	$s   B9B"B"B+c                    |j                   g d   }|j                         }d|j                  |<   |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 y )Nr  rp   rk   r  rm   r`  ro   )r   r   r(   r   r)   r   )r@   r  r  r   r1   r  r  s          r2   test_loc_setitemzTestLocSeries.test_loc_setitem  s   ""9-##%

4 %%'#$i 
vx0Ab2
vx0 $$aW-B

2b2
vx0 !"" !"R A%%%R A%%%r4   r=   r   rU  c                     t        ddgddgd|      }ddd|j                  d	d d f<   t        ddgddgd|      }t        j                  ||       y )
Nr  defghijklr   r   newAnewBr   r  )r@   r=   r0   r1   s       r2   test_loc_assign_dict_to_rowz)TestLocSeries.test_loc_assign_dict_to_row  s]     eU^5%.AO#&1q!tFE?&%IQV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                  ||       y )Nr   r$  r   rm   r  rg  r   )r   r$  rf   r   )r   r   r(   r)   r*   r!  s      r2   ,test_loc_setitem_dict_timedelta_multiple_setz:TestLocSeries.test_loc_setitem_dict_timedelta_multiple_set  s     FG#45!*13!7%H

1!*13!7%H

1$e,-7HQRPS
 	fh/r4   c                 2   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                  ||       y )Nrf   r>   r$   r  rm   rn   r#   rQ   r   r   r  r
   )r   r(   r   r   r   r)   r*   r   s      r2   3test_loc_set_multiple_items_in_multiple_new_columnszATestLocSeries.test_loc_set_multiple_items_in_multiple_new_columns  s    aVcU3!"Aq3*}RVVRVV,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        y # 1 sw Y   y xY w)
Nz#Period with BDay freq is deprecatedr   2000rZ   r   rW  r
   z
2000-01-14r  )r)   r   r   r   r  r   r   r(   )r@   r   r   r-   s       r2    test_getitem_loc_str_periodindexz.TestLocSeries.test_getitem_loc_str_periodindex  se    3''SA 	1OO&"3GEE"IU3F::l+q000	1 	1 	1s   AA++A4c                    t        t        d            }t        |dz  d      }t        dt	        j
                  t        |      t        j                        i|      }|j                  |   }t        d|j                  d      j                  t        j                        it        t	        j                  |      j                  d      d            }t        j                  ||       y )	Nr  i  r  r   rD  r
   stable)rB   )r   r   r   r   r   r   r  intpr(   argsortr  r   r  r)   r*   )r@   rm  r   r0   r   r1   s         r2   test_loc_nonunique_masked_indexz-TestLocSeries.test_loc_nonunique_masked_index  s    59ocDj0ryyU277CDEREMMxM077@A,,T2'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  rG  rH  r  r  r  r  rz   r4   r2   r  r    s=   [[^nj-IJ( K(
>&	:;
12('8", [[Z"((BHHdE)JK[[V\2. 3 L.  [[YCF);c5;=O(PQ$ R$&4 [[Wx&:;, <, ''0 (0, 1
0r4   r  )[__doc__collectionsr   r   r   r   r   r'  dateutil.tzr   numpyr   r   pandas._configr	   pandas._libsr   rQ  pandas.compat.numpyr   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorsrG  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  rK  r  r  r  r  r(  rJ  rk  ro  rv  rx  rz  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rz   r4   r2   <module>r     s   * "  
    5 * . ' ) )     (  & 6 K &
&&"&&#	bffbff 57JK
&&#bfft}511{ {|U, U,p,:( :(zs: s:lV, V,r( (DG* G*TA7 A7H   :E, E,Pc0 c0L +	dD\Aq62	tTlQF3	tUmaV4DD,,",8,1	$<*( 3			#"FG( H(& 	<	 "23	<L	13OP	@	@( WXRS8 T Y8 +,I0 I0r4   