
    Oh             	       <   d Z ddlmZ ddlZddlmZmZmZmZ ddlZddl	m
Z
 ddlZddlZddlmZ ddlmZ ddlmZ dd	lmZ ddlmc mZ ddlZdd
lmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z. ddl/m0Z1 ddl2m3Z3 ddl4m5Z5 ddl6m7Z7 ejp                  js                  dejt                  ejt                  dgdejt                  ejt                  gg dgejt                  dgdejt                  gddggg      d        Z; G d d      Z< G d d      Z= G d d      Z> G d d      Z? G d d      Z@ G d d       ZA G d! d"      ZB G d# d$      ZC G d% d&      ZD G d' d(      ZE G d) d*      ZFejp                  js                  d+g d,d-d.gdd/gfg d0d-d.gdd/gfg d0d-d1gdd2gfg      d3        ZGd4 ZHd5 ZId6 ZJd7 ZKd8 ZLd9 ZMd: ZNd; ZOd< ZPd= ZQd> ZRejp                  js                  d?d@ ej                  d@       ej                  d@      g      dA        ZUejp                  js                  dB e*dC      dDf e*dEdFG      dHfg      dI        ZVdJ ZWejp                  j                  dK      ejp                  j                  dL      dM               ZYdN ZZ G dO dP      Z[y)Qz$ test label based indexing with loc     )
namedtupleN)datedatetimetime	timedelta)gettz)using_string_dtypeindex)np_version_gt2)IndexingError)CategoricalCategoricalDtypeCategoricalIndex	DataFrameDatetimeIndexIndex
IndexSlice
MultiIndexPeriodPeriodIndexSeriesSparseDtype	Timedelta	Timestamp
date_rangetimedelta_rangeto_datetimeto_timedelta)	is_scalar)_one_ellipsis_message)"check_indexing_smoketest_or_raisesz series, new_series, expected_serba)FTTFTc                     t        d| i      }||j                  d d df<   t        d|i      }t        j                  |j	                         |       t        j                  |j                         |        y NA)r   loctmassert_frame_equalisnanotna)series
new_seriesexpected_serdfexpecteds        f/var/www/html/diagnosisapp-backend/venv/lib/python3.12/site-packages/pandas/tests/indexing/test_loc.pytest_not_change_nan_locr3   2   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                     t        g ddgt              }|j                  d   J t        g ddgd      }|r%t        j                  |j                  d         sJ y |j                  d   J y )N)12Nr$   columnsdtype)   r$   str)r   objectr(   npisnan)selfusing_infer_stringr0   s      r2   "test_none_values_on_string_columnsz*TestLoc.test_none_values_on_string_columnsC   si    '#fEvvf~%%%'#eD88BFF6N+++66&>)))r4   kindr-   framec                 R    |j                  | d      }t        |ddt               y )N_labelsr(   r=   failsgetfixturevaluer"   KeyErrorrB   rE   requestobjs       r2   test_loc_getitem_intzTestLoc.test_loc_getitem_intN   s)     %%g&67*3qIr4   c                 R    |j                  | d      }t        |ddt               y )N_emptyr(   crI   rK   rN   s       r2   test_loc_getitem_labelzTestLoc.test_loc_getitem_labelT   s(     %%fo6*3s(Kr4   zkey, typs, axesf)intsuintslabelsmixedtsNfloats   )rW   rX   rZ   rY   r[   r   c                 f    |D ],  }|j                  | d|       }t        |d||t               . y N_r(   axesrJ   rK   rB   keytypsrb   rE   rO   typrP   s           r2   #test_loc_getitem_label_out_of_rangez+TestLoc.test_loc_getitem_label_out_of_rangeZ   s@      	C))TF!C5/:C.UCd(	r4   z	key, typsr      r=   )rW   rX   r\   )ri         @r'   c                 d    |D ]+  }|j                  | d|       }t        |d|t               - y )Nr`   r(   rI   rK   )rB   rd   re   rE   rO   rf   rP   s          r2   test_loc_getitem_label_listz#TestLoc.test_loc_getitem_label_listn   s=      	PC))TF!C5/:C.sE3hO	Pr4   empty)r   r=   
   )         ri   ))ri   ro   )ri      )r=      multic                 f    |D ],  }|j                  | d|       }t        |d||t               . y r_   rK   rc   s           r2   (test_loc_getitem_label_list_with_missingz0TestLoc.test_loc_getitem_label_list_with_missing|   s@      	C))TF!C5/:C.UCd(	r4   re   rW   rX   c                 \    |j                  | d|       }t        |dg ddt               y )Nr`   r(   )r]      (   ri   ra   rK   )rB   re   rE   rO   rP   s        r2   !test_loc_getitem_label_list_failsz)TestLoc.test_loc_getitem_label_list_fails   s2     %%av&67*1H	
r4   c                      y N rB   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 )NrS   TFTFr(   rI   )rL   r"   
IndexError)rB   rE   rO   rP   r#   s        r2   test_loc_getitem_boolzTestLoc.test_loc_getitem_bool   s+    %%fo6&*3q
Kr4   zslc, typs, axes, failsro   )rY   rZ   rm   r[   r\   2013010220130104r=      rZ   rr   c                 ^    |D ](  }|j                  | d|       }t        |d|||       * y r_   )rL   r"   )	rB   slcre   rb   rJ   rE   rO   rf   rP   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 )Nr]   r$      col1col2)rn   ri   ri   r;   r   r=   )ri   r   r   ri   )r   r@   aranger(   r)   r*   rB   r0   r1   s      r2    test_setitem_from_duplicate_axisz(TestLoc.test_setitem_from_duplicate_axis   s    #Yc
S#J/V$

 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ri   r=   ro   String 1String 2z2019-06-11 11:00:00z2019-06-11 12:00:00)channelr'   B)dataString 3r'   r   r'   r   )r   r   r   )r   r@   nanr   pdNaTvaluesr(   r+   r)   r*   )rB   r0   df2r1   s       r2   test_column_types_consistentz$TestLoc.test_column_types_consistent   s    $ "&&*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 r|   )r(   
isinstancer   r   r)   assert_equal)rB   rP   rd   express        r2   #test_loc_getitem_single_boolean_argz+TestLoc.test_loc_getitem_single_boolean_arg   s:     ggclcIv./OOC%#::r4   )__name__
__module____qualname__rD   pytestmarkparametrizerQ   rU   rg   rl   rv   rz   r   r   slice	TypeErrorrM   r   r   r   r   r   r   r   r   r}   r4   r2   r6   r6   B   s   	* [[Vh%89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!ej
                  jE                   e#       d12      d3        Z$ej
                  j                  d4g d5      d6        Z%d7 Z&d8 Z'd9 Z(d: Z)d; Z*d< Z+d= Z,d> Z-ej
                  j]                  d?      d@        Z/ej
                  j                  dAdBg e0dCdBdC       ej6                  dBg      g      ej
                  j                  dDdEg ej6                  dEg      g      dF               Z1ej
                  j                  dGd)dHgg dIfdJ e2g dKdLdMejf                  ejf                  gg dKgg dIN      fdOdPdQgfdJdRg e2dOdHejf                  ejf                  gg dSdTdUejf                  ejf                  ggg dIN      fdOg dVf ej6                  g dWej8                  *       e2dOdHejf                  gg dWdTdUejf                  ggg dVN      f e0dOdLdC      g dXfg dWg dYg e2dOdHejf                  ejf                  gg dZg d[gg dIN      f e0dOdLdC      g d\f ej6                  g dWg dYgej8                  *       e2dOdHejf                  ejf                  gg d]g d^gg dIN      f e0dCdCdC      dBdPgf e2dJdRgd_d`gdadbggdBdPgN       e2g dcg ddg degg dVN      fg      df        Z4dg Z5dh Z6di Z7dj Z8dk Z9ej
                  jt                  ej
                  j                  dldmdngdodpgg      dq               Z;dr Z<ds Z=dt Z>du Z?dv Z@dw ZAdx ZBdy ZCdz ZDd{ ZEd| ZFd} ZGd~ ZHd ZId ZJej
                  j                  dg d      ej
                  j                  dej8                  ej                  eLg      d               ZMd ZNd ZOd ZPej
                  j                  dAddg      d        ZQej
                  j                  deRej6                  eSeTg      d        ZUd ZVej
                  j                  dd eSdOg      fd eSdHg      fg      d        ZWd ZXej
                  j                  dd)g df e0dMdR      g dfdLdTgg dfg      d        ZYd ZZd Z[d Z\ej
                  j                  dddgg      d        Z]d Z^ej
                  j                  ddBdBgdB e0dC      fg      d        Z_d Z`d Zad Zbd Zcd Zdej
                  j                  dddg      d        Zed Zfd Zgd Zhd Zid Zjd ZkyC)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*   rB   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   rn   r]   rx   )r'   r   CV1V2r'   r   r   matchN)r   r   	set_indexr   raisesrM   r(   )rB   msgrd   r0   s       r2   ;test_contains_raise_error_if_period_index_is_in_multi_indexzRTestLocBaseIndependent.test_contains_raise_error_if_period_index_is_in_multi_index  s    6 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$   ri   u   אr   )r   r   r   rM   r(   rB   r0   s     r2   $test_loc_getitem_missing_unicode_keyz;TestLocBaseIndependent.test_loc_getitem_missing_unicode_key5  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=   )r]   rs   r]   ABCDErs   r
   )r'   r   r   r'   )r   r@   randomdefault_rngranger(   r)   assert_series_equal)rB   xr0   r1   r   s        r2   test_loc_getitem_dupsz,TestLocBaseIndependent.test_loc_getitem_dups:  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 )
Nri   r=   r   r   20130101r$   r$   r$   r$   r$   r   r   r   r   )r   r   r   r   r)   r   r(   rB   r0   r1   r   s       r2   test_loc_getitem_dups2z-TestLocBaseIndependent.test_loc_getitem_dups2E  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aaaders   float64r<   gq=
ףp?r=   g(\տ)mer   r   bar2r   rr   r          @)r   r   t)
r   listr@   r   r   copyr(   r)   r   r*   )rB   df_origindexerr0   s       r2   test_loc_setitem_dupsz,TestLocBaseIndependent.test_loc_setitem_dupsY  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   ri   ri   )d   r   ,  uint32r   r$   r#   r$   ri   r#   )r      i-  uint64item of incompatible dtyper   )r   r   r(   r)   r*   assert_produces_warningFutureWarning)rB   df1ixnewb1r1   r   newb2s          r2   test_loc_setitem_slicez-TestLocBaseIndependent.test_loc_setitem_slice|  s    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#   rT   r$   r#   rT   float32r   r   )r   r(   astyper@   r   r)   r*   )rB   r0   colsr1   s       r2   test_loc_setitem_dtypez-TestLocBaseIndependent.test_loc_setitem_dtype  s    se3%se4&I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)	Nro   r  r
   not in indexr   r$   dr   )r   r   r   r   rM   )rB   ss     r2   $test_getitem_label_list_with_missingz;TestLocBaseIndependent.test_getitem_label_list_with_missing  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(   )rB   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 r|   r}   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=   ro   ro   r  )erV   gr   r;   z$\"None of \[Index\(\[1, 2\], dtype=''\)\] are in the \[index\]\"r   ri   )
r   r@   r   r   r<   intr   r   rM   r(   rB   r0   r   s      r2   test_loc_to_failz'TestLocBaseIndependent.test_loc_to_fail  s    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   ri   r=   r$   z^-1$r   z&\"None of \[Index\(\[-1, -2\], dtype='r  zE\"None of \[Index\(\['4'\], dtype='object'\)\] are in the \[index\]\"4ro   r  z"\"None of \[Index\(\[-2\], dtype='r   )
r   r?   r(   r   r   rM   r@   r<   r  r   rB   r  r   s      r2   test_loc_to_fail2z(TestLocBaseIndependent.test_loc_to_fail2  s     ac
]]873 	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#   ri   r=   valuer  z!\"None of \[Index\(\[3\], dtype='r  r   ro   )r   r@   r<   r  r   r   rM   r(   r  s      r2   test_loc_to_fail3z(TestLocBaseIndependent.test_loc_to_fail3  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   ro   r  )
r   r(   r@   r<   r  r   r   rM   reescaper#  s      r2   test_loc_getitem_list_with_failz6TestLocBaseIndependent.test_loc_getitem_list_with_fail  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=   )rs   rn   size)alpha_0alpha_1alpha_2beta_0beta_1r
   c                 
    d| v S )Nalphar}   r   s    r2   <lambda>z7TestLocBaseIndependent.test_loc_index.<locals>.<lambda>  s
    gl r4   booleanr   )r   r@   r   r   r   mapr(   r   r)   r*   r   r   )rB   r0   maskr1   r   s        r2   test_loc_indexz%TestLocBaseIndependent.test_loc_index  s     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=   rr   rr   r'   r   r   Dr   r'   r   r   r   ri   r   r$   r#   r   )r   r@   r   r   r(   r   r;   allr   r   r   r)   r   r<   r?   r   s       r2   test_loc_generalz'TestLocBaseIndependent.test_loc_general(  s    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-5rs   r   r   val)r   r   r   r   r@   int64r~   s    r2   frame_for_consistencyz,TestLocBaseIndependent.frame_for_consistency:  s0    "<=eAhbhh7
 	
r4   rF  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   rs   r   r<   r   rE  incompatible dtyper   r   r   r   r   r@   rG  r   r)   r   r   r(   r*   )rB   rH  rF  r1   r0   s        r2   test_loc_setitem_consistencyz3TestLocBaseIndependent.test_loc_setitem_consistencyC  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   rs   r
   r   rE  rK  r   r   rL  rB   rH  r1   r0   s       r2   (test_loc_setitem_consistency_dt64_to_strz?TestLocBaseIndependent.test_loc_setitem_consistency_dt64_to_strU  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      ?rs   r
   r   rE  rK  r   r   rL  rO  s       r2   *test_loc_setitem_consistency_dt64_to_floatzATestLocBaseIndependent.test_loc_setitem_consistency_dt64_to_floatd  s     s%(3eAhbhh7
 #'')''=QR 	$ #BFF1f9	$
b(+	$ 	$rQ  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   20180101rK  r   string)r   r   r   r)   r   r   r(   r*   r   s      r2   'test_loc_setitem_consistency_single_rowz>TestLocBaseIndependent.test_loc_setitem_consistency_single_rowr  s~     	*(='> ?@A''=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   ri   )r   r)   r   r(   r*   r	  r@   rG  rB   r1   r0   s      r2   "test_loc_setitem_consistency_emptyz9TestLocBaseIndependent.test_loc_setitem_consistency_empty{  s     c3Z0Sz*''- 	BFF1c6N	
b(+ Sz*3 ,,RXX6
b(+	 	s   B33B<zTODO(infer_string)reasonc                 >   dgdz  g dg dg}t        j                  |g d      }g dg dg}t        j                  |d	d
g      }ddddt        j                  gg dddddt        j                  gg dg}t	        |||      }t        j                         }|rt        j                  t        d      }|5  t        |j                  d d df         |j                  d d df<   d d d        |5  t        |j                  d d df         |j                  d d df<   d d d        |ry |j                         }|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# 1 sw Y   xY w# 1 sw Y   VxY w)NRegion_1rr   )Site_1ra  Site_2rb  )l   BP[ l   _Z l   q=.Z l   <.Z )RegionSiteRespondentIDnames)
Respondentrh  rh  OtherCatri  )	Something	StartDateEndDatezYes/NoSomethingElseLevel_0Level_1r'   z5/25/2015 10:59z5/25/2015 11:22Yes)r'   z5/21/2015 9:40z5/21/2015 9:52rp  rp  z5/20/2015 8:27z5/20/2015 8:41)r'   z5/20/2015 8:33z5/20/2015 9:09rp  Nor  Invalid valuer   )rh  rk  )rh  rl  )rh  DurationrK  l    Xp7 )g      7@      (@g      ,@g      B@r   )r   from_arraysr@   r   r   
contextlibnullcontextr   r   r   r   r(   infer_objectsr)   r   r   r   r   r   r   )
rB   rC   levelsmiclevelsr
  r   r0   ctxr1   s
             r2   -test_loc_setitem_consistency_slice_column_lenzDTestLocBaseIndependent.test_loc_setitem_consistency_slice_column_len  s)   
 L14<

 ##F2TU OL
 %%gi5KL #%6rvvFC"$4eRVVDB	
 vR6$$&--	AC 	5@q5566BFF1112	  	3>q3344BFF1//0	
  FF1//0ffQ3345 	q,,- ''=QR 	*46FF--5.)5*BFF1001	*
 $BHH;U
 	r"<=xH?	 		 	&	* 	*s$   9.G:1.H1H:HHH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   )rB   r~  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)r~  cachedate_dt
date_dt_cpr=   ro   )r  2017-01-24 13:26:12.711r  )r  2017-01-24 13:52:05.110r  )r  2018-10-22 13:44:05.888r  )r  2018-10-23 08:08:41.025r  )r   r  r  r   )r   	from_dictr   r(   applyr)   r*   )rB   r0   r1   r;   s       r2   test_loc_modify_datetimez/TestLocBaseIndependent.test_loc_modify_datetime  s      Q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ro   rs   rr   r'   r   r;   r<   r   rG  r   rr   ro   rs   r=   ro   ri   rJ  )r   floatr@   r   r(   r   r)   r*   rB   r0   serr1   s       r2   #test_loc_setitem_frame_with_reindexz:TestLocBaseIndependent.test_loc_setitem_frame_with_reindex  s]    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  rW  r   rG  r   r  r  rJ  )	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  rW  rG  r   ro   r   r   )rj   r   rS  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 )Nrs   @rG  r   rr   r
   r'   r   rJ  r   r   )r   r>   r@   r   r   setunionr   r   r(   r   r   r   r?   reindexr)   r*   )rB   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   ri   )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_frame0  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_invalidE  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 )Nri   r=   ro   rr   r$   r#   )ri   r=   r$   r   r   r   r<   r   rs   rp   )r   r(   r   r   r?   r)   r   r*   r   s       r2   #test_loc_setitem_frame_mixed_labelsz:TestLocBaseIndependent.test_loc_setitem_frame_mixed_labelsM  s     Aq6q!fC:>?Aq6	"F%Af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   bazro   r   r   ri   r=   r   )r   r  r  )ri   r=   r=   rC  rD  rs   rE  200001012000010220000103)r   ri   r   ri   r=   rr   )r   r   r   r@   rG  r(   r   r)   r*   r   r   )rB   warn_copy_on_writer0   rhsr1   s        r2    test_loc_setitem_frame_multiplesz7TestLocBaseIndependent.test_loc_setitem_frame_multiples\  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 )Nri   r=   ro   rr   r'   r   r   r   )r   r'   r  )r   r	  r?   r(   r    )rB   r   r&  r0   r   s        r2   "test_loc_setitem_with_scalar_indexz9TestLocBaseIndependent.test_loc_setitem_with_scalar_index  se     AA'#s<CCS&MR"q'z Vs]22]r4   zindex,box,expectedr=   r>  rq   )rq   rq   rq   rq   ro   rr   r   ri   r   r?  r   )ro   rr   rq   r   rs   rp   r   rq   r   	   )r   r   r?  rn         )ro   rq   r   r  )rs   rn   r  r  )r   r'   r?  )r   rr   rq   r  )r  rp   rn   r  r  rn   r  r  )rq   r=   r   )r  rr   rn   )r  rp   r  c                 ~    t        ddgddgddggddg	      }||j                  |<   t        j                  ||       y )
Nri   r=   ro   rr   rs   rp   r'   r   r   r   r(   r)   r*   )rB   r   boxr1   r0   s        r2    test_loc_setitem_missing_columnsz7TestLocBaseIndependent.test_loc_setitem_missing_columns  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   ri   )	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     ri   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=   ro   )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   ri   )r   r  r   r   r?   r)   r   )rB   
indexer_slvalsr1   r  s        r2   test_setitem_new_key_tzz.TestLocBaseIndependent.test_setitem_new_key_tz  s     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ri   r=   ro   rr   rs   rp   )ro   rr   rs   rp   rq   r   r   )r   ri   r   ri   r=   ro   r
   z5'Cannot get left slice bound for non-unique label: 1'r   ri   z5'Cannot get left slice bound for non-unique label: 0'r   r=   axis)r=   rr   rs   rp   )rr   rp   rq   r   )ri   ri   r=   ro   )r=   rr   rs   )rr   rp   rq   )ri   ri   r=   )r   r   r   rM   r(   
sort_indexr)   r*   )rB   r0   r   r   r1   s        r2   test_loc_non_uniquez*TestLocBaseIndependent.test_loc_non_unique  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   Fri   )r   r   concatr   r@   r   r   r  r  r   onesr   	is_uniquer(   taker)   r*   )rB   lengthl2r;   r0   r:  r   r1   s           r2    test_loc_non_unique_memory_errorz7TestLocBaseIndependent.test_loc_non_unique_memory_error  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 )Nri   
index_namer   )r   r   r   r   r(   rB   r0   r   s      r2   test_loc_namez$TestLocBaseIndependent.test_loc_nameA  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)rs   r=   rs   zi-r$   r   r=   r  r   T)check_index_typecheck_column_type)	r   r@   r  r   r   r)   r*   r(   r   )rB   r  r0   s      r2   !test_loc_empty_list_indexer_is_okz8TestLocBaseIndependent.test_loc_empty_list_indexer_is_okK  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   )rr   rr   rr   rr   r=   rn   rr   r   r  r  ro   )r   r(   r@   shares_memory_valuesr)   assert_cow_warningr@  r   r   r  r   )rB   using_copy_on_writer  original_df	sliced_dfr0   original_seriessliced_seriess           r2   &test_identity_slice_returns_new_objectz=TestLocBaseIndependent.test_identity_slice_returns_new_object^  s   
  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 - GH37497r]  ro   r$   r#   r   r=   )r   r   xfailapplymarkerr   zipr   r   r(   r)   r*   r   )rB   rO   r  r   r   rZ  qzs           r2   test_loc_copy_vs_viewz,TestLocBaseIndependent.test_loc_copy_vs_view  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   ri   r=   r
   r   )r@   iinfomaxr   r(   r   r)   r   )rB   umaxr  r   r1   s        r2   test_loc_uint64z&TestLocBaseIndependent.test_loc_uint64  s     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   ri   r=   r
   z-1r   r   )r@   r  r  r   r   r   rM   r(   )rB   r  r  s      r2   !test_loc_uint64_disallow_negativez8TestLocBaseIndependent.test_loc_uint64_disallow_negative  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   rZ  r   rZ  r   )	r   r@   r   r   r  r?   r(   r)   r*   rB   r   r1   r0   s       r2   *test_loc_setitem_empty_append_expands_rowszATestLocBaseIndependent.test_loc_setitem_empty_append_expands_rows  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	  rG  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 )NrS  r  r   rZ  r:   )r   r   )r   r@   r   r  r(   r)   r*   r[  s      r2   *test_loc_setitem_empty_append_single_valuezATestLocBaseIndependent.test_loc_setitem_empty_append_single_value  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)Nri   r=   r   rZ  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@   rG  r<   r  r   r   rM   r(   
ValueError)rB   r   r0   r   s       r2   $test_loc_setitem_empty_append_raisesz;TestLocBaseIndependent.test_loc_setitem_empty_append_raises  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 )Nri   r=   ro   rr   r   r   )r   r(   r@   r   r   r)   r   )rB   r0   r   r  s       r2   test_indexing_zerodim_np_arrayz5TestLocBaseIndependent.test_indexing_zerodim_np_array  sO    AA'($Aq6"
vq)r4   c                 p    t        ddg      }|j                  t        j                  d         }|dk(  sJ y )Nri   r=   r   )r   r(   r@   r   )rB   r  r   s      r2   %test_series_indexing_zerodim_np_arrayz<TestLocBaseIndependent.test_series_indexing_zerodim_np_array  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  rr   i  i  r
   rJ  )rp   rs   rr   ro   r=   ri   r   r   )r   r   r@   r   r(   r)   r   )rB   r   r1   r   s       r2   test_loc_reverse_assignmentz2TestLocBaseIndependent.test_loc_reverse_assignment  s`    !TFQJ.$eD$&78eD$/rzzB#5

4R< 
vx0r4   c                 ^   t        d      D cg c];  }t        t        j                  j	                  d      j                         dz        = }}t        |dg      }t        |dg      }t        j                  ||       |rWt        j                  t        d      5  |D cg c]  }t        |       c}|j                  |j                  df<   d d d        nn|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 # 1 sw Y   YxY wc c}w c c}w )	Nrs   r=   g-q=r'   r   rr  r   r:   )r   r>   r@   r   r   r   r)   r*   r   r   r   r  r(   r   r	  r?   )rB   rC   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  si    MRRSHUqC		--a0779EABUU8cU3Xu5
fh/ y@ MCK0Laq0L

6<<,-M M @H,H!U1X,HFJJv||S() C5FMMfUH!!&(3 *22AuQx2sXuEB
fh/' V 1MM M -I 3s0   A FF$F6FF%F*FF"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  rx   r=   ro   r
   z1/4/2000r   )r   hourminuter   r@   r   r   r  r  r)   get_objr(   r   r   r   
_with_freq)	rB   frame_or_seriesrngr:  rP   r   r   chunkr1   s	            r2   test_loc_getitem_time_objectz3TestLocBaseIndependent.test_loc_getitem_time_object  s   Zf=A#**"23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)rs   rq   r   r=   r   )
fill_value)r   importorskipgetattrr@   eyer   sparsefrom_spmatrixr   r(   r   toarrayr)   assert_numpy_array_equalr  fullr   )rB   r8  r<   	sp_sparserowsr
  spmatrixr0   itr_idxr   r1   s              r2   $test_loc_getitem_range_from_spmatrixz;TestLocBaseIndependent.test_loc_getitem_range_from_spmatrix2  s     ''7	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   rG  r   ri   )r   r   r   r   r(   r)   r*   r  s      r2   ,test_loc_getitem_listlike_all_retains_sparsezCTestLocBaseIndependent.test_loc_getitem_listlike_all_retains_sparseK  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 )
Nr=  rs   r=   rS  r  r  r  r  )r  rS  r  r  r  r   r  r   ri   )r   r?  r   rB  rC  rA  r(   r   r   r)   r*   )rB   rG  r0   r   r1   s        r2   test_loc_getitem_sparse_framez4TestLocBaseIndependent.test_loc_getitem_sparse_frameP  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 )NrO  r   r  r   r=   rS  ro   )r   r   r(   r   r)   r   )rB   r  r   r1   s       r2   test_loc_getitem_sparse_seriesz5TestLocBaseIndependent.test_loc_getitem_sparse_seriesb  s    ,K	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)rS  r        ?)r  r   r  r   r   )r<   r   )r   r   r  r@  r   r)   r   )rB   r   r0   r   r1   s        r2   !test_getitem_single_row_sparse_dfz8TestLocBaseIndependent.test_getitem_single_row_sparse_dfn  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*   )rB   float_framerV  idxr   r1   s         r2   test_loc_getitem_iterablez0TestLocBaseIndependent.test_loc_getitem_iterablev  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-  0srn   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_0seconds}  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 )Nri   r=   rc  rd  r
   )r   r(   r   r)   r   )rB   rF  r1   r0   r   s        r2   test_loc_getitem_uint64_scalarz5TestLocBaseIndependent.test_loc_getitem_uint64_scalar  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         ?ri   r   r
   zoori   r=   )r   r   r   r(   r   r)   r   )rB   float_numpy_dtyper<   r  r1   s        r2   +test_loc_setitem_int_label_with_float_indexzBTestLocBaseIndependent.test_loc_setitem_int_label_with_float_index  sP    !_E+U,KL88:
 a
sH-r4   zindexer, expected)
r]   ri   r=   ro   rr   rs   rp   rq   r   r  )
r   ri   r=   ro   r]   r]   r]   r]   r   r  )
r   ri   r=   r]   rr   r]   rp   rq   r   r  c                     t        t        d      d      }t        dt        d      id|      }d|j                  |j                  |   df<   t        ||dgd      }t        j                  ||       y )	Nrn   r  r~  r   rG  r<   r   r]   r  )r   r   r   r(   r   r)   r*   )rB   r   r1   tdir0   s        r2   /test_loc_setitem_listlike_with_timedelta64indexzFTestLocBaseIndependent.test_loc_setitem_listlike_with_timedelta64index  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ri   ri   ri   ri   ri   aaaaar   )ri   r#   r#   ri   ri   aabbar   r   r#   r$   
categoriesri   r=   ro   )r   r   r)   r   r   r   r(   r*   )rB   r0   r   s      r2   8test_loc_setitem_categorical_values_partial_column_slicezOTestLocBaseIndependent.test_loc_setitem_categorical_values_partial_column_slice  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Numericry  r  ru  r   r>   r   )	r   r   r(   r   r   r	  r?   r)   r   )rB   rC   r0   rv  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,F%
 	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)NrT   z
2010-10-01ro   z
2008-08-08r   ri   )r   rT   )ri   rT   rK  r   i  rs   )r=   rT   z
2005-05-05)	r   r   r@   r  r(   r)   r   r   r   r   s     r2   "test_loc_setitem_datetime_coercionz9TestLocBaseIndependent.test_loc_setitem_datetime_coercion  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-12ro   r  )r^  r_  r/  tzr  r  r  r  rK  r   )	r   r   r@   r   r)   r   r   r(   r*   )rB   r~  tz_naive_fixturer  rY  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=   rs   r
   r  r         )   H   x      )         J   K   L   z   {   |            )r   r   r@   r   r   r  r  r   r   r   r(   r	  r  r)   r*   r   )
rB   using_array_managerr   r0   akeybkeyaindsbindsr   r1   s
             r2   test_loc_setitem_time_keyz0TestLocBaseIndependent.test_loc_setitem_time_key  s   <GD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   rd   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'   rr   )r   3)r'   r9   r   rr   rs   rp   r   r=   r=   rG  r   )r   r=   r   )r   rs   r   ri   r  )
r   from_tuplesr   r   r@   zerosr(   r)   r*   r  )rB   rd   rz  r0   rP   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   rr   r   )rr   r=   ro   r   r(   r)   r   )rB   any_int_numpy_dtyper-   r1   s       r2   test_loc_setitem_uint_dropz1TestLocBaseIndependent.test_loc_setitem_uint_drop%  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 )Nrn   r  r]   r   )r   r@   timedelta64r(   r   r)   r   )rB   r  r1   s      r2   test_loc_setitem_td64_non_nanoz5TestLocBaseIndependent.test_loc_setitem_td64_non_nano-  s    R2>>"c2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(   )rB   r   r  r   s       r2    test_loc_setitem_2d_to_1d_raisesz7TestLocBaseIndependent.test_loc_setitem_2d_to_1d_raises5  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   ro   )r^  r_  r   r  r  r   r  ri   )rh  r'   )r   interval_ranger   r(   r)   assert_almost_equal)rB   r   r0   r1   r   s        r2   test_loc_getitem_interval_indexz6TestLocBaseIndependent.test_loc_getitem_interval_indexA  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   ro   both)r^  r_  closedr   r  r  r   r  r=   ri   )r^  r_  r/  r  rr   r'   r   ri   r'   )r   r  r   r   r(   r)   r   )rB   r   r0   	index_expr1   r   s         r2    test_loc_getitem_interval_index2z7TestLocBaseIndependent.test_loc_getitem_interval_index2L  su    !!1VD	9-UO
 %%AqqP	1a&	<
vx0r4   tplri   ri   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*   )rB   r  rY  r0   r   r1   s         r2   +test_loc_getitem_index_single_double_tupleszBTestLocBaseIndependent.test_loc_getitem_index_single_double_tuplesX  s`     6N

 S!SE59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  )ro   rr   r'   r   r  ri   )r   r   r   r(   )rB   r  idx1idx2r   r0   r   s          r2   !test_loc_getitem_index_namedtuplez8TestLocBaseIndependent.test_loc_getitem_index_namedtupleg  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=   rs   ro   )r$   r#   rT   r  r  r  r  quxr>   r   )r   r@   r   r   r  r   r(   r   r   r?   r   r)   r  )rB   rC   r0   r1   s       r2   $test_loc_setitem_single_column_mixedz;TestLocBaseIndependent.test_loc_setitem_single_column_mixedq  s    II!!!$44V<+)

 5	')vvrxx!}e#$VVUBFFE2662 2&
 & 	 	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=   )rx   ro   ABCr   eventr   r   r   )rn   r  r   ro   r?   )r'   r   r   r  r
   )r   r@   r   r   tupler   r)   r   r   r(   r  r   r<   r   r   s       r2   test_loc_setitem_cast2z-TestLocBaseIndependent.test_loc_setitem_cast2  s     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onerp   r   )ri   r  rq   )r   r@   r   int8r(   r  r  r<   r   s     r2   test_loc_setitem_cast3z-TestLocBaseIndependent.test_loc_setitem_cast3  s    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 )Nrs   )ro   rr   ri   r   r=   r
   )r  rn   r  r=   r  rn   r  ro   )r   ri   rn   r  r  )r   ndimr(   r   r)   r   )rB   r4  rP   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 )	Nrr  r   r   r=   ri   ru  r$   )ri   r=   r=   ri   ri   r   r   r(   r)   r*   r   s      r2   .test_loc_setitem_numpy_frame_categorical_valuezETestLocBaseIndependent.test_loc_setitem_numpy_frame_categorical_value  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+  r;  rA  fixturerH  r@   r   rG  rM  rP  rT  rX  r\  r  r	   r}  r  r  r  r  r  r  r  r  r  filterwarningsr  r   r  r   r   r  r  r  r  r  r  arm_slowr  r  r  r  r  r  r  r  r  r  r!  r#  r%  r'  r*  r7  r   complexrK  rM  rP  rR  rU  iterr   r   rZ  ra  rf  rk  rp  rw  r{  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r}   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,	,,,,," [[)+4HI;I J;Iz [[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00*, [[\+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 r|   )param)rB   rO   s     r2   r   zTestLocWithEllipsis.indexer  s     }}r4   c                 :    |}|t         ur|j                         }|S r|   )r   to_frame)rB   series_with_simple_indexr4  rP   s       r2   rP   zTestLocWithEllipsis.obj  s    &&(,,.C
r4   c                 F     ||      d   }t        j                  ||       y )N.)r)   r   )rB   rP   r   r   s       r2   test_loc_iloc_getitem_ellipsisz2TestLocWithEllipsis.test_loc_iloc_getitem_ellipsis  s    c"
$r4   3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                    |}|t         j                  u st        |      dk(  rdn|j                  d   }|t         j                  u r|j                  j
                  dk(  r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   r8  z2MultiIndex does not support indexing with Ellipsisr   .)r)   r   r  r   r(   inferred_typer   r   r   r   NotImplementedErrorr   r   r  r*   )
rB   r  r   rP   rd   r   r   r1   key2r0   s
             r2   &test_loc_iloc_getitem_leading_ellipsesz:TestLocWithEllipsis.test_loc_iloc_getitem_leading_ellipses  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!   )rB   rP   r   rd   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   rP   r  r   r  r  r  r}   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$   )ri   r=   ri   r=   )r$   r$   r#   r#   ri   r=   )r=   ri   r=   ri   rT   )rT   r$   r$   )ri   r=   ri   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)rT   r$   r$   r#   r#   )ri   ri   r=   ri   r=      rs   r   r;   )r   r@   r   reshaper   ru  r(   r)   assert_index_equalr   r;   )rB   r  keysr1   kwargsr0   	exp_indexr   s           r2   'test_loc_getitem_multilevel_index_orderz=TestLocWithMultiIndex.test_loc_getitem_multilevel_index_order  s      1?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'   ri   )r  r=   r=   )r(   r   rg  r   )rB   /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   ri   r
   )r   from_productr   r(   r)   r   r   )rB   rz  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_brn  )r  r	  ri   )r   r   ru  r(   r  r  r?   )rB   r  r   midxs       r2   0test_loc_getitem_access_none_value_in_multiindexzFTestLocWithMultiIndex.test_loc_getitem_access_none_value_in_multiindex  s     dVZ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secondrf  )ri   ri   ri   ri   ri   ri   ri   ri   r
   r   )r  r  )r   r  )ri   ri   r   r   r   r   ri   ri   )r   r  r
  r   r(   r)   r   )rB   r   r   r1   s       r2   !test_loc_setitem_multiindex_slicez7TestLocWithMultiIndex.test_loc_setitem_multiindex_slice0  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 )NrC  10minr  r/  r_  il  ri   i4  )r   r   r   r(   r   r)   r   )rB   timesr  r   s       r2   7test_loc_getitem_slice_datetime_objs_with_datetimeindexzMTestLocWithMultiIndex.test_loc_getitem_slice_datetime_objs_with_datetimeindexB  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 )Nrn   r   z
2010-01-01z
2010-01-10r
   z
2010-01-05r$   r#   r   rr   )r   r   r   r(   r   r)   r*   r   s       r2   3test_loc_getitem_datetime_string_with_datetimeindexzITestLocWithMultiIndex.test_loc_getitem_datetime_string_with_datetimeindexH  s}    )%),\<8
 |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   rf  rS  ri   r   r=   rj   ro         @rr         @rs         @rp   r   r?  r  r   )level)r   ri   rr   r   r  )r   r  r   r  r  r(   r)   r*   )rB   rz  r0   r1   r   s        r2   3test_loc_getitem_sorted_index_level_with_duplicateszITestLocWithMultiIndex.test_loc_getitem_sorted_index_level_with_duplicatesU  s    ## *

 aaaaaa #J
 ]]]#1XQx#q*S#JbggiFX
 '
fh/r4   c                     t        g dd      }d|j                  d<   t        g dd      }t        j                  ||       y )Nr  categoryr   r   ro   )r$   r#   rT   r   r?   r  rB   r   r1   s      r2   1test_additional_element_to_categorical_series_loczGTestLocWithMultiIndex.test_additional_element_to_categorical_series_locw  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$   ro   r$   r#   rT   r$   r  r%  s      r2   'test_additional_categorical_element_locz=TestLocWithMultiIndex.test_additional_categorical_element_loc~  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   ro   ri   r=   )r   r   r   r@   r   r(   r)   r   )rB   any_numeric_ea_dtypesrsr1   s       r2   &test_loc_set_nan_in_categorical_seriesz<TestLocWithMultiIndex.test_loc_set_nan_in_categorical_series  s    "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   ro   r(  r$   r#   rT   r  )rB   r.  srs_enlargesrs_setintor1   s        r2   ,test_loc_consistency_series_enlarge_set_intozBTestLocWithMultiIndex.test_loc_consistency_series_enlarge_set_into  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#   rn   r   rs   ri   Index1Index2)ry  codesrg  )r   r   Fr$  )rv  orderedr   r<   )r   r@   r   r   r   r   r   ry  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_valuerx   rn   c                     t        dg dit        d      g dg      }t        j                  t        d      5  |j
                  |d   |k  d d f   j
                  dgd d f    d d d        y # 1 sw Y   y xY w)	Nr$   )r     "   -   aabbr   ri   r=   ro   r
   z\['b'\] not in indexr   r#   )r   r   r   r   rM   r(   )rB   r:  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   ri   r
   )	r@   r   r   r   ru  r   r(   r)   r   )rB   lev1lev2rz  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xyri   r=   )rG  rH  numrf  r   r
   r$   r   rr   )
r   r  r   r   r   r(   r   	droplevelr)   r  )rB   rz  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   r2  r9  rA  rE  rL  r}   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   rG  r   ri   )contextsetattrlibindexr   r   r(   r)   r*   )rB   monkeypatchsize_cutoffr   r1   s        r2   /test_loc_setitem_with_expansion_large_dataframezKTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_large_dataframe  s      " 	2.+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   ri   r
   ro   r   r?   r(   r)   r   rB   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   rS  ri   r
   rj   ro   rZ  r[  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   ri   r   r
   ro   r   rr   )ri   ro   rr   )r   r   ro   )r   r?   r(   r)   r   r   r[  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  ri   
US/Pacific)tzinfo   r  )secondsr   r
   )r   r   r   r   r   r(   r)   r   )rB   baser  idxsr   r[   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 r|   r}   r6  s    r2   r7  z$TestLocSetitemWithExpansion.<lambda>  s    a r4   c                 "    | j                         S r|   )to_datetime64r6  s    r2   r7  z$TestLocSetitemWithExpansion.<lambda>      aoo' r4   c                 "    | j                         S r|   )to_pydatetimer6  s    r2   r7  z$TestLocSetitemWithExpansion.<lambda>  rm  r4   c                 ,    t        j                  |       S r|   )r@   r  r6  s    r2   r7  z$TestLocSetitemWithExpansion.<lambda>  s    bmmA& r4   )rB   rl  ro  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*   )rB   ri  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'   ri   r#   )r8  r   r   r  )rB   r8  r   r1   s       r2   1test_loc_setitem_categorical_column_retains_dtypezMTestLocSetitemWithExpansion.test_loc_setitem_categorical_column_retains_dtype2  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leftr  )	inclusiver/  r&  r  r  r  )r   r   r   r(   r@   r   r  appendr   r?   r)   r*   )rB   r^  endr[   rY  r   r1   s          r2   0test_loc_setitem_with_expansion_and_existing_dstzLTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_and_existing_dst9  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  rb  r   )ri   r   r   1s)r   r   r   r   r  r   r  
tz_convertr   r(   r   r)   r   r   )rB   r0   vr   r1   s        r2   test_setitem_with_expansionz7TestLocSetitemWithExpansion.test_setitem_with_expansionK  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 )Nri   r  r=   )ri   ri   ro   r   r   )	r   r(   r@   infr;   r   r   r)   r  r   s       r2   0test_loc_setitem_with_expansion_inf_upcast_emptyzLTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_inf_upcast_emptya  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   ri   r   ri   r
   )r  r   skiprepeatr@   r   r	  rG  r   insertr   r   r   r   r(   r)   r*   r   r   r   r  )rB   r   Narrorigrd   r  exp_datar1   r0   r  s              r2   /test_loc_setitem_with_expansion_nonunique_indexzKTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_nonunique_indexl  s    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  )rB   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'   rs   
2016-01-01ro   rb  r_  r  rh   r   r   r   )r   r   r   r(   r|  r   r   r   r<   r  r)   r*   )rB   r0   rF  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   rX  r\  r^  r`  rh  r   r   r   ru  rw  r~  r  r  r  r  r  r  r}   r4   r2   rO  rO    s    0BF
 1 [[''&		
 H  	,	,00$G,	0 [[ DE+, F+,Z [[MCC,r4   rO  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ri   r=   ro   rr   r?  r   c                      | j                   dkD  S Nr=   r'   r6  s    r2   r7  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>      qssQw r4   r=   c                      | j                   dk(  S )Nr#   )r   r6  s    r2   r7  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    qsscz r4   r#   c                      | j                   dkD  S r  r  r6  s    r2   r7  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r4   c                      | j                   dk(  S Nr   r   r6  s    r2   r7  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    !))s2B r4   )FTFc                      | j                   dkD  S r  r  r6  s    r2   r7  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r4   c                      yr  r}   r6  s    r2   r7  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>      r4   r   c                      | j                   dkD  S r  r  r6  s    r2   r7  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r4   c                 
    ddgS Nr'   r   r}   r6  s    r2   r7  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s
    3* r4   r'   c                      | j                   dk(  S r  r  r6  s    r2   r7  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    qssax r4   c                 
    ddgS r  r}   r6  s    r2   r7  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s
    C: r4   c                      y)Nri   r}   r6  s    r2   r7  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r4   c                      yr&   r}   r6  s    r2   r7  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r4   r  )r   r   r(   r)   r*   r'   r   r   rB   r0   r   s      r2   test_frame_loc_getitem_callablez/TestLocCallable.test_frame_loc_getitem_callable  s   \V<P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  r6  s    r2   r7  zITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>  r  r4   r'   r   r=   ro   c                 
    ddgS r  r}   r6  s    r2   r7  zITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>  s
    Sz r4   c                 
    ddgS r  r}   r6  s    r2   r7  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?  Xr  r  r
   c                 
    ddgS Nr'   r   r}   r6  s    r2   r7  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  
    Sz r4   r'   r   c                 
    ddgS r  r}   r6  s    r2   r7  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   c                 
    ddgS r  r}   r6  s    r2   r7  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   c                      yNr  r}   r6  s    r2   r7  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   r  c                 
    ddgS r  r}   r6  s    r2   r7  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   c                     dgS r  r}   r6  s    r2   r7  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  s    cU r4   c                      yr  r}   r6  s    r2   r7  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   c                     dgS r  r}   r6  s    r2   r7  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  s    C5 r4   c                 
    ddgS r  r}   r6  s    r2   r7  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r4   c                 
    ddgS r  r}   r6  s    r2   r7  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  r}   r6  s    r2   r7  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>
	  
    3* r4   r'   r   r]   c                 
    ddgS r  r}   r6  s    r2   r7  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  r  r4   r   c                 
    ddgS r  r}   r6  s    r2   r7  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  r  r4   c                      yr  r}   r6  s    r2   r7  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  r  r4   r  rs   rn   c                 
    ddgS r  r}   r6  s    r2   r7  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  r  r4   c                     dgS r  r}   r6  s    r2   r7  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  s     r4   r!  c                      yr  r}   r6  s    r2   r7  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>#	  r  r4   c                     dgS r  r}   r6  s    r2   r7  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>)	  s    se r4   c                 
    ddgS r  r}   r6  s    r2   r7  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>/	  r  r4   c                 
    ddgS r  r}   r6  s    r2   r7  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>5	  r  r4   )
r   r   r   r?   r   r(   r)   r*   r@   r   )rB   r0   r   r   s       r2   test_frame_loc_setitem_callablez/TestLocCallable.test_frame_loc_setitem_callable	  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  r}   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$   rT   ri   ro   r  r  z2020-08)r   r   r(   r)   r*   r   s       r2   5test_loc_getitem_partial_string_slicing_datetimeindexzNTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_datetimeindex<	  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-01r  r^  r}  r/  z2017-12r   )r   period_range	to_seriesr(   r   r)   r   )rB   pir  r   r1   s        r2   8test_loc_getitem_partial_string_slicing_with_periodindexzQTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_with_periodindexI	  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   )rB   r   r  r   r1   s        r2   ;test_loc_getitem_partial_string_slicing_with_timedeltaindexzTTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_with_timedeltaindexQ	  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   ro   daysrm  r
   r   0 days)r   r   r   r   r(   r)   r   )rB   r0   r1   sliceds       r2   #test_loc_getitem_str_timedeltaindexz<TestPartialStringSlicing.test_loc_getitem_str_timedeltaindexY	  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 )Nri   rs   z
2019-12-30z
2020-01-01z
2019-12-25r  z
2019-12-19ry  r
   r=   )r   r   r   r)   r   r(   )rB   tz_aware_fixturer  r4  rP   r1   r   r   s           r2   /test_loc_getitem_partial_slice_non_monotonicityzHTestPartialStringSlicing.test_loc_getitem_partial_slice_non_monotonicity`	  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  r}   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  ri   rn   r   r
   r  )ri   r=   r=   ro   rr   rr   r  z20010101 11)r   r@   r   r   r(   r)   r*   r   )rB   r  	df_uniquedf_dupsr0   r   r1   s          r2   (test_loc_getitem_slicing_datetimes_framez9TestLabelSlicing.test_loc_getitem_slicing_datetimes_frame	  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/Berlinrs   z30 min)r  r_  r/  )r   ri   r=   ro   rr   r
   z2017-10-29 02:30:00+02:00ry  z2017-10-29 02:00:00+01:00r=   ro   rr   )r   r   r   r(   r)   r   )rB   rY  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  r  r  r  r  r  c                     |j                         }|j                  d |d    }|j                  d d }t        j                  ||       y )Nr!  r   )r  r(   r   r)   r   )rB   r   r  r   r1   s        r2   -test_loc_getitem_label_slice_period_timedeltaz>TestLabelSlicing.test_loc_getitem_label_slice_period_timedelta	  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=   ro   r=   r
   g3333c|@g    |@g3333|@g|@ro   )r   r@   r   r   r(   r  )rB   r   r0   s1s       r2   %test_loc_getitem_slice_floats_inexactz6TestLabelSlicing.test_loc_getitem_slice_floats_inexact	  s    :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=   rn   r]   r   r
   rt  r   g      )@rq   gffffff(@)r   r@   r   r   r   r  r(   r   )rB   rj  r<   r  rY  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  ri   r?  rp   rq   rr   rs   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   )rB   r^  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   r^  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   rM   r(   )rB   r4  r^  rP   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&  rT  c                      |t        d      |dddg      }|j                  |d } |t        d      |dddg      }t        j                  ||       y )Nrr   r  r=   thirdr
   )r   r(   r)   r   )rB   r4  r&  rP   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 )	Nri   r=   ro   )testri   r=   r   r
   r   )r   r   r;   )r   r   r?   r)   r*   r(   r   s      r2   *test_loc_getitem_slice_columns_mixed_dtypez;TestLabelSlicing.test_loc_getitem_slice_columns_mixed_dtype 
  s[    aA.qc:a&!eQF&.I
 	bffQUmX6r4   )r   r   r   r  r  r   r   r   r   r  r   r  r  r  r@   r  r   r  r  r  r   r}   r4   r2   r  r  	  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 indexr8  r?   rJ  r   )r  r   r   rM   r(   )rB   r   r4  r#  messagerP   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 )NTFr8  r   r?   rJ  )r   r(   )rB   r4  r#  rP   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?   rJ  r   TF)r   r   r   r(   )rB   r   r4  r%  rP   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*  r}   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   rn   r  rm  ro   )
r   ri   r=   ro   rn   rn   rn   rn   rn   rn   )
r   ri   r=   rn   rr   rs   rp   rq   r   r  )
rn   rn   rn   ro   rr   rs   rp   rq   r   r  rG  r  )	r   r   r   r   r
  r   r(   r)   r*   )rB   r0   
conditionsexpected_datacondr   r   r1   s           r2   )test_loc_setitem_bool_mask_timedeltaindexz<TestLocBooleanMask.test_loc_setitem_bool_mask_timedeltaindex'
  s    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   20010101rr   r  r$   r
   r   )
r@   r   r   r   r   r	  r   r(   r)   r*   )rB   r  r:  rY  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   ro   r=   ABr,  r  )r_  r/  r   r   r   ri   )r   r@   r   r  r   r   r   r   r   r   r'   r(   r)   r*   )rB   r0   r1   r:  s       r2   2test_loc_setitem_mask_and_label_with_datetimeindexzETestLocBooleanMask.test_loc_setitem_mask_and_label_with_datetimeindexN
  s     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colri   TF)	r   r   r   r   r   _valuer(   r)   r*   )rB   td1td2r0   df_copyr  r1   r   s           r2   'test_loc_setitem_mask_td64_series_valuez:TestLocBooleanMask.test_loc_setitem_mask_td64_series_value]
  s    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   ri   r  )r   r(   r   r   r   r;   r)   r*   )rB   rX  r1   r:  r   s        r2   #test_loc_setitem_boolean_and_columnz6TestLocBooleanMask.test_loc_setitem_boolean_and_columnl
  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=   ri   r   r
   )FFT)ri   r=   rn   r  )r   r(   r)   r*   r   r   r   )rB   r  r  r0   r1   r   r  s          r2   )test_loc_setitem_ndframe_values_alignmentz<TestLocBooleanMask.test_loc_setitem_ndframe_values_alignmentx
  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   rZ  r   r   r#   Fr$   rD  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   rZ  r   r   r#   Tr$   rD  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   r1  r   r   r   r4  r7  r>  tdskip_array_manager_invalid_testr@  rB  rF  rH  rJ  r}   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 r|   r}   r6  s    r2   r7  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   ro   r
   r   ri   r  r   )r   r@   r   r   r   r(   r)   r   r  r*   r   r   rM   )rB   r  cir  r   ser2ci2r   s           r2   8test_loc_getitem_list_of_labels_categoricalindex_with_nazHTestLocListlike.test_loc_getitem_list_of_labels_categoricalindex_with_na
  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-02rV  z
2001-01-14r  r   )r=   rs   r   r  z
2001-01-01r?  rr   r  r  r   )r@   r   r   r   r   r   rM   r(   )rB   rd   r  s      r2   1test_loc_getitem_series_label_list_missing_valueszATestLocListlike.test_loc_getitem_series_label_list_missing_values
  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   rM   r(   r[  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?  rY  )r/  r   皙?皙?r  r   T)r  )r_  r_  r^  )r   r<   
2011-01-03r  r   )r   r[  r   r   r(   r   r3  r)   r   r   r<   r   r   rM   )rB   r[  rY  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 )Nri   r=   rr   rs   rq   r   )cobraviper
sidewinder	max_speedshieldr  r   rc  rd  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   rT  rW  rZ  ra  rh  r}   r4   r2   rN  rN  
  sk    [[U["**d$CD* E*6E [[[4-8' 9'R
0r4   rN  z%columns, column_key, expected_columns)  r  i  rj  r  ri   )rj  r  Allrk  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_labelsro    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   rr   rh  r   ri   )r  rS  r   rj   rh  r   )r@   r   r   r  r   r   r(   hstackr   r  r)   r*   )	rand_datar   r/  r1   s       r2   test_loc_setitem_float_intindexrs  '  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   )rq   r   r  rn   )rn   r   
ABCDEFGHIJr  ri   r  ru  r  r   r   r  )rw  )ru  rn   )r   rq   rx  )	r   r@   r  r  r   r  r(   r)   r*   )yrr  r
  r0   r   r1   s         r2   test_loc_axis_1_slicerz  5  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_multiindexr|  F  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=   ri   r   r   r   )r   r   r   r?   r(   )r  r   s     r2   test_loc_mixed_int_floatr~  P  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)Nrr   r>  r
   $Slicing a positional slice with .locr   r=   ro   )r   r   r   r   r   r(   )r  s    r2   %test_loc_with_positional_slice_raisesr  X  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  ro   r_  r=   r
  r
   r   zOcannot do slice indexing on DatetimeIndex with these indexers \[1\] of type intr   ri   r  )	r   r   r@   r   r   r   r   r   r(   )dtir0   r  r   rP   s        r2   #test_loc_slice_disallows_positionalr  `  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  2012r  rs   r  r   )r   r=   r=   ro   z/None of \[TimedeltaIndex.* are in the \[index\]r   r$   )r   r@   r   r   r  r   r   r   r   r   TimedeltaIndexasi8r   r   rM   r(   )r0   r  ro  r   s       r2   'test_loc_datetimelike_mismatched_dtypesr  |  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-12r  r.  r=   )r  rn   r
   r   rs   )r   r  r   r@   r   r   r  r)   r*   r(   r   r   )rY  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   rp   r,  r   r  )r'   r   r   r?  EFr  ri   r   r   )r@   r   r   r  r   r   r   r(   r   r)   r*   )r  rY  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  )ri   r   r   ri   )r   rZ  r  rf  rp   rs   r  rh   )r!  r  )
r   r  r   r   r(   r   r)   r*   xsr   )rC  rD  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  )rs   rp   rq   r   ri   r=   r  r  )r   r;   r<   rT   rs   r  )r   r@   r   r   Tr   r   r<   r(   r   r;   r)   r   r	  r?   )r0   r   r   r1   s       r2   /test_loc_getitem_nullable_index_with_duplicatesr    s    	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)ri   r=   r   rr   )
r   r)   r   r   r(   r   r   r@   r  r*   )r&  r0   r<   r1   s       r2   test_loc_setitem_uint8_upcastr    s     
<&	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/Easternry  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<   )rn   r  r  r  r$   r   r  )
2022-01-08r$   r  r   T)exact)	r   r   r  r   r(   r|  r)   r  r   )fill_val	exp_dtyper   r   r0   expected_indexs         r2   0test_loc_setitem_using_datetimelike_str_as_indexr    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abcrs   r   r$   r#   rT   )r   ri   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   rS  )r'   r   r   )r  Qrj   )Wr  r  )ONETWOVALUESr  r  r  T)r|  r  r   r'   rS  )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)stringsrq  r  r  r  )r  r  r   )r   r?  r   r   r(   rq  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)TestLocSeriesrb  )rc  ro   )rd  rr   c                 H    t        ddd      }|j                  |   |k(  sJ y )Nro   rr   )rc  rd  )r   r(   )rB   rF  r1   r  s       r2   r  zTestLocSeries.test_loc_uint644  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ro   rr   rq   rs   r=      )r   r)   r   r(   r  r   truncatemedian)	rB   string_seriesdatetime_seriesindsd1d2r   r1   r:  s	            r2   test_loc_getitemzTestLocSeries.test_loc_getitem:  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)Nrs   r  r=   )ri   r=   r   z"Timestamp\('2000-01-10 00:00:00'\)r   r   )r   r   r   r   rM   r(   )rB   r  r  r  ts2r   s         r2   test_loc_getitem_not_monotonicz,TestLocSeries.test_loc_getitem_not_monotonicM  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=   rn   r   r]   r
   rr   ro   r  rp   )rr   rp   r   rn   rs   r  r   z^3$r   )r   r@   r   r   r  r   r   r   r   r@  r   r(   r  r)   r   r   r   rM   )rB   r  cpr   r   r1   s2s          r2   0test_loc_getitem_setitem_integer_slice_keyerrorsz>TestLocSeries.test_loc_getitem_setitem_integer_slice_keyerrorsX  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 )Nrn   )r  r   r(   r)   r   )rB   r  rY  r   s       r2   test_loc_getitem_iteratorz'TestLocSeries.test_loc_getitem_iteratoru  s@    =&&s+,""3'
v}Sb'9:r4   c                     ||j                         kD  }|j                         }d|j                  |<   |}d||<   t        j                  ||       y )Nr   )r  r   r(   r)   r   )rB   r  r:  r   r1   s        r2   test_loc_setitem_booleanz&TestLocSeries.test_loc_setitem_booleanz  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)rs   r   r  rs   z\['foo'\] not in indexr   r   )r   r   r(   r   r   rM   )rB   r  r  r   s       r2   test_loc_setitem_cornerz%TestLocSeries.test_loc_setitem_corner  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)rs   rn   r  r   r=   )r   r   r(   r)   r   )rB   r  indicesr  r   s        r2   test_basic_setitem_with_labelsz,TestLocSeries.test_basic_setitem_with_labels  s    !''4!!#""$7
r3'!!#""$&'71:
#+,
WQZ(
r3'r4   c           
      
   t        t        j                  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=   rn   r   r]   r
   )r   rr   rp   r   rr   rs   rp   z\[5\] not in indexr   )r   r@   r   r   r  r   r   r   r   r(   r)   r   r   r   rM   	Exception)	rB   r  r  arr_indsr  r   inds_notfoundarr_inds_notfoundr   s	            r2   !test_loc_setitem_listlike_of_intsz/TestLocSeries.test_loc_setitem_listlike_of_ints  s@   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 )Nr]  ro   r  r  r  r
   r`  ry  r$   r   )r   r   r   r   r(   r   )rB   r  r  r1   r   s        r2   test_loc_setitem_dt64tz_valuesz,TestLocSeries.test_loc_setitem_dt64tz_values  s    |Q<@!
 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   abcderJ  r$   )r   r   r?   r(   r)   r   r   )rB   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  )   r4  r<  rY  r  r   ri   )r   r   r  r   r   r   r(   )rB   r   r  r   s       r2   +test_loc_series_getitem_too_many_dimensionsz9TestLocSeries.test_loc_series_getitem_too_many_dimensions  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  rs   rn   r  rp   rd  rr   )r   r   r(   r   r)   r   )rB   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?   rW  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  )rB   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   rp   r  rm  r   )r   r&  ri   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 )Nri   r=   r$   r  rp   rq   r#   rT   r?   r   r  r
   )r   r(   r   r@   r   r)   r*   r   s      r2   3test_loc_set_multiple_items_in_multiple_new_columnszATestLocSeries.test_loc_set_multiple_items_in_multiple_new_columns  s    aVcU3!"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   2000r]   r   r]  r
   z
2000-01-14r  )r)   r   r   r   r  r   r   r(   )rB   r   r   r-   s       r2    test_getitem_loc_str_periodindexz.TestLocSeries.test_getitem_loc_str_periodindex*  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   rF  r
   stable)rE   )r   r   r   r   r@   r   r  intpr(   argsortr	  r   r  r)   r*   )rB   rq  r   r0   r   r1   s         r2   test_loc_nonunique_masked_indexz-TestLocSeries.test_loc_nonunique_masked_index2  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  rK  rL  r  r  r  r  r}   r4   r2   r  r  3  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   rv  r   r   r   r   r)  dateutil.tzr   numpyr@   r   pandas._configr	   pandas._libsr   rU  pandas.compat.numpyr   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorsrK  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  rO  r  r  r  r"  r,  rN  ro  rs  rz  r|  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r}   r4   r2   <module>r     s   * "   
    - * . ' ) )     (  & 6 K &
&&"&&#	bffbff 57JK
&&#bfft}511@ @Fe, e,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   