
    A>i$             	       $   S r SSKJr  SSKrSSKJrJrJrJr  SSKrSSK	J
r
  SSKrSSKrSSKJr  SSKJr  SSKJs  Jr  SSKrSSKJrJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*  SSK+J,r-  SS	K.J/r/  SS
K0J1r1  SSK2J3r3  \Rh                  Rk                  S\Rl                  \Rl                  S/S\Rl                  \Rl                  // SQ/\Rl                  S/S\Rl                  /SS///5      S 5       r7S r8 " S S5      r9 " S S5      r: " S S5      r; " S S5      r< " S S5      r= " S S5      r> " S  S!5      r? " S" S#5      r@ " S$ S%5      rA " S& S'5      rB " S( S)5      rC\Rh                  Rk                  S*/ S+QS,S-/SS./4/ S/QS,S-/SS./4/ S/QS,S0/SS1/4/5      S2 5       rDS3 rES4 rFS5 rGS6 rHS7 rIS8 rJS9 rKS: rLS; rMS< rNS= rO\Rh                  Rk                  S>S?\R                  " S?5      \R                  " S?5      /5      S@ 5       rR\Rh                  Rk                  SA\&" SB5      SC4\&" SDSESF9SG4/5      SH 5       rSSI rT\Rh                  R                  SJ5      \Rh                  R                  SK5      SL 5       5       rVSM rW " SN SO5      rXg)Pz"test label based indexing with loc    )
namedtupleN)datedatetimetime	timedelta)gettzindex)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                     [        SU 05      nXR                  S S 2S4'   [        SU05      n[        R                  " UR	                  5       U5        [        R                  " UR                  5       U) 5        g NA)r   loctmassert_frame_equalisnanotna)series
new_seriesexpected_serdfexpecteds        ]/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/indexing/test_loc.pytest_not_change_nan_locr1   0   s^     
C=	!BFF1c6N#|,-H"'')X."((*xi0    c                      [        / SQ/ SQ/5      n U R                  SSS/4   n[        SS/SS/[        SS9n[        R
                  " X5        g )	N)r"         ?       @)r!         @      @r         r4   r5   r
   dtypename)r   r&   r   floatr'   assert_series_equal)r.   resultr/   s      r0   test_loc_dtyper@   @   sM    	O_5	6BVVA1vIFsCjAe!DH6,r2   c                      \ rS rSrS rS rS r\R                  R                  SSS/5      \R                  R                  S\
" \" S	5      \S
9\
" / SQ\S
9\" SSS9\
" \" SSS5      \R                   S
9\
" / 5      /5      S 5       5       r\R                  R                  S/ SQ/ SQ/5      \R                  R                  S\R$                  \R&                  \R                   /5      S 5       5       r\R                  R                  SS\
" / SQ\R$                  S
9\
" / SQ\R&                  S
9\
" / SQ\R                   S
9\R,                  " \" S5      \" S5      /5      /5      \R                  R                  S/ SQ/ SQ/ SQ/ SQ/5      S 5       5       r\R                  R                  S\R$                  \R&                  /5      S 5       rS r\R                  R                  S\" S S5      \
" \" S	5      \S
9\
" / SQ\S
9S\" SSS9\
" \" SS!S5      \R                   S
9/S\/\" S"S#5      \" SSS9/S \/\" SS5      \
" / SQ\S
9/S\/\" SS5      \
" / SQ\S
9/S \/\" SSS5      \
" / SQ\S
9/S\//5      S$ 5       rS% rS& r\R                  R                  S'\ " S //\
" S(/5      S)9\!SS2S(4   \"" S /S(S*94\"" S /\
" S(/5      S+9S(S /4\ " S //\
" S(/5      S+9S(\"" S /S(S*94/5      S, 5       r#\R                  R                  S-\$" S.S/S05      /\%" S.S/S05      /S-  \&" S 5      /\&" S 5      \&" S5      //5      S1 5       r'S2r(g)3TestLocH   c                     [        / SQS/[        S9nUR                  S   b   e[        / SQS/SS9nU(       a+  [        R                  " UR                  S   5      (       d   eg UR                  S   b   eg )N)12Nr"   columnsr;   )r9   r"   str)r   objectr&   npisnan)selfusing_infer_stringr.   s      r0   "test_none_values_on_string_columns*TestLoc.test_none_values_on_string_columnsI   sl    '#fEvvf~%%%'#eD88BFF6N++++66&>)))r2   c                 n    U" [        S5      [        [        S5      [        S9S9n[	        USS[
        S9  g )N   abcr;   r	   r&   r9   fails)ranger   listrJ   r    KeyErrorrM   frame_or_seriesobjs      r0   test_loc_getitem_intTestLoc.test_loc_getitem_intT   s+    eAheDKv.NO*3qIr2   c                 2    U" 5       n[        USS[        S9  g )Nr&   crU   )r    rY   rZ   s      r0   test_loc_getitem_labelTestLoc.test_loc_getitem_labelY   s    *3s(Kr2   keyf   r
   abcdrT   )r9      null   20130101rg   periodsr   ri   r9   c                 V    U" [        [        U5      5      US9n[        USU[        S9  g Nr	   r&   rU   rW   lenr    rY   rM   rc   r
   r[   r\   s        r0   #test_loc_getitem_label_out_of_range+TestLoc.test_loc_getitem_label_out_of_range^   s'     eCJ/u=*3s(Kr2   r   r8   r9   )r8   r6   r%   r;   c                 X    U" [        S5      [        / SQUS9S9n[        USU[        S9  g )NrR   rt   rT   r	   r&   rU   rW   r   r    rY   )rM   rc   r;   r[   r\   s        r0   test_loc_getitem_label_list#TestLoc.test_loc_getitem_label_listn   s)     eAheIU.KL*3s(Kr2   NrR   )r   r9   
   )rR         ))r8   rR   )r8   rg   )r9      c                 l    Uc  U" 5       nOU" [        [        U5      5      US9n[        USU[        S9  g rn   ro   rq   s        r0   (test_loc_getitem_label_list_with_missing0TestLoc.test_loc_getitem_label_list_with_missingu   s4     =!#C!%E
"35AC*3s(Kr2   c                 b    U" [        S5      [        / SQUS95      n[        US/ SQS[        S9  g )NrR   rt   rT   r&   )re      (   r8   axesrV   rv   )rM   r;   r[   r\   s       r0   !test_loc_getitem_label_list_fails)TestLoc.test_loc_getitem_label_list_fails   s.     eAhiu(EF*1H	
r2   c                 :    U" 5       n/ SQn[        USU[        S9  g )NTFTFr&   rU   )r    
IndexError)rM   r[   r\   r!   s       r0   test_loc_getitem_boolTestLoc.test_loc_getitem_bool   s    &*3q
Kr2   zslc, indexes, axes, failsr8      2013010220130104c           	      x    U H4  nUc  U" 5       nOU" [        [        U5      5      US9n[        USUUUS9  M6     g )Nr	   r&   r   )rW   rp   r    )rM   slcindexesr   rV   r[   r
   r\   s           r0   test_loc_getitem_label_slice$TestLoc.test_loc_getitem_label_slice   sH    @ E}%'%eCJ&7uE. r2   c                     [        SS/SS/SS//SS// SQS9n[        R                  " S5      UR                  S	'   [        SS/S
S/SS//SS// SQS9n[        R
                  " X5        g )Nre   r"      col1col2)ry   r8   r8   rH   r
   r9   )r8   r   r   r8   )r   rK   aranger&   r'   r(   rM   r.   r/   s      r0    test_setitem_from_duplicate_axis(TestLoc.test_setitem_from_duplicate_axis   s~    #Yc
S#J/V$

 IIaLy#YC1c(+ff5EZ
 	b+r2   c           	         [        / SQS[        R                  S/[        S5      [        R
                  [        S5      /S.S9n[        S/[        S5      /S	.S9nUR                  UR                  US
   R                  5       S
S/4'   [        / SQ/ SQ[        S5      [        S5      [        S5      /S.S9n[        R                  " X5        g )Nr8   r9   rR   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   rK   nanr   pdNaTvaluesr&   r)   r'   r(   )rM   r.   df2r/   s       r0   test_column_types_consistent$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+r2   zobj, key, expFrH   r<   r	   c                     UR                   U   n[        U[        [        45      (       a  [        R
                  " XC5        g XC:X  d   eg N)r&   
isinstancer   r   r'   assert_equal)rM   r\   rc   express        r0   #test_loc_getitem_single_boolean_arg+TestLoc.test_loc_getitem_single_boolean_arg   s9     ggclcIv.//OOC%::r2   r   i  ry   r   c                     S/[        U5      -  n[        US/S9nUR                  5       nX3R                  U'   [        R
                  " X45        g )NFr%   r   rH   )rp   r   copyr&   r'   r(   )rM   r   maskr.   r/   s        r0   -test_loc_empty_slice_assignment_with_datetime5TestLoc.test_loc_empty_slice_assignment_with_datetime  sF     wT"D3%0779t
b+r2    ))__name__
__module____qualname____firstlineno__rO   r]   ra   pytestmarkparametrizer   rX   rJ   r   rW   rK   float64rr   int64uint64rw   r   from_arraysr~   r   r   slice	TypeErrorrY   r   r   r   r   r   r   r   r   r   r   r   __static_attributes__r   r2   r0   rB   rB   H   s   	*J
L
 [[US"I.[[$v,f-#62z1-%1a.

3"I	
	L	 /L
 [[UY$>?[[WrxxBJJ&GHL I @L
 [[)288,)299-)2::.""E!HeAh#78	
	 [[	:y2JKL	L [[Wrxx&;<
 =
L [[# a$v,f5+6:z15%2q/<  j*-J23	 1a[5!2&ABAyQ1a[5!2&ABAxP1a^e$5VDEq)T+	
454&,,> [[ A3%w81e8$s'
 QCueW~.s;uE5'N3UFA3U<ST	
 [[dB#$tR$%)q\Nq\9Q<(		
,,r2   rB   c                      \ rS rSrS r\R                  R                  SS\" S5      SS44S\" S5      S	S44S
\" S5      SS44S\" S5      \" S5      S44S\" S5      SS	44S\" S5      S\" S5      44S\" S5      SS44/5      S 5       r	S r
S rS rS rS rS rS r\R                  R                  SSS// SQ/5      S  5       rS! rS" rS# rS$ rS% rS& rS' r\R2                  S( 5       r\R                  R                  S)S*\R8                  " S*\R:                  S+9\R8                  " / S,Q\R:                  S+9/5      S- 5       rS. rS/ r S0 r!S1 r"S2 r#\R                  R                  S3/ S4Q5      S5 5       r$S6 r%\R                  R                  S7SS/5      S8 5       r&S9 r'S: r(\R                  R                  S7SS/5      S; 5       r)\R                  R                  S7SS/5      S< 5       r*S= r+S> r,S? r-\R                  R                  S@SA/\." SBSASB5      \R8                  " SA/5      /5      \R                  R                  SCSD/\R8                  " SD/5      /5      SE 5       5       r/\R                  R                  SFS*SG// SHQ4SI\0" / SJQSKSL\Rb                  \Rb                  // SJQ// SHQSM94SNSOSP/4SISQ/\0" SNSG\Rb                  \Rb                  // SRQSSST\Rb                  \Rb                  /// SHQSM94SN/ SUQ4\R8                  " / SVQ\R:                  S+9\0" SNSG\Rb                  // SVQSSST\Rb                  /// SUQSM94\." SNSKSB5      / SWQ4/ SVQ/ SXQ/\0" SNSG\Rb                  \Rb                  // SYQ/ SZQ// SHQSM94\." SNSKSB5      / S[Q4\R8                  " / SVQ/ SXQ/\R:                  S+9\0" SNSG\Rb                  \Rb                  // S\Q/ S]Q// SHQSM94\." SBSBSB5      SASO/4\0" SISQ/S^S_/S`Sa//SASO/SM9\0" / SbQ/ ScQ/ SdQ// SUQSM94/5      Se 5       r2Sf r3Sg r4Sh r5Si r6Sj r7\R                  Rp                  \R                  Rr                  \R                  R                  SkSlSm/SnSo//5      Sp 5       5       5       r:Sq r;Sr r<Ss r=St r>Su r?Sv r@Sw rASx rBSy rCSz rDS{ rES| rFS} rGS~ rHS rI\R                  R                  S/ SQ5      \R                  R                  S\R                  \R                  \R:                  \L/5      S 5       5       rMS rNS rOS rP\R                  R                  S@SS/5      S 5       rQ\R                  R                  S\R\R8                  \S\T/5      S 5       rUS rV\R                  R                  SSS/5      S 5       rWS rX\R                  R                  SS*/ SQ4\." SLSQ5      / SQ4SKSS// SQ4/5      S 5       rYS rZS r[S r\\R                  R                  SSS//5      S 5       r]S r^\R                  R                  SSASA/SA\." SB5      4/5      S 5       r_S r`S raS rbS rcS rd\R                  R                  SSS/5      S 5       reS rfS rgS rhS riS rjS rkS rlSrmgB)TestLocBaseIndependenti  c                     [        [        SS5      S9nUR                  [        R                  " S/5      S   S  nUR
                  SS  n[        R                  " X#5        g )N20212022r	   z2021/6/1r      )r   r   r&   rK   arrayilocr'   r(   rM   r.   r?   r/   s       r0   test_loc_npstr%TestLocBaseIndependent.test_loc_npstr  sQ    Z78*.q1347734=
f/r2   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           	      @   [        [        S5      SS/[        S5      [        S5      S/[        S5      S[        S	5      // S
Q/ SQS.5      R                  / SQ5      n[        R                  " [
        US9   UR                  U     SSS5        g! , (       d  f       g= f)z
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   ry   re   r   )r%   r   CV1V2r%   r   r   matchN)r   r   	set_indexr   raisesrY   r&   )rM   msgrc   r.   s       r0   ;test_contains_raise_error_if_period_index_is_in_multi_indexRTestLocBaseIndependent.test_contains_raise_error_if_period_index_is_in_multi_index"  s    6 TlD$/TlF4L$7TlD&,7"
 )O
$ 	 ]]83/FF3K 0//s   6B
Bc                     [        SS/05      n[        R                  " [        SS9   UR                  S S 2S4     S S S 5        g ! , (       d  f       g = f)Nr"   r8   u   אr   )r   r   r   rY   r&   rM   r.   s     r0   $test_loc_getitem_missing_unicode_key;TestLocBaseIndependent.test_loc_getitem_missing_unicode_keyI  s<    aSz"]]884FF1h; 544s   A
Ac           	      D   [        [        R                  R                  S5      R                  S5      [	        S5       Vs/ s H  nSUS-     PM     snS9nUR
                  S   nUR
                  S S 2S4   R
                  S	   n[        R                  " XC5        g s  snf )
Nr9   )re   r|   re   ABCDEr|   r	   )r%   r   r   r%   )r   rK   randomdefault_rngrW   r&   r'   r>   )rM   xr.   r/   r?   s        r0   test_loc_getitem_dups,TestLocBaseIndependent.test_loc_getitem_dupsN  s     II!!!$++G4+0959a71q5>95
 66&>1!!#&
v0	 6s    B
c           	         [        SSSS[        S5      /// SQS/S9n[        SSSS[        S5      // SQSS9nUR                  S	   n[        R
                  " X25        UR                  S   n[        R
                  " X25        g )
Nr8   r9   r   r   rj   r"   r"   r"   r"   r"   r   r
   r<   r   )r   r   r   r   r'   r>   r&   rM   r.   r/   r?   s       r0   test_loc_getitem_dups2-TestLocBaseIndependent.test_loc_getitem_dups2Y  s     E5)J"789-#

 5%:!67+
 
v0
v0r2   c           
         [        [        S5      [        S5      [        R                  " SSS9S-  S-   [        R                  " SSS9S-  S-   S	.5      R	                  S
5      nSSS/4nUR                  5       nUR                  U==   S-  ss'   [        R                  " UR                  U   SUR                  U   -  5        SnUR                  5       nUR                  U==   S-  ss'   UR                  U   SUR                  U   -  :X  d   eSSS/4nUR                  5       nUR                  U==   S-  ss'   [        R                  " UR                  U   SUR                  U   -  5        g )Nrtttiaaader|   r   rT   gq=
ףp?r9   g(\տ)mer   r   bar2r  rr   r  r5   )r  r   t)
r   rX   rK   r   r   r   r&   r'   r>   r(   )rM   df_origindexerr.   s       r0   test_loc_setitem_dups,TestLocBaseIndependent.test_loc_setitem_dupsm  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Jr2   c                    [        / SQ[        / SQSS9S.5      nUS   S:H  nUR                  US4   S-   nX1R                  US4'   [        / SQ[        / S	QSS9S.5      n[        R                  " X5        [        / SQ/ SQS.S
S9nUS   S:H  nUR                  US4   n[
        R                  " [        SS9   XaR                  US4'   S S S 5        g ! , (       d  f       g = f)Nr   r8   r8   )d   r   ,  uint32rT   r"   r!   r"   r8   r!   )r     i-  r   Invalid valuer   )r   r   r&   r'   r(   r   r   r   )rM   df1ixnewb1r/   r   newb2s          r0   test_loc_setitem_slice-TestLocBaseIndependent.test_loc_setitem_slice  s     if_H.UVWX]C 1$ C&"IJ
 	c, io>hOX]C ]]9O<$GGBG =<<s   :C
C"c           
      `   [        S/S/S/S/S.5      n/ SQnUR                  S S 2U4   R                  S5      UR                  S S 2U4'   [        S/[        R                  " S/SS	9[        R                  " S/SS	9[        R                  " S/SS	9S.5      n[
        R                  " X5        g )
Nr%   333333?        g      )idr"   r!   r`   r"   r!   r`   float32r   rT   )r   r&   astyperK   r   r'   r(   )rM   r.   colsr/   s       r0   test_loc_setitem_dtype-TestLocBaseIndependent.test_loc_setitem_dtype  s    se3%se4&IJ&&D/00;q$w eXXse95XXse95XXtfI6	
 	b+r2   c                 >   [        [        S5      / SQS9n[        R                  " [        SS9   USS/     S S S 5        [        [        S5      5      n[        R                  " [        SS9   USS/     S S S 5        g ! , (       d  f       NL= f! , (       d  f       g = f)	NrR   r  r	   not in indexr   r"   dr   )r   rW   r   r   rY   )rM   ss     r0   $test_getitem_label_list_with_missing;TestLocBaseIndependent.test_getitem_label_list_with_missing  su    58?3 ]]8>:sCjM ; 58]]8>:q!fI ;:	 ;: ;:s   A=,B=
B
Br
   TFr   c                     [        / SQ5      nS[        U5       S[        U5       3n[        R                  " [        US9   UR
                  U     S S S 5        g ! , (       d  f       g = f)Nr   z Boolean index has wrong length: z instead of r   )r   rp   r   r   r   r&   )rM   r
   r&  r   s       r0   test_loc_getitem_bool_diff_len5TestLocBaseIndependent.test_loc_getitem_bool_diff_len  sM     90ULQQ]]:S1EE%L 211   A
A(c                     g r   r   rM   s    r0   test_loc_getitem_int_slice1TestLocBaseIndependent.test_loc_getitem_int_slice  s    r2   c                 F   [        [        R                  R                  S5      R                  S5      / SQ/ SQS9nS[        R                  " [
        5       S3n[        R                  " [        US9   UR                  S	S/S	S/4     S S S 5        g ! , (       d  f       g = f)
Nr9   rR   rR   r  )erd   gr
   rH   z$\"None of \[Index\(\[1, 2\], dtype='z'\)\] are in the \[columns\]\"r   r8   )
r   rK   r   r   r;   intr   r   rY   r&   rM   r.   r   s      r0   test_loc_to_fail'TestLocBaseIndependent.test_loc_to_fail  s    II!!!$++F3!#
 4BHHSM? C$ $ 	 ]]83/FFAq6Aq6>" 0//s   3B
B c                 F   [        [        S9nSUR                  S'   SUR                  S'   [        R                  " [
        SS9   UR                  S     S S S 5        S[        R                  " [        5       S	3n[        R                  " [
        US9   UR                  SS
/     S S S 5        Sn[        R                  " [
        US9   UR                  [        S/[        S9     S S S 5        SUR                  S'   [        R                  " [
        SS9   UR                  SS
/     S S S 5        SUS'   S[        R                  " [        5       S	3n[        R                  " [
        US9   UR                  S
/     S S S 5        US	 [        R                  " [
        US9   SUR                  S
/'   S S S 5        g ! , (       d  f       GNm= f! , (       d  f       GN.= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)NrT   r8   r9   r"   z^-1$r   z&\"None of \[Index\(\[-1, -2\], dtype=''\)\] are in the \[index\]\"zE\"None of \[Index\(\['4'\], dtype='object'\)\] are in the \[index\]\"4rR   r$  z"\"None of \[Index\(\[-2\], dtype='r   )
r   rJ   r&   r   r   rY   rK   r;   r6  r   rM   r&  r   s      r0   test_loc_to_fail2(TestLocBaseIndependent.test_loc_to_fail2  s     ac
]]873EE"I 4 6bhhsm_ E" " 	 ]]83/EE2r(O 0 W]]83/EE%V,- 0 b	]]8>:EE2r(O ; #1"((3- A" " 	 ]]83/EE2$K 0 cF]]83/AEE2$K 0/9 43 0/ 0/ ;: 0/
 0/sH   F;G	GG0,H!H;
G

G
G-0
G>
H
H c                 x   [        S/S//SS/S/S9nS[        R                  " [        5       S3n[        R
                  " [        US	9   UR                  S
/S S 24     S S S 5        [        R
                  " [        US	9   UR                  S
/     S S S 5        g ! , (       d  f       NA= f! , (       d  f       g = f)Nr"   r!   r8   r9   valuer5  z!\"None of \[Index\(\[3\], dtype='r<  r   rR   )r   rK   r;   r6  r   r   rY   r&   r7  s      r0   test_loc_to_fail3(TestLocBaseIndependent.test_loc_to_fail3  s     u~aVgYG 1# @" " 	 ]]83/FFA36N 0 ]]83/FFA3K 0/ 0/ 0/s   
B B+
B(+
B9c                 x   [        / SQ5      nUR                  S/     Sn[        R                  " [        [
        R                  " U5      S9   UR                  S/     S S S 5        [        R                  " [        SS9   UR                  SS/     S S S 5        g ! , (       d  f       NB= f! , (       d  f       g = f)Nr   r9   z@None of [RangeIndex(start=3, stop=4, step=1)] are in the [index]r   rR   r$  )r   r&   r   r   rY   reescaper?  s      r0   test_loc_getitem_list_with_fail6TestLocBaseIndependent.test_loc_getitem_list_with_fail  s     9	qc
P]]8299S>:EE1#J ; ]]8>:EE1a&M ;:	 ;: ;:s   B?B+
B(+
B9c                    [        [        R                  R                  S5      R                  SS9/ SQS9nUR                  R                  S 5      nUR                  [        R                  " U5         nUR                  U   n[        R                  " XC5        UR                  UR                     n[        R                  " XC5        UR                  [        R                  " USS9   n[        R                  " XC5        g )	Nr9   )r|   ry   size)alpha_0alpha_1alpha_2beta_0beta_1r	   c                     SU ;   $ )Nalphar   r   s    r0   <lambda>7TestLocBaseIndependent.test_loc_index.<locals>.<lambda>,  s    glr2   booleanrT   )r   rK   r   r   r
   mapr&   r   r'   r(   r   r   )rM   r.   r   r/   r?   s        r0   test_loc_index%TestLocBaseIndependent.test_loc_index#  s     II!!!$+++9G

 xx||2366"((4.)
f/$
f/Y78
f/r2   c                 6   [        [        R                  R                  S5      R                  S5      / SQ/ SQS9nUR                  S S 2SS24   R
                  SS2S S 24   nUR                  SS/:H  R                  5       (       d   eUR                  SS/:H  R                  5       (       d   e[        [        S5      /S	/S
.5      R
                  S   n[        [        S5      S	/SS/SS9n[        R                  " X#5        UR                  [        :X  d   eg )Nr9   rg   rg   r%   r   r   Dr   r%   r   r   rj   r8   r  r"   r!   r   )r   rK   r   r   r&   r   rH   allr
   r   r   r'   r>   r;   rJ   r   s       r0   test_loc_general'TestLocBaseIndependent.test_loc_general8  s    II!!!$++F3(&
 3s7
#((1a03*,113333c
*//1111 )J"7!8sCDII!L9Z0!4S#JQO
v0||v%%%r2   c                 p    [        [        SS5      [        [        S5      [        R
                  S9S.5      $ )N
2000-01-01	2000-01-5r|   rT   r   val)r   r   r   rW   rK   r   r.  s    r0   frame_for_consistency,TestLocBaseIndependent.frame_for_consistencyJ  s0    "<=eAhbhh7
 	
r2   rg  r   rT   )r   r   r   r   r   c                     UR                  5       n[        R                  " [        SS9   X#R                  S S 2S4'   S S S 5        g ! , (       d  f       g = f)Nr  r   r   r   r   r   r   r&   )rM   rh  rg  r.   s       r0   test_loc_setitem_consistency3TestLocBaseIndependent.test_loc_setitem_consistencyS  s<     #'')]]9O< #FF1f9 =<<s   A
Ac                     UR                  5       n[        R                  " [        SS9   SUR                  S S 2S4'   S S S 5        g ! , (       d  f       g = f)Nr  r   r   r   rk  rM   rh  r.   s      r0   (test_loc_setitem_consistency_dt64_to_str?TestLocBaseIndependent.test_loc_setitem_consistency_dt64_to_str^  s>     #'')]]9O< %BFF1f9 =<<   A
Ac                     UR                  5       n[        R                  " [        SS9   SUR                  S S 2S4'   S S S 5        g ! , (       d  f       g = f)Nr  r   r4   r   rk  ro  s      r0   *test_loc_setitem_consistency_dt64_to_floatATestLocBaseIndependent.test_loc_setitem_consistency_dt64_to_floatf  s>     #'')]]9O< #BFF1f9 =<<rr  c                     [        S[        [        S5      /5      05      n[        R                  " [
        SS9   SUR                  S S 2S4'   S S S 5        g ! , (       d  f       g = f)Nr   20180101r  r   string)r   r   r   r   r   r   r&   r   s     r0   'test_loc_setitem_consistency_single_row>TestLocBaseIndependent.test_loc_setitem_consistency_single_rowm  sL     	*(='> ?@A]]9O< (BFF1f9 =<<s   A
A%c                 x   [        SS/S9n[        SS/S9n[        R                  " S 5         SUR                  S S 2S4'   S S S 5        [        R                  " X!5        [        SS/S9nSUS'   US   R                  [        R                  5      US'   [        R                  " X!5        g ! , (       d  f       Np= f)Nr   yr   r8   )r   r'   assert_produces_warningr&   r(   r  rK   r   rM   r/   r.   s      r0   "test_loc_setitem_consistency_empty9TestLocBaseIndependent.test_loc_setitem_consistency_emptyt  s     c3Z0Sz*''-BFF1c6N .
b+ Sz*3 ,,RXX6
b+ .-s   B++
B9c                    S/S-  / SQ/ SQ/n[         R                  " U/ SQS9n/ SQ/ SQ/n[         R                  " US	S
/S9nSSSS[        R                  // SQSSSS[        R                  // SQ/n[	        XcUS9n[
        R                  " 5       nU(       a  [        R                  " [        SS9nU   [        UR                  S S 2S4   5      UR                  S S 2S4'   S S S 5        U   [        UR                  S S 2S4   5      UR                  S S 2S4'   S S S 5        U(       a  g UR                  5       nUR                  S S 2S4   UR                  S S 2S4   -
  UR                  S S 2S4'   [        R                  " [        SS9   UR                  S S 2S4   [        S5      -  UR                  S S 2S4'   S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)NRegion_1rg   )Site_1r  Site_2r  )l   BP[ l   _Z l   q=.Z l   <.Z )RegionSiteRespondentIDnames)
Respondentr  r  OtherCatr  )	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:52r  r  z5/20/2015 8:27z5/20/2015 8:41)r%   z5/20/2015 8:33z5/20/2015 9:09r  Nor5  r  r   )r  r  )r  r  )r  Durationl    Xp7 )r   r   rK   r   r   
contextlibnullcontextr   r   r   r   r&   infer_objectsr   )	rM   rN   levelsmiclevelsr   r   r.   ctxs	            r0   -test_loc_setitem_consistency_slice_column_lenDTestLocBaseIndependent.test_loc_setitem_consistency_slice_column_len  s    L14<

 ##F2TU OL
 %%gi5KL #%6rvvFC"$4eRVVDB	
 v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,,- ]]9O<46FF--5.)5*BFF1001 =</ S S& =<s$   5.G-.G1G(
G
G%(
G6unit)YMr_  hmr&  msusc                    [        S[        R                  " S5      [        R                  " S5      /05      nUR                  S S 2S4   R                  R                  SU S35      UR                  S S 2U4'   UR                  S S 2S4   R                  R                  SU S35      US'   [        UR                  S S 2S4   US9n[        R                  " UR                  S S 2U4   U5        g )N	timestampz2017-02-11 12:41:29z1991-11-07 04:22:37zdatetime64[]r/   r   )	r   rK   
datetime64r&   r   r  r   r'   r>   )rM   r  r.   r/   s       r0   test_loc_assign_non_ns_datetime6TestLocBaseIndependent.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9r2   c                    [         R                  " S/ SQ05      n[        US   SSS9R                  R	                  S5      US'   UR
                  S S 2S4   UR
                  S S 2S4'   UR
                  S	S
/S4   UR
                  S	S
/S4'   [        / SQ/ SQ/ SQ/ SQ// SQS9nSS/nX#   R                  [        5      X#'   [        R                  " X5        g )Nr   )   CO!g   s~!g    4	8   A{?r  T)r  cacher  date_dt
date_dt_cpr9   rR   )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   dtas_unitr&   applyr'   r(   )rM   r.   r/   rH   s       r0   test_loc_modify_datetime/TestLocBaseIndependent.test_loc_modify_datetime  s      QR
 $BvJTFIIQQRVW9"$&&I"6q,')vvq!fi.?'@1v|#$UUUU	 6
 l+$-33K@
b+r2   has_refc                     [        / SQS/[        S9nU(       a  US S  n[        R                  " / SQSS9UR                  / SQS4'   [        / SQ/ SQ[        S	9n[        SU05      n[        R                  " X%5        g )
NrR   r|   rg   r%   r
   rH   r;   r   r   rT   rg   rR   r|   r9   rR   r8   r
   r;   )r   r=   rK   r   r&   r   r'   r(   )rM   r  r.   viewserr/   s         r0   #test_loc_setitem_frame_with_reindex:TestLocBaseIndependent.test_loc_setitem_frame_with_reindex  si     YUCa5D!#)7!Cy#~ Yiu=c3Z(
b+r2   c                    [        / SQSS/[        S9nSUS'   [        R                  " / SQSS9UR                  / S	QS4'   [        / S
Q/ SQSS9n[        SUR                  [        5      05      nSUS'   [        R                  " X5        g )Nr  r%   r   r  rx  r   r   rT   r  r  r  )	r   r=   rK   r   r&   r   r  r'   r(   )rM   r.   r  r/   s       r0   )test_loc_setitem_frame_with_reindex_mixed@TestLocBaseIndependent.test_loc_setitem_frame_with_reindex_mixed  sy    Yc
%H3!#)7!Cy#~Yiw? c3::e#456 
b+r2   c                     [        / SQSS/[        S9nSUS'   [        R                  " / SQSS9UR                  [        SS	S
5      S4'   [        / SQSS./ SQS9n[        R                  " X5        g )Nr   r%   r   r  rx  r   rT   rR   r   r;  )r6   r5   r4   r   r	   )r   r=   rK   r   r&   r   r'   r(   r   s      r0   *test_loc_setitem_frame_with_inverted_sliceATestLocBaseIndependent.test_loc_setitem_frame_with_inverted_slice  sd    Yc
%H3')xx	'IuQ2#$ ?B)T
b+r2   c                    [        S5       Vs/ s H  nS[        U5      -   PM     nn[        R                  " SSS9n[        S5       Vs/ s H  nS[        U5      -   PM     nn[        R                  " SSS9n[	        [        U5      R                  U5      5      n[        US9n[        R                  US'   U(       a  US S  n	XHR                  US4'   [        R                  US'   XhR                  US4'   [        XC[        R                  S	9n
[        XeS9n[        XS
.[        SS/5      S9R                  US9n[        R                  " X5        g s  snf s  snf )Nr|   @r   rT   rg   r	   r%   r   r  r   r   )rW   rI   rK   r   rX   setunionr   r   r&   r   r   r   reindexr'   r(   )rM   r  ikeys1val1keys2val2r
   r.   r  seraserbr/   s                r0   test_loc_setitem_empty_frame3TestLocBaseIndependent.test_loc_setitem_empty_frame  s/    (-Qx0x!s1vx0yy'*',Qx0x!s1vx0yy'*SZ%%e,-U#&&3a5D!ucz&&3!ucz drzz:d(43UC:=NOWW X 
 	b+/ 1 1s   E
Ec                    [        [        R                  R                  S5      R	                  S5      [        S5      [        S5      S9nU(       a  US S  nUR                  S   nSUR                  S'   UR                  S   nUS:X  d   eUR                  S   nUS:X  d   eS	UR                  S S 2S
S24'   UR                  S S 2S
S24   nUR                  S S 2SS 24   n[        R                  " XE5        g )Nr9   r]  rf   ABCDr5  r   r   r8   )r"   r%   r   r   r_  )
r   rK   r   r   standard_normalrX   r   r&   r'   r(   )rM   r  r.   r  r?   r/   s         r0   test_loc_setitem_frame-TestLocBaseIndependent.test_loc_setitem_frame(  s    II!!!$44V<v,L

 a5Dx!{{{{q#c'z66!SW*%AB
f/r2   c                    [        / SQ[        R                  S.5      nUR                  UR                  UR
                  UR                  :  S4'   [        / SQ[        R                  S.5      n[        R                  " X5        g )Nr   r   r   )r   rK   r   r%   r&   r   r'   r(   r   s      r0   /test_loc_setitem_frame_nan_int_coercion_invalidFTestLocBaseIndependent.test_loc_setitem_frame_nan_int_coercion_invalid@  s[     YRVV45#%44rttbdd{C 9266:;
b+r2   c                 8   [        SS/SS/SS/S.5      nUR                  SSS/4   n[        SS/[        SS/[        S	9S
SS9n[
        R                  " X#5        [        SS/SS/SS/S.5      nSS/UR                  SSS/4'   [
        R                  " X5        g )Nr8   r9   rR   rg   r"   r!   )r8   r9   r"   r   rT   r   r:   r|   rz   )r   r&   r   r   rJ   r'   r>   r(   r   s       r0   #test_loc_setitem_frame_mixed_labels:TestLocBaseIndependent.test_loc_setitem_frame_mixed_labelsH  s     Aq6q!fC:>?Aq6	"F%Af5W1
 	v0!QQF#sDEFq1a&y
b+r2   c           	         [        / SQ[        [        S5      [        R                  S9S.5      nUR
                  SS nUR                  SS Ul        X!R
                  SS& [        / SQ[        / S	Q[        R                  S9S.5      n[        R                  " X5        [        [        S
SSS9[        [        S5      [        R                  S9S.5      n[        [        S5      [        S5      [        S5      [        S5      [        S5      /[        / SQ[        R                  S9S.5      nUS   R                  S5      US'   UR
                  SS nUR                  SS Ul        X!R
                  SS& [        R                  " X5        g )Nr   r   bazrR   rT   r   r8   r9   r   )r   r  r  )r8   r9   r9   rd  re  nsr  r|   rf  200001012000010220000103)r   r8   r   r8   r9   r   zM8[ns]rg   )r   r   rW   rK   r   r&   r
   r'   r(   r   r   r  )rM   r.   rhsr/   s       r0    test_loc_setitem_frame_multiples7TestLocBaseIndependent.test_loc_setitem_frame_multiplesW  sU   'fU1XRXX.NO
 ffQqkHHQqM	q'fYbhh.OP
 	b+ "<4HeAhbhh7
  j)j)j)j)j) oRXX>	
 $F+228<ffQqkHHQqM	q
b+r2   r  r%   NrC  Zc                     [        SS/SS//SS/S9R                  S[        05      nX#R                  SU4'   UR                  S	   n[	        U5      (       a  US
:X  d   eg )Nr8   r9   rR   rg   r%   r   r   r   )r   r%   r  )r   r  rJ   r&   r   )rM   r  rC  r.   r?   s        r0   "test_loc_setitem_with_scalar_index9TestLocBaseIndependent.test_loc_setitem_with_scalar_index}  sf     AA'#s<CCS&MR"q'z  Vs]22]r2   zindex,box,expectedr9   r^  r{   )r{   r{   r{   r{   rR   rg   r   r8   r   r_  ri   )rR   rg   r{   ri   r|   rz   r   r{   ri   	   )r   r   r_  ry      r   )rR   r{   ri   r  )r|   ry   r  r   )r   r%   r_  )ri   rg   r{   r  )r  rz   ry   r   r  ry   r  r   )r{   r9   ri   )r  rg   ry   )r  rz   r   c                 v    [        SS/SS/SS//SS/S	9nX$R                  U'   [        R                  " XC5        g )
Nr8   r9   rR   rg   r|   rz   r%   r   r   r   r&   r'   r(   )rM   r
   boxr/   r.   s        r0    test_loc_setitem_missing_columns7TestLocBaseIndependent.test_loc_setitem_missing_columns  sA    j AAA/#sDu
b+r2   c                 J   [        S[        S5      R                  S5      [        R                  /05      nUR
                  nUR                  S/   n[        R                  " UR
                  U5        UR                  S/   n[        R                  " UR
                  U5        g )Nr   rj   UTCr   r8   )	r   r   tz_localizer   r   dtypesr   r'   r>   r   s       r0   test_loc_coercion(TestLocBaseIndependent.test_loc_coercion  sy    :!6!B!B5!I266 RST99!
v}}h7!
v}}h7r2   c           	      *   [        S[        SSS5      [        SSS5      /05      nUR                  nUR                  S/   n[        R
                  " UR                  U5        UR                  S/   n[        R
                  " UR                  U5        g )Nr     r8   i  r9   r   )r   r   r  r   r'   r>   r   s       r0   test_loc_coercion2)TestLocBaseIndependent.test_loc_coercion2  sw    $1!5xa7K LMN99!
v}}h7!
v}}h7r2   c                    [        SS/S /S-  -   05      nUR                  nUR                  SS n[        R                  " UR                  U5        UR                  SS  n[        R                  " UR                  U5        g )Ntextz
some wordsr  r   r9   rR   )r   r  r   r'   r>   r   s       r0   test_loc_coercion3)TestLocBaseIndependent.test_loc_coercion3  sm    $! ;<=991
v}}h7
v}}h7r2   c                    [        S5      R                  S5      [        S5      R                  S5      /n[        U[        SS/5      S9n[        [        S9nUS   U" U5      S'   US	   U" U5      S'   [
        R                  " XC5        g )
N*   r  i  r   r   r	   rT   r   r8   )r   r  r   r   rJ   r'   r>   )rM   
indexer_slvalsr/   r  s        r0   test_setitem_new_key_tz.TestLocBaseIndependent.test_setitem_new_key_tz  s     O''.((/
 $eUEN&;<6"!%a
3!%a
3
s-r2   c                 0   [        / SQ/ SQS./ SQS9nSn[        R                  " [        US9   UR                  SS    S S S 5        S	n[        R                  " [        US9   UR                  S
S    S S S 5        Sn[        R                  " [        US9   UR                  SS   S S S 5        [        / SQ/ SQS./ SQS9R                  S
S9nUR                  SS  n[        / SQ/ SQS./ SQS9n[        R                  " X45        UR                  S
S  n[        R                  " X15        UR                  SS n[        / SQ/ SQS./ SQS9n[        R                  " X45        g ! , (       d  f       GN+= f! , (       d  f       GN
= f! , (       d  f       N= f)Nr8   r9   rR   rg   r|   rz   )rR   rg   r|   rz   r{   ri   r   )r   r8   r   r8   r9   rR   r	   z5'Cannot get left slice bound for non-unique label: 1'r   r8   z5'Cannot get left slice bound for non-unique label: 0'r   r9   axis)r9   rg   r|   rz   )rg   rz   r{   ri   )r8   r8   r9   rR   )r9   rg   r|   )rg   rz   r{   )r8   r8   r9   )r   r   r   rY   r&   
sort_indexr'   r(   )rM   r.   r   r?   r/   s        r0   test_loc_non_unique*TestLocBaseIndependent.test_loc_non_unique  sI    $+=>FX
 F]]83/FF12J 0E]]83/FF12J 0E]]83/FF1QK 0 $+=>FX

*!*
 	 <lC<X
f/
f)!99=YO
f/- 0/ 0/ 0/s#   E#"E5F#
E25
F
Fz
length, l2  r  i 順 c                    [        S5      n[        R                  " [        [        R
                  R                  S5      R                  U[        U5      45      [        R                  " U5      US9[        [        R                  " U[        U5      45      S/U-  US9/5      nUR                  R                  SL d   e[        R                  " U5      nUR                  U   n[        R                  " UR                  S/5      [        [        R                  " [        U5      [        U5      45      S/[        U5      -  US9UR                  USS  5      /5      n[        R                   " Xg5        g )NABCDEFGr9   r5  r   Fr8   )rX   r   concatr   rK   r   r   r  rp   r   onesr
   	is_uniquer&   taker'   r(   )rM   lengthl2rH   r.   r   r?   r/   s           r0    test_loc_non_unique_memory_error7TestLocBaseIndependent.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!

 	f/r2   c                     [        SS/SS//5      nSUR                  l        UR                  SS/   R                  R                  nUS:X  d   eUR                  SS/   R                  R                  nUS:X  d   eg )Nr8   
index_namer   )r   r
   r<   r   r&   rM   r.   r?   s      r0   test_loc_name$TestLocBaseIndependent.test_loc_name=  sz    AA'($!Q&&++%%%A%%**%%%r2   c                 D   [        [        R                  " S5      [        [	        S5       Vs/ s H  nSU 3PM
     snSS9[        [	        S5       Vs/ s H  nSU 3PM
     snSS9S9n[
        R                  " UR                  S S 2/ 4   UR                  S S 2S S24   S	S	S
9  [
        R                  " UR                  / S S 24   UR                  S S2S S 24   S	S	S
9  [
        R                  " UR                  /    UR                  S S2S S 24   S	S	S
9  g s  snf s  snf )N)r|   r9   r|   zi-r"   r   r9   r5  r   T)check_index_typecheck_column_type)	r   rK   r   r   rW   r'   r(   r&   r   )rM   r  r.   s      r0   !test_loc_empty_list_indexer_is_ok8TestLocBaseIndependent.test_loc_empty_list_indexer_is_okG  s   GGFO5848a2aS843?U1X6XRs8X6SA
 	FF1b5M2771bqb5>DTX	
 	FF2q5M2772A2q5>DTX	
 	FF2JAQU	
 56s   DDc                    [        S/ SQ05      nUR                  S S  nX!Ld   eUS S  ULd   eUR                  S S 2S S 24   ULd   e[        R                  " US   R                  US   R                  5      (       d   e/ SQUR                  S S 2S4'   US   / SQ:H  R                  5       (       d   e[        [        R                  R                  S5      R                  S5      5      nUS   UR                  S S 2S4   Ld   e[        / SQ5      nUR                  S S  nXTLd   eUS S  ULd   e/ SQUS S	& [        US S	 / SQ:H  5      (       d   eg )
Nr"   r   )rg   rg   rg   r9   ry   rg   r   r  r  rR   )
r   r&   rK   shares_memory_valuesr`  r   r   r  r   )rM   original_df	sliced_dfr.   original_seriessliced_seriess         r0   &test_identity_slice_returns_new_object=TestLocBaseIndependent.test_identity_slice_returns_new_objectZ  se     i 01OOA&	+++1~[000q!t$K777 C 0 8 8)C.:P:PQQQQ #,3#)+002222 ryy,,Q/??HI!uBFF1a4L((( !!34'++A.333q!888'=!$	12222r2   c                 \   [        [        [        S5      [        S5      5      SS/S9nUR                  5       nUR                  S S 2S4   nUS-  n[
        R                  " X#5        UR                  5       nUR                  UR                  S4   nUS-  n[
        R                  " X%5        g )NrR   r"   r!   r   r9   )r   ziprW   r   r&   r'   r(   r
   )rM   requestr   r|  qzs         r0   test_loc_copy_vs_view,TestLocBaseIndependent.test_loc_copy_vs_viewx  s    c%(E!H-SzBFFHEE!S&M	Q
a#FFHEE!''3,	Q
a#r2   c                 |   [         R                  " S5      R                  n[        SS/US-
  U/S9nUR                  US-
     nUR
                  S   nX4:X  d   eUR                  US-
  /   nUR
                  S/   n[        R                  " X45        UR                  US-
  U/   n[        R                  " X25        g )Nr   r8   r9   r	   r   )rK   iinfomaxr   r&   r   r'   r>   )rM   umaxr  r?   r/   s        r0   test_loc_uint64&TestLocBaseIndependent.test_loc_uint64  s     xx!%%aVD1Hd#34"88A;!!!$($88QC=
v0$(D)*
v+r2   c                 p   [         R                  " S5      R                  n[        SS/US-
  U/S9n[        R
                  " [        SS9   UR                  S     S S S 5        [        R
                  " [        SS9   UR                  S/     S S S 5        g ! , (       d  f       NA= f! , (       d  f       g = f)Nr   r8   r9   r	   z-1r   r;  )rK   rC  rD  r   r   r   rY   r&   )rM   rE  r  s      r0   !test_loc_uint64_disallow_negative8TestLocBaseIndependent.test_loc_uint64_disallow_negative  s    xx!%%aVD1Hd#34]]840GGBK 1 ]]840GGRDM 10	 10 10s   B<B'
B$'
B5c           	          / SQn[        U[        R                  " [        R                  /[	        U5      -  [
        S9S.5      n[        SS/S9nXR                  S S 2S4'   [        R                  " X25        g Nr   rT   r   r|  r   r|  r   )	r   rK   r   r   rp   rJ   r&   r'   r(   rM   r   r/   r.   s       r0   *test_loc_setitem_empty_append_expands_rowsATestLocBaseIndependent.test_loc_setitem_empty_append_expands_rows  sb     RXXrvvhT&:&IJ

 Sz*q#v
b+r2   c           	      <   / SQn[        U[        R                  " [        R                  /[	        U5      -  [
        S9S.5      n[        SS/S9nUS   R                  [        R                  5      US'   XR                  S S 2S4'   [        R                  " X25        g rL  )r   rK   r   r   rp   rJ   r  r   r&   r'   r(   rN  s       r0   6test_loc_setitem_empty_append_expands_rows_mixed_dtypeMTestLocBaseIndependent.test_loc_setitem_empty_append_expands_rows_mixed_dtype  s|     RXXrvvhT&:&IJ
 Sz*S'..*3q#v
b+r2   c                     [        S/[        R                  /S.5      n[        SS/[        S9nUR                  S   UR                  S'   [
        R                  " X!5        g )Nr4   rM  r   r|  rG   )r   r   )r   rK   r   r=   r&   r'   r(   r~  s      r0   *test_loc_setitem_empty_append_single_valueATestLocBaseIndependent.test_loc_setitem_empty_append_single_value  sM    C5x89Sz7!f-v
b+r2   c                    SS/n[        SS/S9nUR                  R                  [        R                  5      Ul        Sn[
        R                  " [        US9   XR                  SS/S4'   S S S 5        S	n[
        R                  " [        US9   XR                  SS2S4'   S S S 5        g ! , (       d  f       NE= f! , (       d  f       g = f)
Nr8   r9   r   r|  r   z&None of .*Index.* are in the \[index\]r   r   )setting an array element with a sequence.)
r   r
   r  rK   r   r   r   rY   r&   
ValueError)rM   r   r.   r   s       r0   $test_loc_setitem_empty_append_raises;TestLocBaseIndependent.test_loc_setitem_empty_append_raises  s     1vSz*88??288,7]]83/"&FFAq63; 0 :]]:S1#FF1Q38 21	 0/ 21s   B+B<+
B9<
C
c                     [        SS/SS//5      nUR                  [        R                  " S5         n[	        SS/SS9n[
        R                  " X#5        g )Nr8   r9   rR   rg   r   r   )r   r&   rK   r   r   r'   r>   )rM   r.   r?   r&  s       r0   test_indexing_zerodim_np_array5TestLocBaseIndependent.test_indexing_zerodim_np_array  sM    AA'($Aq6"
v)r2   c                 t    [        SS/5      nUR                  [        R                  " S5         nUS:X  d   eg )Nr8   r9   r   )r   r&   rK   r   )rM   r&  r?   s      r0   %test_series_indexing_zerodim_np_array<TestLocBaseIndependent.test_series_indexing_zerodim_np_array  s1    Aq6Nrxx{#{{r2   c                     / SQS /S-  -   n[        U[        SS5      S9n[        [        SS5      [        R                  S9n/ SQUR                  SSS	2'   [
        R                  " X25        g )
Nr  rg   i  i  r	   r  )rz   r|   rg   rR   r9   r8   r   r;  )r   rW   rK   r   r&   r'   r>   )rM   r   r/   r?   s       r0   test_loc_reverse_assignment2TestLocBaseIndependent.test_loc_reverse_assignment  s^    !TFQJ.$eD$&78eD$/rzzB#5

4R< 
v0r2   c                 n   [        S5       Vs/ s H<  n[        [        R                  R	                  S5      R                  5       S-  5      PM>     nn[        US/S9n[        US/S9n[        R                  " XE5        U(       aX  [        R                  " [        SS9   U Vs/ s H  n[        U5      PM     snUR                  UR                  S4'   S S S 5        OnU Vs/ s H  n[        U5      PM     snUR                  UR                  S4'   [        US/[        S9R                  [        5      n[        R                  " XE5        U Vs/ s H  n[        U5      PM     snUS'   [        US/[        S9n[        R                  " XE5        g s  snf s  snf ! , (       d  f       N^= fs  snf s  snf )	Nr|   r9   g-q=r%   r   r  r   rG   )rW   rI   rK   r   r   r   r'   r(   r   r   r   r=   r&   r
   r  rJ   )rM   rN   _col_datar?   r/   r   s          r0   3test_loc_setitem_str_to_small_float_conversion_typeJTestLocBaseIndependent.test_loc_setitem_str_to_small_float_conversion_type  sd    MRRSHUHqC		--a0779EABHU8cU3Xu5
f/ y@CK0L8aq80L

6<<,- A@ @H,Hx!U1Xx,HFJJv||S() C5FMMfUH!!&3 *22AuQx2sXuEB
f/' V 1M A@ -I 3s0   AFF$F9F"F-F2F
F*c                    [        SSSS9nUR                  S:H  UR                  S:H  -  n[        [        R
                  R                  S5      R                  [        U5      S45      US	9n[        R                  " XA5      nUR                  [        SS5         nUR                  U   n[        R                  " XV5        UR                  S
S  nUR                  [        SS5         nUSS  nUR                  R                  S 5      Ul        UR                  R                  S 5      Ul        [        R                  " XX5        g )N1/1/2000z1/5/20005minfreqr  r   r9   rR   r	   z1/4/2000r;  )r   hourminuter   rK   r   r   r  rp   r'   get_objr&   r   r   r
   
_with_freq)	rM   r[   rngr   r\   r?   r   chunkr/   s	            r0   test_loc_getitem_time_object3TestLocBaseIndependent.test_loc_getitem_time_object  s   Zf=A#**"23II!!!$44c#h]C3
 jj.a%ggdm
$
$42;'"#; ||..t4!2248
)r2   
spmatrix_t)
coo_matrix
csc_matrix
csr_matrixr;   c                 6   [         R                  " S5      n[        X15      nSu  pEU" [        R                  " XEUS9US9n[
        R                  R                  U5      n[        SU5      n[        R                  " UR                  U   R                  5      n	UR                  5       U   n
[        R                  " X5        UR                  U   R                  R                  n	[        R                   " U[#        U5      5      n
[        R                  " X5        g )Nscipy.sparse)r|   r{   rT   r9   )r   importorskipgetattrrK   eyer   sparsefrom_spmatrixrW   
nan_to_numr&   r   toarrayr'   assert_numpy_array_equalr  fullr   )rM   rw  r;   	sp_sparserowsr   spmatrixr.   itr_idxr?   r/   s              r0   $test_loc_getitem_range_from_spmatrix;TestLocBaseIndependent.test_loc_getitem_range_from_spmatrix  s     ''7	Y3

 
bffTu=UK++H5 4.rvvg556##%g.
##F5 ''..774U!34
##F5r2   c           	          [        S[        R                  " SS/[        S5      S905      nUR                  SS/   n[
        R                  " X!5        g )Nr%   r   r   rT   r8   )r   r   r   r   r&   r'   r(   r)  s      r0   ,test_loc_getitem_listlike_all_retains_sparseCTestLocBaseIndependent.test_loc_getitem_listlike_all_retains_sparse3  sD    RXXq!fK4HIJKA
f)r2   c                     [         R                  " S5      n[        R                  R	                  UR                  S[        R                  S95      nUR                  [        S5         n[        / SQ/ SQ/[        [        R                  5      S9n[        R                  " X45        UR                  [        S5         R                  [        S5         n[        / SQ/[        [        R                  5      S9n[        R                  " X45        g )Nr|  r|   rT   r9   )r8   r   r   r   r   )r   r8   r   r   r   r8   )r   r}  r   r  r  r  rK   r   r&   rW   r   r'   r(   )rM   r  r.   r?   r/   s        r0   test_loc_getitem_sparse_frame4TestLocBaseIndependent.test_loc_getitem_sparse_frame8  s    ''7	++IMM!288M,LMa!o.bhh'
 	f/a!%%eAh/o.k"((6KL
f/r2   c                 l   [        / SQ[        SS5      S9nUR                  [        S5         n[        SS/[        SS5      S9n[        R
                  " X#5        UR                  [        S5         R                  [        S5         n[        SS/[        SS5      S9n[        R
                  " X#5        g )N)r4   r  r  r  r  r   r  rT   r9   r4   rR   )r   r   r&   rW   r'   r>   )rM   r&  r?   r/   s       r0   test_loc_getitem_sparse_series5TestLocBaseIndependent.test_loc_getitem_sparse_seriesH  s    ,K	34OPuQx3*K	3,GH
v0uQx$$U1X.3*K	3,GH
v0r2   r&   r   c                     [        / SQ/ SQ/[        [        5      S9n[        X!5      S   n[	        / SQ[        [        5      SS9n[
        R                  " X45        g )N)r4   r        ?)r  r5   r  rT   r   )r;   r<   )r   r   r=   r~  r   r'   r>   )rM   r  r.   r?   r/   s        r0   !test_getitem_single_row_sparse_df8TestLocBaseIndependent.test_getitem_single_row_sparse_dfT  sJ     9UAST%a(/U1C!L
v0r2   key_typec                     U" / SQ5      nUR                   S S 2U4   nUR                   S S 2/ SQ4   n[        R                  " XE5        g )Nr   )r&   r'   r(   )rM   float_framer  idxr?   r/   s         r0   test_loc_getitem_iterable0TestLocBaseIndependent.test_loc_getitem_iterable\  s?    'C(??1o#56
f/r2   c                     [        [        R                  R                  S5      R	                  SS95      n[        SSSS9Ul        UR                  [        S5      S 2S S 24   nUR                  SS 2S S 24   n[        R                  " X25        g )Nr9   r2  rL  0sry   r&  startrl   rn  )r   rK   r   r   normalr   r
   r&   r   r'   r(   r   s       r0   #test_loc_getitem_timedelta_0seconds:TestLocBaseIndependent.test_loc_getitem_timedelta_0secondsc  su    ryy,,Q/66G6DE"rD66)D/+Q./q!
f/r2   val,expected)    r8   )            r9   c                     [        SS/SS/S9nUR                  U   n[        U/5      nXl        [        R
                  " XB5        g )Nr8   r9   r  r  r	   )r   r&   r   r<   r'   r>   )rM   rg  r/   r.   r?   s        r0   test_loc_getitem_uint64_scalar5TestLocBaseIndependent.test_loc_getitem_uint64_scalark  sE     1vi%788*%
v0r2   c                     Un[        / SQ[        / SQUS9S9nUR                  5       nSUR                  S'   SUR                  S'   [
        R                  " X45        g )Nr  )r         ?r8   rT   r	   zoor8   r9   )r   r   r   r&   r   r'   r>   )rM   float_numpy_dtyper;   r  r/   s        r0   +test_loc_setitem_int_label_with_float_indexBTestLocBaseIndependent.test_loc_setitem_int_label_with_float_indext  sN    !_E+U,KL88:
 a
s-r2   zindexer, expected)
re   r8   r9   rR   rg   r|   rz   r{   ri   r  )
r   r8   r9   rR   re   re   re   re   ri   r  )
r   r8   r9   re   rg   re   rz   r{   ri   r  c                     [        [        S5      SS9n[        S[        S5      0SUS9nSUR                  UR                  U   S4'   [        UUS/SS9n[
        R                  " X$5        g )	Nry   r&  r  r   r   r;   r
   re   r  )r   rW   r   r&   r
   r'   r(   )rM   r  r/   tdir.   s        r0   /test_loc_setitem_listlike_with_timedelta64indexFTestLocBaseIndependent.test_loc_setitem_listlike_with_timedelta64index  so     593/U2Y'wcB)+rxx #%&E	
 	h+r2   c                    [        / SQ[        S5      S.5      n[        R                  " [        SS9   [        SS/SS/S9UR                  S	S
2S4'   [        SS/SS/S9UR                  S
S2S4'   S S S 5        g ! , (       d  f       g = f)Nr8   r8   r8   r8   r8   aaaaar  r  r   r!   r"   
categoriesr8   r9   rR   )r   rX   r   r   r   r   r&   r   s     r0   8test_loc_setitem_categorical_values_partial_column_sliceOTestLocBaseIndependent.test_loc_setitem_categorical_values_partial_column_slice  s{     _4=AB]]9O<*C:3*MBFF1Q38*C:3*MBFF1Q38 =<<s   ?A;;
B	c                 H   [        S/S/S.5      n[        US   / SQS9nX2R                  S S 2S4'   US   n[        X2R                  SS9R                  U(       d  [        OS5      n[        R                  " XE5        X2S'   [        R                  " US   [        USS	95        g )
Nr"   r   )AlphaNumericr  r  r  r   rI   r   )	r   r   r&   r   r
   r  rJ   r'   r>   )rM   rN   r.   r  r?   r/   s         r0   'test_loc_setitem_single_row_categorical>TestLocBaseIndependent.test_loc_setitem_single_row_categorical  s    #A378 GI
 (q'zG*HH7CJJ,F%
 	v0 !7
r'{F:G,LMr2   c                    [        S[        S5      /S-  05      n[        R                  " S5      UR                  SS2S4'   [        S5      UR                  S   :X  d   e[        S5      UR                  S   :X  d   e[
        R                  " [        S	S
9   [        SSS5      UR                  S'   S S S 5        g ! , (       d  f       g = f)Nr`   z
2010-10-01rR   z
2008-08-08r   r8   )r   r`   )r8   r`   r  r   i  r|   )r9   r`   )	r   r   rK   r  r&   r   r   r   r   r   s     r0   "test_loc_setitem_datetime_coercion9TestLocBaseIndependent.test_loc_setitem_datetime_coercion  s    i56:;<==6qsCx&"&&.888&"&&.888]]9O<!$1-BFF6N =<<s   B;;
C	idxervarc                 T   Un[        SSSUS9n[        SUS/S9n[        US/[        R                  S9nUS:X  a5  [        R
                  " [        S	S
9   XVR                  S S 2U4'   S S S 5        g XVR                  S S 2U4'   [        R                  " Xe5        g ! , (       d  f       g = f)Nz
2015-07-12rR   r  )r  rl   rn  tzr  r  r5  r  r  r   )
r   r   rK   r   r   r   r   r&   r'   r(   )rM   r  tz_naive_fixturer  r  r/   r?   s          r0   !test_loc_setitem_datetimeindex_tz8TestLocBaseIndependent.test_loc_setitem_datetimeindex_tz  s     |QSRHSeW= ugRZZHE>y@'/

1e8$ A@ $,JJq%x !!&3 A@s   B
B'c                    [        SSSS9n[        [        R                  R	                  S5      R                  [        U5      S45      US9n[        SS	S	5      n[        [        S
S	S	5      [        SS	S	5      5      n/ SQn/ SQnUR                  5       nS	UR                  U'   UR                  U   nUR                  U   R                  5       nS	UR                  S S & [        R                  " Xx5        UR                  5       nS	UR                  U'   UR                  U   UR                  U'   [        R                  " Xr5        UR                  5       nS	UR                  U'   UR                  U   nUR                  U   R                  5       nS	UR                  S S & [        R                  " Xx5        UR                  5       nS	UR                  U'   UR                  U   UR                  U'   [        R                  " Xr5        g )Nz
2012-01-01z
2012-01-0530minrm  r9   r|   r	   r   r         )   rC   x      )         J   K   L   z   {   |            )r   r   rK   r   r   r  rp   r   r   r   r&   r'   r(   r   )	rM   r
   r.   akeybkeyaindsbindsr?   r/   s	            r0   test_loc_setitem_time_key0TestLocBaseIndependent.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
f/

4775>

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

4D!66$<$$&Q
f/

4775>

4
f)r2   rc   c                    [         R                  " / SQ5      n[        / SQ/ SQ/US9nUR                  5       n[        R
                  " SSS9UR                  S S 2U4'   [        / SQ/ S	Q/US9n[        R                  " XE5        UR                  S
S9n[        R
                  " SSS9UR                  S S 2U4'   UR                  S
S9n[        R                  " X55        g )N))r%   rg   )r   3)r%   rF   r   rg   r|   rz   r   r9   r9   r   rT   )r   r9   r   )r   r|   r   r8   r  )
r   from_tuplesr   r   rK   zerosr&   r'   r(   r  )rM   rc   r  r.   r\   r/   s         r0   ,test_loc_setitem_unsorted_multiindex_columnsCTestLocBaseIndependent.test_loc_setitem_unsorted_multiindex_columns  s     ##$FG	9-r:ggi((693i3R@
c,]]]"&8q#v&&A&.
b+r2   c                 ~    [        / SQUS9nSUR                  S'   [        / SQUS9n[        R                  " X#5        g )Nr   rT   rg   r   )rg   r9   rR   r   r&   r'   r>   )rM   any_int_numpy_dtyper+   r/   s       r0   test_loc_setitem_uint_drop1TestLocBaseIndependent.test_loc_setitem_uint_drop  s9     	)<=

1)+>?
v0r2   c                 j   [        S[        R                  " SS5      /-  5      n[        R                  " SS5      UR                  / SQ'   [        S[        R                  " SS5      /-  5      n[	        [        R                  " SS5      5      UR                  / SQ'   [
        R                  " X5        g )Nry   r  re   r   )r   rK   timedelta64r&   r   r'   r>   )rM   r  r/   s      r0   test_loc_setitem_td64_non_nano5TestLocBaseIndependent.test_loc_setitem_td64_non_nano  s    R2>>"c2334^^B4	"r3 7889"+BNN2s,C"DY
s-r2   c                    [         R                  R                  S5      R                  S5      n[	        [        S5      SS9nSn[        R                  " [        US9   XR                  [        S5      '   S S S 5        [        R                  " [        US9   XR                  S S & S S S 5        g ! , (       d  f       N?= f! , (       d  f       g = f)Nr9   r  r   rT   rX  r   )
rK   r   r   r  r   rW   r   r   rY  r&   )rM   r   r  r   s       r0    test_loc_setitem_2d_to_1d_raises7TestLocBaseIndependent.test_loc_setitem_2d_to_1d_raises  s    yy$$Q'77?U1XY/9]]:S1 $GGE!H 2 ]]:S1GGAJ 21 21 21s   B.B?.
B<?
Cc                     [         R                  " SSS9n[        / SQ/ SQ/ SQ/U/ SQS9nS	nUR                  S
   n[        R
                  " XC5        g )Nr   rR   )r  rl   r   r  r  r   r5  r8   )r  r%   )r   interval_ranger   r&   r'   assert_almost_equal)rM   r
   r.   r/   r?   s        r0   test_loc_getitem_interval_index6TestLocBaseIndependent.test_loc_getitem_interval_index  sO    !!15	9-UO
 !
v0r2   c                     [         R                  " SSSS9n[        / SQ/ SQ/ SQ/U/ SQS	9n[         R                  " SS
SSS9n[        SS/USS9nUR                  S   n[
        R                  " XT5        g )Nr   rR   both)r  rl   closedr   r  r  r   r5  r9   r8   )r  rl   rn  r  rg   r%   r   r8   r%   )r   r  r   r   r&   r'   r>   )rM   r
   r.   	index_expr/   r?   s         r0    test_loc_getitem_interval_index27TestLocBaseIndependent.test_loc_getitem_interval_index2&  ss    !!1VD	9-UO
 %%AqqP	1a&	<
v0r2   tplr8   r8   r9   c                     [        SS/SSS9n[        US9nUR                  U/   n[        U/SSS9n[        US9n[        R                  " XE5        g )Nr  r  r%   Fr<   tupleize_colsr	   )r   r   r&   r'   r(   )rM   r  r  r.   r?   r/   s         r0   +test_loc_getitem_index_single_double_tuplesBTestLocBaseIndependent.test_loc_getitem_index_single_double_tuples2  s^     6N

 S!SE593'
f/r2   c                     [        SSS/5      nU" SS5      nU" SS5      n[        X#/SS	S
9n[        SS/USS/S9nUR                  U" SS5         S   nUS:X  d   eg )N	IndexTyper"   r!   r   r   r  bofcomposite_indexFr
  r  )rR   rg   r%   r   r5  r8   )r   r   r   r&   )rM   r  idx1idx2r
   r.   r?   s          r0   !test_loc_getitem_index_namedtuple8TestLocBaseIndependent.test_loc_getitem_index_namedtupleA  sx    {S#J7	&&tl):%P'usCjI	%/05{{r2   c                    [        [        R                  R                  S5      R	                  S5      / SQ/ SQS9nSUS'   [        R
                  UR                  UR                  S S S2   S4'   [        [        R
                  S[        R
                  S[        R
                  /U(       d  [        OSS9R                  n[        R                  " US   R                  U5        g )	Nr9   r|   rR   )r"   r!   r`   r%  r3  r  r5  quxrI   rT   )r   rK   r   r   r  r   r&   r
   r   rJ   r   r'   r  )rM   rN   r.   r/   s       r0   $test_loc_setitem_single_column_mixed;TestLocBaseIndependent.test_loc_setitem_single_column_mixedK  s    II!!!$44V<+)

 5	')vvrxx!}e#$VVUBFFE2662 2&
 & 	 	r%y//:r2   c                 ,   [        [        R                  R                  S5      R                  S5      [	        S5      S9n[        R
                  US'   [        R                  " [        SS9   SUR                  S	'   S S S 5        g ! , (       d  f       g = f)
Nr9   )r   rR   ABCr   eventr  r   r   )ry   r  )
r   rK   r   r   tupler   r   r   r   r&   r   s     r0   test_loc_setitem_cast2-TestLocBaseIndependent.test_loc_setitem_cast2Y  sc     ryy,,Q/66w?uVff7]]9O<"'BFF; =<<s   ,B
Bc                    [        S[        R                  " S[        R                  S905      nSUR                  S'   UR
                  R                  [        R                  " [        R                  5      :X  d   e[        R                  " S5      Ul        UR
                  R                  [        R                  " [        R                  5      :X  d   eg )Nonerz   rT   )r8   r"  r{   )r   rK   r   int8r&   r  r"  r;   r   s     r0   test_loc_setitem_cast3-TestLocBaseIndependent.test_loc_setitem_cast3a  s    ryy"'':;<xyy}} 1111yy}} 1111r2   c                     U" [        S5      / SQS9n/ SQnUR                  S:X  a  S/S/S//nX2R                  [        S	5      '   U" / S
QUR                  S9n[        R
                  " X$5        g )Nr|   )rR   rg   r8   r   r9   r	   )r  ry   r  r9   r  ry   r  rR   )r   r8   ry   r  r  )rW   ndimr&   r
   r'   r   )rM   r[   r\   r   r/   s        r0   test_loc_setitem_range_key1TestLocBaseIndependent.test_loc_setitem_range_keyi  sa    eAho>88q=cB4"&F"a"#4CIIF
&r2   c                     [        / SQ/ SQS.5      n[        SS/SS/S9UR                  SS2S4'   [        / SQ/ SQS.5      n[        R                  " X5        g )	Nr  r   r  r9   r8   r  r"   )r8   r9   r9   r8   r8   r   r   r&   r'   r(   r   s      r0   .test_loc_setitem_numpy_frame_categorical_valueETestLocBaseIndependent.test_loc_setitem_numpy_frame_categorical_valuev  sU    _3LMN&1v1a&AqsCx?9RST
b+r2   c                    [        SSS9n[        [        [        R                  U/5      [        SS/5      S.5      R                  S5      nUR                  [        [        R                  X/UR                  R                  S9S	4   n/ S
QnUR                  5       U:X  d   eUR                  [        [        R                  /UR                  R                  S9S	4   nUR                  5       S/:X  d   eg )Nz
2023-01-01T)utcr   r8   )r
   rC  r
   rT   rC  r  )
r   r   r   r   r   r   r&   r
   r;   tolist)rM   r  r.   r?   r/   s        r0   "test_loc_with_nat_in_tzaware_index9TestLocBaseIndependent.test_loc_with_nat_in_tzaware_index~  s    $7	 34A

 )G
 	 BFFI1H
 }}(*** BFF8288>>2
 }}1#%%%r2   r   )nr   r   r   r   r   r   r   r   r   r   r   r   r   r	  r  r!  r'  r*  r/  r8  r@  rD  rI  rZ  ra  fixturerh  rK   r   r   rl  rp  rt  ry  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r  r  r  r  r  arm_slowslowr%  r*  r/  r9  r@  rF  rI  rO  rR  rU  rZ  r]  r`  rc  rh  ru  
complex128r   boolr  r  r  r  r  iterr   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r$  r(  r,  r1  r   r   r2   r0   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%(,&	 [[We}6P&QR S#%N 0*&$ ^^
 
 [[	
BHHQbhh'/)RS$	$&$), 6*p [[V%OP: Q:",4 [[Yu6, 7,
,, [[Yu6, 7,6 [[Yu60 70.,,$,L [[SE5sD1288SE?C [[Wubhh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&
&3<$ ,",,,$*100*, [[\+UV[[Wr}}bjj"((D&QR6 S W6.*
0 
1 [[Y81 91 [[Z$&%)HI0 J00 [[^nj-IJ1 K1	. [[ /01a[<=V56	
	,	, NN&. [[Wuug&674 84  *D [[US3%#uT{1C$DE, F,1.
	1
1 [[UT6N30 40;(2',&r2   r   c                       \ rS rSr\R
                  S 5       r\R
                  S 5       rS r\R                  R                  S5      S 5       rS rSrg	)
TestLocWithEllipsisi  c                     U$ r   r   )rM   
indexer_lis     r0   r  TestLocWithEllipsis.indexer  s
     r2   c                 <    UnU[         La  UR                  5       nU$ r   )r   to_frame)rM   series_with_simple_indexr[   r\   s       r0   r\   TestLocWithEllipsis.obj  s    &&(,,.C
r2   c                 F    U" U5      S   n[         R                  " X15        g )N.)r'   r   )rM   r\   r  r?   s       r0   test_loc_iloc_getitem_ellipsis2TestLocWithEllipsis.test_loc_iloc_getitem_ellipsis  s    c"
$r2   3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                    UnU[         R                  L d  [        U5      S:X  a  SOUR                  S   nU[         R                  L a  UR                  R
                  S:X  a  g U[         R                  L aR  [        UR                  [        5      (       a3  Sn[        R                  " [        US9   U" U5      SU/4   nS S S 5        O?[        U5      S:w  a0  U" U5      SU/4   nU" U5      U/   n[         R                  " Xg5        U[         R                  L a  SOUR                  nUR                  5       n	U" U	5      SU/4   nU" U	5      S S 2U/4   n[         R                  " Xg5        g ! , (       d  f       Nt= f)Nr   rX  z2MultiIndex does not support indexing with Ellipsisr   .)r'   r   rp   r
   r&   inferred_typer   r   r   r   NotImplementedErrorr>   r<   r?  r(   )
rM   r@  r  r\   rc   r   r?   r/   key2r.   s
             r0   &test_loc_iloc_getitem_leading_ellipses:TestLocWithEllipsis.test_loc_iloc_getitem_leading_ellipses  s8   &rww&#c(a-aciilbff!8!8I!E bffCIIz!B!BFC2#> cC5j1 ?> X]S\#u*-Fs|SE*H""64rww&qCHH\\^S4&[)2;q4&y)
f/ ?>s   1E..
E<c                    U[         R                  L d  [        U5      S:X  a  SOUR                  S   n[        R
                  " [        [        S9   U" U5      S     S S S 5        [        R
                  " [        [        S9   U" U5      SU/S4     S S S 5        [        R
                  " [        [        S9   U" U5      SSU4     S S S 5        [        R
                  " [        SS9   U" U5      USS4     S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Na= f! , (       d  f       g = f)Nr   r   )...Too many indexers)r'   r   rp   r
   r   r   r   r   )rM   r\   r  rc   s       r0   0test_loc_iloc_getitem_ellipses_only_one_ellipsisDTestLocWithEllipsis.test_loc_iloc_getitem_ellipses_only_one_ellipsis  s    rww&#c(a-aciil]]=0EFCL" G ]]=0EFCLseS) G ]]=0EFCLc3' G
 ]]=0CDCLc3' ED GF GF GF
 EDs0   C?D7D!'D2?
D
D!
D/2
E r   N)r   r   r   r   r   r3  r  r\   rC  r   filterwarningsrJ  rN  r   r   r2   r0   r:  r:    s_    ^^  ^^ % [[ VW0 X00(r2   r:  c                   z   \ rS rSr\R
                  R                  SSS// SQ/ SQ/4SS// SQ/ SQ/4SS/SS	/4/ SQ/ SQ/4SS/S	S/4/ SQ/ S
Q/4SS/S	S/4/ SQ/ S
Q/4SS/SS	/4/ SQ/ SQ/4SS/S	S/4/ SQ/ SQ/4/5      \R
                  R                  SSS/5      S 5       5       rS rS r	S r
S rS rS rS rS rS rS r\R
                  R                  S\R&                  \R*                  S\R,                  45      S 5       rS r\R
                  R                  S S!S"/5      S# 5       rS$ rS% rS&rg)'TestLocWithMultiIndexi  zkeys, expectedr!   r"   )r!   r!   r"   r"   )r8   r9   r8   r9   )r"   r"   r!   r!   r8   r9   )r9   r8   r9   r8   r`   )r`   r"   r"   )r8   r9   r8   dimr
   rH   c                    U/ SQ/ SQ/0n[        [        R                  " S5      R                  SS5      40 UD6n[        R
                  " U5      nUS:X  a5  UR                  US S 24   n[        R                  " UR                  U5        g US:X  a5  UR                  S S 2U4   n[        R                  " UR                  U5        g g )N)r`   r"   r"   r!   r!   )r8   r8   r9   r8   r9      r|   r
   rH   )r   rK   r   reshaper   r   r&   r'   assert_index_equalr
   rH   )rM   rS  keysr/   kwargsr.   	exp_indexr   s           r0   'test_loc_getitem_multilevel_index_order=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 r2   c                 $   UnUR                   S   nUS   R                   S   nUR                  R                  UR                  R                  SS  :X  d   eUR                  R                  UR                  R                  SS  :X  d   eUR                   S   nUS   R                   S   nUR                  R                  UR                  R                  S   :X  d   eUR                  R                  UR                  R                  S   :X  d   eg )N  r%   r8   )r^  r9   r9   )r&   r
   r  r<   )rM   /multiindex_year_month_day_dataframe_random_dataymdr?   result2s        r0   test_loc_preserve_names-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7r2   c                    [         R                  " S/SS//5      n[        SUS9nUR                  /    nUS S n[        R
                  " X45        UR                  UR                  SS    n[        R
                  " XT5        g )Nr   r8   r	   )r   from_productr   r&   r'   r>   r   )rM   r  r  r   r/   res2s         r0   .test_loc_getitem_multiindex_nonunique_len_zeroDTestLocWithMultiIndex.test_loc_getitem_multiindex_nonunique_len_zero  st    $$qcAq6]3Qb!ggbkr7
s-wwsxx!}%
t.r2   c                 r   [        S /[        R                  " S/S//5      5      nUR                  S   nUb   e[        R                  " S/SS//5      n[        S /[        U5      -  [        US9nUR                  S   nUb   e[        S/[        U5      -  [        US9nUR                  S   nUS:X  d   eg )	NLevel1Level2)rj  rk  Level2_aLevel2_br  )rj  rl  r8   )r   r   r   r&   re  rp   rJ   )rM   r  r?   midxs       r0   0test_loc_getitem_access_none_value_in_multiindexFTestLocWithMultiIndex.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{{r2   c                     [         R                  " [        / SQ/ SQ5      SS/S9n[        / SQUS9nSUR                  S	S
& [        / SQUS9n[
        R                  " X#5        g )N)r   r   r  r  r   r   r  r  )r"  twor"  rr  r"  rr  r"  rr  firstsecondr  )r8   r8   r8   r8   r8   r8   r8   r8   r	   r  )r  r"  )r   rr  )r8   r8   r  r  r  r  r8   r8   )r   r  r<  r   r&   r'   r>   )rM   r
   r?   r/   s       r0   !test_loc_setitem_multiindex_slice7TestLocWithMultiIndex.test_loc_setitem_multiindex_slice  sf     &&HH H%
 0>69

>N3:%H
v0r2   c                     [        SSSS9n[        [        S5      U5      nUR                  [	        SSS5      [	        SSS5       n[
        R                  " X25        g )Nrd  10minr  rn  rl   il  r8   i4  )r   r   rW   r&   r   r'   r>   )rM   timesr  r?   s       r0   7test_loc_getitem_slice_datetime_objs_with_datetimeindexMTestLocWithMultiIndex.test_loc_getitem_slice_datetime_objs_with_datetimeindex-  sP    <gvFU6]E*$1-q!0DE
v+r2   c           	          [        [        S5      [        S5      S.[        SSSS9S9nUR                  SS/S	S
/4   n[        SS/SS/S.[	        SS/5      R                  S5      S9n[        R                  " X#5        g )Nry   r  z
2010-01-01z
2010-01-10r  r  r	   z
2010-01-05r"   r!   r   rg   )r   rW   r   r&   r   r  r'   r(   r   s       r0   3test_loc_getitem_datetime_string_with_datetimeindexITestLocWithMultiIndex.test_loc_getitem_datetime_string_with_datetimeindex3  s    )%),\<dC
 |4sCj@Aa&1v&| <=EEdK
 	f/r2   c           	      *   [         R                  " / SQSS/S9n[        SS/SS/S	S
/SS/SS/SS//USS/S9nUR                  SS9n[        SS/SS/SS//SS/UR	                  / SQ5      S9nUR
                  S   n[        R                  " XC5        g )N)r   r   r  bahbamr  r  r  r%   r   r  r4   r8   r5   r9   r6   rR   r7   rg         @r|         @rz   r   r_  r5  r   )level)r   r8   rg   r   r  )r   r  r   r  r"  r&   r'   r(   )rM   r  r.   r/   r?   s        r0   3test_loc_getitem_sorted_index_level_with_duplicatesITestLocWithMultiIndex.test_loc_getitem_sorted_index_level_with_duplicates@  s    ## *

 aaaaaa #J
 ]]]#1XQx#q*S#JbggiFX
 '
f/r2   c                 ~    [        / SQSS9nSUR                  S'   [        / SQSS9n[        R                  " X5        g )Nr  categoryrT   r   rR   )r"   r!   r`   r   rJ   r  rM   r?   r/   s      r0   1test_additional_element_to_categorical_series_locGTestLocWithMultiIndex.test_additional_element_to_categorical_series_locb  s6    z:

1,H=
v0r2   c                 ~    [        / SQSS9nSUR                  S'   [        / SQSS9n[        R                  " X5        g )Nr  r  rT   r"   rR   r"   r!   r`   r"   r  r  s      r0   'test_additional_categorical_element_loc=TestLocWithMultiIndex.test_additional_categorical_element_loci  s6    z:

1.jA
v0r2   c           
         [        / SQ[        [        / SQUS95      S9n[        R                  UR
                  S'   [        SSS[        R                  /[        [        / SQUS95      S9n[        R                  " X#5        [        R                  UR
                  S'   [        S[        R                  S[        R                  /[        [        / SQUS95      S9n[        R                  " X#5        g )Nr   rT   rR   r8   r9   )r   r   r   rK   r   r&   r'   r>   )rM   any_numeric_ea_dtypesrsr/   s       r0   &test_loc_set_nan_in_categorical_series<TestLocWithMultiIndex.test_loc_set_nan_in_categorical_seriesp  s    "5:N#OP

 VV
1bff"5:N#OP
 	s-VV
266""5:N#OP
 	s-r2   naNc                     [        / SQSS9nXR                  S'   [        / SQSS9nXR                  S'   [        R                  " X#5        [        SSSU/SS9n[        R                  " X$5        g )	Nr  r  rT   rR   r  r"   r!   r`   r  )rM   r  srs_enlargesrs_setintor/   s        r0   ,test_loc_consistency_series_enlarge_set_intoBTestLocWithMultiIndex.test_loc_consistency_series_enlarge_set_into  sf     _J?1D
{83S"-Z@
{5r2   c           
         [        [        R                  " SSS5      [        [	        SS/5      [        S5      /S/S-  S/S-  -   [        S5      /S	S
/S9S9n[	        SS/SS/SS	SS9nUR                  R                  S   n[        R                  " X25        UR                  S/   R                  R                  S   n[        R                  " X25        g )Nr9      r"   r!   ry   r   r|   r8   Index1Index2)r  codesr  )r   r
   Fr  )r  orderedr<   r;   )r   rK   r   r   r   rW   r
   r  r'   rW  r&   r   s       r0   5test_loc_getitem_preserves_index_level_category_dtypeKTestLocWithMultiIndex.test_loc_getitem_preserves_index_level_category_dtype  s    1b!$(#s4eBi@sQw!q(%)4*
 $#JSz
 #
f/$$++A.
f/r2   lt_valuer   ry   c                     [        S/ SQ0[        S5      / SQ/S9n[        R                  " [        SS9   UR
                  US   U:  S S 24   R
                  S/S S 24     S S S 5        g ! , (       d  f       g = f)	Nr"   )r      "   -   aabbr   r8   r9   rR   r	   z\['b'\] not in indexr   r!   )r   rX   r   r   rY   r&   )rM   r  r.   s      r0   >test_loc_multiindex_levels_contain_values_not_in_index_anymoreTTestLocWithMultiIndex.test_loc_multiindex_levels_contain_values_not_in_index_anymore  sf     -.tF|\6RS]]8+BCFF2c7X%q()--seQh7 DCCs   ,A**
A8c                 @   [         R                  " [         R                  [         R                  /5      nSS/n[        R                  " X/5      n[        SS/US9nUR                  S S 2S4   n[        S/[         R                  /S9n[        R                  " XV5        g )Nr   r  r   r8   r	   )	rK   r   r   r   r   r   r&   r'   r>   )rM   lev1lev2r  r  r?   r/   s          r0   'test_loc_multiindex_null_slice_na_level=TestLocWithMultiIndex.test_loc_multiindex_null_slice_na_level  s~    xx()u~##TL1aV2&E" 1#bffX.
v0r2   c                 0   [         R                  " [        S5      [        S5      SS/// SQS9n[        [	        S5      US9nUR
                  S	S S 2S S 24   nUR                  R                  S
5      S S n[        R                  " UR                  U5        g )Nabxyr8   r9   )r  r  numr  ri   r	   r"   r   rg   )
r   re  rX   r   rW   r&   r
   	droplevelr'   rW  )rM   r  r  
loc_resultr/   s        r0   test_loc_drops_level*TestLocWithMultiIndex.test_loc_drops_level  s     $$$ZdaV,4G
 U1XR(WWS!QY'
99&&q)"1-
j..9r2   r   )r   r   r   r   r   r   r   r[  rb  rg  ro  ru  r{  r~  r  r  r  r  rK   r   r   NAr   r  r  r  r  r  r   r   r2   r0   rR  rR    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
:r2   rR  c                   `   \ rS rSr\R
                  " S5      S 5       rS rS rS r	S r
S r\R                  R                  S	S
 S S S // SQS9S 5       rS rS rS rS r\R                  R)                  S5      \R                  R                  SSS/5      S 5       5       rS rS rSrg)TestLocSetitemWithExpansioni  pyarrowc                    [        [        S5      R                  5       /SS9n[        S[	        S5      0US9n[        S5      R                  5       nSUR
                  U'   [        US   U/UR                  S9n[        R                  " UR                  U5        US   R                  S S nSUR
                  U'   [        R                  " UR                  U5        g )	Nr   zdate32[pyarrow]rT   r%   r8   r	   z
1970-01-02r;  )r   r   r   r   rW   r&   r;   r'   rW  r
   r   )rM   r  r.   itemrZ  r  s         r0   2test_loc_setitem_with_expansion_preserves_ea_dtypeNTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_preserves_ea_dtype  s     Yq\&&()1BCU1Xc2&++-t3q64.		:	
bhh	2gll3B
cii3r2   c                 .   SnUR                  5          UR                  [        SU5        [        S[	        U5      0SS9nX#R
                  U'   S S S 5        [        S[	        US-   5      0SS9n[        R                  " WU5        g ! , (       d  f       N>= f)N2   _SIZE_CUTOFFr   r   rT   r8   )contextsetattrlibindexr   rW   r&   r'   r(   )rM   monkeypatchsize_cutoffr?   r/   s        r0   /test_loc_setitem_with_expansion_large_dataframeKTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_large_dataframe  s      ".+FU;%78HF&1JJ{# # c5q#9:'J
fh/ #"s   ;B
Bc           
          [        [        S9nSUR                  S'   [        R                  " U[        S/[        SS5      S95        SUR                  S'   [        R                  " U[        SS/SS/S95        g )NrT   r8   r9   r	   rR   r   rJ   r&   r'   r>   rW   rM   r  s     r0   test_loc_setitem_empty_series9TestLocSetitemWithExpansion.test_loc_setitem_empty_series  sf     6"

sFA3eAqk$BC

sFAq6!Q$@Ar2   c           
          [        [        S9nSUR                  S'   [        R                  " U[        S/[        SS5      S95        SUR                  S'   [        R                  " U[        SS/SS/S95        g )NrT   r4   r8   r9   r	   r6   rR   r  r  s     r0   #test_loc_setitem_empty_series_float?TestLocSetitemWithExpansion.test_loc_setitem_empty_series_float  sf     6"

sFC5a$DE

sFC:aV$DEr2   c           
      |   [        [        S9nSUR                  S'   [        R                  " U[        S/[        S/5      S95        SUR                  S'   [        R                  " U[        SS/[        SS/5      S95        SUR                  S'   [        R                  " U[        / SQ[        / S	Q5      S95        g )
NrT   r8   r   r	   rR   r   rg   )r8   rR   rg   )r   r   rR   )r   rJ   r&   r'   r>   r   r  s     r0   %test_loc_setitem_empty_series_str_idxATestLocSetitemWithExpansion.test_loc_setitem_empty_series_str_idx  s     6"
sFA3eUGn$EF
sFAq6u~9N$OP

sF9EBS<T$UVr2   c                    [        SSS[        S5      S9n[        S5       Vs/ s H  o![        US-  S9-   PM     nn[	        S	/US	   /S
9nU H  nSUR
                  U'   M     [	        SUS
9n[        R                  " XF5        g s  snf )Nr   r  r8   
US/Pacific)tzinfo   r  )secondsr   r	   )r   r   rW   r   r   r&   r'   r>   )rM   baser  idxsr?   tsr/   s          r0   %test_loc_setitem_incremental_with_dstATestLocSetitemWithExpansion.test_loc_setitem_incremental_with_dst  s    b!E,,?@;@9E9ayS119EDG9-BFJJrN !4(
v0 Fs   Bconvc                     U $ r   r   rU  s    r0   rV  $TestLocSetitemWithExpansion.<lambda>  s    ar2   c                 "    U R                  5       $ r   )to_datetime64rU  s    r0   rV  r        aoo'r2   c                 "    U R                  5       $ r   )to_pydatetimerU  s    r0   rV  r    r  r2   c                 .    [         R                  " U 5      $ r   )rK   r  rU  s    r0   rV  r    s    bmmA&r2   )rM   r  r  znp.datetime64)idsc           	      D   [        S5      n[        S5      n[        5       nSUR                  U" U5      S4'   SUR                  U" U5      S4'   [        SSS/0[        U" U5      U" U5      /U(       a  S O[        S9[        S/5      S	9n[
        R                  " XV5        g )
Nz20130101 09:00:00z20130101 10:00:00r  r"  r   g      Y@g      i@rT   r5  )r   r   r&   r   rJ   r'   r(   )rM   r  rN   dt1dt2r.   r/   s          r0   #test_loc_setitem_datetime_keys_cast?TestLocSetitemWithExpansion.test_loc_setitem_datetime_keys_cast  s     +,+,[#&tCy% #&tCy% UEN#cDI&6Hdf 5'N
 	b+r2   c                     [        SS/05      n[        S/US9UR                  S S 2S4'   [        S/[        S/US9S.5      n[        R                  " X#5        g )Nr%   r8   r!   )r  r   r   r+  )rM   r  r?   r/   s       r0   1test_loc_setitem_categorical_column_retains_dtypeMTestLocSetitemWithExpansion.test_loc_setitem_categorical_column_retains_dtype+  sU    C!:&(#@

1c6A3[#-PQR
f/r2   c                 Z   [        SSS9n[        SSS9n[        SSS9n[        XSSS9nX4;  d   e[        US	/S
9nSUR                  US	4'   [        [        R
                  /[        U5      -  S/-   UR                  [        U/5      5      S	/[        S9n[        R                  " XV5        g )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  )	inclusivern  rC  r5  r   r  )r   r   r   r&   rK   r   rp   appendr   rJ   r'   r(   )rM   r  endr  r  r?   r/   s          r0   0test_loc_setitem_with_expansion_and_existing_dstLTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_and_existing_dst2  s    4I2G,AvC@}}wi8"$

2w;VVHs3x2$&**]B401I	
 	f/r2   c                    [        [        SS/5      S/S9nSS/US'   UR                  S5      R                  R	                  S5      Ul        XR                  S:H     R                  S5      R                  R                  S	5      nUR                  5       nX#R                  UR                  S:H  S4'   [        US
   R                  S5      UR                  S   /SS9n[        R                  " UR
                  U5        UR                  UR                  S:H  S4   [        S5      R                  S5      -   nX!R                  UR                  S:H  S4'   [        R                  " UR                  UR                  S:H  S4   U5        g )Nz2015-03-30 20:12:32z2015-03-12 00:11:11r   r   newoldnew_colr  r  r   )r8   r   r   1sr&  )r   r   r   r
   r  r   r   
tz_convertr   r&   r   r'   r>   r   r  )rM   r.   vr   r/   s        r0   test_setitem_with_expansion7TestLocSetitemWithExpansion.test_setitem_with_expansionD  sP   35JKLH
 9,,v&,,88?zzU"#--f5;;FF|T ggi01u$f,-1Q4??51266)3DEFS
sxx2FF2::&./)D/2I2I#2NN./rzzU"F*+
rvvbjjE&96&ABAFr2   c                 (   [        5       nSUR                  S'   SUR                  S'   SUR                  S[        R                  4'   UR                  n[        SS[        R                  /[        R                  S9n[        R                  " X#5        g )Nr8   r  r9   )r8   r8   rR   r   rT   )	r   r&   rK   infrH   r   r   r'   rW  r   s       r0   0test_loc_setitem_with_expansion_inf_upcast_emptyLTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_inf_upcast_emptyZ  sj    [ttq"&&y!Qrzz:
f/r2   z"ignore:indexing past lexsort depthr  TFc                    [        U5      (       d  [        R                  " S5        UR                  S5      n[        U5      n[        R
                  " U5      R                  [        R                  5      n[        XAS9nSnXa;  d   eUR                  [        U5      U5      n[        U[        5      (       a  US   S   U:X  d   eOUS   U:X  d   e[        R
                  " US-   5      R                  [        R                  5      n[        XS9n	UR                  5       n
U(       a  U
S S  nX:R                  US4'   [        R                   " X5        UR                  5       S   nU(       a  US S  nX<R                  U'   U	S   R                  [        R                  5      n	[        R"                  " X5        UR                  5       n
U(       a  U
S S  nX:R                  US4'   [        / [%        U5      Q[        R&                  P[        R&                  /U-  [)        U5      /-   S.US9n	[        R                   " X5        g )	NzNot relevant for empty Indexr9   r	   kapowr;  r   r8   r   r8   )rp   r   skiprepeatrK   r   r  r   r   insertr   r   r   r   r&   r'   r(   r>   rX   r   r=   )rM   r
   r  Narrorigrc   rZ  exp_datar/   r.   r  r  s                r0   /test_loc_setitem_with_expansion_nonunique_indexKTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_nonunique_indexe  s    5zzKK67QJiil!!"((+*  LLUS1	eZ((R=#s***R=C'''99QU#**2::6X7 YY[a5DsAv
b+ iik!nq6DA;%%bhh/
s- YY[a5DsAv$$s)$RVV$"&&Aq
)BC
 	b+r2   c                 T   [        / SQUS9n[        SU05      n[        UR                  S9nX$R                  UR                  S4'   [        R
                  " XCSS9  [        UR                  S9nUR                  UR                  UR                  S4'   [        R
                  " XCSS9  g )Nr  rT   r   r	   Fr.  )r   r   r
   r&   r'   r(   r4  )rM   r  r  r.   r?   s        r0   6test_loc_setitem_with_expansion_preserves_nullable_intRTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_preserves_nullable_int  s     \)=>}%*'*

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

288V#$
fEBr2   c                    [        S[        S5      05      n[        SSSS9nX!R                  / SQS4'   UR	                  [        [        R                  [        R                  /UR                  S	95      n[        [        S5      US
.5      nUR                  S   UR                  :X  d   e[        R                  " X5        g )Nr%   r|   
2016-01-01rR   r  rl   r  rt   r   rT   r   )r   rW   r   r&   r  r   r   r   r;   r  r'   r(   )rM   r.   rg  bexr/   s        r0   #test_loc_setitem_ea_not_full_column?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+r2   r   N)r   r   r   r   td
skip_if_nor  r  r  r  r  r  r   r   r   r  r  r  r  r  rP  r  r  r  r   r   r2   r0   r  r    s    ]]94 40BF
W1 [[''&		
 H  	,	,"00$G,	0 [[ DE[[Yu61, 7 F1,fC ,r2   r  c                   ,    \ rS rSrS rS rS rS rSrg)TestLocCallablei  c                    [        / SQ[        S5      / SQS.5      nUR                  S    n[        R                  " X!R                  UR
                  S:     5        UR                  S S S 24   n[        R                  " X!R                  UR                  S:H  S S 24   5        UR                  S S	 4   n[        R                  " X!R                  UR
                  S:  / S
Q4   5        UR                  S S 4   n[        R                  " X!R                  UR
                  S:  S4   5        UR                  S S 4   n[        R                  " X!R                  UR
                  S:  SS/4   5        UR                  S S 4   n[        R                  " X!R                  UR
                  S:H  SS/4   5        UR                  S S 4   nX!R                  S   :X  d   eg )Nr8   r9   rR   rg   r  r   c                      U R                   S:  $ Nr9   r%   rU  s    r0   rV  ATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>      qssQwr2   r9   c                      U R                   S:H  $ )Nr!   )r   rU  s    r0   rV  r)    s    qssczr2   r!   c                      U R                   S:  $ r'  r(  rU  s    r0   rV  r)    r*  r2   c                      U R                   S:H  $ Nr   r   rU  s    r0   rV  r)    s    !))s2Br2   )FTFc                      U R                   S:  $ r'  r(  rU  s    r0   rV  r)    r*  r2   c                     gr.  r   rU  s    r0   rV  r)    s    #r2   r   c                      U R                   S:  $ r'  r(  rU  s    r0   rV  r)    r*  r2   c                 
    SS/$ Nr%   r   r   rU  s    r0   rV  r)    s    3*r2   r%   c                      U R                   S:H  $ r'  r(  rU  s    r0   rV  r)    s    qssaxr2   c                 
    SS/$ r3  r   rU  s    r0   rV  r)    s    C:r2   c                     g)Nr8   r   rU  s    r0   rV  r)    s    qr2   c                     gr$   r   rU  s    r0   rV  r)    s    Cr2   r  )r   rX   r&   r'   r(   r%   r   r>   rM   r.   r   s      r0   test_frame_loc_getitem_callable/TestLocCallable.test_frame_loc_getitem_callable  s   \V<PQ ff&'
c66"$$(#34ff)1,-
c66"$$#+q.#9:ff&(BBC
c66"$$(4H*H#IJff&56
sFF244!8S=$9:ff&(<<=
c66"$$(S#J*>#?@ff')==>
c66"$$!)c3Z*?#@A ff[-/0ffVn$$$r2   c                    [        / SQ[        S5      / SQS.5      nUR                  S SS/4   n[        R                  " X!R                  UR
                  S:  SS/4   5        UR                  SS/S	 4   n[        R                  " X!R                  SS/SS/4   5        UR                  SS
 4   n[        R                  " X!R                  SSS/4   5        g )Nr%  r  r   c                      U R                   S:  $ r'  r(  rU  s    r0   rV  ITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>  r*  r2   r%   r   r9   rR   c                 
    SS/$ r3  r   rU  s    r0   rV  r=    s    Szr2   c                 
    SS/$ r3  r   rU  s    r0   rV  r=    s    3*r2   )r   rX   r&   r'   r(   r%   r>   r8  s      r0   'test_frame_loc_getitem_callable_mixture7TestLocCallable.test_frame_loc_getitem_callable_mixture  s    \V<PQff&c
23
c66"$$(S#J*>#?@ffaV112
c661a&3**<#=>ffQ,,-
sFF1sCj=$9:r2   c                    [        / SQ[        S5      S.[        S5      S9nUR                  S    n[        R                  " X!R                  SS/   5        UR                  S	 S S 24   n[        R                  " X!R                  SS/S S 24   5        UR                  S
 S 4   n[        R
                  " X!R                  SS/S4   5        UR                  S S 4   n[        R                  " X!R                  SS/S/4   5        UR                  SS/S 4   n[        R
                  " X!R                  SS/S4   5        UR                  SS/S 4   n[        R                  " X!R                  SS/S/4   5        UR                  S S4   n[        R
                  " X!R                  SS/S4   5        UR                  S S/4   n[        R                  " X!R                  SS/S/4   5        g )Nr%  r  Xr  r  r	   c                 
    SS/$ Nr%   r   r   rU  s    r0   rV  HTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>      Szr2   r%   r   c                 
    SS/$ rF  r   rU  s    r0   rV  rG    rH  r2   c                 
    SS/$ rF  r   rU  s    r0   rV  rG    rH  r2   c                     gNrD  r   rU  s    r0   rV  rG    s    Sr2   rD  c                 
    SS/$ rF  r   rU  s    r0   rV  rG    rH  r2   c                     S/$ rL  r   rU  s    r0   rV  rG    s    cUr2   c                     grL  r   rU  s    r0   rV  rG    s    3r2   c                     S/$ rL  r   rU  s    r0   rV  rG    s    C5r2   c                 
    SS/$ rF  r   rU  s    r0   rV  rG    rH  r2   c                 
    SS/$ rF  r   rU  s    r0   rV  rG    rH  r2   )r   rX   r&   r'   r(   r>   r8  s      r0   &test_frame_loc_getitem_callable_labels6TestLocCallable.test_frame_loc_getitem_callable_labels  s   \V=T&\R ff)*
c663*#56ff)1,-
c663*a-#89ff)=89
sFFC:s?$;<ff)?:;
c663*se*;#<= ffc3Z./
sFFC:s?$;<ffc3Z01
c663*se*;#<=ff)3./
sFFC:s?$;<ff)C501
c663*se*;#<=r2   c                    [        / SQ[        [        S5      [        S9S.[        S5      S9nUR	                  5       nSUR
                  S '   UR	                  5       nSUR
                  S	S
/'   [        R                  " X#5        UR	                  5       nSUR
                  S S S 24'   UR	                  5       nSUR
                  S	S
/S S 24'   [        R                  " X#5        UR	                  5       nSUR
                  S S 4'   UR	                  5       nSUR
                  S	S
/S4'   [        R                  " X#5        UR	                  5       nSS/UR
                  S S 4'   UR	                  5       nSS/UR
                  S	S
/S/4'   [        R                  " X#5        UR	                  5       n[        R                  " SS/5      UR
                  S	S
/S 4'   UR	                  5       n[        R                  " SS/5      UR
                  S	S
/S4'   [        R                  " X#5        UR	                  5       nSUR
                  S	S
/S 4'   UR	                  5       nSUR
                  S	S
/S/4'   [        R                  " X#5        UR	                  5       nSUR
                  S S4'   UR	                  5       nSUR
                  S	S
/S4'   [        R                  " X#5        UR	                  5       nSUR
                  S S/4'   UR	                  5       nSUR
                  S	S
/S/4'   [        R                  " X#5        g )Nr%  r  rT   rC  r  r	   ic                 
    SS/$ rF  r   rU  s    r0   rV  ATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>		      3*r2   r%   r   re   c                 
    SS/$ rF  r   rU  s    r0   rV  rW  	  rX  r2   r;  c                 
    SS/$ rF  r   rU  s    r0   rV  rW  	  rX  r2   c                     grL  r   rU  s    r0   rV  rW  	  s    r2   rD  r|   ry   c                 
    SS/$ rF  r   rU  s    r0   rV  rW  	  rX  r2   c                     S/$ rL  r   rU  s    r0   rV  rW  	  s    r2   r=  c                     grL  r   rU  s    r0   rV  rW  "	  s    cr2   c                     S/$ rL  r   rU  s    r0   rV  rW  (	  s    ser2   c                 
    SS/$ rF  r   rU  s    r0   rV  rW  .	  rX  r2   c                 
    SS/$ rF  r   rU  s    r0   rV  rW  4	  rX  r2   )
r   r   rX   rJ   r   r&   r'   r(   rK   r   )rM   r.   r   r   s       r0   test_frame_loc_setitem_callable/TestLocCallable.test_frame_loc_setitem_callable 	  s   VDL%GHv,
 ggi(+$%ggi!c

c'ggi+-$a'(ggi!#c
A
c'ggi79$m34ggi#%c
C 
c'ggi:;R$o56ggi&'Wc
SE!"
c' ggi-/XXr2h-?c
M)*ggi#%88RH#5c
C 
c'ggi/1c
O+,ggi%'c
SE!"
c'ggi-/$c)*ggi#%c
C 
c'ggi/1$se+,ggi%'c
SE!"
c'r2   r   N)	r   r   r   r   r9  r@  rS  rc  r   r   r2   r0   r#  r#    s    %8;><7(r2   r#  c                   t    \ rS rSrS rS rS rS r\R                  R                  SSS/5      S	 5       rS
rg)TestPartialStringSlicingi:	  c                     [        / SQ/ SQS.[        / SQ5      S9n[        SS/SS	/S.[        S
S/5      S9nUR                  S   n[        R                  " X25        g )Nr  r   )r   r   )
2020-08-01z
2020-07-02
2020-08-05r	   r"   r`   r8   rR   rh  ri  z2020-08)r   r   r&   r'   r(   r   s       r0   5test_loc_getitem_partial_string_slicing_datetimeindexNTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_datetimeindex;	  sd    $i8HI
 3Z!Q0|\:;
 	"
f/r2   c                     [         R                  " SSSS9nUR                  5       nUR                  S S nUR                  S S n[
        R                  " X45        g )N
2017-01-01
2018-01-01r  r  r  rn  z2017-12r;  )r   period_range	to_seriesr&   r   r'   r>   )rM   pir  r?   r/   s        r0   8test_loc_getitem_partial_string_slicing_with_periodindexQTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_with_periodindexH	  sL    __<\Llln)$88CR=
v0r2   c                     [        SSSS9nUR                  5       nUR                  S S nUR                  S S n[        R
                  " X45        g )N1 day2 days1hro  z1 daysr;  )r   rq  r&   r   r'   r>   )rM   r  r  r?   r/   s        r0   ;test_loc_getitem_partial_string_slicing_with_timedeltaindexTTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_with_timedeltaindexP	  sH    7tDlln(#88CR=
v0r2   c                     [        S[        S5      0[        [        S5      SS9S9nUR                  S   nUR                  S   n[
        R                  " X25        g )Nr   rR   daysr  r	   r   0 days)r   rW   r   r   r&   r'   r>   )rM   r.   r/   sliceds       r0   #test_loc_getitem_str_timedeltaindex<TestPartialStringSlicing.test_loc_getitem_str_timedeltaindexX	  sJ    U1Xl58&.QR771:!
v0r2   indexer_endN2020-01-02 23:59:59.999999999c                 r   U" S/S-  [        [        S5      [        S5      [        S5      [        S5      [        S5      /US9S	9nU" S/S
-  [        [        S5      [        S5      /US9S	9n[        SU5      nXF   n[        R                  " Xu5        UR
                  U   n[        R                  " Xu5        g )Nr8   r|   z
2019-12-30z
2020-01-01z
2019-12-25r  z
2019-12-19r  r	   r9   )r   r   r   r'   r   r&   )rM   tz_aware_fixturer  r[   r\   r/   r  r?   s           r0   /test_loc_getitem_partial_slice_non_monotonicityHTestPartialStringSlicing.test_loc_getitem_partial_slice_non_monotonicity_	  s    
 C!Gl+l+l+=>l+ $	
 #C!Gl+=> $	
 k2
)!
)r2   r   )r   r   r   r   rj  rs  ry  r  r   r   r   r  r   r   r2   r0   rf  rf  :	  sB    0111 [[]T3R,ST!* U!*r2   rf  c                   D   \ rS rSrS rS r\R                  R                  S\	R                  " SSSS9\" S	S
SS9/5      S 5       rS rS r\R                  R                  S\R                   " SS5      S\" SS5      /\R                   " SS5      \R                   " SS5      \" SS5      /S\R                   " SS5      \" SS5      //5      S 5       r\R                  R                  SSS/5      S 5       r\R                  R                  SSS /5      S! 5       rS" rS#rg)$TestLabelSlicingi	  c                 $   [        [        R                  " SSS9S Vs/ s H  n[        SSUSS5      PM     snS	9n[        [        R                  " S
SS9S Vs/ s H  n[        SSUSS5      PM     snS	9nX#4 GH  nUR                  [        SSSS5      S  n[
        R                  " XT5        UR                  S [        SSSS5       n[
        R                  " XT5        UR                  [        SSSS5      [        SSSS5       n[
        R                  " XT5        UR                  [        SSSS5      S  nUR                  SS  n[
        R                  " XV5        UR                  SS  n[
        R                  " XV5        GM     g s  snf s  snf )Nr7   r   rT   r%  i  r8   ry   r   r	   r  )r8   r9   r9   rR   rg   rg   r  z20010101 11)r   rK   r   r   r&   r'   r(   r   )rM   r  	df_uniquedf_dupsr.   r?   r/   s          r0   (test_loc_getitem_slicing_datetimes_frame9TestLabelSlicing.test_loc_getitem_slicing_datetimes_frame	  sn    IIc+9EFA8D!QB/F
	 IIc+9HIA8D!QB/I

 &BVVHT1a467F!!&-VV6htQ267F!!&-VVHT1a4xaB7OPF!!&-VVHT1a467Fwwqr{H!!&3VVMN+F!!&3 ' G Js   F
F
c                     [        SSSSS9n[        / SQUS9n[        SSS	9n[        S
SS	9nUR                  X4 n[        SS/USS S9n[        R
                  " XV5        X#   nSnXV:X  d   eg )Nz2017-10-29 01:30:00zEurope/Berlinr|   z30 min)r  rl   rn  )r   r8   r9   rR   rg   r	   z2017-10-29 02:30:00+02:00r  z2017-10-29 02:00:00+01:00r9   rR   rg   )r   r   r   r&   r'   r>   )rM   r  series2t_1t_2r?   r/   s          r0   'test_loc_getitem_label_slice_across_dst8TestLabelSlicing.test_loc_getitem_label_slice_across_dst	  s    !oqx
 43H3HS%1a&Aa1
v0!!!r2   r
   rm  rn  r  ro  rv  rw  rx  c                     UR                  5       nUR                  S US    nUR                  S S n[        R                  " X45        g )Nr=  r;  )rq  r&   r   r'   r>   )rM   r
   r  r?   r/   s        r0   -test_loc_getitem_label_slice_period_timedelta>TestLabelSlicing.test_loc_getitem_label_slice_period_timedelta	  sA     oo59%88CR=
v0r2   c                 8   / SQn[        [        R                  R                  S5      R                  S5      US9nUR                  SS n[        U5      S:X  d   eUR                  SS n[        U5      S:X  d   eUR                  SS n[        U5      S	:X  d   eg )
N)gx"p|@g\Va|@g|@r9   rR   r9   r	   g3333c|@g    |@g3333|@g|@rR   )r   rK   r   r   r&   rp   )rM   r
   r.   s1s       r0   %test_loc_getitem_slice_floats_inexact6TestLabelSlicing.test_loc_getitem_slice_floats_inexact	  s    :ryy,,Q/66v>eLVVGG$2w!||VVGG$2w!||VVGG$2w!||r2   c           	         Un[        [        R                  R                  S5      R                  S5      [        R                  " SSUS9S9n[        UR                  SS  5      S:X  d   e[        UR                  SS  5      S	:X  d   e[        R                  " SSUS9nS
US'   XCl        [        UR                  SS  5      S:X  d   e[        UR                  SS  5      S	:X  d   eg )Nr9   ry   re   rT   r	   g      (@ri   g      )@r{   gffffff(@)r   rK   r   r   r   rp   r&   r
   )rM   r  r;   r  r  s        r0   'test_loc_getitem_float_slice_floatindex8TestLabelSlicing.test_loc_getitem_float_slice_floatindex	  s    !II!!!$++B/ryyRu7U
 37745>"a'''37745>"a'''iiBe,A	37745>"a'''37745>"a'''r2   zstart,stop, expected_slicer   r  Nr  r8   r_  rz   r{   rg   r|   c                     [        [        S5      [        SS5      5      nUR                  [	        X5         nUR
                  U   n[        R                  " XV5        g )Nr  r}  z10 days)r   rW   r   r&   r   r   r'   r>   )rM   r  stopexpected_slicer  r?   r/   s          r0   $test_loc_getitem_slice_label_td64obj5TestLabelSlicing.test_loc_getitem_slice_label_td64obj	  sJ     U2Y) DEu+,88N+
v0r2   r  20182020c                     U" / SQ[        S5      [        S5      [        S5      /S9n[        R                  " [        SS9   UR                  US   S S S 5        g ! , (       d  f       g = f)	Nr   201620192017r	   z,Value based partial slicing on non-monotonicr   r   )r   r   r   rY   r&   )rM   r[   r  r\   s       r0   )test_loc_getitem_slice_unordered_dt_index:TestLabelSlicing.test_loc_getitem_slice_unordered_dt_index	  s\    V$i&769JK
 ]]J
 GGE&!
 
 
r,  rC  r  c                     U" [        S5      USSS/S9nUR                  US nU" [        S5      USSS/S9n[        R                  " XE5        g )Nrg   rs  r9   thirdr	   )rW   r&   r'   r   )rM   r[   rC  r\   r?   r/   s         r0   1test_loc_getitem_slice_labels_int_in_object_indexBTestLabelSlicing.test_loc_getitem_slice_labels_int_in_object_index	  sR     eAhugq'.JKw'"58E7Aw3OP
)r2   c           	          [        SSSS.S/S9n[        SS//S/[        SS/[        S9S9n[        R                  " UR
                  S S 2SS 24   U5        g )	Nr8   r9   rR   )testr8   r9   r   r	   rT   )r   r
   rH   )r   r   rJ   r'   r(   r&   r   s      r0   *test_loc_getitem_slice_columns_mixed_dtype;TestLabelSlicing.test_loc_getitem_slice_columns_mixed_dtype	  s[    aA.qc:a&!eQF&.I
 	bffQUmX6r2   r   )r   r   r   r   r  r  r   r   r   r   rp  r   r  r  r  rK   r  r   r  r  r  r  r   r   r2   r0   r  r  	  s<   4:"" [[OO,LsK'xdC	
11( [[$^^At$dE!RL9^^As#R^^As%;U1a[I2>>!S)5A;7	
11 [[Wvv&67" 8" [[Wq#h/* 0*7r2   r  c                       \ rS rSr\R
                  R                  SSS/5      S 5       r\R
                  R                  SSS/5      S 5       rS r	Sr
g	)
TestLocBooleanLabelsAndSlicesi
  
bool_valueTFc                     U S3nUR                   S:w  a9  U" USS9n[        R                  " [        US9   UR                  U     S S S 5        g g ! , (       d  f       g = f)Nz7: boolean label can not be used without a boolean indexrX  rJ   r  r   )rG  r   r   rY   r&   )rM   r
   r[   r  messager\   s         r0   'test_loc_bool_incompatible_index_raisesETestLocBooleanLabelsAndSlices.test_loc_bool_incompatible_index_raises	
  sY    
  L WX)+!X>Cxw7
# 87 ,77s   A
Ac                 D    U" [        SS/SS9SS9nUR                  U     g )NTFrX  rT   rJ   r  )r   r&   )rM   r[   r  r\   s       r0   test_loc_bool_should_not_raise<TestLocBooleanLabelsAndSlices.test_loc_bool_should_not_raise
  s*    uY7x
 	
r2   c                     SnU" USS9n[         R                  " [        US9   UR                  SS   S S S 5        g ! , (       d  f       g = f)NzEslice\(True, False, None\): boolean values can not be used in a slicerJ   r  r   TF)r   r   r   r&   )rM   r
   r[   r  r\   s        r0   test_loc_bool_slice_raises8TestLocBooleanLabelsAndSlices.test_loc_bool_slice_raises
  sC     U 	 E:]]9G4GGD 544s	   <
A
r   N)r   r   r   r   r   r   r   r  r  r  r   r   r2   r0   r  r  
  sW    [[\D%=9$ :$ [[\D%=9 : r2   r  c                       \ rS rSrS r\R                  R                  SSS/5      S 5       rS r	S r
S	 rS
 rS rS rS rSrg)TestLocBooleanMaski%
  c           	      v   [        S[        S5      05      n[        [        S5      SS9Ul        US   S:  US   S:H  US   S:  /n/ SQ/ SQ/ SQ/n[	        X#5       HZ  u  pEUR                  5       nSUR                  US4'   [        U[        [        S5      SS9S/S	S
9n[        R                  " Xv5        M\     g )Nr   ry   r&  r  rR   )
r   r8   r9   rR   ry   ry   ry   ry   ry   ry   )
r   r8   r9   ry   rg   r|   rz   r{   ri   r  )
ry   ry   ry   rR   rg   r|   rz   r{   ri   r  r   r  )	r   rW   r   r
   r<  r   r&   r'   r(   )rM   r.   
conditionsexpected_datacondr   r?   r/   s           r0   )test_loc_setitem_bool_mask_timedeltaindex<TestLocBooleanMask.test_loc_setitem_bool_mask_timedeltaindex&
  s    U2Y'(b	4gk2c7a<C1=
0+-

 j8JDWWYF$&FJJtSy! "5937	H !!(3 9r2   r  Nr  c                    [         R                  " / SQ5      n[        SSUS9n[        S[         R                  " S5      0US9R                  S5      nUR                  5       nUR                  US S 24   UR                  US S 24'   [        R                  " XT5        UR                  5       nUR                  U   UR                  U'   [        R                  " XT5        g )Nr   20010101rg   r  r"   r	   r   )
rK   r   r   r   r   r  r   r&   r'   r(   )rM   r  r   r  r.   r?   s         r0   +test_loc_setitem_mask_with_datetimeindex_tz>TestLocBooleanMask.test_loc_setitem_mask_with_datetimeindex_tz<
  s     xx23Q26RYYq\*#6==iH ffT1Wo

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

4
f)r2   c           
         [        [        R                  " S5      R                  SS5      [	        S5      [        SSSS9S9nUR                  5       nUR                  S	   [        R                  [        R                  /US
'   UR                  S:  nUR                  U   R                  UR                  US
4'   [        R                  " X5        g )Nr  rR   r9   ABrk  rx  )rl   rn  r   r   r   r8   )r   rK   r   rV  rX   r   r   r
   r   r   r%   r&   r'   r(   )rM   r.   r/   r   s       r0   2test_loc_setitem_mask_and_label_with_datetimeindexETestLocBooleanMask.test_loc_setitem_mask_and_label_with_datetimeindexM
  s     IIcN""1a(JZ>

 779!*BFFBFF;ttaxFF4L..tSy
b+r2   c                 `   [        S5      n[        S5      n[        S[        X/5      05      nUR                  5       n[        U/5      nUS   R                  S   R
                  nXSR                  SS/'   US   R                  S   R
                  nXg:X  d   e[        R                  " X45        g )Nr   l   ,GsO1colr8   TF)	r   r   r   r   r   _valuer&   r'   r(   )rM   td1td2r.   df_copyr  r/   r?   s           r0   'test_loc_setitem_mask_td64_series_value:TestLocBooleanMask.test_loc_setitem_mask_td64_series_value\
  s    l)*vsj123'')cUme9>>!$++ #e}E"))!!!
b*r2   c                    UR                  5       nUS   S:  nSUR                  US4'   UR                  R                  5       nSXCR                  S4'   [        XBR                  UR
                  S9n[        R                  " X5        g )Nr%   r   r   r8   r5  )r   r&   r   r   r
   rH   r'   r(   )rM   r  r/   r   r   s        r0   #test_loc_setitem_boolean_and_column6TestLocBooleanMask.test_loc_setitem_boolean_and_columnk
  sw    ##%3!#%&c	"%%'!"{{A~V>>8CSCST
k4r2   c                    [        / SQ/ SQS.5      n[        S/ SQ0/ SQS9UR                  / SQS/4'   [        / S	Q/ SQS.5      n[        R                  " X5        [        / SQ/ SQS.5      n[	        / S
Q/ SQS9UR                  / SQS/4'   [        R                  " X5        [        / SQ/ SQS.5      n[	        / S
Q/ SQS9UR                  / SQS4'   [        R                  " X5        [        / SQ/ SQS.5      nUR                  5       nUS   n[	        / S
Q/ SQS9UR                  / SQ'   [        R                  " X5        g )Nr   r  r  r"   r   )r9   r8   r   r	   )FFT)r8   r9   ry   r  )r   r&   r'   r(   r   r   )rM   r.   r/   r  r  s        r0   )test_loc_setitem_ndframe_values_alignment<TestLocBooleanMask.test_loc_setitem_ndframe_values_alignmentv
  s   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(.|9(M$%
b*r2   c                     [        / / S.[        S9nUR                  5       nUS   R                  5       UR                  [        R
                  " / [        R                  S9S/4'   [        R                  " X5        g )Nr  rT   r"   	r   rJ   r   r&   rK   r   bool_r'   r(   r   s      r0    test_loc_indexer_empty_broadcast3TestLocBooleanMask.test_loc_indexer_empty_broadcast
  sZ    Rb)877968gllnrxx"((+cU23
b+r2   c                     [        S/S/S.[        S9nUR                  5       nUS   R                  5       UR                  [        R
                  " S/[        R                  S9S/4'   [        R                  " X5        g )Nr   r|  r  rT   r!   Fr"   r  r   s      r0   $test_loc_indexer_all_false_broadcast7TestLocBooleanMask.test_loc_indexer_all_false_broadcast
  s`    cU#/v>779;=c7<<>rxxrxx03%78
b+r2   c                    [        S/S/S.[        S9n[        S/S/S.[        S9nUS   R                  5       UR                  [        R
                  " S/[        R                  S9S/4'   [        R                  " X5        g )Nr   r|  r  rT   r!   Tr"   r  r   s      r0   test_loc_indexer_length_one.TestLocBooleanMask.test_loc_indexer_length_one
  sj    cU#/v>C5u5VD:<S',,.rxxbhh/#67
b+r2   r   )r   r   r   r   r  r   r   r   r  r  r  r  r  r  r  r  r   r   r2   r0   r  r  %
  sS    4, [[TD%=1* 2* ,+	5+4,,,r2   r  c                       \ rS rSr\R
                  R                  SS \R                  \	/5      S 5       r
S rS r\R
                  R                  SSS	/5      S
 5       rS rSrg)TestLocListlikei
  r  c                     U $ r   r   rU  s    r0   rV  TestLocListlike.<lambda>
  s    qr2   c                 T   [        SS[        R                  /5      n[        [	        S5      US9nUR
                  U" U5         n[        R                  " XC5        X1" U5         n[        R                  " XC5        UR                  5       R
                  U" U5         n[        R                  " XCR                  5       5        US S nUSS  nSn[        R                  " [        US9   UR
                  U" U5           S S S 5        [        R                  " [        US9   XQ" U5           S S S 5        [        R                  " [        US9   UR                  5       R
                  U" U5           S S S 5        g ! , (       d  f       N= f! , (       d  f       Ne= f! , (       d  f       g = f)	Nr%   r   rR   r	   r;  r8   r$  r   )r   rK   r   r   rW   r&   r'   r>   r?  r(   r   r   rY   )rM   r  cir  r?   ser2ci2r   s           r0   8test_loc_getitem_list_of_labels_categoricalindex_with_naHTestLocListlike.test_loc_getitem_list_of_labels_categoricalindex_with_na
  s;    sC01U1XR(R!
v+SW
v+##CG,
flln53Bxf]]83/HHSX 0 ]]83/SN 0 ]]83/MMOC) 0/ 0/ 0/ 0/s$   'E7F
$F7
F
F
F'c           	          [         R                  " / SQSS9n[        / SQ[        SSSS95      n[        R
                  " [        S	S
9   UR                  U     S S S 5        g ! , (       d  f       g = f)N)
2001-01-04z
2001-01-02r  z
2001-01-14r  rT   )r9   r|   ri   r  z
2001-01-01r_  rg   ry  r$  r   )rK   r   r   r   r   r   rY   r&   )rM   rc   r  s      r0   1test_loc_getitem_series_label_list_missing_valuesATestLocListlike.test_loc_getitem_series_label_list_missing_values
  sQ    hhDL
 ]J|#q$QR]]8>:GGCL ;::s   A!!
A/c                     [        [        R                  " SS/5      [        R                  " SS/5      S9n[        R                  " [
        SS9   UR                  [        R                  " SS/5           S S S 5        g ! , (       d  f       g = f)Nl   PF
AHl   UBeNl   P2$$nr
   r   r$  r   l   NZ4FG)r   rK   r   r   r   rY   r&   r  s     r0   9test_loc_getitem_series_label_list_missing_integer_valuesITestLocListlike.test_loc_getitem_series_label_list_missing_integer_values
  sj    ((,.?@A-/ABC
 ]]8>:GGBHH.0ABCD ;::s   &A??
B	to_periodTFc           	         [        SSSSS9nU(       a  UR                  S5      n[        SS/USS	9n[        S5      [        S5      /nU(       a   U Vs/ s H  oUR                  S5      PM     nnUR                  U   n[        SS/USS	9nU(       d   UR
                  R                  S 5      Ul        [        R                  " XgS
S9  [        S5      [        S5      [        S5      /nU(       a   U Vs/ s H  oUR                  S5      PM     nn[        / SQ[        USUR                  S9SS	9nUR                  U   n[        R                  " XgS
S9  [        S5      [        S5      [        S5      /nU(       a   U Vs/ s H  oUR                  S5      PM     nn[        R                  " [        SS9   UR                  U     S S S 5        g s  snf s  snf s  snf ! , (       d  f       g = f)N
2011-01-01z
2011-01-02r_  r  )rn  r<   皙?皙?r&  r   T)r-  )r   r   r  )r<   r;   
2011-01-03r$  r   )r   r  r   r   r&   r
   rr  r'   r>   r   r;   r   r   rY   )rM   r  r  r  rX  r   r?   r   s           r0   .test_loc_getitem_listlike_of_datetimelike_keys>TestLocListlike.test_loc_getitem_listlike_of_datetimelike_keys
  s    |#EJ--$Cc3Zs5,'<)@A.23dKK$dD3c3Zs5		,,T2CI
vTB l#l#l#

 .23dKK$dD35E#KRU
 
vTB l#l#l#

 .23dKK$dD3]]8>:GGDM ;:9 4 4 4::s   G2G=G2G
G(c                     [        SS/SS/SS/// SQSS	/S
9nUR                  S S nSUR                  l        UR                  [        SS/SS9   n[        R                  " X25        g )Nr8   r9   rg   r|   r{   ri   )cobraviper
sidewinder	max_speedshieldr5  r   r  r  r   )r   r   r
   r<   r&   r   r'   r(   r   s       r0   test_loc_named_index$TestLocListlike.test_loc_named_index
  sr    VaVaV$2 (+

 772A;#w0u=>
f/r2   r   N)r   r   r   r   r   r   r   rK   asarrayrX   r  r  r  r  r
  r   r   r2   r0   r  r  
  sk    [[U["**d$CD* E*6E [[[4-8' 9'R
0r2   r  z%columns, column_key, expected_columns)  r  i  r  r  r8   )r  r  Allr  r9   c                     [        [        R                  R                  S5      R                  S5      U [	        S5      S9nUR
                  S S 2U4   nUR                  / SQU4   n[        R                  " XTSS9  g )Nr9   r2  r  r   r   Tr  )	r   rK   r   r   rX   r   r&   r'   r(   )rH   
column_keyexpected_columnsr.   r/   r?   s         r0   *test_loc_getitem_label_list_integer_labelsr    sl     

		a ''/U
B wwq**+HVVOZ/0F&dCr2   c                     [         R                  R                  S5      R                  S5      n [	        U 5      n[         R
                  UR                  S S 2S4'   [         R                  " U [         R                  " [         R
                  /S-  5      R                  SS5      45      n[	        U/ SQS9n[        R                  " X5        [	        U 5      n[         R
                  UR                  S S 2S4'   [        R                  " X5        g )Nr9   )ri   rg   r  ri   r8   )r  r4   r5   r6   r  r   )rK   r   r   r  r   r   r&   hstackr   rV  r'   r(   )	rand_datar?   r  r/   s       r0   test_loc_setitem_float_intindexr    s    		%%a(88@Iy!FFJJq#vIIy"((BFF8a<*@*H*HA*NOPM0IJH&+y!FFJJq#v&+r2   c                     S V Vs/ s H  n S  H  oU4PM     M     nn n[        [        R                  " S5      [        S5      [        R
                  " U5      S9nUR                  SS9SS	 n[        [        R                  " S
5      [        S5      [        R
                  " / SQ5      S9n[        R                  " XE5        g s  snn f )N)  r   )r{   ri   r  ry   )ry   ri   
ABCDEFGHIJr5  r8   r  r  r  r   ri   r2  )r  )r  ry   )r   r{   r  )	r   rK   r   r  r   r  r&   r'   r(   )yrr  r   r.   r?   r/   s         r0   test_loc_axis_1_slicer  -  s    *BlMqGMGlDB	
L!&&t,
B
 VVV^I	2F
L!&&'TUH
 &+ Cs   Cc            
         [        S[        S5      [        R                  " [        S5      [        S5      /5      S9n U R	                  5       nUR
                  SS/4   UR
                  SS/4'   [        R                  " X5        g )Nr"   r9   r5  r   r  )r   rW   r   re  r   r&   r'   r(   )r/   r?   s     r0   !test_loc_set_dataframe_multiindexr  >  sm    58Z%<%<eAha=Q%RH ]]_F$jjVH5FJJq6({&+r2   c                  x    [        [        S5      [        SS/[        S95      n U R                  S   nUS:X  d   eg )Nr9   r8   r5   rT   r   )r   rW   r   rJ   r&   )r  r?   s     r0   test_loc_mixed_int_floatr!  H  s6    
q5!S8
9CWWQZFQ;;r2   c                      [        [        S5      / SQS9n [        R                  " [        SS9   SU R
                  S S& S S S 5        g ! , (       d  f       g = f)Nrg   r^  r	   $Slicing a positional slice with .locr   r9   rR   )r   rW   r   r   r   r&   )r  s    r0   %test_loc_with_positional_slice_raisesr$  P  s>    
q!5
6C	y(N	O 
P	O	Os   A
Ac                     [        SSS9n [        [        R                  R	                  S5      R                  S5      U S9nUS   nSnX4 He  n[
        R                  " [        US	9   UR                  S
S   S S S 5        [
        R                  " [        SS	9   S
UR                  S
S& S S S 5        Mg     [
        R                  " [        US	9   UR                  S
S2S
4     S S S 5        [
        R                  " [        SS	9   SUR                  S
S2S
4'   S S S 5        g ! , (       d  f       N= f! , (       d  f       M  = f! , (       d  f       Ng= f! , (       d  f       g = f)Nr  rR   rk   r9   r  r	   r   zOcannot do slice indexing on DatetimeIndex with these indexers \[1\] of type intr   r8   r#  )	r   r   rK   r   r   r   r   r   r&   )dtir.   r  r   r\   s        r0   #test_loc_slice_disallows_positionalr'  X  s   
\1
-C	299((+226:#	FB
Q%C	& 
 y]]9C0GGAaL 1 ]]9,RSCGGAaL TS	  
y	,
qsAv 
- 
y(N	OqsAv 
P	O 10 TS 
-	, 
P	Os0   'DD0EE
D-	0
D?	
E
E!c            
      0   [        [        R                  R                  S5      R	                  S5      / SQ[        SSSS9S9n U R                  / S	Q   R                  5       n U R                  n[        R                  " UR                  5      nS
n[        R                  " [        US9   U R                  U     S S S 5        [        R                  " [        US9   U S   R                  U     S S S 5        g ! , (       d  f       NC= f! , (       d  f       g = f)Nr9   r  r  2012r  r|   ry  r   )r   r9   r9   rR   z/None of \[TimedeltaIndex.* are in the \[index\]r   r"   )r   rK   r   r   r  r   r   r   r
   r   TimedeltaIndexasi8r   r   rY   r&   )r.   r&  r  r   s       r0   'test_loc_datetimelike_mismatched_dtypesr,  t  s     

		a 008c15
B 
		#	#	%B
((C


CHH
%C
<C	xs	+
s 
, 
xs	+
3C 
,	+ 
,	+ 
,	+s   )C6D6
D
Dc                  R   [         R                  " SSSS9n [        [        R                  R                  S5      R                  S5      U S9n[        R                  " XR                  U    5        [        R                  " XR                  [        U 5         5        [        R                  " XR                  [        U 5         5        [        R                  " UR                  SS	 UR                  U SS	    5        [        R                  " XR                  [        U 5         5        g )
Nz2002-01z2003-12r  rm  r9   )r  ry   r	   r   r|   )r   rp  r   rK   r   r   r  r'   r(   r&   rX   r   )r  r.   s     r0   "test_loc_with_period_index_indexerr.    s    
//)YS
9C	299((+;;HES	QB"ffSk*"ffT#Y/0"ffT#Y/0"''!A,s1Qx(89"ffT#Y/0r2   c                  T   [         R                  R                  S5      R                  S5      n [	        SSS9n/ SQn[        XUS9n[         R                  UR                  UR                  S   S	4'   [         R                  U S   S
S& [        XUS9n[        R                  " XC5        g )Nr9   )ri   rz   rk  ri   rk   )r%   r   r   r_  EFr5  r8   r   r   )rK   r   r   r  r   r   r   r&   r
   r'   r(   )r  r  r   r   r   s        r0   %test_loc_setitem_multiindex_timestampr2    s    99  #33F;D
Z
+C)D
DT
2C(*CGGCIIaL*$%66DGAaL
DT
2C##r2   c                  `   / SQn SS/nSS/n[         R                  " XU// SQS9n[        S[        S	5      US
9nUR                  S S 2U S   US   US   44   nUR
                  S S 2S S24   n[        R                  " XV5        UR                  U S   US   US   4/ SQSS9n[        R                  " Xv5        UR
                  S   nUR
                  S S n	UR                  U S   US   US   4/ SQSS9n
[        R                  " X5        UR                  U S   US   US   4   nUS:X  d   eg )Nr  r  )r8   r   r   r8   )r   r|  r?  r  rz   r|   r5  rt   )r  r  )
r   re  r   rW   r&   r   r'   r(   xsr>   )r  r  lev3r   r.   r?   r/   altr  	expected2alt2ra  s               r0   'test_loc_getitem_multiindex_tuple_levelr9    sE   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#( ''!*C!I6647DGT!W-YQ6GD4+ggd1gtAwQ/0Ga<<r2   c            
         [        [        R                  " / SQ/ SQSS[        R                  [        R                  //5      R
                  / SQSS9n U R                  S5      nUR                  R                  S:X  d   eUR                  S   n[        SS	/UR                  SSS
9n[        R                  " X#5        UR                  R                  [        5      Ul        UR                  S   n[        R                  " X#5        g )Nr%  )r|   rz   r{   ri   r8   r9   r  Int64)r   rH   r;   r`   r|   r:   )r   rK   r   r   r  Tr   r
   r;   r&   r   rH   r'   r>   r  rJ   )r.   r   r   r/   s       r0   /test_loc_getitem_nullable_index_with_duplicatesr=    s    	XX|\Aq"%%3GHIKK
B
 ,,s
C99??g%%%
''!*Cq!fCKKwQGH3) 		  (CI
''!*C3)r2   rC  r  c                     [        / SQS/SS9n[        R                  " [        SS9   XR                  S'   S S S 5        g ! , (       d  f       g = f)Nr%  r   uint8rG   r  r   )r9   r   )r   r   r   r   r&   )rC  r.   s     r0   test_loc_setitem_uint8_upcastr@    s:     
<&	AB	y	8!y 
9	8	8s   A  
Azfill_val,exp_dtypez
2022-01-06zdatetime64[ns]z
2022-01-07
US/Easternr  zdatetime64[ns, US/Eastern]c                    SSSU R                  5       /n[        X R                  US9n[        / SQS/US9nSUR                  S	'   UR                  S
5        [        X!S9n[        R                  " UR                  USS9  g )Nz
2022-01-02z
2022-01-03z
2022-01-04)r  r;   )ry   r  r   r  r"   r   r  )
2022-01-08r"   rC  rT   T)exact)	r   r   r  r   r&   r  r'   rW  r
   )fill_val	exp_dtyper   r
   r.   expected_indexs         r0   0test_loc_setitem_using_datetimelike_str_as_indexrH    st     ,hmmoFD$;;i@E	#cU%	@B "BFFKK"49N"((N$?r2   c                      [        [        S5      /5      n SU R                  S S 2S4'   [        S/S/S/S/S.5      n[        R                  " X5        g )NrS   r|   r   r"   r!   r`   )r   r8   r9   r   )r   rX   r&   r'   r(   )r.   r/   s     r0   test_loc_set_int_dtyperJ    sM    	DK=	!BBFF1f9cUu#DEH"'r2   z8ignore:Period with BDay freq is deprecated:FutureWarningrE  c                      [        / SQSSS9n [        / SQ/ SQ/ SQ/ SQ/U / S	QS
9nUR                  SS/SS9S   nUR                  U S   SS4   S:X  d   eg )N)z20181101 1100z20181101 1200z20181102 1300z20181102 1400r   r   )r<   rn  )r%   r   r4   )r%   r   r5   )r  Qr6   )Wr1  r7   )ONETWOVALUESr5  rN  rO  T)r  rP  r   r%   r4   )r   r   r   r&   )p_index	mi_seriess     r0   test_loc_periodindex_3_levelsrS    sw     LG
 	/?OL(I
 ##UEN4#@JI=='!*c3/0C777r2   c                  6   [         R                  " S5        [        [        / SQSS9[        / SQ5      S.5      n [        SS/5      nXR                  U R
                  S	4'   [        [        / S
QSS9[        / SQ5      S.5      n[        R                  " X5        g )Nr  r   zstring[pyarrow]rT   )TTF)stringsr  rD  r  rU  )rD  r  r   )r   r}  r   r   r&   r  r'   r(   )r.   	new_valueexpected_dfs      r0    test_loc_setitem_pyarrow_stringsrX  
  s    
	"	o5FG-.	

B Sz"I )FF2669o5FG-.	
K "*r2   c                   &   \ rS rSr\R
                  R                  SSS/5      S 5       rS rS r	S r
S	 rS
 rS rS rS rS r\R
                  R                  S\R$                  \R$                  \\/5      \R
                  R                  S/ SQ5      S 5       5       r\R
                  R                  S\SSS24   S\" S5      4/5      S 5       rS r\R
                  R                  SSS/5      S 5       rS rS rS rS rS  r \R
                  R                  SS!\!/5      S" 5       r"\R
                  R                  S#\#" / S$Q/ S%Q/\" S&5      S'9\" S(S)5      / S*Q\#" / S+Q/ S,Q/\" S&5      S'9/\#" / S$Q/ S%Q/\" S&5      S'9\" S5      / S*Q\#" / S+Q/ S,Q/\" S&5      S'9/\#" / S$Q/ S%Q/ S-Q/\" S&5      S'9/ S.Q/ S*Q\#" / S+Q/ S,Q/ S/Q/\" S&5      S'9/\#" / S$Q/ S%Q/ S-Q/\" S&5      S'9\" S(S05      / S*Q\#" / S+Q/ S,Q/ S/Q/\" S&5      S'9/\#" / S$Q/ S%Q/ S-Q/\" S&5      S'9\" S5      \" SS15      \#" / S+Q/ S,Q/ S/Q/\" S&5      S'9/\#" / S$Q/ S%Q/ S-Q/\" S&5      S'9\" S5      \$" S2S3S2S4.5      \#" / S5Q/ S6Q/ S7Q/\" S&5      S'9//5      S8 5       r%S9 r&S:r'g);TestLocSeriesi   r  )r  rR   )r  rg   c                 J    [        SSS.5      nUR                  U   U:X  d   eg )NrR   rg   )r  r  )r   r&   )rM   rg  r/   r  s       r0   rF  TestLocSeries.test_loc_uint64!  s)     1-.wws|x'''r2   c                 B   UR                   / SQ   n[        R                  " UR                  U   UR	                  U5      5        [        R                  " UR
                  SS S2   USS S2   5        UR                   SS/   u  pEUR                  XE nUR                  XE5      n[        R                  " Xg5        XR                  5       :  n[        R                  " UR                  U   X   5        UR                  U   X$   :X  d   eUR                  U   X%   :X  d   eg )NrR   rg   r{   r|   r9      )r
   r'   r>   r&   r  r   truncatemedian)	rM   string_seriesdatetime_seriesindsd1d2r?   r/   r   s	            r0   test_loc_getitemTestLocSeries.test_loc_getitem'  s   ""9-
}0068M8Md8ST
}11!$Q$7qt!t9LM !&&2w/ $$R+"++B3
v0 3355
}0068KL ""2&/*====""2&/*====r2   c                 `   UR                   SS/   u  p#US S S2   R                  / SQ   nSn[        R                  " [        US9   UR
                  X#   S S S 5        [        R                  " [        US9   SUR
                  X#& S S S 5        g ! , (       d  f       N?= f! , (       d  f       g = f)Nr|   r_  r9   )r8   r9   r   z"Timestamp\('2000-01-10 00:00:00'\)r   r   )r
   r   r   r   rY   r&   )rM   rc  re  rf  ts2r   s         r0   test_loc_getitem_not_monotonic,TestLocSeries.test_loc_getitem_not_monotonic:  s     &&2w/cc"''	23]]83/GGBN 0]]83/CGGBN 0/ 0///s   B6B
B
B-c           
         [        [        R                  R                  S5      R	                  S5      [        [        SSS5      5      S9nUR                  5       nSUR                  SS& UR                  SS S:H  R                  5       (       d   eUR                  5       nSUR                  SS& UR                  SS S:H  R                  R                  5       (       d   eUR                  SS	 nUR                  SS nUR                  / S
Q5      n[        R                  " X55        [        R                  " XE5        UR                  [        [        S5      5      [        [        SSS5      5      -      nSn[        R                   " ["        US9   UR                  SS   S S S 5        [        R                   " ["        US9   SUR                  SS& S S S 5        g ! , (       d  f       N@= f! , (       d  f       g = f)Nr9   ry   r   re   r	   rg   rR   r  rz   )rg   rz   ri   ry   r|   r  r;  z*non-monotonic index with a missing label 3r   )r   rK   r   r   r  rX   rW   r   r   r`  r   r&   r  r'   r>   r   r   rY   )rM   r  cpr?   ra  r/   s2r   s           r0   0test_loc_getitem_setitem_integer_slice_keyerrors>TestLocSeries.test_loc_getitem_setitem_integer_slice_keyerrorsE  s   II!!!$44R8U1bRS_@U

 XXZ"""'')))) XXZ"""**..0000!A''!B-;;}-
v0
w1 XXd58ntE!QO'<<=:]]83/FF1RL 0]]83/BFF1RL 0/ 0///s   GG,
G),
G:c                     [        UR                  S S 5      nUR                  U   n[        R                  " X1S S 5        g )Nry   )r8  r
   r&   r'   r>   )rM   rb  r  r?   s       r0   test_loc_getitem_iterator'TestLocSeries.test_loc_getitem_iteratorc  s>    =&&s+,""3'
vSb'9:r2   c                     XR                  5       :  nUR                  5       nSUR                  U'   UnSXB'   [        R                  " X45        g )Nr   )ra  r   r&   r'   r>   )rM   rb  r   r?   r/   s        r0   test_loc_setitem_boolean&TestLocSeries.test_loc_setitem_booleanh  sI    3355##%

4 
v0r2   c                     [        UR                  / SQ   5      nSUR                  U'   Sn[        R                  " [
        US9   SUR                  / UQSP'   S S S 5        g ! , (       d  f       g = f)N)r|   ri   r   r|   z\['foo'\] not in indexr   r   )rX   r
   r&   r   r   rY   )rM   rb  rd  r   s       r0   test_loc_setitem_corner%TestLocSeries.test_loc_setitem_cornerq  s^    M''
34"#$']]83/01Mnnen- 0//s   A""
A0c                 b   UR                   / SQ   nUR                  5       nUR                  5       nSX2'   SUR                  U'   [        R                  " X45        UR                  5       nUR                  5       nSX2S   US   & SUR                  US   US   & [        R                  " X45        g )N)r|   ry   r_  r   r9   )r
   r   r&   r'   r>   )rM   rc  indicesrn  r   s        r0   test_basic_setitem_with_labels,TestLocSeries.test_basic_setitem_with_labelsx  s    !''4!!#""$
r'!!#""$&'1:
#+,
WQZ(
r'r2   c           
         [        [        R                  R                  S5      R	                  S5      [        [        SSS5      5      S9n/ SQn[        R                  " / SQ5      nUR                  5       nUR                  5       nSX'   SUR                  U'   [        R                  " XE5        UR                  5       nUR                  5       nSX'   SUR                  U'   [        R                  " XE5        / SQn[        R                  " / SQ5      nSn[        R                  " [        US	9   SX'   S S S 5        [        R                  " [        US	9   SX'   S S S 5        g ! , (       d  f       N5= f! , (       d  f       g = f)
Nr9   ry   r   re   r	   )r   rg   rz   r   rg   r|   rz   z\[5\] not in indexr   )r   rK   r   r   r  rX   rW   r   r   r&   r'   r>   r   r   rY   	Exception)	rM   r  rd  arr_indsrn  r   inds_notfoundarr_inds_notfoundr   s	            r0   !test_loc_setitem_listlike_of_ints/TestLocSeries.test_loc_setitem_listlike_of_ints  s!   II!!!$44R8U1bRS_@U
 88I&XXZhhj	
r'XXZhhj
r'$HH\2#]]83/!"C 0]]9C0%&C" 10 0/00s   0E$E5$
E25
Fc                 R   [        [        SSSS9/ SQS9nUR                  5       n[        SSS9nX2R                  S	'   UR                  S	   nXC:X  d   eUR                  5       nX2R
                  S
'   UR
                  S
   nXC:X  d   eUR                  5       nX2S	'   US	   nXC:X  d   eg )Nr  rR   rA  r  r  r	   r  r  r"   r   )r   r   r   r   r&   r   )rM   r  ro  r/   r?   s        r0   test_loc_setitem_dt64tz_values,TestLocSeries.test_loc_setitem_dt64tz_values  s    |Q<@!
 XXZ\l;s!!!XXZ
!!!XXZ3C!!!r2   array_fnrM  r  c                 F   U" S/U-  5      n[        USSSS/[        S5      [        S9n[        S[        S5      [        S9nX5R                  S'   [        R
                  " XT5        [        S[        S5      [        S9nX5R                  S'   [        R
                  " XT5        g )Nr   abcder  r"   )r   rX   rJ   r&   r'   r>   r   )rM   rM  r  r  r/   r  s         r0   #test_loc_iloc_setitem_with_listlike1TestLocSeries.test_loc_iloc_setitem_with_listlike  s     sTz"31a+4=OQd7m6:
s-Qd7m6:
s-r2   r  r%   Nc                 d   [        [        R                  " / SQ5      / SQS9nSn[        R                  " [
        US9   UR                  US S 24     S S S 5        [        R                  " [
        US9   SUR                  US S 24'   S S S 5        g ! , (       d  f       ND= f! , (       d  f       g = f)N))r%   0)r%   rE   )r   r  )   r  r  r  rM  r   r8   )r   r   r  r   r   r   r&   )rM   r  r  r   s       r0   +test_loc_series_getitem_too_many_dimensions9TestLocSeries.test_loc_series_getitem_too_many_dimensions  s     (()MN
 "]]=4GGGQJ 5 ]]=4"#CGGGQJ 54 54 54s   B3B!
B!
B/c                    UR                   / SQ   nUR                  5       nSUR                  U'   UR                  5       nSUR                  / SQ'   [        R
                  " X45        SUR                  SS& SUSS& [        R
                  " X45        UR                   SS/   u  pVSUR                  XV& SUSS& [        R
                  " X45        SUR                  U'   SUR                  U'   X   S:X  d   eX   S:X  d   eg )Nr^  r|   ry   r_  rz   r  rg   )r
   r   r&   r   r'   r>   )rM   rb  rd  r?   r/   re  rf  s          r0   test_loc_setitemTestLocSeries.test_loc_setitem  s   ""9-##%

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

22
v0 !"" !" A%%% A%%%r2   r;   rJ   rx  c                     [        SS/SS/S.US9nSSS.UR                  S	S S 24'   [        SS/SS/S.US9n[        R                  " X#5        g )
NrS   defghijklr   rT   newAnewBr   r  rM   r;   r.   r/   s       r0   test_loc_assign_dict_to_row)TestLocSeries.test_loc_assign_dict_to_row  s[     eU^5%.AO#&1q!tFE?&%IQVW
b+r2   c                     [        SS/S9n[        SSS9SS.UR                  S	'   [        SSS9SS.UR                  S	'   [        [        SSS9S//SS/S	/S
9n[        R                  " X5        g )Nr   rC  r   rz   r&  r  r   )r   rC  r8   r   )r   r   r&   r'   r(   r  s      r0   ,test_loc_setitem_dict_timedelta_multiple_set:TestLocSeries.test_loc_setitem_dict_timedelta_multiple_set  s|    FG#45!*13!7%H

1!*13!7%H

1$e,-7HQRPS
 	f/r2   c                     [        SS/S/S9nSS/UR                  SSS/4'   [        [        [        R                  [        R                  /S	S
9S[        R                  /S[        R                  /S.SS/S9n[
        R                  " X5        g )Nr8   r9   r"   r5  rz   r{   r!   r`   rJ   rT   r  r	   )r   r&   r   rK   r   r'   r(   r   s      r0   3test_loc_set_multiple_items_in_multiple_new_columnsATestLocSeries.test_loc_set_multiple_items_in_multiple_new_columns  s    aVcU3!"Aq3*}RVVRVV,H=[[
 a&
 	b+r2   c                     Sn[         R                  " [        US9   [        R                  " SSSS9n[        [        S5      US9nUR                  S   S	:X  d   e S S S 5        g ! , (       d  f       g = f)
Nz#Period with BDay freq is deprecatedr   2000re   r   r  r	   z
2000-01-14r  )r'   r}  FutureWarningr   rp  r   rW   r&   )rM   r   r
   r+   s       r0    test_getitem_loc_str_periodindex.TestLocSeries.test_getitem_loc_str_periodindex  s]    3''SAOO&"3GEE"IU3F::l+q000 BAAs   ?A%%
A3c                    [        [        S5      5      n[        US-  SS9n[        S[        R
                  " [        U5      [        R                  S90US9nUR                  U   n[        SUR                  SS9R                  [        R                  5      0[        [        R                  " U5      R                  S5      SS9S9n[        R                  " XE5        g )	Nr  i  r;  rT   rg  r	   stable)kind)rX   rW   r   r   rK   r   rp   intpr&   argsortr  r   r  r'   r(   )rM   r  r
   r.   r?   r/   s         r0   test_loc_nonunique_masked_index-TestLocSeries.test_loc_nonunique_masked_index  s    59ocDj0ryyU277CDEREMMxM077@A,,T2'B
 	f/r2   c                     [        SS/SS/S.5      n[        SS/SS/S	9nX!R                  S S 2S
4'   [        SS/SS/S.5      n[        R                  " X15        g )Nr8   r9   rR   rg   r  r   i  r   r	   r"   )r   r   r&   r'   r(   )rM   r.   otherr/   s       r0   #test_loc_index_alignment_for_series1TestLocSeries.test_loc_index_alignment_for_series+  sa    aV1a&12Sz!Q0q#vC:QF;<
h+r2   rI   c                     [        / SQ/ SQUS9nUS   UR                  [        S/S-  UR                  SS9S4'   [        / SQ/ SQUS9n[        R
                  " X#5        g )N)r8   r8   r9   r9   )rE   rE   rF   rF   )r
   r   r;   r   Frg   r   )r   r&   r   r
   r'   r(   r  s       r0   "test_loc_reindexing_of_empty_index0TestLocSeries.test_loc_reindexing_of_empty_index3  s[     \0DERACAvugk:A=><6JRWX
b+r2   z%df, row_index, col_index, expected_dfr   r  r  r   r   rR   r   )ry   ry   ry   )re   re   re   r  )TTT)r   r   r   rg   r   TF)r%   r   r   )ry   ry   rR   )re   re   rz   )r   r   r  c                 f    [        / SQ5      UR                  X#4'   [        R                  " X5        g )Nr   )r   r&   r'   r(   )rM   r.   	row_index	col_indexrW  s        r0   'test_loc_set_series_to_multiple_columns5TestLocSeries.test_loc_set_series_to_multiple_columns;  s)    r (.l';y#$
b.r2   c                    [        S[        S5      S9n[        S[        S5      S9n[        S[        S5      S9nX!R                  SS	/'   USS	/   nUn[        R                  " XE5        X1R                  SS	/'   USS	/   n[        [
        R                  [
        R                  /SS	/S9n[        R                  " XE5        g )
Nr  rf   r	   r4   r  r5   r  r"   r!   )r   rX   r&   r'   r>   rK   r   )rM   r&  r  ro  r?   r/   s         r0   test_loc_setitem_matching_index-TestLocSeries.test_loc_setitem_matching_indexw  s    3d6l+CtDz*CtDz* sCjC:
v0 sCjC:266266*3*=
v0r2   r   )(r   r   r   r   r   r   r   rF  rg  rk  rp  rs  rv  ry  r}  r  r  rK   r   r   rX   r  r  r   r   r  r  r  r  r  r  r  r  rJ   r  r   r   r  r  r   r   r2   r0   rZ  rZ     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, 1
0, [[Wufo6, 7, [[/ 9i0$u+Fa<6UL	 9i0$u+Fd<6UL	 9i;T%[Q"!<>U	 9i;T%[Qa!<>U	 9i;T%[Qdc3!<>U	 9i;T%[Qd!"! ;[A4PU;WK1	
4j/k4j/1r2   rZ  )Y__doc__collectionsr   r  r   r   r   r   rG  dateutil.tzr   numpyrK   r   pandas._libsr
   r  pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorsr   pandasr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr'   pandas.api.typesr   pandas.core.indexingr   pandas.tests.indexing.commonr    r   r   r   r1   r@   rB   r   r:  rR  r  r#  rf  r  r  r  r  r  r  r  r  r!  r$  r'  r,  r.  r2  r9  r=  uint16int16r@  rH  rJ  rP  rS  rX  rZ  r   r2   r0   <module>r     s   ( "   
    * ' ) )     (  & 6 K &
&&"&&#	bffbff 57JK
&&#bfft}511-N, N,b|& |&~+:( :(zs: s:lj, j,Z( (DG* G*TA7 A7H   :~, ~,B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1 i1r2   