
    Mh:             	       .   S r SSKJ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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/r0  SSK1J2r2  SSK3J4r4  SSK5J6r6  \Rn                  Rq                  S\Rr                  \Rr                  S/S\Rr                  \Rr                  // SQ/\Rr                  S/S\Rr                  /SS///5      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 " S' S(5      rD " S) S*5      rE\Rn                  Rq                  S+/ S,QS-S./SS//4/ S0QS-S./SS//4/ S0QS-S1/SS2/4/5      S3 5       rFS4 rGS5 rHS6 rIS7 rJS8 rKS9 rLS: rMS; rNS< rOS= rPS> rQ\Rn                  Rq                  S?S@\R                  " S@5      \R                  " S@5      /5      SA 5       rT\Rn                  Rq                  SB\)" SC5      SD4\)" SESFSG9SH4/5      SI 5       rUSJ rV\Rn                  R                  SK5      \Rn                  R                  SL5      SM 5       5       rXSN rY " SO SP5      rZg)Qz#test label based indexing with loc     )
namedtuple)datedatetimetime	timedeltaN)gettz)using_pyarrow_string_dtypeindex)np_version_gt2)IndexingError)CategoricalCategoricalDtypeCategoricalIndex	DataFrameDatetimeIndexIndex
IndexSlice
MultiIndexPeriodPeriodIndexSeriesSparseDtype	Timedelta	Timestamp
date_rangetimedelta_rangeto_datetimeto_timedelta)	is_scalar)_one_ellipsis_message)"check_indexing_smoketest_or_raisesz series, new_series, expected_serba)FTTFTc                     [        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        P/var/www/html/env/lib/python3.13/site-packages/pandas/tests/indexing/test_loc.pytest_not_change_nan_locr3   1   s^     
C=	!BFF1c6N#|,-H"'')X."((*xi0    c                      \ rS rSrS r\R                  R                  SSS/5      S 5       r\R                  R                  SSS/5      S 5       r	\R                  R                  SS	/ S
QS/S	S/S/S/ SQS/SS/S/SS/S/SS/S//5      \R                  R                  SSS/5      S 5       5       r
\R                  R                  S/ SQ/ SQ// SQ/ SQ//5      \R                  R                  SSS/5      S 5       5       r\R                  R                  S/ SQS/S// SQ/ SQS// SQ/ SQS// SQS/S//5      \R                  R                  SSS/5      S 5       5       r\R                  R                  SS S!/5      \R                  R                  SSS/5      S" 5       5       rS# r\R                  R                  SSS/5      S$ 5       r\R                  R                  S%\" SS&5      / S'QS\/\" S(S)5      S/S\/\" S*S+5      S,/S\/\" S*S+5      S,/S\/\" S*S-S*5      S,/S\//5      \R                  R                  SSS/5      S. 5       5       rS/ rS0 r\R                  R                  S1\" S//\" S2/5      S39\SS2S24   \" S/S2S494\" S/\" S2/5      S59S2S/4\" S//\" S2/5      S59S2\" S/S2S494/5      S6 5       rS7rg)8TestLocA   c                 D    [        / SQS/SS9nUR                  S   b   eg )N)12Nr$   strcolumnsdtype)   r$   )r   r(   selfr0   s     r2   "test_none_values_on_string_columns*TestLoc.test_none_values_on_string_columnsB   s'    '#eDvvf~%%%r4   kindr-   framec                 L    UR                  U S35      n[        USS[        S9  g )N_labelsr(   r?   failsgetfixturevaluer"   KeyErrorrA   rD   requestobjs       r2   test_loc_getitem_intTestLoc.test_loc_getitem_intH   s)     %%g&67*3qIr4   c                 L    UR                  U S35      n[        USS[        S9  g )N_emptyr(   crH   rJ   rM   s       r2   test_loc_getitem_labelTestLoc.test_loc_getitem_labelN   s(     %%fo6*3s(Kr4   zkey, typs, axesf)intsuintslabelsmixedtsNfloats   )rX   rY   r[   rZ   r\   r   c           	      b    U H)  nUR                  U SU 35      n[        USX[        S9  M+     g N_r(   axesrI   rJ   rA   keytypsrc   rD   rN   typrO   s           r2   #test_loc_getitem_label_out_of_range+TestLoc.test_loc_getitem_label_out_of_rangeT   s9     C))TF!C5/:C.UC( r4   z	key, typsr      r?   )rX   rY   r]   )rk         @r'   c                 b    U H)  nUR                  U SU 35      n[        USU[        S9  M+     g )Nra   r(   rH   rJ   )rA   re   rf   rD   rN   rg   rO   s          r2   test_loc_getitem_label_list#TestLoc.test_loc_getitem_label_listh   s6     C))TF!C5/:C.sE3hO r4   empty)r   r?   
   )         rk   ))rk   rr   )rk      )r?      multic           	      b    U H)  nUR                  U SU 35      n[        USX[        S9  M+     g r`   rJ   rd   s           r2   (test_loc_getitem_label_list_with_missing0TestLoc.test_loc_getitem_label_list_with_missingv   s9     C))TF!C5/:C.UC( r4   rf   rX   rY   c                 V    UR                  U SU 35      n[        US/ SQS[        S9  g )Nra   r(   )r^      (   rk   rb   rJ   )rA   rf   rD   rN   rO   s        r2   !test_loc_getitem_label_list_fails)TestLoc.test_loc_getitem_label_list_fails   s2     %%av&67*1H	
r4   c                     g N rA   s    r2   !test_loc_getitem_label_array_like)TestLoc.test_loc_getitem_label_array_like   s     	r4   c                 T    UR                  U S35      n/ SQn[        USU[        S9  g )NrS   TFTFr(   rH   )rK   r"   
IndexError)rA   rD   rN   rO   r#   s        r2   test_loc_getitem_boolTestLoc.test_loc_getitem_bool   s+    %%fo6&*3q
Kr4   zslc, typs, axes, failsrr   )rZ   r[   rp   r\   r]   2013010220130104r?      r[   ru   c           	      \    U H&  nUR                  U SU 35      n[        USUUUS9  M(     g r`   )rK   r"   )	rA   slcrf   rc   rI   rD   rN   rg   rO   s	            r2   test_loc_getitem_label_slice$TestLoc.test_loc_getitem_label_slice   s?    , C))TF!C5/:C. r4   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 )Nr^   r$      col1col2)rq   rk   rk   r=   r   r?   )rk   r   r   rk   )r   nparanger(   r)   r*   rA   r0   r1   s      r2    test_setitem_from_duplicate_axis(TestLoc.test_setitem_from_duplicate_axis   s~    #Yc
S#J/V$

 IIaLy#YC1c(+ff5EZ
 	b+r4   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rk   r?   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   r   nanr   pdNaTvaluesr(   r+   r)   r*   )rA   r0   df2r1   s       r2   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+r4   zobj, key, expFr=   namer
   c                     UR                   U   n[        U[        [        45      (       a  [        R
                  " XC5        g XC:X  d   eg r   )r(   
isinstancer   r   r)   assert_equal)rA   rO   re   express        r2   #test_loc_getitem_single_boolean_arg+TestLoc.test_loc_getitem_single_boolean_arg   s9     ggclcIv.//OOC%::r4   r   )__name__
__module____qualname____firstlineno__rB   pytestmarkparametrizerP   rU   rh   rn   ry   r~   r   r   slice	TypeErrorrL   r   r   r   r   r   r   r   r   __static_attributes__r   r4   r2   r6   r6   A   s   & [[Vh%89J :J
 [[Vh%89L :L
 [[<dC8*d#+T2(T"$O(Q	

 [[Vh%89 :
 [[3478	
 [[Vh%89P :P [[	4(4a83Q7%y!4	
	 [[Vh%89 :	 [[Vfg%67[[Vh%89
 : 8

 [[Vh%89L :L [[  a<	 :z*TFAyA1a[7)Q	21a[7)Q11a^gY95	
 [[Vh%89 :  ,,> [[ A3%w81e8$s'
 QCueW~.s;uE5'N3UFA3U<ST	
r4   r6   c                   x   \ 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%S7 r&S8 r'S9 r(S: r)S; r*S< r+S= r,\R                  R[                  S>5      S? 5       r.\R                  R                  S@SA/\/" SBSASB5      \R8                  " SA/5      /5      \R                  R                  SCSD/\R8                  " SD/5      /5      SE 5       5       r0\R                  R                  SFS*SG// SHQ4SI\1" / SJQSKSL\Rd                  \Rd                  // SJQ// SHQSM94SNSOSP/4SISQ/\1" SNSG\Rd                  \Rd                  // SRQSSST\Rd                  \Rd                  /// SHQSM94SN/ SUQ4\R8                  " / SVQ\R:                  S+9\1" SNSG\Rd                  // SVQSSST\Rd                  /// SUQSM94\/" SNSKSB5      / SWQ4/ SVQ/ SXQ/\1" SNSG\Rd                  \Rd                  // SYQ/ SZQ// SHQSM94\/" SNSKSB5      / S[Q4\R8                  " / SVQ/ SXQ/\R:                  S+9\1" SNSG\Rd                  \Rd                  // S\Q/ S]Q// SHQSM94\/" SBSBSB5      SASO/4\1" SISQ/S^S_/S`Sa//SASO/SM9\1" / SbQ/ ScQ/ SdQ// SUQSM94/5      Se 5       r3Sf r4Sg r5Sh r6Si r7Sj r8\R                  Rr                  \R                  R                  SkSlSm/SnSo//5      Sp 5       5       r:Sq r;Sr r<Ss r=St r>Su r?Sv r@Sw rASx rBSy rCSz rDS{ rES| rFS} rG\R                  R                  \I" 5       S~S9S 5       rJS rK\R                  R                  S/ SQ5      \R                  R                  S\R:                  \R                  \M/5      S 5       5       rNS rOS rPS rQ\R                  R                  S@SS/5      S 5       rR\R                  R                  S\S\R8                  \T\U/5      S 5       rVS rW\R                  R                  SS\T" SN/5      4S\T" SG/5      4/5      S 5       rXS rY\R                  R                  SS*/ SQ4\/" SLSQ5      / SQ4SKSS// SQ4/5      S 5       rZS r[S r\S r]\R                  R                  SSS//5      S 5       r^S r_\R                  R                  SSASA/SA\/" SB5      4/5      S 5       r`S raS rbS rcS rdS re\R                  R                  SSS/5      S 5       rfS rgS rhS riS rjS rkS rlSrmgB)TestLocBaseIndependent   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(   r   arrayilocr)   r*   rA   r0   resultr1   s       r2   test_loc_npstr%TestLocBaseIndependent.test_loc_npstr  sQ    Z78*.q1347734=
f/r4   zmsg, keyz'Period\('2019', 'Y-DEC'\), 'foo', 'bar'  foobarz&Period\('2019', 'Y-DEC'\), 'y1', 'bar'y1z&Period\('2019', 'Y-DEC'\), 'foo', 'z1'z1z;Period\('2018', 'Y-DEC'\), Period\('2016', 'Y-DEC'\), 'bar'    z&Period\('2018', 'Y-DEC'\), 'foo', 'y1'z;Period\('2017', 'Y-DEC'\), 'foo', Period\('2015', 'Y-DEC'\)    z&Period\('2017', 'Y-DEC'\), 'z1', 'bar'c           	      @   [        [        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   rq   r^   r|   )r'   r   CV1V2r'   r   r   matchN)r   r   	set_indexr   raisesrL   r(   )rA   msgre   r0   s       r2   ;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$   rk   u   אr   )r   r   r   rL   r(   r@   s     r2   $test_loc_getitem_missing_unicode_key;TestLocBaseIndependent.test_loc_getitem_missing_unicode_key/  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 )
Nr?   )r^   rv   r^   ABCDErv   r
   )r'   r   r   r'   )r   r   randomdefault_rngranger(   r)   assert_series_equal)rA   xr0   r1   r   s        r2   test_loc_getitem_dups,TestLocBaseIndependent.test_loc_getitem_dups4  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 )
Nrk   r?   r   r   20130101r$   r$   r$   r$   r$   r   r   r   r   )r   r   r   r   r)   r   r(   rA   r0   r1   r   s       r2   test_loc_getitem_dups2-TestLocBaseIndependent.test_loc_getitem_dups2?  s     E5)J"789-#

 5%:!67+
 
v0
v0r4   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aaaderv   float64r>   gq=
ףp?r?   g(\տ)mer   r   bar2r   rr   r          @)r   r   t)
r   listr   r   r   copyr(   r)   r   r*   )rA   df_origindexerr0   s       r2   test_loc_setitem_dups,TestLocBaseIndependent.test_loc_setitem_dupsS  sW   7mG}yy)4t;a?		!95=A	
 )D/ 	 FO
 \\^
w3
rvvggkk'6J0JK
 \\^
w3vvg#G(<"<<<< FO
 \\^
w3
bffWosW[[5I/IJr4   c                    [        / 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        [        / SQ/ SQS.S
S9n[        R                  " XT5        g ! , (       d  f       N6= f)N)r   rk   rk   )d   r   ,  uint32r   r$   r#   r$   rk   r#   )r	     i-  uint64item of incompatible dtyper   )r   r   r(   r)   r*   assert_produces_warningFutureWarning)rA   df1ixnewb1r1   r   newb2s          r2   test_loc_setitem_slice-TestLocBaseIndependent.test_loc_setitem_slicev  s     if_H.UVWX]C 1$ C&"IJ
 	c, io>hOX]C ''!=
  %GGBG
 9?C8T
c,
 
s   :C;;
D	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#   rT   r$   r#   rT   float32r   r   )r   r(   astyper   r   r)   r*   )rA   r0   colsr1   s       r2   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+r4   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   r   r   r   rL   )rA   ss     r2   $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   lenr   r   r   r(   )rA   r   r%  r   s       r2   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   r   s    r2   test_loc_getitem_int_slice1TestLocBaseIndependent.test_loc_getitem_int_slice  s    r4   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)
Nr?   rr   rr   r  )erW   gr   r=   z$\"None of \[Index\(\[1, 2\], dtype=''\)\] are in the \[index\]\"r   rk   )
r   r   r   r   r>   intr   r   rL   r(   rA   r0   r   s      r2   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)Nr   rk   r?   r$   z^-1$r   z&\"None of \[Index\(\[-1, -2\], dtype='r5  zE\"None of \[Index\(\['4'\], dtype='object'\)\] are in the \[index\]\"4rr   r#  z"\"None of \[Index\(\[-2\], dtype='r   )
r   objectr(   r   r   rL   r   r>   r6  r   rA   r%  r   s      r2   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#   rk   r?   valuer4  z!\"None of \[Index\(\[3\], dtype='r5  r   rr   )r   r   r>   r6  r   r   rL   r(   r7  s      r2   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                    [        / SQ5      nUR                  S/     S[        R                  " [        5       S3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   r?   z"None of [Index([3], dtype='z')] are in the [index]r   rr   r#  )
r   r(   r   r>   r6  r   r   rL   reescaper?  s      r2   test_loc_getitem_list_with_fail6TestLocBaseIndependent.test_loc_getitem_list_with_fail  s     9	qc
-bhhsm_<RS]]8299S>:EE1#J ; ]]8>:EE1a&M ;:	 ;: ;:s   )B6C6
C
C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 )	Nr?   )rv   rq   size)alpha_0alpha_1alpha_2beta_0beta_1r
   c                     SU ;   $ )Nalphar   r   s    r2   <lambda>7TestLocBaseIndependent.test_loc_index.<locals>.<lambda>  s    glr4   booleanr   )r   r   r   r   r   mapr(   r   r)   r*   r   r   )rA   r0   maskr1   r   s        r2   test_loc_index%TestLocBaseIndependent.test_loc_index  s     II!!!$+++9G

 xx||2366"((4.)
f/$
f/Y78
f/r4   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 )Nr?   ru   ru   r'   r   r   Dr   r'   r   r   r   rk   r  r$   r#   r   )r   r   r   r   r(   r   r=   allr   r   r   r)   r   r>   r>  r   s       r2   test_loc_general'TestLocBaseIndependent.test_loc_general"  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%%%r4   c                 p    [        [        SS5      [        [        S5      [        R
                  S9S.5      $ )N
2000-01-01	2000-01-5rv   r   r   val)r   r   r   r   r   int64r   s    r2   frame_for_consistency,TestLocBaseIndependent.frame_for_consistency4  s0    "<=eAhbhh7
 	
r4   rh  r   r   )r   r   r   r   r   c                 t   [        [        S[        S5      [        R                  S9[        [        S5      [        R                  S9S.5      nUR                  5       n[        R                  " [        SS9   X$R                  S S 2S4'   S S S 5        [        R                  " XC5        g ! , (       d  f       N%= f)	Nr   rv   r   r>   r   rg  incompatible dtyper   r   r   r   r   r   ri  r  r)   r  r  r(   r*   )rA   rj  rh  r1   r0   s        r2   test_loc_setitem_consistency3TestLocBaseIndependent.test_loc_setitem_consistency=  s     qaAeAhbhh7
 #'')''=QR #FF1f9 S
b+ SRs   7B))
B7c                 X   [        [        S[        S5      S9[        [        S5      [        R                  S9S.5      nUR                  5       n[        R                  " [        SS9   SUR                  S S 2S4'   S S S 5        [        R                  " X25        g ! , (       d  f       N%= f)	Nr   rv   r
   r   rg  rn  r   r   ro  rA   rj  r1   r0   s       r2   (test_loc_setitem_consistency_dt64_to_str?TestLocBaseIndependent.test_loc_setitem_consistency_dt64_to_strO  s     uE!H5eAhbhh7
 #'')''=QR %BFF1f9 S
b+ SR   (B
B)c                 X   [        [        S[        S5      S9[        [        S5      [        R                  S9S.5      nUR                  5       n[        R                  " [        SS9   SUR                  S S 2S4'   S S S 5        [        R                  " X25        g ! , (       d  f       N%= f)	N      ?rv   r
   r   rg  rn  r   r   ro  rs  s       r2   *test_loc_setitem_consistency_dt64_to_floatATestLocBaseIndependent.test_loc_setitem_consistency_dt64_to_float^  s     s%(3eAhbhh7
 #'')''=QR #BFF1f9 S
b+ SRrv  c                 *   [        S[        [        S5      /5      05      n[        R                  " [
        SS9   SUR                  S S 2S4'   S S S 5        [        S[        S/5      05      n[        R                  " X5        g ! , (       d  f       N<= f)Nr   20180101rn  r   string)r   r   r   r)   r  r  r(   r*   r   s      r2   'test_loc_setitem_consistency_single_row>TestLocBaseIndependent.test_loc_setitem_consistency_single_rowl  sw     	*(='> ?@A''=QR (BFF1f9 SffhZ&89:
b+ SRs   B
B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   rk   )r   r)   r  r(   r*   r  r   ri  rA   r1   r0   s      r2   "test_loc_setitem_consistency_empty9TestLocBaseIndependent.test_loc_setitem_consistency_emptyu  s     c3Z0Sz*''-BFF1c6N .
b+ Sz*3 ,,RXX6
b+ .-s   B++
B9c                 h   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[	        XRUS9n[        UR                  S S 2S4   5      UR                  S S 2S4'   [        UR                  S S 2S4   5      UR                  S S 2S4'   UR                  SS9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        [        / SQUR                  SS9n[        R                  " US   U5        g ! , (       d  f       N@= f)NRegion_1ru   )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  Nor4  )r  r  )r  r  F)r  )r  Durationrn  r   l    Xp7 )g      7@      (@g      ,@g      B@r   )r   from_arraysr   r   r   r   r(   infer_objectsr)   r  r  r   r   r   r   )rA   levelsmiclevelsr  r   r0   r1   s           r2   -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1<FF11122
q--. 0;FF1//00
q++, 5) FF1//0ffQ3345 	q,,- ''=QR46FF--5.)5*BFF1001 S
 $BHH;U
 	r"<=xH SRs   81F##
F1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[]r1   r   )	r   r   
datetime64r(   r   r  r   r)   r   )rA   r  r0   r1   s       r2   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9r4   c                    [         R                  " S/ SQ05      n[        US   SSS9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  cachedate_dt
date_dt_cpr?   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   r(   applyr)   r*   )rA   r0   r1   r=   s       r2   test_loc_modify_datetime/TestLocBaseIndependent.test_loc_modify_datetime  s      QR
 $BvJTF9"$&&I"6q,')vvq!fi.?'@1v|#$UUUU	 6
 l+$-33K@
b+r4   c                     [        / SQS/[        S9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   rv   ru   r'   r   r=   r>   r   ri  r   ru   rr   rv   r?   rr   rk   rm  )r   floatr   r   r(   r   r)   r*   rA   r0   serr1   s       r2   #test_loc_setitem_frame_with_reindex:TestLocBaseIndependent.test_loc_setitem_frame_with_reindex  s[    YUC!#)7!Cy#~ Yiu=c3Z(
b+r4   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  r}  r   ri  r   r  r  rm  )	r   r  r   r   r(   r   r  r)   r*   r  s       r2   )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+r4   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  r}  ri  r   rr   r   r;  )rl   r   rx  r   r
   )r   r  r   r   r(   r   r)   r*   r   s      r2   *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+r4   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'   X7R                  US4'   [        R                  US'   XWR                  US4'   [        X2[        R                  S	9n[        XTS9n	[        XS
.[        SS/[        S9S9R                  US9n
[        R                   " Xz5        g s  snf s  snf )Nrv   @ri  r   ru   r
   r'   r   rm  r   r   )r   r;   r   r   r  setunionr   r   r(   r   r   r   r>  reindexr)   r*   )rA   ikeys1val1keys2val2r   r0   seraserbr1   s              r2   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!ucz&&3!ucz drzz:d("E3*F,K

''
 	 	b++ 1 1s   E

Ec                    [        [        R                  R                  S5      R	                  S5      [        S5      [        S5      S9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                  " X#5        g )Nr?   r^  abcdABCDr4  r   r   rk   )r$   r'   r   r   r`  )
r   r   r   r   standard_normalr  r   r(   r)   r*   r   s       r2   test_loc_setitem_frame-TestLocBaseIndependent.test_loc_setitem_frame  s    II!!!$44V<v,L
 x!{{{{q#c'z66!SW*%AB
f/r4   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   r   r   r'   r(   r   r)   r*   r   s      r2   /test_loc_setitem_frame_nan_int_coercion_invalidFTestLocBaseIndependent.test_loc_setitem_frame_nan_int_coercion_invalid2  s[     YRVV45#%44rttbdd{C 9266:;
b+r4   c                 @   [        SS/SS/SS/S.5      nUR                  SSS/4   n[        SS/[        SS/[        S	9[        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 )Nrk   r?   rr   ru   r$   r#   )rk   r?   r$   r   r   r   r>   r   rv   rs   )r   r(   r   r   r>  r)   r   r*   r   s       r2   #test_loc_setitem_frame_mixed_labels:TestLocBaseIndependent.test_loc_setitem_frame_mixed_labels:  s     Aq6q!fC:>?Aq6	"F%Af5V!
 	v0!QQF#sDEFq1a&y
b+r4   z.ignore:Setting a value on a view:FutureWarningc           	         [        / SQ[        [        S5      [        R                  S9S.5      nUR
                  SS nUR                  SS Ul        X2R
                  SS& [        / SQ[        / S	Q[        R                  S9S.5      n[        R                  " X$5        [        [        S
S5      [        [        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R
                  SS nUR                  SS Ul        X2R
                  SS& [        R                  " X$5        g )Nr   r   bazrr   r   r   rk   r?   r   )r   r  r  )rk   r?   r?   re  rf  rv   rg  200001012000010220000103)r   rk   r   rk   r?   ru   )r   r   r   r   ri  r(   r   r)   r*   r   r   )rA   warn_copy_on_writer0   rhsr1   s        r2    test_loc_setitem_frame_multiples7TestLocBaseIndependent.test_loc_setitem_frame_multiplesI  s;    'fU1XRXX.NO
 ffQqkHHQqM	q'fYbhh.OP
 	b+ "<=eAhbhh7
  j)j)j)j)j) oRXX>	
 ffQqkHHQqM	q
b+r4   r  r'   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 )Nrk   r?   rr   ru   r'   r   r   r   )r   r'   r  )r   r  r>  r(   r    )rA   r  rC  r0   r   s        r2   "test_loc_setitem_with_scalar_index9TestLocBaseIndependent.test_loc_setitem_with_scalar_indexo  sf     AA'#s<CCS&MR"q'z  Vs]22]r4   zindex,box,expectedr?   r_  rt   )rt   rt   rt   rt   rr   ru   r   rk   r   r`  r   )rr   ru   rt   r   rv   rs   r   rt   r   	   )r   r   r`  rq         )rr   rt   r   r  )rv   rq   r  r  )r   r'   r`  )r   ru   rt   r  )r  rs   rq   r  r  rq   r  r  )rt   r?   r   )r  ru   rq   )r  rs   r  c                 v    [        SS/SS/SS//SS/S	9nX$R                  U'   [        R                  " XC5        g )
Nrk   r?   rr   ru   rv   rs   r'   r   r   r   r(   r)   r*   )rA   r   boxr1   r0   s        r2    test_loc_setitem_missing_columns7TestLocBaseIndependent.test_loc_setitem_missing_columns  sA    j AAA/#sDu
b+r4   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   r   UTCr   rk   )	r   r   tz_localizer   r   dtypesr   r)   r   r   s       r2   test_loc_coercion(TestLocBaseIndependent.test_loc_coercion  sy    :!6!B!B5!I266 RST99!
v}}h7!
v}}h7r4   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     rk   i  r?   r   )r   r   r  r   r)   r   r   s       r2   test_loc_coercion2)TestLocBaseIndependent.test_loc_coercion2  sw    $1!5xa7K LMN99!
v}}h7!
v}}h7r4   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   r?   rr   )r   r  r   r)   r   r   s       r2   test_loc_coercion3)TestLocBaseIndependent.test_loc_coercion3  sm    $! ;<=991
v}}h7
v}}h7r4   c                    [        S5      R                  S5      [        S5      R                  S5      /n[        U[        SS/[        S9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   r
   r   rk   )r   r  r   r   r>  r)   r   )rA   
indexer_slvalsr1   r  s        r2   test_setitem_new_key_tz.TestLocBaseIndependent.test_setitem_new_key_tz  s     O''.((/
 $eUEN&&IJ6"!%a
3!%a
3
s-r4   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rk   r?   rr   ru   rv   rs   )rr   ru   rv   rs   rt   r   r   )r   rk   r   rk   r?   rr   r
   z5'Cannot get left slice bound for non-unique label: 1'r   rk   z5'Cannot get left slice bound for non-unique label: 0'r   r?   axis)r?   ru   rv   rs   )ru   rs   rt   r   )rk   rk   r?   rr   )r?   ru   rv   )ru   rs   rt   )rk   rk   r?   )r   r   r   rL   r(   
sort_indexr)   r*   )rA   r0   r   r   r1   s        r2   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ABCDEFGr?   r4  r   Frk   )r  r   concatr   r   r   r   r  r)  r   onesr   	is_uniquer(   taker)   r*   )rA   lengthl2r=   r0   rZ  r   r1   s           r2    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/r4   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 )Nrk   
index_namer   )r   r   r   r   r(   rA   r0   r   s      r2   test_loc_name$TestLocBaseIndependent.test_loc_name.  sz    AA'($!Q&&++%%%A%%**%%%r4   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)rv   r?   rv   zi-r$   r   r?   r4  r   T)check_index_typecheck_column_type)	r   r   r"  r   r   r)   r*   r(   r   )rA   r  r0   s      r2   !test_loc_empty_list_indexer_is_ok8TestLocBaseIndependent.test_loc_empty_list_indexer_is_ok8  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                 N   [        S/ SQ05      nUR                  S S  nXCL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[
        R                  " U5         / SQUR                  S S 2S4'   S S S 5        U(       a   US   / SQ:H  R                  5       (       d   eOUS   S:H  R                  5       (       d   e[        [        R                  R                  S5      R                  S5      5      nU(       d  U(       a  US   UR                  S S 2S4   Ld   eOUS   UR                  S S 2S4   L d   e[        / SQ5      nUR                  S S  nXvLd   eUS S  ULd   e[
        R                  " U5         / S	QUS S
& S S S 5        U(       a  [        US S
 / SQ:H  5      (       d   eg [        US S
 / S	Q:H  5      (       d   eg ! , (       d  f       GN^= f! , (       d  f       N]= f)Nr$   r   )ru   ru   ru   ru   r?   rq   ru   r   r  r  rr   )r   r(   r   shares_memory_valuesr)   assert_cow_warningra  r   r   r  r   )rA   using_copy_on_writer  original_df	sliced_dfr0   original_seriessliced_seriess           r2   &test_identity_slice_returns_new_object=TestLocBaseIndependent.test_identity_slice_returns_new_objectK  s   
  i 01OOA&	+++1~[000q!t$K777 C 0 8 8)C.:P:PQQQQ ""#56&/KOOAsF# 7cNi/446666cNa',,.... ryy,,Q/??HI"4a5q!t,,,a5BFF1a4L((( !!34'++A.333q!888""#56"+OBQ 7}Ra(I56666}Ra(I566663 76( 76s   H7H
H
H$c                    U(       d.  [         R                  R                  SS9nUR                  U5        [	        [        [        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                  " XE5        UR                  5       nUR                  UR                  S4   nUS-  n[        R                  " XG5        g )Nz!accidental fix reverted - GH37497reasonrr   r$   r#   r   r?   )r   r   xfailapplymarkerr   zipr   r  r(   r)   r*   r   )rA   rN   r8  r   r   r  qzs           r2   test_loc_copy_vs_view,TestLocBaseIndependent.test_loc_copy_vs_viewv  s     #;;$$,O$PD%c%(E!H-SzBFFHEE!S&M	Q
a#FFHEE!''3,	Q
a#r4   c                 |   [         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  rk   r?   r
   r   )r   iinfomaxr   r(   r   r)   r   )rA   umaxr  r   r1   s        r2   test_loc_uint64&TestLocBaseIndependent.test_loc_uint64  s     xx!%%aVD1Hd#34"88A;!!!$($88QC=
v0$(D)*
v+r4   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  rk   r?   r
   z-1r   r;  )r   rJ  rK  r   r   r   rL   r(   )rA   rL  r  s      r2   !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   r   r   r  r   r  r   )	r   r   r   r   r)  r>  r(   r)   r*   rA   r   r1   r0   s       r2   *test_loc_setitem_empty_append_expands_rowsATestLocBaseIndependent.test_loc_setitem_empty_append_expands_rows  sb     RXXrvvhT&:&IJ

 Sz*q#v
b+r4   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 rS  )r   r   r   r   r)  r>  r  ri  r(   r)   r*   rU  s       r2   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+r4   c                     [        S/[        R                  /S.5      n[        SS/[        S9nUR                  S   UR                  S'   [
        R                  " X!5        g )Nrx  rT  r   r  r<   )r   r   )r   r   r   r  r(   r)   r*   r  s      r2   *test_loc_setitem_empty_append_single_valueATestLocBaseIndependent.test_loc_setitem_empty_append_single_value  sM    C5x89Sz7!f-v
b+r4   c                    SS/n[        SS/S9nUR                  R                  [        R                  5      Ul        S[        R
                  " [        5       S3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)Nrk   r?   r   r  r   z"None of \[Index\(\[0, 1\], dtype='z'\)\] are in the \[index\]r   r   )setting an array element with a sequence.)r   r   r  r   ri  r>   r6  r   r   rL   r(   
ValueError)rA   r   r0   r   s       r2   $test_loc_setitem_empty_append_raises;TestLocBaseIndependent.test_loc_setitem_empty_append_raises  s     1vSz*88??288,1"((3- A$ $ 	 ]]83/"&FFAq63; 0 :]]:S1#FF1Q38 21	 0/ 21s   5C+C
C
C&c                     [        SS/SS//5      nUR                  [        R                  " S5         n[	        SS/SS9n[
        R                  " X#5        g )Nrk   r?   rr   ru   r   r   )r   r(   r   r   r   r)   r   )rA   r0   r   r%  s       r2   test_indexing_zerodim_np_array5TestLocBaseIndependent.test_indexing_zerodim_np_array  sM    AA'($Aq6"
v)r4   c                 t    [        SS/5      nUR                  [        R                  " S5         nUS:X  d   eg )Nrk   r?   r   )r   r(   r   r   )rA   r%  r   s      r2   %test_series_indexing_zerodim_np_array<TestLocBaseIndependent.test_series_indexing_zerodim_np_array  s1    Aq6Nrxx{#{{r4   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  ru   i  i  r
   rm  )rs   rv   ru   rr   r?   rk   r   r;  )r   r   r   r   r(   r)   r   )rA   r   r1   r   s       r2   test_loc_reverse_assignment2TestLocBaseIndependent.test_loc_reverse_assignment  s^    !TFQJ.$eD$&78eD$/rzzB#5

4R< 
v0r4   zcan't set int into stringr@  c                    [        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                  " X45        U 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                  " X45        U Vs/ s H  n[        U5      PM     snUS'   [        US/[        S9n[        R                  " X45        g s  snf s  snf s  snf )Nrv   r?   g-q=r'   r   r<   )r   r;   r   r   r   r   r>  r)   r*   r  r(   r   r  )rA   ra   col_datar   r1   r   s         r2   3test_loc_setitem_str_to_small_float_conversion_typeJTestLocBaseIndependent.test_loc_setitem_str_to_small_float_conversion_type  s    MRRSHUHqC		--a0779EABHU8cU3XuFC
f/ <D(D8aq8(D

6<<$%XuEBII&Q
f/ *22AuQx2sXuEB
f/ V )E 3s   AD8D=6E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|   r?   rr   r
   z1/4/2000r;  )r   hourminuter   r   r   r   r  r)  r)   get_objr(   r   r   r   
_with_freq)	rA   frame_or_seriesrngrZ  rO   r   r   chunkr1   s	            r2   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
)r4   
spmatrix_t)
coo_matrix
csc_matrix
csr_matrixr>   c                    [         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UR                  U   R                  n	UR                  5       U   n
[        R                  " X5        UR                  U   R                  R                  n	[        R                  " U[!        USS95      n
[        R                  " X5        g )Nscipy.sparse)rv   rt   r   r?   r   )
fill_value)r   importorskipgetattrr   eyer   sparsefrom_spmatrixr   r(   r   toarrayr)   assert_numpy_array_equalr  fullr   )rA   r~  r>   	sp_sparserowsr  spmatrixr0   itr_idxr   r1   s              r2   $test_loc_getitem_range_from_spmatrix;TestLocBaseIndependent.test_loc_getitem_range_from_spmatrix  s     ''7	Y3

 
bffTu=UK++H5 4.''##%g.
##F5 ''..774Uq!AB
##F5r4   c           	          [        S[        R                  " SS/[        S5      S905      nUR                  SS/   n[
        R                  " X!5        g )Nr'   r   ri  r   rk   )r   r   r   r   r(   r)   r*   r+  s      r2   ,test_loc_getitem_listlike_all_retains_sparseCTestLocBaseIndependent.test_loc_getitem_listlike_all_retains_sparse5  sD    RXXq!fK4HIJKA
f)r4   c                    [         R                  " S5      n[        R                  R	                  UR                  S5      5      nUR                  [        S5         n[        / SQ/ SQ/[        SS5      S9n[        R                  " X45        UR                  [        S5         R                  [        S	5         n[        / SQ/[        SS5      S9n[        R                  " X45        g )
Nr  rv   r?   rx  r  r  r  r  )r  rx  r  r  r  r   r  r   rk   )r   r  r   r  r  r  r(   r   r   r)   r*   )rA   r  r0   r   r1   s        r2   test_loc_getitem_sparse_frame4TestLocBaseIndependent.test_loc_getitem_sparse_frame:  s    ''7	++IMM!,<=a!&(ABi-
 	f/a!%%eAh/&'{9c/J
 	f/r4   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 )Nr  r   r  r   r?   rx  rr   )r   r   r(   r   r)   r   )rA   r%  r   r1   s       r2   test_loc_getitem_sparse_series5TestLocBaseIndependent.test_loc_getitem_sparse_seriesL  s    ,K	34OPuQx3*K	3,GH
v0uQx$$U1X.3*K	3,GH
v0r4   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)rx  r        ?)r  r   r  r   r   )r>   r   )r   r   r  r  r   r)   r   )rA   r  r0   r   r1   s        r2   !test_getitem_single_row_sparse_df8TestLocBaseIndependent.test_getitem_single_row_sparse_dfX  sJ     9UAST%a(/U1C!L
v0r4   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*   )rA   float_framer  idxr   r1   s         r2   test_loc_getitem_iterable0TestLocBaseIndependent.test_loc_getitem_iterable`  s?    'C(??1o#56
f/r4   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 )Nr?   r4  rL  0srq   r%  startperiodsrt  )r   r   r   r   normalr   r   r(   r   r)   r*   r   s       r2   #test_loc_getitem_timedelta_0seconds:TestLocBaseIndependent.test_loc_getitem_timedelta_0secondsg  su    ryy,,Q/66G6DE"rD66)D/+Q./q!
f/r4   val,expected                c                 v    [        SS/SS/S9nUR                  U   nXl        [        R                  " XB5        g )Nrk   r?   r  r  r
   )r   r(   r   r)   r   )rA   rh  r1   r0   r   s        r2   test_loc_getitem_uint64_scalar5TestLocBaseIndependent.test_loc_getitem_uint64_scalaro  s9    
 1vi%78
v0r4   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         ?rk   r   r
   zoork   r?   )r   r   r  r(   r   r)   r   )rA   float_numpy_dtyper>   r  r1   s        r2   +test_loc_setitem_int_label_with_float_indexBTestLocBaseIndependent.test_loc_setitem_int_label_with_float_indexz  sN    !_E+U,KL88:
 a
s-r4   zindexer, expected)
r^   rk   r?   rr   ru   rv   rs   rt   r   r  )
r   rk   r?   rr   r^   r^   r^   r^   r   r  )
r   rk   r?   r^   ru   r^   rs   rt   r   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 )	Nrq   r%  r  r   ri  r>   r   r^   r  )r   r   r   r(   r   r)   r*   )rA   r  r1   tdir0   s        r2   /test_loc_setitem_listlike_with_timedelta64indexFTestLocBaseIndependent.test_loc_setitem_listlike_with_timedelta64index  so     593/U2Y'wcB)+rxx #%&E	
 	h+r4   c                 v   [        / SQ[        S5      S.5      n[        / 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        [        R                  " X5        g ! , (       d  f       N%= f)Nrk   rk   rk   rk   rk   aaaaar  )rk   r#   r#   rk   rk   aabbar  r   r#   r$   
categoriesrk   r?   rr   )r   r  r)   r  r  r   r(   r*   )rA   r0   r   s      r2   8test_loc_setitem_categorical_values_partial_column_sliceOTestLocBaseIndependent.test_loc_setitem_categorical_values_partial_column_slice  s     _4=AB1WFG''!=
  +C:3*MBFF1Q38*C:3*MBFF1Q38	

 	b&
 
s   ?B**
B8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   string[pyarrow_numpy]r   )	r   r   r(   r   r   r  r>  r)   r   )rA   using_infer_stringr0   r  r   r1   s         r2   '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,F2I
 	v0 !7
r'{F:G,LMr4   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        [        S5      R                  5       UR                  S   :X  d   eg ! , (       d  f       N;= f)NrT   z
2010-10-01rr   z
2008-08-08r   rk   )r   rT   )rk   rT   rn  r   i  rv   )r?   rT   z
2005-05-05)	r   r   r   r  r(   r)   r  r  r   r@   s     r2   "test_loc_setitem_datetime_coercion9TestLocBaseIndependent.test_loc_setitem_datetime_coercion  s    i56:;<==6qsCx&"&&.888&"&&.888''=QR!$1-BFF6N S&++-??? SRs   C''
C5idxervarc                 2   Un[        SSSUS9n[        SUS/S9n[        US/[        R                  S9n[        R
                  " US:X  a  [        OS S	S
9   XVR                  S S 2U4'   S S S 5        [        R                  " Xe5        g ! , (       d  f       N%= f)Nz
2015-07-12rr   r  )r  r  rt  tzr  r  r4  r  rn  r   )	r   r   r   r   r)   r  r  r(   r*   )rA   r  tz_naive_fixturer  r  r1   r   s          r2   !test_loc_setitem_datetimeindex_tz8TestLocBaseIndependent.test_loc_setitem_datetimeindex_tz  s     |QSRHSeW= ugRZZH''"e^M=Q
 $,JJq%x 	

 	f/
 
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 & U(       a  U	R                  [        5      n	[        R                  " X5        UR                  5       nS	UR                  U'   UR                  U   UR                  U'   [        R                  " X5        UR                  5       nS	UR                  U'   UR                  U   nUR                  U   R                  5       n	S	U	R                  S S & U(       a  U	R                  [        5      n	[        R                  " X5        UR                  5       nS	UR                  U'   UR                  U   UR                  U'   [        R                  " X5        g )Nz
2012-01-01z
2012-01-0530minrs  r?   rv   r
   r  r         )   H   x      )         J   K   L   z   {   |            )r   r   r   r   r   r  r)  r   r   r  r(   r  r  r)   r*   r   )
rA   using_array_managerr   r0   akeybkeyaindsbindsr   r1   s
             r2   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u-H
f/

4775>

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

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

4775>

4
f)r4   re   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'   ru   )r   3)r'   r:   r   ru   rv   rs   r   r?   r?   ri  r   )r   r?   r   )r   rv   r   rk   r  )
r   from_tuplesr   r  r   zerosr(   r)   r*   r  )rA   re   r  r0   rO   r1   s         r2   ,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+r4   c                 ~    [        / SQUS9nSUR                  S'   [        / SQUS9n[        R                  " X#5        g )Nr   r   ru   r   )ru   r?   rr   r   r(   r)   r   )rA   any_int_numpy_dtyper-   r1   s       r2   test_loc_setitem_uint_drop1TestLocBaseIndependent.test_loc_setitem_uint_drop  s9     	)<=

1)+>?
v0r4   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 )Nrq   r  r^   r   )r   r   timedelta64r(   r   r)   r   )rA   r  r1   s      r2   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-r4   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)Nr?   r  r   r   r_  r   )
r   r   r   r  r   r   r   r   r`  r(   )rA   r   r  r   s       r2    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  r  r   r  r  r   r4  rk   )r  r'   )r   interval_ranger   r(   r)   assert_almost_equal)rA   r   r0   r1   r   s        r2   test_loc_getitem_interval_index6TestLocBaseIndependent.test_loc_getitem_interval_index+  sO    !!15	9-UO
 !
v0r4   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  r  closedr   r  r  r   r4  r?   rk   )r  r  rt  r  ru   r'   r   rk   r'   )r   r
  r   r   r(   r)   r   )rA   r   r0   	index_expr1   r   s         r2    test_loc_getitem_interval_index27TestLocBaseIndependent.test_loc_getitem_interval_index26  ss    !!1VD	9-UO
 %%AqqP	1a&	<
v0r4   tplrk   rk   r?   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*   )rA   r  r  r0   r   r1   s         r2   +test_loc_getitem_index_single_double_tuplesBTestLocBaseIndependent.test_loc_getitem_index_single_double_tuplesB  s^     6N

 S!SE593'
f/r4   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   ru   r'   r   r4  rk   )r   r   r   r(   )rA   r  idx1idx2r   r0   r   s          r2   !test_loc_getitem_index_namedtuple8TestLocBaseIndependent.test_loc_getitem_index_namedtupleQ  sx    {S#J7	&&tl):%P'usCjI	%/05{{r4   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 )
Nr?   rv   rr   )r$   r#   rT   r$  r2  r  r4  quxr;   r  r   )r   r   r   r   r  r   r(   r   r   r>  r   r)   r  )rA   r  r0   r1   s       r2   $test_loc_setitem_single_column_mixed;TestLocBaseIndependent.test_loc_setitem_single_column_mixed[  s    II!!!$44V<+)

 5	')vvrxx!}e#$VVUBFFE2662 2&8O
 & 	 	r%y//:r4   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        UR                  n[        [        R                  " S
5      /S-  [        R                  " S5      /-   / SQS9n[        R                  " X#5        g ! , (       d  f       Nm= f)Nr?   )r|   rr   ABCr   eventr  r   r   )rq   r,  r   rr   r>  )r'   r   r   r,  r
   )r   r   r   r   tupler   r)   r  r  r(   r  r   r>   r   r   s       r2   test_loc_setitem_cast2-TestLocBaseIndependent.test_loc_setitem_cast2i  s     ryy,,Q/66w?uVff7''!=
 #(BFF;
 XXi !A%();(<<*
 	v0
 
s   ,C##
C1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oners   r   )rk   r1  rt   )r   r   r   int8r(   r  r1  r>   r@   s     r2   test_loc_setitem_cast3-TestLocBaseIndependent.test_loc_setitem_cast3y  s    ryy"'':;<xyy}} 1111yy}} 1111r4   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 )Nrv   )rr   ru   rk   r   r?   r
   )r  rq   r  r?   r  rq   r  rr   )r   rk   rq   r  r  )r   ndimr(   r   r)   r   )rA   ry  rO   r   r1   s        r2   test_loc_setitem_range_key1TestLocBaseIndependent.test_loc_setitem_range_key  sa    eAho>88q=cB4"&F"a"#4CIIF
&r4   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  r?   rk   r  r$   )rk   r?   r?   rk   rk   r   r   r(   r)   r*   r   s      r2   .test_loc_setitem_numpy_frame_categorical_valueETestLocBaseIndependent.test_loc_setitem_numpy_frame_categorical_value  sU    _3LMN&1v1a&AqsCx?9RST
b+r4   r   )nr   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r&  r*  r.  r8  r@  rD  rI  r[  rb  fixturerj  r   r   ri  rp  rt  ry  r~  r  r  r  r  r  r  r  r  r  r  r  filterwarningsr  r   r  r   r   r   r  r
  r  r  r  arm_slowr'  r,  r1  r=  rG  rM  rP  rV  rY  r\  ra  rd  rg  rj  rB  r	   rn  r|  r   complexr  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.  r3  r7  r;  r   r   r4   r2   r   r      s   0 [[7&,u9UV6tU8ST6ud8STNvd|U3 7ud8STNufTl3 7tU8ST	
$%$* 
	11(!KF-0,&	 [[We}6P&QR S#%N 0*&$ ^^
 
 [[	
BHHQbhh'/)RS,	,,,,, 0Id [[V%OP: Q:",4	,
,,,20*,, [[ PQ#, R#,J [[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&
&)7V$(,",,,$"*1 [[13<WX0 Y0(*, [[\+UV[[WrxxW&EF6 G W6.*
0$
1 [[Y81 91 [[Z$&%)HI0 J00 [[)VQC[1E61#;3GH11	. [[ /01a[<=V56	
	,	, 
'N&@ [[Wuug&670 80&*P [[US3%#uT{1C$DE, F,1.
	1
1 [[UT6N30 40;1 2',r4   r   c                       \ rS rSr\R
                  " \R                  \R                  /S9S 5       r	\R
                  S 5       r
S r\R                  R                  S5      S 5       rS rS	rg
)TestLocWithEllipsisi  )paramsc                     UR                   $ r   )param)rA   rN   s     r2   r  TestLocWithEllipsis.indexer  s     }}r4   c                 <    UnU[         La  UR                  5       nU$ r   )r   to_frame)rA   series_with_simple_indexry  rO   s       r2   rO   TestLocWithEllipsis.obj  s    &&(,,.C
r4   c                 F    U" U5      S   n[         R                  " X15        g )N.)r)   r   )rA   rO   r  r   s       r2   test_loc_iloc_getitem_ellipsis2TestLocWithEllipsis.test_loc_iloc_getitem_ellipsis  s    c"
$r4   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   r)  r   r(   inferred_typer   r   r   r   NotImplementedErrorr   r   rI  r*   )
rA   rJ  r  rO   re   r   r   r1   key2r0   s
             r2   &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   r)  r   r   r   r   r!   )rA   rO   r  re   s       r2   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   r=  r)   r(   r   r  rO   rM  r   r>  rT  rX  r   r   r4   r2   rC  rC    sq    ^^BFFBGG,- . ^^ % [[ VW0 X00(r4   rC  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$   )rk   r?   rk   r?   )r$   r$   r#   r#   rk   r?   )r?   rk   r?   rk   rT   )rT   r$   r$   )rk   r?   rk   dimr   r=   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)rT   r$   r$   r#   r#   )rk   rk   r?   rk   r?      rv   r   r=   )r   r   r   reshaper   r  r(   r)   assert_index_equalr   r=   )rA   r\  keysr1   kwargsr0   	exp_indexr   s           r2   '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 r4   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'   rk   )rg  r?   r?   )r(   r   r  r   )rA   /multiindex_year_month_day_dataframe_random_dataymdr   result2s        r2   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7r4   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   rk   r
   )r   from_productr   r(   r)   r   r   )rA   r  r  r   r1   res2s         r2   .test_loc_getitem_multiindex_nonunique_len_zeroDTestLocWithMultiIndex.test_loc_getitem_multiindex_nonunique_len_zero  st    $$qcAq6]3Qb!ggbkr7
s-wwsxx!}%
t.r4   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)rs  rt  Level2_aLevel2_br  )rs  ru  rk   )r   r   r  r(   rn  r)  r>  )rA   r  r   midxs       r2   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{{r4   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'  )r1  twor1  r{  r1  r{  r1  r{  firstsecondr  )rk   rk   rk   rk   rk   rk   rk   rk   r
   r	  )r  r1  )r   r{  )rk   rk   r	  r	  r	  r	  rk   rk   )r   r  rD  r   r(   r)   r   )rA   r   r   r1   s       r2   !test_loc_setitem_multiindex_slice7TestLocWithMultiIndex.test_loc_setitem_multiindex_slice  sf     &&HH H%
 0>47

>.1:%H
v0r4   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 )Nre  10minr  rt  r  il  rk   i4  )r   r   r   r(   r   r)   r   )rA   timesr  r   s       r2   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+r4   c                     [        [        S5      [        S5      S.[        SS5      S9nUR                  SS/SS/4   n[        S	S
/S	S
/S.[	        SS/5      S9n[
        R                  " X#5        g )Nrq   r  z
2010-01-01z
2010-01-10r
   z
2010-01-05r$   r#   r   ru   )r   r   r   r(   r   r)   r*   r   s       r2   3test_loc_getitem_datetime_string_with_datetimeindexITestLocWithMultiIndex.test_loc_getitem_datetime_string_with_datetimeindex2  s{    )%),\<8
 |4sCj@Aa&1v&| <=
 	f/r4   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  rx  rk   r   r?   rl   rr         @ru         @rv         @rs   r   r`  r4  r   )level)r   rk   ru   r   r  )r   r  r   r  r$  r(   r)   r*   )rA   r  r0   r1   r   s        r2   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/r4   c                 ~    [        / SQSS9nSUR                  S'   [        / SQSS9n[        R                  " X5        g )Nr  categoryr   r   rr   )r$   r#   rT   r   r>  r  rA   r   r1   s      r2   1test_additional_element_to_categorical_series_locGTestLocWithMultiIndex.test_additional_element_to_categorical_series_loca  s6    z:

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

1.jA
v0r4   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   r   rr   rk   r?   )r   r   r   r   r   r(   r)   r   )rA   any_numeric_ea_dtypesrsr1   s       r2   &test_loc_set_nan_in_categorical_series<TestLocWithMultiIndex.test_loc_set_nan_in_categorical_serieso  s    "5:N#OP

 VV
1bff"5:N#OP
 	s-VV
266""5:N#OP
 	s-r4   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  r   rr   r  r$   r#   rT   r  )rA   r  srs_enlargesrs_setintor1   s        r2   ,test_loc_consistency_series_enlarge_set_intoBTestLocWithMultiIndex.test_loc_consistency_series_enlarge_set_into  sf     _J?1D
{83S"-Z@
{5r4   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 )Nr?      r$   r#   rq   r   rv   rk   Index1Index2)r  codesr  )r   r   Fr  )r  orderedr   r>   )r   r   r   r   r   r   r   r  r)   r`  r(   r   s       r2   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/r4   lt_valuer|   rq   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   rk   r?   rr   r
   z\['b'\] not in indexr   r#   )r   r  r   r   rL   r(   )rA   r  r0   s      r2   >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   rk   r
   )	r   r   r   r   r  r   r(   r)   r   )rA   lev1lev2r  r  r   r1   s          r2   '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0r4   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xyrk   r?   )r  r  numr  r   r
   r$   r   ru   )
r   rn  r  r   r   r(   r   	droplevelr)   r`  )rA   r  r  
loc_resultr1   s        r2   test_loc_drops_level*TestLocWithMultiIndex.test_loc_drops_level  s     $$$ZdaV,4G
 U1XR(WWS!QY'
99&&q)"1-
j..9r4   r   )r   r   r   r   r   r   r   rd  rk  rp  rx  r~  r  r  r  r  r  r  r   r   r   NAr   r  r  r  r  r  r   r   r4   r2   r[  r[    s   [[3Z.=>3Z.=>Cj1a&!$8,#GHCj1a&!$8,#GHCj1a&!$8,#GHCj1a&!$8,#GHCj1a&!OY#?@	
 [[UWi$89: ::8/"1$,0 0D11.* [[TBFFBEE4#@A
6 B
602 [[Z"b28 38
1
:r4   r[  c                   0   \ rS rS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      S 5       r\	R                  R                  S/ SQ5      S 5       rS rSrg)TestLocSetitemWithExpansioni  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   ri  r   rk   )contextsetattrlibindexr   r   r(   r)   r*   )rA   monkeypatchsize_cutoffr   r1   s        r2   /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95        SUR                  S'   [        R                  " U[        SS/SS/S95        g )Nr   rk   r
   rr   r   r>  r(   r)   r   rA   r  s     r2   test_loc_setitem_empty_series9TestLocSetitemWithExpansion.test_loc_setitem_empty_series  sb     6"

sFA3qc$:;

sFAq6!Q$@Ar4   c                     [        [        S9nSUR                  S'   [        R                  " U[        S/S/S95        SUR                  S'   [        R                  " U[        SS/SS/S95        g )Nr   rx  rk   r
   rl   rr   r  r  s     r2   #test_loc_setitem_empty_series_float?TestLocSetitemWithExpansion.test_loc_setitem_empty_series_float  sb     6"

sFC5$<=

sFC:aV$DEr4   c                    [        [        S9nSUR                  S'   [        R                  " U[        S/[        S/[        S9S95        SUR                  S'   [        R                  " U[        SS/[        SS/[        S9S95        SUR                  S'   [        R                  " U[        / SQ[        / S	Q[        S9S95        g )
Nr   rk   r   r
   rr   r   ru   )rk   rr   ru   )r   r   rr   )r   r>  r(   r)   r   r   r  s     r2   %test_loc_setitem_empty_series_str_idxATestLocSetitemWithExpansion.test_loc_setitem_empty_series_str_idx  s     6"
sFA3eUG66R$ST
AeUEN&&IJ	
 

	/@)OP	
r4   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  rk   
US/Pacific)tzinfo   r  )secondsr   r
   )r   r   r   r   r   r(   r)   r   )rA   baser  idxsr   r\   r1   s          r2   %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    r2   rV  $TestLocSetitemWithExpansion.<lambda>  s    ar4   c                 "    U R                  5       $ r   )to_datetime64rU  s    r2   rV  r        aoo'r4   c                 "    U R                  5       $ r   )to_pydatetimerU  s    r2   rV  r    r  r4   c                 .    [         R                  " U 5      $ r   )r   r  rU  s    r2   rV  r  	  s    bmmA&r4   )rA   r  r  znp.datetime64)idsc           	         [        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X#/[        S/[        S9S	9n[
        R                  " XE5        g )
Nz20130101 09:00:00z20130101 10:00:00r	  r1  r   g      Y@g      i@r   r4  )r   r   r(   r   r>  r)   r*   )rA   r  dt1dt2r0   r1   s         r2   #test_loc_setitem_datetime_keys_cast?TestLocSetitemWithExpansion.test_loc_setitem_datetime_keys_cast  s     +,+,[#&tCy% #&tCy% UEN#*5'0

 	b+r4   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'   rk   r#   )r  r   r   r:  )rA   r  r   r1   s       r2   1test_loc_setitem_categorical_column_retains_dtypeMTestLocSetitemWithExpansion.test_loc_setitem_categorical_column_retains_dtype  sU    C!:&(#@

1c6A3[#-PQR
f/r4   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  )	inclusivert  rC  r4  r  r  )r   r   r   r(   r   r   r)  appendr   r>  r)   r*   )rA   r  endr\   r  r   r1   s          r2   0test_loc_setitem_with_expansion_and_existing_dstLTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_and_existing_dst#  s    4I2G,AvC@}}wi8"$

2w;VVHs3x2$&**]B401I	
 	f/r4   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      -   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   r=   newoldnew_colr  r  r   )rk   r   r   1s)r   r   r   r   r  r   r  
tz_convertr  r(   r   r)   r   r   )rA   r0   vr   r1   s        r2   test_setitem_with_expansion7TestLocSetitemWithExpansion.test_setitem_with_expansion5  sE   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/A./rzzU"F*+
rvvbjjE&96&ABAFr4   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 )Nrk   r  r?   )rk   rk   rr   r   r   )	r   r(   r   infr=   r   r   r)   r`  r   s       r2   0test_loc_setitem_with_expansion_inf_upcast_emptyLTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_inf_upcast_emptyK  sj    [ttq"&&y!Qrzz:
f/r4   z"ignore:indexing past lexsort depthc                 D   [        U5      (       d  [        R                  " S5        UR                  S5      n[        U5      n[        R
                  " U5      R                  [        R                  5      n[        X1S/S9nSnXQ;  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[        XvS/S9nUR                  5       n	X)R                  US4'   [        R                   " X5        UR                  5       S   n
X*R                  U'   US   R                  [        R                  5      n[        R"                  " X5        UR                  5       n	X)R                  US4'   [        [%        U5      [        R&                  /-   [        R&                  /U-  [)        U5      /-   S.US	9n[        R                   " X5        g )
NzNot relevant for empty Indexr?   r   r4  kapowr;  rk   r   rk   r
   )r)  r   skiprepeatr   r   r  ri  r   insertr   r   r   r  r(   r)   r*   r   r  r   r  )rA   r   Narrorigre   rc  exp_datar1   r0   r  s              r2   /test_loc_setitem_with_expansion_nonunique_indexKTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_nonunique_indexV  s    5zzKK67QJiil!!"((+A37  LLUS1	eZ((R=#s***R=C'''99QU#**2::6XD YY[sAv
b+ iik!nA;%%bhh/
s- YY[sAvS	RVVH$"&&Aq
)BC
 	b+r4   r>   )Int32Int64UInt32UInt64Float32Float64c                 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  r   r   r
   Fr0  )r   r   r   r(   r)   r*   r6  )rA   r>   r  r0   r   s        r2   6test_loc_setitem_with_expansion_preserves_nullable_intRTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_preserves_nullable_int  s    
 \/}%*'*

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

288V#$
fEBr4   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'   rv   
2016-01-01rr   r  r  r  rj   r   r   r   )r   r   r   r(   r  r   r   r   r>   r  r)   r*   )rA   r0   rh  bexr1   s        r2   #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+r4   r   N)r   r   r   r   r  r  r  r  r  r   r   r   r  r  r  r  r  r>  r  r"  r(  r   r   r4   r2   r  r    s    0BF
 1 [[''&		
 H  	,	,00$G,	0 [[ DE+, F+,Z [[MCC,r4   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rk   r?   rr   ru   r  r   c                      U R                   S:  $ Nr?   r'   rU  s    r2   rV  ATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>      qssQwr4   r?   c                      U R                   S:H  $ )Nr#   )r   rU  s    r2   rV  r1    s    qssczr4   r#   c                      U R                   S:  $ r/  r0  rU  s    r2   rV  r1    r2  r4   c                      U R                   S:H  $ Nr   r   rU  s    r2   rV  r1    s    !))s2Br4   )FTFc                      U R                   S:  $ r/  r0  rU  s    r2   rV  r1    r2  r4   c                     gr6  r   rU  s    r2   rV  r1    s    #r4   r   c                      U R                   S:  $ r/  r0  rU  s    r2   rV  r1    r2  r4   c                 
    SS/$ Nr'   r   r   rU  s    r2   rV  r1    s    3*r4   r'   c                      U R                   S:H  $ r/  r0  rU  s    r2   rV  r1    s    qssaxr4   c                 
    SS/$ r;  r   rU  s    r2   rV  r1    s    C:r4   c                     g)Nrk   r   rU  s    r2   rV  r1    s    qr4   c                     gr&   r   rU  s    r2   rV  r1    s    Cr4   r  )r   r  r(   r)   r*   r'   r   r   rA   r0   r   s      r2   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$$$r4   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/  r0  rU  s    r2   rV  ITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>  r2  r4   r'   r   r?   rr   c                 
    SS/$ r;  r   rU  s    r2   rV  rE    s    Szr4   c                 
    SS/$ r;  r   rU  s    r2   rV  rE    s    3*r4   )r   r  r(   r)   r*   r'   r   r@  s      r2   '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:r4   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    r2   rV  HTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>      Szr4   r'   r   c                 
    SS/$ rN  r   rU  s    r2   rV  rO    rP  r4   c                 
    SS/$ rN  r   rU  s    r2   rV  rO    rP  r4   c                     gNrL  r   rU  s    r2   rV  rO    s    Sr4   rL  c                 
    SS/$ rN  r   rU  s    r2   rV  rO    rP  r4   c                     S/$ rT  r   rU  s    r2   rV  rO    s    cUr4   c                     grT  r   rU  s    r2   rV  rO    s    3r4   c                     S/$ rT  r   rU  s    r2   rV  rO    s    C5r4   c                 
    SS/$ rN  r   rU  s    r2   rV  rO    rP  r4   c                 
    SS/$ rN  r   rU  s    r2   rV  rO    rP  r4   )r   r  r(   r)   r*   r   r@  s      r2   &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*;#<=r4   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  r   rK  r  r
   ic                 
    SS/$ rN  r   rU  s    r2   rV  ATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>      3*r4   r'   r   r^   c                 
    SS/$ rN  r   rU  s    r2   rV  r_    r`  r4   r;  c                 
    SS/$ rN  r   rU  s    r2   rV  r_   	  r`  r4   c                     grT  r   rU  s    r2   rV  r_   	  s    r4   rL  rv   rq   c                 
    SS/$ rN  r   rU  s    r2   rV  r_  	  r`  r4   c                     S/$ rT  r   rU  s    r2   rV  r_  	  s    r4   r<  c                     grT  r   rU  s    r2   rV  r_  	  s    cr4   c                     S/$ rT  r   rU  s    r2   rV  r_  	  s    ser4   c                 
    SS/$ rN  r   rU  s    r2   rV  r_  	  r`  r4   c                 
    SS/$ rN  r   rU  s    r2   rV  r_  	  r`  r4   )
r   r   r  r>  r  r(   r)   r*   r   r   )rA   r0   r   r   s       r2   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'r4   r   N)	r   r   r   r   rA  rH  r[  rk  r   r   r4   r2   r+  r+    s    %8;><7(r4   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$   rT   rk   rr   rp  rq  z2020-08)r   r   r(   r)   r*   r   s       r2   5test_loc_getitem_partial_string_slicing_datetimeindexNTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_datetimeindex&	  sd    $i8HI
 3Z!Q0|\:;
 	"
f/r4   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  rt  z2017-12r;  )r   period_range	to_seriesr(   r   r)   r   )rA   pir  r   r1   s        r2   8test_loc_getitem_partial_string_slicing_with_periodindexQTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_with_periodindex3	  sL    __<\Llln)$88CR=
v0r4   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1hrw  z1 daysr;  )r   ry  r(   r   r)   r   )rA   r  r  r   r1   s        r2   ;test_loc_getitem_partial_string_slicing_with_timedeltaindexTTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_with_timedeltaindex;	  sH    7tDlln(#88CR=
v0r4   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   r   r   r   r(   r)   r   )rA   r0   r1   sliceds       r2   #test_loc_getitem_str_timedeltaindex<TestPartialStringSlicing.test_loc_getitem_str_timedeltaindexC	  sJ    U1Xl58&.QR771:!
v0r4   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 )Nrk   rv   z
2019-12-30z
2020-01-01z
2019-12-25r  z
2019-12-19r  r
   r?   )r   r   r   r)   r   r(   )rA   tz_aware_fixturer  ry  rO   r1   r  r   s           r2   /test_loc_getitem_partial_slice_non_monotonicityHTestPartialStringSlicing.test_loc_getitem_partial_slice_non_monotonicityJ	  s    
 C!Gl+l+l+=>l+ $	
 #C!Gl+=> $	
 k2
)!
)r4   r   )r   r   r   r   rr  r{  r  r  r   r   r   r  r   r   r4   r2   rn  rn  %	  sB    0111 [[]T3R,ST!* U!*r4   rn  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)$TestLabelSlicingio	  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 )Nr  r   r   r-  i  rk   rq   r   r
   r  )rk   r?   r?   rr   ru   ru   r  z20010101 11)r   r   r   r   r(   r)   r*   r   )rA   r  	df_uniquedf_dupsr0   r   r1   s          r2   (test_loc_getitem_slicing_datetimes_frame9TestLabelSlicing.test_loc_getitem_slicing_datetimes_framep	  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/Berlinrv   z30 min)r  r  rt  )r   rk   r?   rr   ru   r
   z2017-10-29 02:30:00+02:00r  z2017-10-29 02:00:00+01:00r?   rr   ru   )r   r   r   r(   r)   r   )rA   r  series2t_1t_2r   r1   s          r2   '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!!!r4   r   ru  rv  r  rw  r~  r  r  c                     UR                  5       nUR                  S US    nUR                  S S n[        R                  " X45        g )Nr<  r;  )ry  r(   r   r)   r   )rA   r   r  r   r1   s        r2   -test_loc_getitem_label_slice_period_timedelta>TestLabelSlicing.test_loc_getitem_label_slice_period_timedelta	  sA     oo59%88CR=
v0r4   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|@r?   rr   r?   r
   g3333c|@g    |@g3333|@g|@rr   )r   r   r   r   r(   r)  )rA   r   r0   s1s       r2   %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!||r4   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 )Nr?   rq   r^   r   r
   r  r   g      )@rt   gffffff(@)r   r   r   r   r   r)  r(   r   )rA   r  r>   r  r  s        r2   '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'''r4   zstart,stop, expected_slicer   nsNr  rk   r`  rs   rt   ru   rv   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   r   r   r(   r   r   r)   r   )rA   r  stopexpected_slicer  r   r1   s          r2   $test_loc_getitem_slice_label_td64obj5TestLabelSlicing.test_loc_getitem_slice_label_td64obj	  sJ     U2Y) DEu+,88N+
v0r4   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   rL   r(   )rA   ry  r  rO   s       r2   )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 )Nru   r|  r?   thirdr
   )r   r(   r)   r   )rA   ry  rC  rO   r   r1   s         r2   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
)r4   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 )	Nrk   r?   rr   )testrk   r?   r   r
   r   )r   r   r=   )r   r   r>  r)   r*   r(   r   s      r2   *test_loc_getitem_slice_columns_mixed_dtype;TestLabelSlicing.test_loc_getitem_slice_columns_mixed_dtype	  s[    aA.qc:a&!eQF&.I
 	bffQUmX6r4   r   )r   r   r   r   r  r  r   r   r   r   rx  r   r  r  r  r   r  r   r  r  r  r  r   r   r4   r2   r  r  o	  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*7r4   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  r>  rm  r   )rQ  r   r   rL   r(   )rA   r   ry  r  messagerO   s         r2   '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  r   r>  rm  )r   r(   )rA   ry  r  rO   s       r2   test_loc_bool_should_not_raise<TestLocBooleanLabelsAndSlices.test_loc_bool_should_not_raise	  s*    uY7x
 	
r4   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 slicer>  rm  r   TF)r   r   r   r(   )rA   r   ry  r  rO   s        r2   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   r4   r2   r  r  	  sW    [[\D%=9$ :$ [[\D%=9 : r4   r  c                       \ rS rSrS r\R                  R                  SSS/5      S 5       rS r	S r
\R                  S	 5       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   rq   r%  r  rr   )
r   rk   r?   rr   rq   rq   rq   rq   rq   rq   )
r   rk   r?   rq   ru   rv   rs   rt   r   r  )
rq   rq   rq   rr   ru   rv   rs   rt   r   r  ri  r  )	r   r   r   r   rD  r  r(   r)   r*   )rA   r0   
conditionsexpected_datacondr   r   r1   s           r2   )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 9r4   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   20010101ru   r&  r$   r
   r   )
r   r   r   r   r   r  r  r(   r)   r*   )rA   r  rZ  r  r0   r   s         r2   +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)r4   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   r?   ABrq  r  )r  rt  r   r   r   rk   )r   r   r   r_  r  r   r  r   r   r   r'   r(   r)   r*   )rA   r0   r1   rZ  s       r2   2test_loc_setitem_mask_and_label_with_datetimeindexETestLocBooleanMask.test_loc_setitem_mask_and_label_with_datetimeindex8
  s     IIcN""1a(JZ>

 779!*+rvvrvv.>>ttaxFF4L..tSy
b+r4   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colrk   TF)	r   r   r   r  r   _valuer(   r)   r*   )rA   td1td2r0   df_copyr  r1   r   s           r2   'test_loc_setitem_mask_td64_series_value:TestLocBooleanMask.test_loc_setitem_mask_td64_series_valueG
  s    l)*vsj123'')cUme9>>!$++ #e}E"))!!!
b*r4   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   rk   r4  )r  r(   r   r   r   r=   r)   r*   )rA   r  r1   rZ  r   s        r2   #test_loc_setitem_boolean_and_column6TestLocBooleanMask.test_loc_setitem_boolean_and_columnV
  sw    ##%3!#%&c	"%%'!"{{A~V>>8CSCST
k4r4   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                  " X45        [        / SQ/ SQS.5      n[	        / S
Q/ SQS9UR                  / SQS/4'   [        R                  " X45        [        / SQ/ SQS.5      n[	        / S
Q/ SQS9UR                  / SQS4'   [        R                  " X45        [        / SQ/ SQS.5      nUR                  5       nUS   n[        R                  " U5         [	        / S
Q/ SQS9UR                  / SQ'   S S S 5        U(       a  [        R                  " X55        g [        R                  " X45        g ! , (       d  f       NC= f)Nr   r  r  r$   r   )r?   rk   r   r
   )FFT)rk   r?   rq   r  )r   r(   r)   r*   r   r  r7  )rA   r8  r  r0   r1   r  r  s          r2   )test_loc_setitem_ndframe_values_alignment<TestLocBooleanMask.test_loc_setitem_ndframe_values_alignmentb
  sB    YY78.7,y/
#cU*+ :I>?
b+ YY78.4\.S#cU*+
b+ YY78,2<y,Q#S()
b+YY78'')g""#56,2<y,QCGG() 7!!".!!"/ 76s   )F
F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  r   r$   	r   r>  r  r(   r   r   bool_r)   r*   r   s      r2    test_loc_indexer_empty_broadcast3TestLocBooleanMask.test_loc_indexer_empty_broadcast
  sZ    Rb)877968gllnrxx"((+cU23
b+r4   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  r   r#   Fr$   r  r   s      r2   $test_loc_indexer_all_false_broadcast7TestLocBooleanMask.test_loc_indexer_all_false_broadcast
  s`    cU#/v>779;=c7<<>rxxrxx03%78
b+r4   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  r   r#   Tr$   r  r   s      r2   test_loc_indexer_length_one.TestLocBooleanMask.test_loc_indexer_length_one
  sj    cU#/v>C5u5VD:<S',,.rxxbhh/#67
b+r4   r   )r   r   r   r   r  r   r   r   r  r  r  tdskip_array_manager_invalid_testr  r  r  r  r  r   r   r4   r2   r  r  
  si    4, [[TD%=1* 2* ,+ ''	5 (	50@,,,r4   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    r2   rV  TestLocListlike.<lambda>
  s    qr4   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;  rk   r#  r   )r   r   r   r   r   r(   r)   r   rI  r*   r   r   rL   )rA   r  cir  r   ser2ci2r   s           r2   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  r   )r?   rv   r   r  z
2001-01-01r`  ru   r  r#  r   )r   r   r   r   r   r   rL   r(   )rA   re   r  s      r2   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   r   r   r   r   rL   r(   r  s     r2   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  )rt  r   皙?皙?r%  r   T)r/  )r  r  r
  )r   r>   
2011-01-03r#  r   )r   r  r   r   r(   r   rx  r)   r   r   r>   r   r   rL   )rA   r  r  r  ra  r   r   r   s           r2   .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 )Nrk   r?   ru   rv   rt   r   )cobraviper
sidewinder	max_speedshieldr4  r   r  r  r   )r   r   r   r   r(   r   r)   r*   r   s       r2   test_loc_named_index$TestLocListlike.test_loc_named_index
  sr    VaVaV$2 (+

 772A;#w0u=>
f/r4   r   N)r   r   r   r   r   r   r   r   asarrayr  r  r  r  r  r  r   r   r4   r2   r  r  
  sk    [[U["**d$CD* E*6E [[[4-8' 9'R
0r4   r  z%columns, column_key, expected_columns)  r	  i  r  r	  rk   )r  r	  Allr  r?   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 )Nr?   r1  r+  r   r   Tr!  )	r   r   r   r   r  r   r(   r)   r*   )r=   
column_keyexpected_columnsr0   r1   r   s         r2   *test_loc_getitem_label_list_integer_labelsr  
  sl     

		a ''/U
B wwq**+HVVOZ/0F&dCr4   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 )Nr?   )r   ru   r  r   rk   )r  rx  r   rl   r  r   )r   r   r   r  r   r   r(   hstackr   r_  r)   r*   )	rand_datar   r  r1   s       r2   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&+r4   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   )rt   r   r  rq   )rq   r   
ABCDEFGHIJr4  rk   r  r#  r  r   r   r4  )r%  )r#  rq   )r   rt   r&  )	r   r   r"  r-  r   r  r(   r)   r*   )yrr  r  r0   r   r1   s         r2   test_loc_axis_1_slicer(    s    *BlMqGMGlDB	
L!&&t,
B
 VVV^Ii0F
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$   r?   r4  r   r  )r   r   r   rn  r  r(   r)   r*   )r1   r   s     r2   !test_loc_set_dataframe_multiindexr*  0  sm    58Z%<%<eAha=Q%RH ]]_F$jjVH5FJJq6({&+r4   c                  x    [        [        S5      [        SS/[        S95      n U R                  S   nUS:X  d   eg )Nr?   rk   r   r   r   )r   r   r   r>  r(   )r  r   s     r2   test_loc_mixed_int_floatr,  :  s6    
q5!S8
9CWWQZFQ;;r4   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)Nru   r_  r
   $Slicing a positional slice with .locr   r?   rr   )r   r   r   r   r   r(   )r  s    r2   %test_loc_with_positional_slice_raisesr/  B  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   r  r?   r  r
   r   zOcannot do slice indexing on DatetimeIndex with these indexers \[1\] of type intr   rk   r.  )	r   r   r   r   r   r   r   r   r(   )dtir0   r  r   rO   s        r2   #test_loc_slice_disallows_positionalr3  J  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)Nr?   r&  r  2012r  rv   r  r   )r   r?   r?   rr   z/None of \[TimedeltaIndex.* are in the \[index\]r   r$   )r   r   r   r   r  r   r   r  r   r   TimedeltaIndexasi8r   r   rL   r(   )r0   r2  r  r   s       r2   'test_loc_datetimelike_mismatched_dtypesr8  f  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  rs  r?   )r  rq   r
   r   rv   )r   rx  r   r   r   r   r  r)   r*   r(   r  r   )r  r0   s     r2   "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/0r4   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 )Nr?   )r   rs   rq  r   r1  )r'   r   r   r`  EFr4  rk   r   r   )r   r   r   r  r   r   r   r(   r   r)   r*   )r  r  r  r   r   s        r2   %test_loc_setitem_multiindex_timestampr>    s    99  #33F;D
Z
+C)D
DT
2C(*CGGCIIaL*$%66DGAaL
DT
2C##r4   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  )rk   r   r   rk   )r   r  rF  r  rs   rv   r4  rj   )r  r  )
r   rn  r   r   r(   r   r)   r*   xsr   )r  r  lev3r  r0   r   r1   altr  	expected2alt2rj  s               r2   'test_loc_getitem_multiindex_tuple_levelrE    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<<r4   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-  )rv   rs   rt   r   rk   r?   r  r  )r   r=   r>   rT   rv   r  )r   r   r   r   Tr   r   r>   r(   r   r=   r)   r   r  r>  )r0   r   r   r1   s       r2   /test_loc_getitem_nullable_index_with_duplicatesrH    s    	XX|\Aq"&&"&&3IJKMM
B
 ,,s
C99??g%%%
''!*Cq!fCKKwQGH3) 		  (CI
''!*C3)r4   rC  r
  c                 H   [        / SQS/SS9n[        R                  " [        SS9   XR                  S'   S S S 5        [
        (       a"  [        U [        R                  5      (       a  SnOS	n[        / S
QS/US9n[        R                  " X5        g ! , (       d  f       Nb= f)Nr-  r   uint8r<   r  r   )r?   r   int16uint16)rk   r?   r
  ru   )
r   r)   r  r  r(   r   r   r   rK  r*   )rC  r0   r>   r1   s       r2   test_loc_setitem_uint8_upcastrM    s     
<&	AB		#	#M9U	V!y 
W ~*UBHH55 &GH"' 
W	Vs   B
B!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>   )rq   r  r  r  r$   r   r  )
2022-01-08r$   rP  r   T)exact)	r   r   r  r   r(   r  r)   r`  r   )fill_val	exp_dtyper   r   r0   expected_indexs         r2   0test_loc_setitem_using_datetimelike_str_as_indexrU    st     ,hmmoFD$;;i@E	#cU%	@B "BFFKK"49N"((N$?r4   c                      [        [        S5      /5      n SU R                  S S 2S4'   [        S/S/S/S/S.5      n[        R                  " X5        g )Nabcrv   r   r$   r#   rT   )r   rk   r?   r   )r   r  r(   r)   r*   )r0   r1   s     r2   test_loc_set_int_dtyperX    sM    	DK=	!BBFF1f9cUu#DEH"'r4   z8ignore:Period with BDay freq is deprecated:FutureWarningrO  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   rt  )r'   r   rx  )r'   r   r   )r  Qrl   )Wr=  r  )ONETWOVALUESr4  r\  r]  T)r  r^  r   r'   rx  )r   r   r   r(   )p_index	mi_seriess     r2   test_loc_periodindex_3_levelsra    sw     LG
 	/?OL(I
 ##UEN4#@JI=='!*c3/0C777r4   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 )Npyarrowr   zstring[pyarrow]r   )TTF)stringsr  rL  r  rd  )rL  r  r   )r   r  r   r   r(   r  r)   r*   )r0   	new_valueexpected_dfs      r2    test_loc_setitem_pyarrow_stringsrg    s    
	"	o5FG-.	

B Sz"I )FF2669o5FG-.	
K "*r4   c                   2   \ 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\R:                  S 5       rS rS r S r!S r"g)!TestLocSeriesi  r  )r  rr   )r  ru   c                 J    [        SSS.5      nUR                  U   U:X  d   eg )Nrr   ru   )r  r  )r   r(   )rA   rh  r1   r  s       r2   rM  TestLocSeries.test_loc_uint64  s)     1-.wws|x'''r4   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   ru   rt   rv   r?      )r   r)   r   r(   r  r   truncatemedian)	rA   string_seriesdatetime_seriesindsd1d2r   r1   rZ  s	            r2   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&/*====r4   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)Nrv   rn  r?   )rk   r?   r   z"Timestamp\('2000-01-10 00:00:00'\)r   r   )r   r   r   r   rL   r(   )rA   rr  rt  ru  ts2r   s         r2   test_loc_getitem_not_monotonic,TestLocSeries.test_loc_getitem_not_monotonic7  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[        R                   " ["        SS9   UR                  SS   S S S 5        [        R                   " ["        SS9   SUR                  SS& S S S 5        g ! , (       d  f       N@= f! , (       d  f       g = f)Nr?   rq   r   r^   r
   ru   rr   r  rs   )ru   rs   r   rq   rv   r  r;  z^3$r   )r   r   r   r   r  r  r   r  r   ra  r   r(   r  r)   r   r   r   rL   )rA   r  cpr   rj  r1   s2s          r2   0test_loc_getitem_setitem_integer_slice_keyerrors>TestLocSeries.test_loc_getitem_setitem_integer_slice_keyerrorsB  s   II!!!$44R8U1bRS_@U

 XXZ"""'')))) XXZ"""**..0000!A''!B-;;}-
v0
w1 XXd58ntE!QO'<<=]]862FF1RL 3]]862BFF1RL 32 3222s   G G*
G'*
G8c                     [        UR                  S S 5      nUR                  U   n[        R                  " X1S S 5        g )Nrq   )rA  r   r(   r)   r   )rA   rq  r  r   s       r2   test_loc_getitem_iterator'TestLocSeries.test_loc_getitem_iterator_  s>    =&&s+,""3'
vSb'9:r4   c                     XR                  5       :  nUR                  5       nSUR                  U'   UnSXB'   [        R                  " X45        g )Nr   )rp  r  r(   r)   r   )rA   rq  rZ  r   r1   s        r2   test_loc_setitem_boolean&TestLocSeries.test_loc_setitem_booleand  sI    3355##%

4 
v0r4   c                     [        UR                  / SQ   5      nSUR                  U'   Sn[        R                  " [
        US9   SUR                  US/-   '   S S S 5        g ! , (       d  f       g = f)N)rv   r   r  rv   z\['foo'\] not in indexr   r   )r  r   r(   r   r   rL   )rA   rq  rs  r   s       r2   test_loc_setitem_corner%TestLocSeries.test_loc_setitem_cornerm  s\    M''
34"#$']]83/01MdeWn- 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)rv   rq   rn  r   r?   )r   r  r(   r)   r   )rA   rr  indicesr}  r   s        r2   test_basic_setitem_with_labels,TestLocSeries.test_basic_setitem_with_labelst  s    !''4!!#""$
r'!!#""$&'1:
#+,
WQZ(
r'r4   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)
Nr?   rq   r   r^   r
   )r   ru   rs   r   ru   rv   rs   z\[5\] not in indexr   )r   r   r   r   r  r  r   r   r  r(   r)   r   r   r   rL   	Exception)	rA   r  rs  arr_indsr}  r   inds_notfoundarr_inds_notfoundr   s	            r2   !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   rN  r&  r  r
   r  r  r$   r   )r   r   r  r   r(   r   )rA   r  r~  r1   r   s        r2   test_loc_setitem_dt64tz_values,TestLocSeries.test_loc_setitem_dt64tz_values  s    |Q<@!
 XXZ\l;s!!!XXZ
!!!XXZ3C!!!r4   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   abcderm  r$   )r   r  r>  r(   r)   r   r   )rA   rM  r  r  r1   r  s         r2   #test_loc_iloc_setitem_with_listlike1TestLocSeries.test_loc_iloc_setitem_with_listlike  s     sTz"31a+4=OQd7m6:
s-Qd7m6:
s-r4   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'   r9   )r   r  )   r  r  r  rW  r   rk   )r   r   r  r   r   r   r(   )rA   r  r  r   s       r2   +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 )Nrm  rv   rq   rn  rs   r  ru   )r   r  r(   r   r)   r   )rA   rq  rs  r   r1   rt  ru  s          r2   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%%%r4   r>   r>  r}  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 )
NrW  defghijklr   r   newAnewBr   r  )rA   r>   r0   r1   s       r2   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+r4   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   rs   r%  r  r   )r   rC  rk   r   )r   r   r(   r)   r*   r  s      r2   ,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/r4   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 )Nrk   r?   r$   r4  rs   rt   r#   rT   r>  r   r  r
   )r   r(   r   r   r   r)   r*   r   s      r2   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+r4   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   2000r^   r   r  r
   z
2000-01-14r  )r)   r  r  r   rx  r   r   r(   )rA   r   r   r-   s       r2    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  r   rh  r
   stable)rD   )r  r   r   r   r   r   r)  intpr(   argsortr  r   r  r)   r*   )rA   r  r   r0   r   r1   s         r2   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/r4   r   )#r   r   r   r   r   r   r   rM  rv  rz  r  r  r  r  r  r  r  r   r   r   r  r-  r  r   r   r  r  r  r  r  r  r  r  r  r   r   r4   r2   ri  ri    s=   [[^nj-IJ( K(
>&	:;
12('8", [[Z"((BHHdE)JK[[V\2. 3 L.  [[YCF);c5;=O(PQ$ R$&4 [[Wx&:;, <, ''0 (0, 1
0r4   ri  )[__doc__collectionsr   r   r   r   r   rG  dateutil.tzr   numpyr   r   pandas._configr	   pandas._libsr   r  pandas.compat.numpyr   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   r3   r6   r   rC  r[  r  r+  rn  r  r  r  r  r  r!  r(  r*  r,  r/  r3  r8  r:  r>  rE  rH  rL  rK  rM  rU  rX  r>  ra  rg  ri  r   r4   r2   <module>r     s   * "  
    5 * . ' ) )     (  & 6 K &
&&"&&#	bffbff 57JK
&&#bfft}511{ {|U, U,p,:( :(zs: s:lV, V,r( (DG* G*TA7 A7H   :E, E,Pc0 c0L +	dD\Aq62	tTlQF3	tUmaV4DD,,",8,1	$<*( 3		#"FG( H(& 	<	 "23	<L	13OP	@	@( WXRS8 T Y8 +,I0 I0r4   