
    .i=             	       *   d Z ddlmZ ddlZddlmZmZmZmZ ddlZddl	m
Z
 ddlZddlZddlmZ ddlmZ ddlmc mZ ddlZddlmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z* ddl+m,Z- dd	l.m/Z/ dd
l0m1Z1 ddl2m3Z3 ejh                  jk                  dejl                  ejl                  dgdejl                  ejl                  gg dgejl                  dgdejl                  gddggg      d        Z7d Z8 G d d      Z9 G d d      Z: G d d      Z; G d d      Z< G d d      Z= G d d      Z> G d  d!      Z? G d" d#      Z@ G d$ d%      ZA G d& d'      ZB G d( d)      ZCejh                  jk                  d*g d+d,d-gdd.gfg d/d,d-gdd.gfg d/d,d0gdd1gfg      d2        ZDd3 ZEd4 ZFd5 ZGd6 ZHd7 ZId8 ZJd9 ZKd: ZLd; ZMd< ZNd= ZOejh                  jk                  d>d? ej                  d?       ej                  d?      g      d@        ZRejh                  jk                  dA e&dB      dCf e&dDdEF      dGfg      dH        ZSdI ZTejh                  j                  dJ      ejh                  j                  dK      dL               ZVdM ZW G dN dO      ZXy)Pz"test label based indexing with loc    )
namedtupleN)datedatetimetime	timedelta)gettzindex)IndexingError)CategoricalCategoricalDtypeCategoricalIndex	DataFrameDatetimeIndexIndex
IndexSlice
MultiIndexPeriodPeriodIndexSeriesSparseDtype	Timedelta	Timestamp
date_rangetimedelta_rangeto_datetimeto_timedelta)	is_scalar)_one_ellipsis_message)"check_indexing_smoketest_or_raisesz series, new_series, expected_serba)FTTFTc                     t        d| i      }||j                  d d df<   t        d|i      }t        j                  |j	                         |       t        j                  |j                         |        y NA)r   loctmassert_frame_equalisnanotna)series
new_seriesexpected_serdfexpecteds        \/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/indexing/test_loc.pytest_not_change_nan_locr1   0   s`     
C=	!BBFF1c6N#|,-H"'')X."((*xi0    c                      t        g dg dg      } | j                  dddgf   }t        ddgddgt        d      }t	        j
                  ||       y )	N)r"         ?       @)r!         @      @r         r4   r5   r
   dtypename)r   r&   r   floatr'   assert_series_equal)r.   resultr/   s      r0   test_loc_dtyper@   @   sO    	O_5	6BVVA1vIFsCjAe!DH68,r2   c                      e Zd Zd Zd Zd Zej                  j                  dddg      ej                  j                  d e	 e
d      e	       e	g d
e	       edd       e	 eddd      ej                  	       e	g       g      d               Zej                  j                  dg dg dg      ej                  j                  dej"                  ej$                  ej                  g      d               Zej                  j                  dd e	g dej"                  	       e	g dej$                  	       e	g dej                  	       ej*                   ed       ed      g      g      ej                  j                  dg dg dg dg dg      d               Zej                  j                  dej"                  ej$                  g      d        Zd Zej                  j                  d edd       e	 e
d      e	       e	g d
e	      d edd       e	 edd d      ej                  	      gdeg ed!d"       edd      gdeg edd       e	g d
e	      gdeg edd       e	g d
e	      gdeg eddd       e	g d
e	      gdegg      d#        Zd$ Zd% Zej                  j                  d& edgg e	d'g      (      e ddd'f    e!dgd')      f e!dg e	d'g      *      d'dgf edgg e	d'g      *      d' e!dgd')      fg      d+        Z"ej                  j                  d, e#d-d.d/      g e$d-d.d/      gdz   e%d      g e%d       e%d      gg      d0        Z&y)1TestLocc                     t        g ddgt              }|j                  d   J t        g ddgd      }|r%t        j                  |j                  d         sJ y |j                  d   J y )N)12Nr"   columnsr;   )r9   r"   str)r   objectr&   npisnan)selfusing_infer_stringr.   s      r0   "test_none_values_on_string_columnsz*TestLoc.test_none_values_on_string_columnsI   si    '#fEvvf~%%%'#eD88BFF6N+++66&>)))r2   c                      |t        d      t        t        d      t                    }t	        |ddt
               y )N   abcr;   r	   r&   r9   fails)ranger   listrI   r    KeyErrorrL   frame_or_seriesobjs      r0   test_loc_getitem_intzTestLoc.test_loc_getitem_intT   s+    eAheDKv.NO*3qIr2   c                 8     |       }t        |ddt               y )Nr&   crS   )r    rW   rX   s      r0   test_loc_getitem_labelzTestLoc.test_loc_getitem_labelY   s    *3s(Kr2   keyf   r
   abcdrR   )r9      null   20130101rc   periodsr   re   r9   c                 b     |t        t        |            |      }t        |d|t               y Nr	   r&   rS   rU   lenr    rW   rL   r_   r
   rY   rZ   s        r0   #test_loc_getitem_label_out_of_rangez+TestLoc.test_loc_getitem_label_out_of_range^   s'     eCJ/u=*3s(Kr2   r   r8   r9   )r8   r6   r%   r;   c                 j     |t        d      t        g d|            }t        |d|t               y )NrP   ro   rR   r	   r&   rS   rU   r   r    rW   )rL   r_   r;   rY   rZ   s        r0   test_loc_getitem_label_listz#TestLoc.test_loc_getitem_label_listn   s)     eAheIU.KL*3s(Kr2   NrP   )r   r9   
   )rP         ))r8   rP   )r8   rc   )r9      c                 v    | |       }n |t        t        |            |      }t        |d|t               y rj   rk   rm   s        r0   (test_loc_getitem_label_list_with_missingz0TestLoc.test_loc_getitem_label_list_with_missingu   s4     =!#C!%E
"35AC*3s(Kr2   c                 n     |t        d      t        g d|            }t        |dg ddt               y )NrP   ro   rR   r&   )ra      (   r8   axesrT   rq   )rL   r;   rY   rZ   s       r0   !test_loc_getitem_label_list_failsz)TestLoc.test_loc_getitem_label_list_fails   s.     eAhiu(EF*1H	
r2   c                 @     |       }g d}t        |d|t               y )NTFTFr&   rS   )r    
IndexError)rL   rY   rZ   r!   s       r0   test_loc_getitem_boolzTestLoc.test_loc_getitem_bool   s    &*3q
Kr2   zslc, indexes, axes, failsr8      2013010220130104c                 ~    |D ]8  }| |       }n |t        t        |            |      }t        |d|||       : y )Nr	   r&   r|   )rU   rl   r    )rL   slcindexesr}   rT   rY   r
   rZ   s           r0   test_loc_getitem_label_slicez$TestLoc.test_loc_getitem_label_slice   sM    @  	E}%'%eCJ&7uE.	r2   c                     t        ddgddgddggddgg d      }t        j                  d      |j                  d	<   t        ddgd
dgddggddgg d      }t	        j
                  ||       y )Nra   r"      col1col2)rs   r8   r8   rG   r
   r9   )r8   r   r   r8   )r   rJ   aranger&   r'   r(   rL   r.   r/   s      r0    test_setitem_from_duplicate_axisz(TestLoc.test_setitem_from_duplicate_axis   s    #Yc
S#J/V$

 IIaLy#YC1c(+ff5EZ
 	b(+r2   c           	         t        g ddt        j                  dgt        d      t        j
                  t        d      gd      }t        dgt        d      gd	      }|j                  |j                  |d
   j                         d
dgf<   t        g dg dt        d      t        d      t        d      gd      }t        j                  ||       y )Nr8   r9   rP   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   rJ   nanr   pdNaTvaluesr&   r)   r'   r(   )rL   r.   df2r/   s       r0   test_column_types_consistentz$TestLoc.test_column_types_consistent   s    $ "&&*534FF34

 "|95J+K*LM
 .1ZZr#w||~Sz)*$9343434

 	b(+r2   zobj, key, expFrG   r<   r	   c                     |j                   |   }t        |t        t        f      rt	        j
                  ||       y ||k(  sJ y N)r&   
isinstancer   r   r'   assert_equal)rL   rZ   r_   express        r0   #test_loc_getitem_single_boolean_argz+TestLoc.test_loc_getitem_single_boolean_arg   s:     ggclcIv./OOC%#::r2   r   i  rs   rz   c                     dgt        |      z  }t        |dg      }|j                         }||j                  |<   t	        j
                  ||       y )NFr%   r   rG   )rl   r   copyr&   r'   r(   )rL   r   maskr.   r/   s        r0   -test_loc_empty_slice_assignment_with_datetimez5TestLoc.test_loc_empty_slice_assignment_with_datetime  sJ     wT"D3%0779t
b(+r2   )'__name__
__module____qualname__rN   r[   r^   pytestmarkparametrizer   rV   rI   r   rU   rJ   float64rn   int64uint64rr   r   from_arraysrx   r~   r   slice	TypeErrorrW   r   r   r   r   r   r   r   r   r   r   r    r2   r0   rB   rB   H   s   	*J
L
 [[US"I.[[$v,f-#62z1-%1a.

3"I	
	L	 /L
 [[UY$>?[[WrxxBJJ&GHL I @L
 [[)288,)299-)2::."J""E!HeAh#78	
	 [[	:y2JKL	L [[Wrxx&;<
 =
L [[# a$v,f5+6:z15%2q/<  j*-J23	 1a[5!2&ABAyQ1a[5!2&ABAxP1a^e$5VDEq)T+	
454&,,> [[ A3%w81e8$s'
 QCueW~.s;uE5'N3UFA3U<ST	
 [[dB#$tR$%)q\Nq\9Q<(		
,,r2   rB   c                   "   e Zd Zd Zej
                  j                  dd ed      ddffd ed      ddffd	 ed      dd
ffd ed       ed      dffd ed      ddffd ed      d ed      ffd ed      d
dffg      d        Zd Z	d Z
d Zd Zd Zd Zd Zej
                  j                  dddgg dg      d        Zd  Zd! Zd" Zd# Zd$ Zd% Zd& Zej0                  d'        Zej
                  j                  d(d) ej6                  d)ej8                  *       ej6                  g d+ej8                  *      g      d,        Zd- Zd. Zd/ Z d0 Z!d1 Z"ej
                  j                  d2g d3      d4        Z#d5 Z$ej
                  j                  d6ddg      d7        Z%d8 Z&d9 Z'ej
                  j                  d6ddg      d:        Z(ej
                  j                  d6ddg      d;        Z)d< Z*d= Z+d> Z,ej
                  j                  d?d@g e-dAd@dA       ej6                  d@g      g      ej
                  j                  dBdCg ej6                  dCg      g      dD               Z.ej
                  j                  dEd)dFgg dGfdH e/g dIdJdKej`                  ej`                  gg dIgg dGL      fdMdNdOgfdHdPg e/dMdFej`                  ej`                  gg dQdRdSej`                  ej`                  ggg dGL      fdMg dTf ej6                  g dUej8                  *       e/dMdFej`                  gg dUdRdSej`                  ggg dTL      f e-dMdJdA      g dVfg dUg dWg e/dMdFej`                  ej`                  gg dXg dYgg dGL      f e-dMdJdA      g dZf ej6                  g dUg dWgej8                  *       e/dMdFej`                  ej`                  gg d[g d\gg dGL      f e-dAdAdA      d@dNgf e/dHdPgd]d^gd_d`ggd@dNgL       e/g dag dbg dcgg dTL      fg      dd        Z1de Z2df Z3dg Z4dh Z5di Z6ej
                  jn                  ej
                  jp                  ej
                  j                  djdkdlgdmdngg      do                      Z9dp Z:dq Z;dr Z<ds Z=dt Z>du Z?dv Z@dw ZAdx ZBdy ZCdz ZDd{ ZEd| ZFd} ZGd~ ZHej
                  j                  dg d      ej
                  j                  dej                  ej                  ej8                  eKg      d               ZLd ZMd ZNd ZOej
                  j                  d?ddg      d        ZPej
                  j                  deQej6                  eReSg      d        ZTd ZUej
                  j                  dddg      d        ZVd ZWej
                  j                  dd)g df e-dKdP      g dfdJdRgg dfg      d        ZXd ZYd ZZd Z[ej
                  j                  dddgg      d        Z\d Z]ej
                  j                  dd@d@gd@ e-dA      fg      d        Z^d Z_d Z`d Zad Zbd Zcej
                  j                  dddg      d        Zdd Zed Zfd Zgd Zhd Zid Zjd ZkyA)TestLocBaseIndependentc                     t        t        dd            }|j                  t        j                  dg      d   d  }|j
                  dd  }t        j                  ||       y )N20212022r	   z2021/6/1r      )r   r   r&   rJ   arrayilocr'   r(   rL   r.   r?   r/   s       r0   test_loc_npstrz%TestLocBaseIndependent.test_loc_npstr  sS    Z78*.q1347734=
fh/r2   zmsg, keyz'Period\('2019', 'Y-DEC'\), 'foo', 'bar'  foobarz&Period\('2019', 'Y-DEC'\), 'y1', 'bar'y1z&Period\('2019', 'Y-DEC'\), 'foo', 'z1'z1z;Period\('2018', 'Y-DEC'\), Period\('2016', 'Y-DEC'\), 'bar'    z&Period\('2018', 'Y-DEC'\), 'foo', 'y1'z;Period\('2017', 'Y-DEC'\), 'foo', Period\('2015', 'Y-DEC'\)    z&Period\('2017', 'Y-DEC'\), 'z1', 'bar'c           	      :   t        t        d      ddgt        d      t        d      dgt        d      dt        d	      gg d
g dd      j                  g d      }t        j                  t
        |      5  |j                  |    ddd       y# 1 sw Y   yxY w)a(  
        parse_datetime_string_with_reso return parameter if type not matched.
        PeriodIndex.get_loc takes returned value from parse_datetime_string_with_reso
        as a tuple.
        If first argument is Period and a tuple has 3 items,
        process go on not raise exception
        r   x1x2r   r   r   r   r   r   r   rs   ra   rz   )r%   r   CV1V2r%   r   r   matchN)r   r   	set_indexr   raisesrW   r&   )rL   msgr_   r.   s       r0   ;test_contains_raise_error_if_period_index_is_in_multi_indexzRTestLocBaseIndependent.test_contains_raise_error_if_period_index_is_in_multi_index"  s    6 TlD$/TlF4L$7TlD&,7"
 )O
$ 	 ]]83/ 	FF3K	 	 	s   8BBc                     t        ddgi      }t        j                  t        d      5  |j                  d d df    d d d        y # 1 sw Y   y xY w)Nr"   r8   u   אr   )r   r   r   rW   r&   rL   r.   s     r0   $test_loc_getitem_missing_unicode_keyz;TestLocBaseIndependent.test_loc_getitem_missing_unicode_keyI  sE    aSz"]]884 	 FF1h;	  	  	 s   AAc           	      D   t        t        j                  j                  d      j                  d      t	        d      D cg c]
  }d|dz      c}      }|j
                  d   }|j
                  d d df   j
                  d	   }t        j                  ||       y c c}w )
Nr9   )ra   rv   ra   ABCDErv   r	   )r%   r   r   r%   )r   rJ   randomdefault_rngrU   r&   r'   r>   )rL   xr.   r/   r?   s        r0   test_loc_getitem_dupsz,TestLocBaseIndependent.test_loc_getitem_dupsN  s     II!!!$++G4+095a71q5>5
 66&>1!!#&
vx0	 6s    B
c           	         t        ddddt        d      ggg ddg      }t        ddddt        d      gg dd      }|j                  d	   }t	        j
                  ||       |j                  d   }t	        j
                  ||       y )
Nr8   r9   r   r   rf   r"   r"   r"   r"   r"   r   r
   r<   r   )r   r   r   r   r'   r>   r&   rL   r.   r/   r?   s       r0   test_loc_getitem_dups2z-TestLocBaseIndependent.test_loc_getitem_dups2Y  s     E5)J"789-#

 5%:!67+
 
vx0
vx0r2   c           	         t        t        d      t        d      t        j                  dd      dz  dz   t        j                  dd      dz  dz   d	      j	                  d
      }dddgf}|j                         }|j                  |xx   dz  cc<   t        j                  |j                  |   d|j                  |   z         d}|j                         }|j                  |xx   dz  cc<   |j                  |   d|j                  |   z  k(  sJ dddgf}|j                         }|j                  |xx   dz  cc<   t        j                  |j                  |   d|j                  |   z         y )Nrtttiaaaderv   r   rR   gq=
ףp?r9   g(\տ)mer   r   bar2r   rr   r   r5   )r   r   t)
r   rV   rJ   r   r   r   r&   r'   r>   r(   )rL   df_origindexerr.   s       r0   test_loc_setitem_dupsz,TestLocBaseIndependent.test_loc_setitem_dupsm  sW   7mG}yy)4t;a?		!95=A	
 )D/ 	 FO
 \\^
w3
rvvggkk'6J0JK
 \\^
w3vvg#G(<"<<<< FO
 \\^
w3
bffWosW[[5I/IJr2   c                    t        g dt        g dd      d      }|d   dk(  }|j                  |df   dz   }||j                  |df<   t        g dt        g d	d      d      }t        j                  ||       t        g dg ddd
      }|d   dk(  }|j                  |df   }t        j                  t        d      5  ||j                  |df<   d d d        y # 1 sw Y   y xY w)Nr   r8   r8   )d   r   ,  uint32rR   r"   r!   r"   r8   r!   )r      i-  r   Invalid valuer   )r   r   r&   r'   r(   r   r   r   )rL   df1ixnewb1r/   r   newb2s          r0   test_loc_setitem_slicez-TestLocBaseIndependent.test_loc_setitem_slice  s     if_H.UVWX]C 1$ C&"IJ
 	c8, io>hOX]C ]]9O< 	%$CGGBG	% 	% 	%s   C!!C*c           	      l   t        dgdgdgdgd      }g d}|j                  d d |f   j                  d      |j                  d d |f<   t        dgt        j                  dgd	      t        j                  dgd	      t        j                  dgd	      d      }t        j                  ||       y )
Nr%   333333?        g      )idr"   r!   r]   r"   r!   r]   float32r   rR   )r   r&   astyperJ   r   r'   r(   )rL   r.   colsr/   s       r0   test_loc_setitem_dtypez-TestLocBaseIndependent.test_loc_setitem_dtype  s    se3%se4&IJ&&D/00;q$w eXXse95XXse95XXtfI6	
 	b(+r2   c                 8   t        t        d      g d      }t        j                  t        d      5  |ddg    d d d        t        t        d            }t        j                  t        d      5  |ddg    d d d        y # 1 sw Y   IxY w# 1 sw Y   y xY w)	NrP   r  r	   not in indexr   r"   dr   )r   rU   r   r   rW   )rL   ss     r0   $test_getitem_label_list_with_missingz;TestLocBaseIndependent.test_getitem_label_list_with_missing  s    58?3 ]]8>: 	sCjM	 58]]8>: 	q!fI	 			 		 	s   B3BBBr
   TFr   c                     t        g d      }dt        |       dt        |       }t        j                  t        |      5  |j
                  |    d d d        y # 1 sw Y   y xY w)Nr   z Boolean index has wrong length: z instead of r   )r   rl   r   r   r   r&   )rL   r
   r  r   s       r0   test_loc_getitem_bool_diff_lenz5TestLocBaseIndependent.test_loc_getitem_bool_diff_len  sV     90ULQQ]]:S1 	EE%L	 	 	s   AA%c                      y r   r   rL   s    r0   test_loc_getitem_int_slicez1TestLocBaseIndependent.test_loc_getitem_int_slice  s    r2   c                 D   t        t        j                  j                  d      j                  d      g dg d      }dt        j                  t
               d}t        j                  t        |      5  |j                  d	dgd	dgf    d d d        y # 1 sw Y   y xY w)
Nr9   rP   rP   r  )er`   gr
   rG   z$\"None of \[Index\(\[1, 2\], dtype='z'\)\] are in the \[columns\]\"r   r8   )
r   rJ   r   r   r;   intr   r   rW   r&   rL   r.   r   s      r0   test_loc_to_failz'TestLocBaseIndependent.test_loc_to_fail  s    II!!!$++F3!#
 4BHHSM? C$ $ 	 ]]83/ 	#FFAq6Aq6>"	# 	# 	#s   7BBc                 *   t        t              }d|j                  d<   d|j                  d<   t        j                  t
        d      5  |j                  d    d d d        dt        j                  t               d	}t        j                  t
        |      5  |j                  dd
g    d d d        d}t        j                  t
        |      5  |j                  t        dgt                  d d d        d|j                  d<   t        j                  t
        d      5  |j                  dd
g    d d d        d|d<   dt        j                  t               d	}t        j                  t
        |      5  |j                  d
g    d d d        |d= t        j                  t
        |      5  d|j                  d
g<   d d d        y # 1 sw Y   sxY w# 1 sw Y   .xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   sxY w# 1 sw Y   y xY w)NrR   r8   r9   r"   z^-1$r   z&\"None of \[Index\(\[-1, -2\], dtype=''\)\] are in the \[index\]\"zE\"None of \[Index\(\['4'\], dtype='object'\)\] are in the \[index\]\"4rP   r  z"\"None of \[Index\(\[-2\], dtype='r   )
r   rI   r&   r   r   rW   rJ   r;   r  r   rL   r  r   s      r0   test_loc_to_fail2z(TestLocBaseIndependent.test_loc_to_fail2  s     ac
]]873 	EE"I	 6bhhsm_ E" " 	 ]]83/ 	EE2r(O	 W]]83/ 	.EE%V,-	. b	]]8>: 	EE2r(O	 #1"((3- A" " 	 ]]83/ 	EE2$K	 cF]]83/ 	AEE2$K	 	9	 		 		. 	.	 		 	
	 	sH   
GG G%#G1:G=1H	GG"%G.1G:=H	Hc                 p   t        dgdggddgdg      }dt        j                  t               d}t	        j
                  t        |	      5  |j                  d
gd d f    d d d        t	        j
                  t        |	      5  |j                  d
g    d d d        y # 1 sw Y   >xY w# 1 sw Y   y xY w)Nr"   r!   r8   r9   valuer  z!\"None of \[Index\(\[3\], dtype='r  r   rP   )r   rJ   r;   r  r   r   rW   r&   r  s      r0   test_loc_to_fail3z(TestLocBaseIndependent.test_loc_to_fail3  s     u~aVgYG 1# @" " 	 ]]83/ 	FFA36N	 ]]83/ 	FFA3K	 		 		 	s   B B, B),B5c                 j   t        g d      }|j                  dg    d}t        j                  t        t        j                  |            5  |j                  dg    d d d        t        j                  t        d      5  |j                  ddg    d d d        y # 1 sw Y   ?xY w# 1 sw Y   y xY w)Nr   r9   z@None of [RangeIndex(start=3, stop=4, step=1)] are in the [index]r   rP   r  )r   r&   r   r   rW   reescaper"  s      r0   test_loc_getitem_list_with_failz6TestLocBaseIndependent.test_loc_getitem_list_with_fail  s     9	qc
P]]8299S>: 	EE1#J	 ]]8>: 	EE1a&M	 			 		 	s   BB)B&)B2c                    t        t        j                  j                  d      j                  d      g d      }|j                  j                  d       }|j                  t        j                  |         }|j                  |   }t        j                  ||       |j                  |j                     }t        j                  ||       |j                  t        j                  |d         }t        j                  ||       y )	Nr9   )rv   rs   size)alpha_0alpha_1alpha_2beta_0beta_1r	   c                 
    d| v S )Nalphar   r   s    r0   <lambda>z7TestLocBaseIndependent.test_loc_index.<locals>.<lambda>,  s
    gl r2   booleanrR   )r   rJ   r   r   r
   mapr&   r   r'   r(   r   r   )rL   r.   r   r/   r?   s        r0   test_loc_indexz%TestLocBaseIndependent.test_loc_index#  s     II!!!$+++9G

 xx||2366"((4.)
fh/$
fh/Y78
fh/r2   c                 ,   t        t        j                  j                  d      j                  d      g dg d      }|j                  d d ddf   j
                  ddd d f   }|j                  ddgk(  j                         sJ |j                  ddgk(  j                         sJ t        t        d      gd	gd
      j
                  d   }t        t        d      d	gddgd      }t        j                  ||       |j                  t        k(  sJ y )Nr9   rc   rc   r%   r   r   Dr   r%   r   r   rf   r8   r   r"   r!   r   )r   rJ   r   r   r&   r   rG   allr
   r   r   r'   r>   r;   rI   r   s       r0   test_loc_generalz'TestLocBaseIndependent.test_loc_general8  s    II!!!$++F3(&
 3s7
#((1a03*,11333c
*//111 )J"7!8sCDII!L9Z0!4S#JQO
vx0||v%%%r2   c                 v    t        t        dd      t        t        d      t        j
                        d      S )N
2000-01-01	2000-01-5rv   rR   r   val)r   r   r   rU   rJ   r   r  s    r0   frame_for_consistencyz,TestLocBaseIndependent.frame_for_consistencyJ  s0    "<=eAhbhh7
 	
r2   rD  r   rR   )r   r   r   r   r   c                     |j                         }t        j                  t        d      5  ||j                  d d df<   d d d        y # 1 sw Y   y xY w)Nr   r   r   r   r   r   r   r&   )rL   rE  rD  r.   s       r0   test_loc_setitem_consistencyz3TestLocBaseIndependent.test_loc_setitem_consistencyS  sG     #'')]]9O< 	$ #BFF1f9	$ 	$ 	$   A		Ac                     |j                         }t        j                  t        d      5  d|j                  d d df<   d d d        y # 1 sw Y   y xY w)Nr   r   r   r   rG  rL   rE  r.   s      r0   (test_loc_setitem_consistency_dt64_to_strz?TestLocBaseIndependent.test_loc_setitem_consistency_dt64_to_str^  sG     #'')]]9O< 	& %BFF1f9	& 	& 	&rI  c                     |j                         }t        j                  t        d      5  d|j                  d d df<   d d d        y # 1 sw Y   y xY w)Nr   r   r4   r   rG  rK  s      r0   *test_loc_setitem_consistency_dt64_to_floatzATestLocBaseIndependent.test_loc_setitem_consistency_dt64_to_floatf  sG     #'')]]9O< 	$ #BFF1f9	$ 	$ 	$rI  c                     t        dt        t        d      g      i      }t        j                  t
        d      5  d|j                  d d df<   d d d        y # 1 sw Y   y xY w)Nr   20180101r   r   string)r   r   r   r   r   r   r&   r   s     r0   'test_loc_setitem_consistency_single_rowz>TestLocBaseIndependent.test_loc_setitem_consistency_single_rowm  sU     	*(='> ?@A]]9O< 	) (BFF1f9	) 	) 	)s   AA"c                 ~   t        ddg      }t        ddg      }t        j                  d       5  d|j                  d d df<   d d d        t        j                  ||       t        ddg      }d|d<   |d   j                  t        j                        |d<   t        j                  ||       y # 1 sw Y   nxY w)Nr   yr   r8   )r   r'   assert_produces_warningr&   r(   r  rJ   r   rL   r/   r.   s      r0   "test_loc_setitem_consistency_emptyz9TestLocBaseIndependent.test_loc_setitem_consistency_emptyt  s     c3Z0Sz*''- 	BFF1c6N	
b(+ Sz*3 ,,RXX6
b(+	 	s   B33B<c                    dgdz  g dg dg}t        j                  |g d      }g dg dg}t        j                  |d	d
g      }ddddt        j                  gg dddddt        j                  gg dg}t	        |||      }t        j                         }|rt        j                  t        d      }|5  t        |j                  d d df         |j                  d d df<   d d d        |5  t        |j                  d d df         |j                  d d df<   d d d        |ry |j                         }|j                  d d df   |j                  d d df   z
  |j                  d d df<   t        j                  t        d      5  |j                  d d df   t        d      z  |j                  d d df<   d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)NRegion_1rc   )Site_1rZ  Site_2r[  )l   BP[ l   _Z l   q=.Z l   <.Z )RegionSiteRespondentIDnames)
Respondentra  ra  OtherCatrb  )	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:52ri  ri  z5/20/2015 8:27z5/20/2015 8:41)r%   z5/20/2015 8:33z5/20/2015 9:09ri  Nor  r   r   )ra  rd  )ra  re  )ra  Durationl    Xp7 )r   r   rJ   r   r   
contextlibnullcontextr   r   r   r   r&   infer_objectsr   )	rL   rM   levelsmiclevelsr	  r   r.   ctxs	            r0   -test_loc_setitem_consistency_slice_column_lenzDTestLocBaseIndependent.test_loc_setitem_consistency_slice_column_len  s    L14<

 ##F2TU OL
 %%gi5KL #%6rvvFC"$4eRVVDB	
 vR6$$&--	AC 	5@q5566BFF1112	  	3>q3344BFF1//0	
  FF1//0ffQ3345 	q,,- ]]9O< 	*46FF--5.)5*BFF1001	* 	*/	 		 	&	* 	*s$   9.G1.G1GGGG(unit)YMr=  hmr  msusc                    t        dt        j                  d      t        j                  d      gi      }|j                  d d df   j                  j                  d| d      |j                  d d |f<   |j                  d d df   j                  j                  d| d      |d<   t        |j                  d d df   |      }t        j                  |j                  d d |f   |       y )N	timestampz2017-02-11 12:41:29z1991-11-07 04:22:37zdatetime64[]r/   r   )	r   rJ   
datetime64r&   r   r  r   r'   r>   )rL   rt  r.   r/   s       r0   test_loc_assign_non_ns_datetimez6TestLocBaseIndependent.test_loc_assign_non_ns_datetime  s     MM"78MM"78
 &&K077>>TFRS?TUq$w;/66==D6QR>ST:"&&J/d;
rvvag9r2   c                    t        j                  dg di      }t        |d   dd      j                  j	                  d      |d<   |j
                  d d df   |j
                  d d df<   |j
                  d	d
gdf   |j
                  d	d
gdf<   t        g dg dg dg dgg d      }ddg}||   j                  t              ||<   t        j                  ||       y )Nr   )   CO!g   s~!g    4	8   A{?ry  T)rt  cacherz  date_dt
date_dt_cpr9   rP   )r  2017-01-24 13:26:12.711r  )r  2017-01-24 13:52:05.110r  )r  2018-10-22 13:44:05.888r  )r  2018-10-23 08:08:41.025r  )r   r  r  r   )	r   	from_dictr   dtas_unitr&   applyr'   r(   )rL   r.   r/   rG   s       r0   test_loc_modify_datetimez/TestLocBaseIndependent.test_loc_modify_datetime  s      QR
 $BvJTFIIQQRVW9"$&&I"6q,')vvq!fi.?'@1v|#$UUUU	 6
 l+$W-33K@
b(+r2   has_refc                    t        g ddgt              }|r|d d  }t        j                  g dd      |j                  g ddf<   t        g dg dt        	      }t        d|i      }t        j                  ||       y )
NrP   rv   rc   r%   r
   rG   r;   r   r   rR   rc   rP   rv   r9   rP   r8   r
   r;   )r   r=   rJ   r   r&   r   r'   r(   )rL   r  r.   viewserr/   s         r0   #test_loc_setitem_frame_with_reindexz:TestLocBaseIndependent.test_loc_setitem_frame_with_reindex  sk     YUCa5D!#)7!Cy#~ Yiu=c3Z(
b(+r2   c                 (   t        g dddgt              }d|d<   t        j                  g dd      |j                  g d	df<   t        g d
g dd      }t        d|j                  t              i      }d|d<   t        j                  ||       y )Nr  r%   r   r  rQ  r   r   rR   r  r  r  )	r   r=   rJ   r   r&   r   r  r'   r(   )rL   r.   r  r/   s       r0   )test_loc_setitem_frame_with_reindex_mixedz@TestLocBaseIndependent.test_loc_setitem_frame_with_reindex_mixed  s{    Yc
%H3!#)7!Cy#~Yiw? c3::e#456 
b(+r2   c                     t        g dddgt              }d|d<   t        j                  g dd      |j                  t        dd	d
      df<   t        g dddg d      }t        j                  ||       y )Nr   r%   r   r  rQ  r   rR   rP   r   r  )r6   r5   r4   r   r	   )r   r=   rJ   r   r&   r   r'   r(   r   s      r0   *test_loc_setitem_frame_with_inverted_slicezATestLocBaseIndependent.test_loc_setitem_frame_with_inverted_slice  sf    Yc
%H3')xx	'IuQ2#$ ?B)T
b(+r2   c                    t        d      D cg c]  }dt        |      z    }}t        j                  dd      }t        d      D cg c]  }dt        |      z    }}t        j                  dd      }t	        t        |      j                  |            }t        |      }t        j                  |d<   |r|d d  }	||j                  |df<   t        j                  |d<   ||j                  |df<   t        ||t        j                  	      }
t        ||      }t        |
|d
t        ddg            j                  |      }t        j                  ||       y c c}w c c}w )Nrv   @r   rR   rc   r	   r%   r   r  r   r   )rU   rH   rJ   r   rV   setunionr   r   r&   r   r   r   reindexr'   r(   )rL   r  ikeys1val1keys2val2r
   r.   r  seraserbr/   s                r0   test_loc_setitem_empty_framez3TestLocBaseIndependent.test_loc_setitem_empty_frame  s9    (-Qx0!s1v00yy'*',Qx0!s1v00yy'*SZ%%e,-U#&&3a5D!ucz&&3!ucz d%rzz:d%(4d3UC:=NOWW X 
 	b(+/ 1 1s   E 	E%c                    t        t        j                  j                  d      j	                  d      t        d      t        d            }|r|d d  }|j                  d   }d|j                  d<   |j                  d   }|dk(  sJ |j                  d   }|dk(  sJ d	|j                  d d d
df<   |j                  d d d
df   }|j                  d d dd f   }t        j                  ||       y )Nr9   r;  rb   ABCDr  r   r   r8   )r"   r%   r   r   r=  )
r   rJ   r   r   standard_normalrV   r   r&   r'   r(   )rL   r  r.   r  r?   r/   s         r0   test_loc_setitem_framez-TestLocBaseIndependent.test_loc_setitem_frame(  s    II!!!$44V<v,L

 a5Dx!{{{{q#c'z66!SW*%AB
fh/r2   c                    t        g dt        j                  d      }|j                  |j                  |j
                  |j                  kD  df<   t        g dt        j                  d      }t        j                  ||       y )Nr   r   r   )r   rJ   r   r%   r&   r   r'   r(   r   s      r0   /test_loc_setitem_frame_nan_int_coercion_invalidzFTestLocBaseIndependent.test_loc_setitem_frame_nan_int_coercion_invalid@  s]     YRVV45#%44rttbdd{C 9266:;
b(+r2   c                 D   t        ddgddgddgd      }|j                  dddgf   }t        ddgt        ddgt        	      d
d      }t        j                  ||       t        ddgddgddgd      }ddg|j                  dddgf<   t        j                  ||       y )Nr8   r9   rP   rc   r"   r!   )r8   r9   r"   r   rR   r   r:   rv   rt   )r   r&   r   r   rI   r'   r>   r(   r   s       r0   #test_loc_setitem_frame_mixed_labelsz:TestLocBaseIndependent.test_loc_setitem_frame_mixed_labelsH  s     Aq6q!fC:>?Aq6	"F%Af5W1
 	vx0!QQF#sDEFq1a&y
b(+r2   c           	      :   t        g dt        t        d      t        j                        d      }|j
                  dd }|j                  dd |_        ||j
                  dd t        g dt        g d	t        j                        d      }t        j                  ||       t        t        d
dd      t        t        d      t        j                        d      }t        t        d      t        d      t        d      t        d      t        d      gt        g dt        j                        d      }|d   j                  d      |d<   |j
                  dd }|j                  dd |_        ||j
                  dd t        j                  ||       y )Nr   r   bazrP   rR   r   r8   r9   r   )r   r  r  )r8   r9   r9   rA  rB  nsrt  rv   rC  200001012000010220000103)r   r8   r   r8   r9   r   zM8[ns]rc   )r   r   rU   rJ   r   r&   r
   r'   r(   r   r   r  )rL   r.   rhsr/   s       r0    test_loc_setitem_frame_multiplesz7TestLocBaseIndependent.test_loc_setitem_frame_multiplesW  s]   'fU1XRXX.NO
 ffQqkHHQqM	q'fYbhh.OP
 	b(+ "<4HeAhbhh7
  j)j)j)j)j) oRXX>	
 $F+228<ffQqkHHQqM	q
b(+r2   r   r%   Nr%  Zc                     t        ddgddggddg      j                  dt        i      }||j                  d|f<   |j                  d	   }t	        |      r|d
k(  sJ y )Nr8   r9   rP   rc   r%   r   r   r   )r   r%   r  )r   r  rI   r&   r   )rL   r   r%  r.   r?   s        r0   "test_loc_setitem_with_scalar_indexz9TestLocBaseIndependent.test_loc_setitem_with_scalar_index}  se     AA'#s<CCS&MR"q'z Vs]22]r2   zindex,box,expectedr9   r<  ru   )ru   ru   ru   ru   rP   rc   r   r8   r   r=  re   )rP   rc   ru   re   rv   rt   r   ru   re   	   )r   r   r=  rs      r   )rP   ru   re   r  )rv   rs   r  r   )r   r%   r=  )re   rc   ru   r  )r  rt   rs   r   r  rs   r  r   )ru   r9   re   )r  rc   rs   )r  rt   r   c                 ~    t        ddgddgddggddg	      }||j                  |<   t        j                  ||       y )
Nr8   r9   rP   rc   rv   rt   r%   r   r   r   r&   r'   r(   )rL   r
   boxr/   r.   s        r0    test_loc_setitem_missing_columnsz7TestLocBaseIndependent.test_loc_setitem_missing_columns  sE    j AAA/#sDu
b(+r2   c                 F   t        dt        d      j                  d      t        j                  gi      }|j
                  }|j                  dg   }t        j                  |j
                  |       |j                  dg   }t        j                  |j
                  |       y )Nr   rf   UTCr   r8   )	r   r   tz_localizer   r   dtypesr   r'   r>   r   s       r0   test_loc_coercionz(TestLocBaseIndependent.test_loc_coercion  sy    :!6!B!B5!I266 RST99!
v}}h7!
v}}h7r2   c           	      &   t        dt        ddd      t        ddd      gi      }|j                  }|j                  dg   }t	        j
                  |j                  |       |j                  dg   }t	        j
                  |j                  |       y )Nr     r8   i  r9   r   )r   r   r  r   r'   r>   r   s       r0   test_loc_coercion2z)TestLocBaseIndependent.test_loc_coercion2  sw    $1!5xa7K LMN99!
v}}h7!
v}}h7r2   c                    t        ddgd gdz  z   i      }|j                  }|j                  dd }t        j                  |j                  |       |j                  dd  }t        j                  |j                  |       y )Ntextz
some wordsr  r   r9   rP   )r   r  r   r'   r>   r   s       r0   test_loc_coercion3z)TestLocBaseIndependent.test_loc_coercion3  sm    $! ;<=991
v}}h7
v}}h7r2   c                     t        d      j                  d      t        d      j                  d      g}t        |t        ddg            }t        t              }|d    ||      d<   |d	    ||      d<   t        j                  ||       y )
N*   r  i  r   r   r	   rR   r   r8   )r   r  r   r   rI   r'   r>   )rL   
indexer_slvalsr/   r  s        r0   test_setitem_new_key_tzz.TestLocBaseIndependent.test_setitem_new_key_tz  s     O''.((/
 $eUEN&;<6"!%a
3!%a
3
sH-r2   c                 <   t        g dg ddg d      }d}t        j                  t        |      5  |j                  dd   d d d        d	}t        j                  t        |      5  |j                  d
d   d d d        d}t        j                  t        |      5  |j                  dd  d d d        t        g dg ddg d      j                  d
      }|j                  dd  }t        g dg ddg d      }t        j                  ||       |j                  d
d  }t        j                  ||       |j                  dd }t        g dg ddg d      }t        j                  ||       y # 1 sw Y   6xY w# 1 sw Y   xY w# 1 sw Y   xY w)Nr8   r9   rP   rc   rv   rt   )rP   rc   rv   rt   ru   re   r   )r   r8   r   r8   r9   rP   r	   z5'Cannot get left slice bound for non-unique label: 1'r   r8   z5'Cannot get left slice bound for non-unique label: 0'r   r9   axis)r9   rc   rv   rt   )rc   rt   ru   re   )r8   r8   r9   rP   )r9   rc   rv   )rc   rt   ru   )r8   r8   r9   )r   r   r   rW   r&   
sort_indexr'   r(   )rL   r.   r   r?   r/   s        r0   test_loc_non_uniquez*TestLocBaseIndependent.test_loc_non_unique  sd    $+=>FX
 F]]83/ 	FF12J	E]]83/ 	FF12J	E]]83/ 	FF1QK	 $+=>FX

*!*
 	 <lC<X
fh/
fb)!99=YO
fh/-	 		 		 	s#   E8)FF8FFFz
length, l2  r   i 順 c                    t        d      }t        j                  t        t        j
                  j                  d      j                  |t        |      f      t	        j                  |      |      t        t	        j                  |t        |      f      dg|z  |      g      }|j                  j                  du sJ t	        j                  |      }|j                  |   }t        j                  |j                  dg      t        t	        j                  t        |      t        |      f      dgt        |      z  |      |j                  |dd        g      }t        j                   ||       y )NABCDEFGr9   r  r   Fr8   )rV   r   concatr   rJ   r   r   r  rl   r   onesr
   	is_uniquer&   taker'   r(   )rL   lengthl2rG   r.   r   r?   r/   s           r0    test_loc_non_unique_memory_errorz7TestLocBaseIndependent.test_loc_non_unique_memory_error  s.    y/YYII))!,<<fc'l=ST))F+#
 "''2s7|"45aS2XwW	
 xx!!U***yy}99GGSYG56#D	/#
 QR!

 	fh/r2   c                     t        ddgddgg      }d|j                  _        |j                  ddg   j                  j                  }|dk(  sJ |j                  ddg   j                  j                  }|dk(  sJ y )Nr8   
index_namer   )r   r
   r<   r   r&   rL   r.   r?   s      r0   test_loc_namez$TestLocBaseIndependent.test_loc_name=  sz    AA'($!Q&&++%%%A%%**%%%r2   c                 T   t        t        j                  d      t        t	        d      D cg c]  }d| 	 c}d      t        t	        d      D cg c]  }d| 	 c}d            }t        j                  |j                  d d g f   |j                  d d d df   d	d	
       t        j                  |j                  g d d f   |j                  d dd d f   d	d	
       t        j                  |j                  g    |j                  d dd d f   d	d	
       y c c}w c c}w )N)rv   r9   rv   zi-r"   r   r9   r  r   T)check_index_typecheck_column_type)	r   rJ   r  r   rU   r'   r(   r&   r   )rL   r  r.   s      r0   !test_loc_empty_list_indexer_is_okz8TestLocBaseIndependent.test_loc_empty_list_indexer_is_okG  s    GGFO584a2aS43?U1X6Rs86SA
 	FF1b5M2771bqb5>DTX	
 	FF2q5M2772A2q5>DTX	
 	FF2JAQU	
 56s   D D%c                    t        dg di      }|j                  d d  }||usJ |d d  |usJ |j                  d d d d f   |usJ t        j                  |d   j                  |d   j                        sJ g d|j                  d d df<   |d   g dk(  j                         sJ t        t        j                  j                  d      j                  d            }|d   |j                  d d df   usJ t        g d      }|j                  d d  }||usJ |d d  |usJ g d|d d	 t        |d d	 g dk(        sJ y )
Nr"   r   )rc   rc   rc   r9   rs   rc   r   r  r  rP   )
r   r&   rJ   shares_memory_valuesr>  r   r   r  r   )rL   original_df	sliced_dfr.   original_seriessliced_seriess         r0   &test_identity_slice_returns_new_objectz=TestLocBaseIndependent.test_identity_slice_returns_new_objectZ  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 #,3#)+00222 ryy,,Q/??HI!uBFF1a4L((( !!34'++A.O333q!888'=!$	1222r2   c                 b   t        t        t        d      t        d            ddg      }|j                         }|j                  d d df   }|dz  }t        j                  ||       |j                         }|j                  |j                  df   }|dz  }t        j                  ||       y )NrP   r"   r!   r   r9   )r   ziprU   r   r&   r'   r(   r
   )rL   requestr   rT  qzs         r0   test_loc_copy_vs_viewz,TestLocBaseIndependent.test_loc_copy_vs_viewx  s    c%(E!H-SzBFFHEE!S&M	Q
a#FFHEE!''3,	Q
a#r2   c                    t        j                  d      j                  }t        ddg|dz
  |g      }|j                  |dz
     }|j
                  d   }||k(  sJ |j                  |dz
  g   }|j
                  dg   }t        j                  ||       |j                  |dz
  |g   }t        j                  ||       y )Nr   r8   r9   r	   r   )rJ   iinfomaxr   r&   r   r'   r>   )rL   umaxr  r?   r/   s        r0   test_loc_uint64z&TestLocBaseIndependent.test_loc_uint64  s     xx!%%aVD1Hd#34"88A;!!!$($88QC=
vx0$(D)*
vs+r2   c                 h   t        j                  d      j                  }t        ddg|dz
  |g      }t	        j
                  t        d      5  |j                  d    d d d        t	        j
                  t        d      5  |j                  dg    d d d        y # 1 sw Y   >xY w# 1 sw Y   y xY w)Nr   r8   r9   r	   z-1r   r  )rJ   r  r  r   r   r   rW   r&   )rL   r  r  s      r0   !test_loc_uint64_disallow_negativez8TestLocBaseIndependent.test_loc_uint64_disallow_negative  s    xx!%%aVD1Hd#34]]840 	GGBK	 ]]840 	GGRDM	 			 		 	s   BB(B%(B1c           	          g d}t        |t        j                  t        j                  gt	        |      z  t
              d      }t        ddg      }||j                  d d df<   t        j                  ||       y Nr   rR   r   rT  r   rT  r   )	r   rJ   r   r   rl   rI   r&   r'   r(   rL   r   r/   r.   s       r0   *test_loc_setitem_empty_append_expands_rowszATestLocBaseIndependent.test_loc_setitem_empty_append_expands_rows  sf     RXXrvvhT&:&IJ

 Sz*q#v
b(+r2   c           	      H   g d}t        |t        j                  t        j                  gt	        |      z  t
              d      }t        ddg      }|d   j                  t        j                        |d<   ||j                  d d df<   t        j                  ||       y r
  )r   rJ   r   r   rl   rI   r  r   r&   r'   r(   r  s       r0   6test_loc_setitem_empty_append_expands_rows_mixed_dtypezMTestLocBaseIndependent.test_loc_setitem_empty_append_expands_rows_mixed_dtype  s     RXXrvvhT&:&IJ
 Sz*S'..*3q#v
b(+r2   c                     t        dgt        j                  gd      }t        ddgt              }|j                  d   |j                  d<   t        j                  ||       y )Nr4   r  r   rT  rF   )r   r   )r   rJ   r   r=   r&   r'   r(   rV  s      r0   *test_loc_setitem_empty_append_single_valuezATestLocBaseIndependent.test_loc_setitem_empty_append_single_value  sO    C5x89Sz7!f-v
b(+r2   c                    ddg}t        ddg      }|j                  j                  t        j                        |_        d}t        j                  t        |      5  ||j                  ddgdf<   d d d        d	}t        j                  t        |      5  ||j                  dddf<   d d d        y # 1 sw Y   CxY w# 1 sw Y   y xY w)
Nr8   r9   r   rT  r   z&None of .*Index.* are in the \[index\]r   r   )setting an array element with a sequence.)
r   r
   r  rJ   r   r   r   rW   r&   
ValueError)rL   r   r.   r   s       r0   $test_loc_setitem_empty_append_raisesz;TestLocBaseIndependent.test_loc_setitem_empty_append_raises  s     1vSz*88??288,7]]83/ 	'"&BFFAq63;	' :]]:S1 	$#BFF1Q38	$ 	$		' 	'	$ 	$s   B4C 4B= C	c                     t        ddgddgg      }|j                  t        j                  d         }t	        ddgd      }t        j                  ||       y )Nr8   r9   rP   rc   r   r   )r   r&   rJ   r   r   r'   r>   )rL   r.   r?   r  s       r0   test_indexing_zerodim_np_arrayz5TestLocBaseIndependent.test_indexing_zerodim_np_array  sO    AA'($Aq6"
vq)r2   c                 p    t        ddg      }|j                  t        j                  d         }|dk(  sJ y )Nr8   r9   r   )r   r&   rJ   r   )rL   r  r?   s      r0   %test_series_indexing_zerodim_np_arrayz<TestLocBaseIndependent.test_series_indexing_zerodim_np_array  s1    Aq6Nrxx{#{{r2   c                     g dd gdz  z   }t        |t        dd            }t        t        dd      t        j                        }g d|j                  ddd	<   t        j                  ||       y )
Nr  rc   i  i  r	   r  )rt   rv   rc   rP   r9   r8   r   r  )r   rU   rJ   r   r&   r'   r>   )rL   r   r/   r?   s       r0   test_loc_reverse_assignmentz2TestLocBaseIndependent.test_loc_reverse_assignment  s`    !TFQJ.$eD$&78eD$/rzzB#5

4R< 
vx0r2   c                 ^   t        d      D cg c];  }t        t        j                  j	                  d      j                         dz        = }}t        |dg      }t        |dg      }t        j                  ||       |rWt        j                  t        d      5  |D cg c]  }t        |       c}|j                  |j                  df<   d d d        nn|D cg c]  }t        |       c}|j                  |j                  df<   t        |dgt              j                  t              }t        j                  ||       |D cg c]  }t        |       c}|d<   t        |dgt              }t        j                  ||       y c c}w c c}w # 1 sw Y   YxY wc c}w c c}w )	Nrv   r9   g-q=r%   r   r   r   rF   )rU   rH   rJ   r   r   r   r'   r(   r   r   r   r=   r&   r
   r  rI   )rL   rM   _col_datar?   r/   r   s          r0   3test_loc_setitem_str_to_small_float_conversion_typezJTestLocBaseIndependent.test_loc_setitem_str_to_small_float_conversion_type  si    MRRSHUqC		--a0779EABUU8cU3Xu5
fh/ y@ MCK0Laq0L

6<<,-M M @H,H!U1X,HFJJv||S() C5FMMfUH!!&(3 *22AuQx2sXuEB
fh/' V 1MM M -I 3s0   A FF$F6FF%F*FF"c                    t        ddd      }|j                  dk(  |j                  dk(  z  }t        t        j
                  j                  d      j                  t        |      df      |	      }t        j                  ||      }|j                  t        dd         }|j                  |   }t        j                  ||       |j                  d
d  }|j                  t        dd         }|dd  }|j                  j                  d       |_        |j                  j                  d       |_        t        j                  ||       y )N1/1/2000z1/5/20005minfreqr  rz   r9   rP   r	   z1/4/2000r  )r   hourminuter   rJ   r   r   r  rl   r'   get_objr&   r   r   r
   
_with_freq)	rL   rY   rngr   rZ   r?   r   chunkr/   s	            r0   test_loc_getitem_time_objectz3TestLocBaseIndependent.test_loc_getitem_time_object  s   Zf=A#**"23II!!!$44c#h]C3
 jjo.a%ggdm
$
$42;'"#; ||..t4!2248
)r2   
spmatrix_t)
coo_matrix
csc_matrix
csr_matrixr;   c                 @   t        j                  d      }t        ||      }d\  }} |t        j                  |||      |      }t
        j                  j                  |      }t        d|      }t        j                  |j                  |   j                        }	|j                         |   }
t        j                  |	|
       |j                  |   j                  j                  }	t        j                   |t#        |            }
t        j                  |	|
       y )Nscipy.sparse)rv   ru   rR   r9   )r   importorskipgetattrrJ   eyer   sparsefrom_spmatrixrU   
nan_to_numr&   r   toarrayr'   assert_numpy_array_equalr  fullr   )rL   r,  r;   	sp_sparserowsr	  spmatrixr.   itr_idxr?   r/   s              r0   $test_loc_getitem_range_from_spmatrixz;TestLocBaseIndependent.test_loc_getitem_range_from_spmatrix  s     ''7	Y
3

 
dbffT4u=UK++H5 4.rvvg556##%g.
##FH5 ''..774U!34
##FH5r2   c           	          t        dt        j                  ddgt        d            i      }|j                  ddg   }t        j                  ||       y )Nr%   r   r   rR   r8   )r   r   r   r   r&   r'   r(   r  s      r0   ,test_loc_getitem_listlike_all_retains_sparsezCTestLocBaseIndependent.test_loc_getitem_listlike_all_retains_sparse3  sF    RXXq!fK4HIJKA
fb)r2   c                 0   t        j                  d      }t        j                  j	                  |j                  dt        j                              }|j                  t        d         }t        g dg dgt        t        j                              }t        j                  ||       |j                  t        d         j                  t        d         }t        g dgt        t        j                              }t        j                  ||       y )Nr1  rv   rR   r9   )r8   r   r   r   r   )r   r8   r   r   r   r8   )r   r2  r   r5  r6  r4  rJ   r   r&   rU   r   r'   r(   )rL   r;  r.   r?   r/   s        r0   test_loc_getitem_sparse_framez4TestLocBaseIndependent.test_loc_getitem_sparse_frame8  s    ''7	++IMM!288M,LMa!o.bhh'
 	fh/a!%%eAh/o.k"((6KL
fh/r2   c                 ~   t        g dt        dd            }|j                  t        d         }t        ddgt        dd            }t	        j
                  ||       |j                  t        d         j                  t        d         }t        ddgt        dd            }t	        j
                  ||       y )N)r4   r  r  r  r  r   r  rR   r9   r4   rP   )r   r   r&   rU   r'   r>   )rL   r  r?   r/   s       r0   test_loc_getitem_sparse_seriesz5TestLocBaseIndependent.test_loc_getitem_sparse_seriesH  s    ,K	34OPuQx3*K	3,GH
vx0uQx$$U1X.3*K	3,GH
vx0r2   r&   r   c                     t        g dg dgt        t                    }t        ||      d   }t	        g dt        t              d      }t        j                  ||       y )N)r4   r        ?)r  r5   r  rR   r   )r;   r<   )r   r   r=   r3  r   r'   r>   )rL   r   r.   r?   r/   s        r0   !test_getitem_single_row_sparse_dfz8TestLocBaseIndependent.test_getitem_single_row_sparse_dfT  sN     9UASTW%a(/U1C!L
vx0r2   key_typec                      |g d      }|j                   d d |f   }|j                   d d g df   }t        j                  ||       y )Nr   )r&   r'   r(   )rL   float_framerI  idxr?   r/   s         r0   test_loc_getitem_iterablez0TestLocBaseIndependent.test_loc_getitem_iterable\  sA    'C(??1o#56
fh/r2   c                 ,   t        t        j                  j                  d      j	                  d            }t        ddd      |_        |j                  t        d      d d d f   }|j                  dd d d f   }t        j                  ||       y )Nr9   r  r,  0srs   r  startrh   r$  )r   rJ   r   r   normalr   r
   r&   r   r'   r(   r   s       r0   #test_loc_getitem_timedelta_0secondsz:TestLocBaseIndependent.test_loc_getitem_timedelta_0secondsc  sw    ryy,,Q/66G6DE"rD66)D/+Q./q!
fh/r2   val,expected)    r8   )            r9   c                     t        ddgddg      }|j                  |   }t        |g      }||_        t	        j
                  ||       y )Nr8   r9   rU  rV  r	   )r   r&   r   r<   r'   r>   )rL   rD  r/   r.   r?   s        r0   test_loc_getitem_uint64_scalarz5TestLocBaseIndependent.test_loc_getitem_uint64_scalark  sI     1vi%788*%
vx0r2   c                     |}t        g dt        g d|            }|j                         }d|j                  d<   d|j                  d<   t        j                  ||       y )Nr  )r         ?r8   rR   r	   zoor8   r9   )r   r   r   r&   r   r'   r>   )rL   float_numpy_dtyper;   r  r/   s        r0   +test_loc_setitem_int_label_with_float_indexzBTestLocBaseIndependent.test_loc_setitem_int_label_with_float_indext  sP    !_E+U,KL88:
 a
sH-r2   zindexer, expected)
ra   r8   r9   rP   rc   rv   rt   ru   re   r  )
r   r8   r9   rP   ra   ra   ra   ra   re   r  )
r   r8   r9   ra   rc   ra   rt   ru   re   r  c                     t        t        d      d      }t        dt        d      id|      }d|j                  |j                  |   df<   t        ||dgd      }t        j                  ||       y )	Nrs   r  r  r   r   r;   r
   ra   r  )r   rU   r   r&   r
   r'   r(   )rL   r   r/   tdir.   s        r0   /test_loc_setitem_listlike_with_timedelta64indexzFTestLocBaseIndependent.test_loc_setitem_listlike_with_timedelta64index  sq     593/U2Y'wcB)+rxx #%&E	
 	h+r2   c                    t        g dt        d      d      }t        j                  t        d      5  t        ddgddg      |j                  d	d
df<   t        ddgddg      |j                  d
ddf<   d d d        y # 1 sw Y   y xY w)Nr8   r8   r8   r8   r8   aaaaar   r   r   r!   r"   
categoriesr8   r9   rP   )r   rV   r   r   r   r   r&   r   s     r0   8test_loc_setitem_categorical_values_partial_column_slicezOTestLocBaseIndependent.test_loc_setitem_categorical_values_partial_column_slice  s     _4=AB]]9O< 	N*C:3*MBFF1Q38*C:3*MBFF1Q38	N 	N 	Ns   ABBc                 T   t        dgdgd      }t        |d   g d      }||j                  d d df<   |d   }t        ||j                  d      j                  |st        nd      }t        j                  ||       ||d<   t        j                  |d   t        |d	             y )
Nr"   r   )AlphaNumericri  r  re  r   rH   r   )	r   r   r&   r   r
   r  rI   r'   r>   )rL   rM   r.   rf  r?   r/   s         r0   'test_loc_setitem_single_row_categoricalz>TestLocBaseIndependent.test_loc_setitem_single_row_categorical  s    #A378 GI
 (q'zG*BHH7CJJ,F%
 	vx0 !7
r'{F:G,LMr2   c                    t        dt        d      gdz  i      }t        j                  d      |j                  dddf<   t        d      |j                  d   k(  sJ t        d      |j                  d   k(  sJ t        j                  t        d	
      5  t        ddd      |j                  d<   d d d        y # 1 sw Y   y xY w)Nr]   z
2010-10-01rP   z
2008-08-08r   r8   )r   r]   )r8   r]   r   r   i  rv   )r9   r]   )	r   r   rJ   r~  r&   r   r   r   r   r   s     r0   "test_loc_setitem_datetime_coercionz9TestLocBaseIndependent.test_loc_setitem_datetime_coercion  s    i56:;<==6qsCx&"&&.888&"&&.888]]9O< 	.!$1-BFF6N	. 	. 	.s   B::Cidxervarc                 b   |}t        ddd|      }t        d|dg      }t        |dgt        j                        }|dk(  r8t	        j
                  t        d	
      5  ||j                  d d |f<   d d d        y ||j                  d d |f<   t        j                  ||       y # 1 sw Y   y xY w)Nz
2015-07-12rP   rw  )rQ  rh   r$  tzr  ro  r  r  r   r   )
r   r   rJ   r   r   r   r   r&   r'   r(   )rL   rn  tz_naive_fixturerq  rL  r/   r?   s          r0   !test_loc_setitem_datetimeindex_tzz8TestLocBaseIndependent.test_loc_setitem_datetimeindex_tz  s     |QSRHSeW= ugRZZHE>y@ 0'/

1e8$0 0 $,FJJq%x !!&(30 0s   B%%B.c                    t        ddd      }t        t        j                  j	                  d      j                  t        |      df      |      }t        dd	d	      }t        t        d
d	d	      t        dd	d	            }g d}g d}|j                         }d	|j                  |<   |j                  |   }|j                  |   j                         }d	|j                  d d  t        j                  ||       |j                         }d	|j                  |<   |j                  |   |j                  |<   t        j                  ||       |j                         }d	|j                  |<   |j                  |   }|j                  |   j                         }d	|j                  d d  t        j                  ||       |j                         }d	|j                  |<   |j                  |   |j                  |<   t        j                  ||       y )Nz
2012-01-01z
2012-01-0530minr#  r9   rv   r	   r   r         )   H   x      )         J   K   L   z   {   |            )r   r   rJ   r   r   r  rl   r   r   r   r&   r'   r(   r   )	rL   r
   r.   akeybkeyaindsbindsr?   r/   s	            r0   test_loc_setitem_time_keyz0TestLocBaseIndependent.test_loc_setitem_time_key  s   <GDII!!!$44c%j!_EU
 B1~T"a^T"a^4"F

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

4775>

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

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

4775>

4
fb)r2   r_   c                    t        j                  g d      }t        g dg dg|      }|j                         }t	        j
                  dd      |j                  d d |f<   t        g dg d	g|      }t        j                  ||       |j                  d
      }t	        j
                  dd      |j                  d d |f<   |j                  d
      }t        j                  ||       y )N))r%   rc   )r   3)r%   rE   r   rc   rv   rt   r   r9   r9   r   rR   )r   r9   r   )r   rv   r   r8   r  )
r   from_tuplesr   r   rJ   zerosr&   r'   r(   r  )rL   r_   rp  r.   rZ   r/   s         r0   ,test_loc_setitem_unsorted_multiindex_columnszCTestLocBaseIndependent.test_loc_setitem_unsorted_multiindex_columns  s     ##$FG	9-r:ggi((693i3R@
c8,]]]"&8q#v&&A&.
b(+r2   c                     t        g d|      }d|j                  d<   t        g d|      }t        j                  ||       y )Nr   rR   rc   r   )rc   r9   rP   r   r&   r'   r>   )rL   any_int_numpy_dtyper+   r/   s       r0   test_loc_setitem_uint_dropz1TestLocBaseIndependent.test_loc_setitem_uint_drop  s;     	)<=

1)+>?
vx0r2   c                 b   t        dt        j                  dd      gz        }t        j                  dd      |j                  g d<   t        dt        j                  dd      gz        }t	        t        j                  dd            |j                  g d<   t        j                  ||       y )Nrs   rx  ra   r   )r   rJ   timedelta64r&   r   r'   r>   )rL   r  r/   s      r0   test_loc_setitem_td64_non_nanoz5TestLocBaseIndependent.test_loc_setitem_td64_non_nano  s    R2>>"c2334^^B4	"r3 7889"+BNN2s,C"DY
sH-r2   c                    t         j                  j                  d      j                  d      }t	        t        d      d      }d}t        j                  t        |      5  ||j                  t        d      <   d d d        t        j                  t        |      5  ||j                  d d  d d d        y # 1 sw Y   =xY w# 1 sw Y   y xY w)Nr9   r  r   rR   r  r   )
rJ   r   r   r  r   rU   r   r   r  r&   )rL   r   r  r   s       r0    test_loc_setitem_2d_to_1d_raisesz7TestLocBaseIndependent.test_loc_setitem_2d_to_1d_raises  s    yy$$Q'77?U1XY/9]]:S1 	% $CGGE!H	% ]]:S1 	CGGAJ	 		% 	%	 	s   "B7C7C Cc                     t        j                  dd      }t        g dg dg dg|g d      }d	}|j                  d
   }t	        j
                  ||       y )Nr   rP   )rQ  rh   r   r  r  r   r  r8   )rZ  r%   )r   interval_ranger   r&   r'   assert_almost_equal)rL   r
   r.   r/   r?   s        r0   test_loc_getitem_interval_indexz6TestLocBaseIndependent.test_loc_getitem_interval_index  sQ    !!15	9-UO
 !
vx0r2   c                    t        j                  ddd      }t        g dg dg dg|g d	      }t        j                  dd
dd      }t        ddg|d      }|j                  d   }t        j                  ||       y )Nr   rP   both)rQ  rh   closedr   r  r  r   r  r9   r8   )rQ  rh   r$  r  rc   r%   r   r8   r%   )r   r  r   r   r&   r'   r>   )rL   r
   r.   	index_expr/   r?   s         r0    test_loc_getitem_interval_index2z7TestLocBaseIndependent.test_loc_getitem_interval_index2&  su    !!1VD	9-UO
 %%AqqP	1a&	<
vx0r2   tplr8   r8   r9   c                     t        ddgdd      }t        |      }|j                  |g   }t        |gdd      }t        |      }t        j                  ||       y )Nr  r  r%   Fr<   tupleize_colsr	   )r   r   r&   r'   r(   )rL   r  rL  r.   r?   r/   s         r0   +test_loc_getitem_index_single_double_tupleszBTestLocBaseIndependent.test_loc_getitem_index_single_double_tuples2  s`     6N

 S!SE593'
fh/r2   c                     t        dddg      } |dd      } |dd      }t        ||gdd	
      }t        ddg|ddg      }|j                   |dd         d   }|dk(  sJ y )N	IndexTyper"   r!   r   r   r  bofcomposite_indexFr  r  )rP   rc   r%   r   r  r8   )r   r   r   r&   )rL   r  idx1idx2r
   r.   r?   s          r0   !test_loc_getitem_index_namedtuplez8TestLocBaseIndependent.test_loc_getitem_index_namedtupleA  sz    {S#J7	&&tTl):%P'usCjI	%/05{{r2   c                    t        t        j                  j                  d      j	                  d      g dg d      }d|d<   t        j
                  |j                  |j                  d d d   df<   t        t        j
                  dt        j
                  dt        j
                  g|st        nd      j                  }t        j                  |d   j                  |       y )	Nr9   rv   rP   )r"   r!   r]   r  r  r  r  quxrH   rR   )r   rJ   r   r   r  r   r&   r
   r   rI   r   r'   r  )rL   rM   r.   r/   s       r0   $test_loc_setitem_single_column_mixedz;TestLocBaseIndependent.test_loc_setitem_single_column_mixedK  s    II!!!$44V<+)

 5	')vvrxx!}e#$VVUBFFE2662 2&
 & 	 	r%y//:r2   c                 ,   t        t        j                  j                  d      j                  d      t	        d            }t        j
                  |d<   t        j                  t        d      5  d|j                  d	<   d d d        y # 1 sw Y   y xY w)
Nr9   )rz   rP   ABCr   eventr   r   r   )rs   r  )
r   rJ   r   r   tupler   r   r   r   r&   r   s     r0   test_loc_setitem_cast2z-TestLocBaseIndependent.test_loc_setitem_cast2Y  sl     ryy,,Q/66w?uVff7]]9O< 	("'BFF;	( 	( 	(s   1B

Bc                    t        dt        j                  dt        j                        i      }d|j                  d<   |j
                  j                  t        j                  t        j                        k(  sJ t        j                  d      |_        |j
                  j                  t        j                  t        j                        k(  sJ y )Nonert   rR   )r8   r  ru   )r   rJ   r   int8r&   r  r  r;   r   s     r0   test_loc_setitem_cast3z-TestLocBaseIndependent.test_loc_setitem_cast3a  s    ryy"'':;<xyy}} 1111yy}} 1111r2   c                      |t        d      g d      }g d}|j                  dk(  rdgdgdgg}||j                  t        d	      <    |g d
|j                        }t	        j
                  ||       y )Nrv   )rP   rc   r8   r   r9   r	   )r  rs   r  r9   r  rs   r  rP   )r   r8   rs   r  r  )rU   ndimr&   r
   r'   r   )rL   rY   rZ   r   r/   s        r0   test_loc_setitem_range_keyz1TestLocBaseIndependent.test_loc_setitem_range_keyi  se    eAho>88q=cB4"&F"a"#4CIIF
X&r2   c                     t        g dg dd      }t        ddgddg      |j                  dddf<   t        g dg dd      }t        j                  ||       y )	Nrc  r   r   r9   r8   re  r"   )r8   r9   r9   r8   r8   r   r   r&   r'   r(   r   s      r0   .test_loc_setitem_numpy_frame_categorical_valuezETestLocBaseIndependent.test_loc_setitem_numpy_frame_categorical_valuev  sW    _3LMN&1v1a&AqsCx?9RST
b(+r2   c                    t        dd      }t        t        t        j                  |g      t        ddg      d      j                  d      }|j                  t        t        j                  ||g|j                  j                        d	f   }g d
}|j                         |k(  sJ |j                  t        t        j                  g|j                  j                        d	f   }|j                         dgk(  sJ y )Nz
2023-01-01T)utcr   r8   )r
   r%  r
   rR   r%  r   )
r   r   r   r   r   r   r&   r
   r;   tolist)rL   r|  r.   r?   r/   s        r0   "test_loc_with_nat_in_tzaware_indexz9TestLocBaseIndependent.test_loc_with_nat_in_tzaware_index~  s    $7	 34A

 )G
 	 BFFIy1H
 }}(*** BFF8288>>2
 }}1#%%%r2   )lr   r   r   r   r   r   r   r   r   r   r   r   r   r  r
  r  r  r  r  r#  r&  r*  r9  r?  fixturerE  rJ   r   r   rH  rL  rN  rR  rW  rs  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r  r  r  r  r  arm_slowslowr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r+  
complex128r   boolr?  rA  rC  rE  rH  iterr   r   rM  rS  rX  r]  ra  rg  rk  rm  rs  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r2   r0   r   r     s   0 [[7&,u9UV6tU8ST6ud8STNvd|U3 7ud8STNufTl3 7tU8ST	
$%$* 
	11(!KF%(,&	 [[We}6P&QR S#%N 0*&$ ^^
 
 [[	
HBHHQbhh'/)RS$	$&$), 6*p [[V%OP: Q:",4 [[Yu6, 7,
,, [[Yu6, 7,6 [[Yu60 70.,,$,L [[SE5sD18288SE?C [[Wuhbhhuo&>?
3 @
3 [[ Q-.!Aq"&&"&&#9<H0 S#JABFFBFF+\Aq"&&"&&;QR0 O$"((3BFF^YArvv? q!T"O4L)BFFBFF+\?K0 q!T"O4)\2"((CBFFBFF+\?K0 tT4(3*5Aq6Ar7RH5SzJ
K8/Q/	
2f,g2f,	8	8	8. 0D [[[[[[\S#J8H+IJ 0 K   0D&
&3<$ ,",,,$*100*, [[\+UV[[Wr}}bjj"((D&QR6 S W6.*
0 
1 [[Y81 91 [[Z$&%)HI0 J00 [[^nj-IJ1 K1	. [[ /01a[<=V56	
	,	, NN&. [[Wuug&674 84  *D [[US3%#uT{1C$DE, F,1.
	1
1 [[UT6N30 40;(2',&r2   r   c                       e Zd Zej                  d        Zej                  d        Zd Zej                  j                  d      d        Z
d Zy)TestLocWithEllipsisc                     |S r   r   )rL   
indexer_lis     r0   r   zTestLocWithEllipsis.indexer  s
     r2   c                 :    |}|t         ur|j                         }|S r   )r   to_frame)rL   series_with_simple_indexrY   rZ   s       r0   rZ   zTestLocWithEllipsis.obj  s    &&(,,.C
r2   c                 F     ||      d   }t        j                  ||       y )N.)r'   r   )rL   rZ   r   r?   s       r0   test_loc_iloc_getitem_ellipsisz2TestLocWithEllipsis.test_loc_iloc_getitem_ellipsis  s    c"
$r2   3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                    |}|t         j                  u st        |      dk(  rdn|j                  d   }|t         j                  u r|j                  j
                  dk(  ry |t         j                  u rOt        |j                  t              r5d}t        j                  t        |      5   ||      d|gf   }d d d        n>t        |      dk7  r0 ||      d|gf   } ||      |g   }t        j                  ||       |t         j                  u rdn|j                  }|j                         }	 ||	      d|gf   } ||	      d d |gf   }t        j                  ||       y # 1 sw Y   nxY w)Nr   r7  z2MultiIndex does not support indexing with Ellipsisr   .)r'   r   rl   r
   r&   inferred_typer   r   r   r   NotImplementedErrorr>   r<   r  r(   )
rL   r  r   rZ   r_   r   r?   r/   key2r.   s
             r0   &test_loc_iloc_getitem_leading_ellipsesz:TestLocWithEllipsis.test_loc_iloc_getitem_leading_ellipses  sB   &rww&#c(a-aciilbff!8!8I!E bffCIIz!BFC2#> 2 cC5j12 2 X]S\#u*-Fs|SE*H""684rww&qCHH\\^S4&[)2;q4&y)
fh/2 2s   )E$$E-c                 j   |t         j                  u st        |      dk(  rdn|j                  d   }t	        j
                  t        t              5   ||      d    d d d        t	        j
                  t        t              5   ||      d|gdf    d d d        t	        j
                  t        t              5   ||      dd|f    d d d        t	        j
                  t        d      5   ||      |ddf    d d d        y # 1 sw Y   xY w# 1 sw Y   ~xY w# 1 sw Y   TxY w# 1 sw Y   y xY w)Nr   r   )...Too many indexers)r'   r   rl   r
   r   r   r   r   )rL   rZ   r   r_   s       r0   0test_loc_iloc_getitem_ellipses_only_one_ellipsiszDTestLocWithEllipsis.test_loc_iloc_getitem_ellipses_only_one_ellipsis  s   rww&#c(a-aciil]]=0EF 	#CL"	# ]]=0EF 	*CLseS)	* ]]=0EF 	(CLc3'	(
 ]]=0CD 	(CLc3'	( 	(	# 	#	* 	*	( 	(
	( 	(s0   DD;D-D)DDD&)D2N)r   r   r   r   r  r   rZ   r  r   filterwarningsr  r  r   r2   r0   r  r    s_    ^^  ^^ % [[ VW0 X00(r2   r  c                   r   e Zd Zej                  j                  dddgg dg dgfddgg dg dgfddgddgfg dg dgfddgddgfg dg d	gfddgddgfg dg d	gfddgddgfg dg dgfd
dgddgfg dg dgfg      ej                  j                  dddg      d               Zd Zd Zd Z	d Z
d Zd Zd Zd Zd Zd Zej                  j                  dej$                  ej(                  dej*                  f      d        Zd Zej                  j                  dd d!g      d"        Zd# Zd$ Zy)%TestLocWithMultiIndexzkeys, expectedr!   r"   )r!   r!   r"   r"   )r8   r9   r8   r9   )r"   r"   r!   r!   r8   r9   )r9   r8   r9   r8   r]   )r]   r"   r"   )r8   r9   r8   dimr
   rG   c                    |g dg dgi}t        t        j                  d      j                  dd      fi |}t	        j
                  |      }|dk(  r4|j                  |d d f   }t        j                  |j                  |       y |dk(  r4|j                  d d |f   }t        j                  |j                  |       y y )N)r]   r"   r"   r!   r!   )r8   r8   r9   r8   r9      rv   r
   rG   )r   rJ   r   reshaper   r   r&   r'   assert_index_equalr
   rG   )rL   r  keysr/   kwargsr.   	exp_indexr   s           r0   'test_loc_getitem_multilevel_index_orderz=TestLocWithMultiIndex.test_loc_getitem_multilevel_index_order  s      1?CDryy},,Q2=f=**84	'>&&q/C!!#))Y7I&&D/C!!#++y9 r2   c                    |}|j                   d   }|d   j                   d   }|j                  j                  |j                  j                  dd  k(  sJ |j                  j                  |j                  j                  dd  k(  sJ |j                   d   }|d   j                   d   }|j                  j                  |j                  j                  d   k(  sJ |j                  j                  |j                  j                  d   k(  sJ y )N  r%   r8   )r  r9   r9   )r&   r
   r`  r<   )rL   /multiindex_year_month_day_dataframe_random_dataymdr?   result2s        r0   test_loc_preserve_namesz-TestLocWithMultiIndex.test_loc_preserve_names  s    =c(,,t$||!!SYY__QR%8888}}""ciiooab&9999!c(,,w'||  CIIOOA$6666}}!!SYY__Q%7777r2   c                 
   t        j                  dgddgg      }t        d|      }|j                  g    }|d d }t	        j
                  ||       |j                  |j                  dd    }t	        j
                  ||       y )Nr   r8   r	   )r   from_productr   r&   r'   r>   r   )rL   rp  r  r   r/   res2s         r0   .test_loc_getitem_multiindex_nonunique_len_zerozDTestLocWithMultiIndex.test_loc_getitem_multiindex_nonunique_len_zero  sx    $$qcAq6]3Qb!ggbkr7
sH-wwsxx!}%
tX.r2   c                 t   t        d gt        j                  dgdgg            }|j                  d   }|J t        j                  dgddgg      }t        d gt        |      z  t        |      }|j                  d   }|J t        dgt        |      z  t        |      }|j                  d   }|dk(  sJ y )	NLevel1Level2)r  r  Level2_aLevel2_br_  )r  r  r8   )r   r   r   r&   r  rl   rI   )rL   r  r?   midxs       r0   0test_loc_getitem_access_none_value_in_multiindexzFTestLocWithMultiIndex.test_loc_getitem_access_none_value_in_multiindex
  s     dVZ33hZ(4LMN-.~~&&
Z4L'MNdVc$i'vTB/0~~aS3t9_F$?/0{{r2   c                     t        j                  t        g dg d      ddg      }t        g d|      }d|j                  d	d
 t        g d|      }t        j                  ||       y )N)r   r   r  r  r   r   r  r  )r  twor  r  r  r  r  r  firstsecondr_  )r8   r8   r8   r8   r8   r8   r8   r8   r	   r   )r  r  )r   r  )r8   r8   r   r   r   r   r8   r8   )r   r  r  r   r&   r'   r>   )rL   r
   r?   r/   s       r0   !test_loc_setitem_multiindex_slicez7TestLocWithMultiIndex.test_loc_setitem_multiindex_slice  sh     &&HH H%
 0>69

>N3:%H
vx0r2   c                     t        ddd      }t        t        d      |      }|j                  t	        ddd      t	        ddd       }t        j                  ||       y )NrA  10minr  r$  rh   il  r8   i4  )r   r   rU   r&   r   r'   r>   )rL   timesr  r?   s       r0   7test_loc_getitem_slice_datetime_objs_with_datetimeindexzMTestLocWithMultiIndex.test_loc_getitem_slice_datetime_objs_with_datetimeindex-  sR    <gvFU6]E*$1-q!0DE
vs+r2   c                    t        t        d      t        d      dt        ddd            }|j                  ddgd	d
gf   }t        ddgddgdt	        ddg      j                  d            }t        j                  ||       y )Nrs   r   z
2010-01-01z
2010-01-10r  r  r	   z
2010-01-05r"   r!   r   rc   )r   rU   r   r&   r   r  r'   r(   r   s       r0   3test_loc_getitem_datetime_string_with_datetimeindexzITestLocWithMultiIndex.test_loc_getitem_datetime_string_with_datetimeindex3  s    )%),\<dC
 |4sCj@Aa&1v&| <=EEdK
 	fh/r2   c           	      @   t        j                  g dddg      }t        ddgddgd	d
gddgddgddgg|ddg      }|j                  d      }t        ddgddgddggddg|j	                  g d            }|j
                  d   }t        j                  ||       y )N)r   r   r  bahbamr  r  r  r%   r   r_  r4   r8   r5   r9   r6   rP   r7   rc         @rv         @rt   r   r=  r  r   )level)r   r8   rc   r   r  )r   r  r   r  r  r&   r'   r(   )rL   rp  r.   r/   r?   s        r0   3test_loc_getitem_sorted_index_level_with_duplicateszITestLocWithMultiIndex.test_loc_getitem_sorted_index_level_with_duplicates@  s    ## *

 aaaaaa #J
 ]]]#1XQx#q*S#JbggiFX
 '
fh/r2   c                     t        g dd      }d|j                  d<   t        g dd      }t        j                  ||       y )Nr  categoryrR   r   rP   )r"   r!   r]   r   rI   r  rL   r?   r/   s      r0   1test_additional_element_to_categorical_series_loczGTestLocWithMultiIndex.test_additional_element_to_categorical_series_locb  s8    z:

1,H=
vx0r2   c                     t        g dd      }d|j                  d<   t        g dd      }t        j                  ||       y )Nr  r  rR   r"   rP   r"   r!   r]   r"   r  r  s      r0   'test_additional_categorical_element_locz=TestLocWithMultiIndex.test_additional_categorical_element_loci  s8    z:

1.jA
vx0r2   c           	      
   t        g dt        t        g d|                  }t        j                  |j
                  d<   t        dddt        j                  gt        t        g d|                  }t        j                  ||       t        j                  |j
                  d<   t        dt        j                  dt        j                  gt        t        g d|                  }t        j                  ||       y )Nr   rR   rP   r8   r9   )r   r   r   rJ   r   r&   r'   r>   )rL   any_numeric_ea_dtypesrsr/   s       r0   &test_loc_set_nan_in_categorical_seriesz<TestLocWithMultiIndex.test_loc_set_nan_in_categorical_seriesp  s    "5:N#OP

 VV
1bff"5:N#OP
 	sH-VV
266""5:N#OP
 	sH-r2   naNc                     t        g dd      }||j                  d<   t        g dd      }||j                  d<   t        j                  ||       t        ddd|gd      }t        j                  ||       y )	Nr  r  rR   rP   r  r"   r!   r]   r  )rL   r!  srs_enlargesrs_setintor/   s        r0   ,test_loc_consistency_series_enlarge_set_intozBTestLocWithMultiIndex.test_loc_consistency_series_enlarge_set_into  sn     _J?1D
{K83S"-Z@
{H5r2   c           
         t        t        j                  ddd      t        t	        ddg      t        d      gdgdz  dgdz  z   t        d      gd	d
g            }t	        ddgddgdd	d      }|j                  j                  d   }t        j                  ||       |j                  dg   j                  j                  d   }t        j                  ||       y )Nr9      r"   r!   rs   r   rv   r8   Index1Index2)ro  codesr`  )r   r
   Fr  )rf  orderedr<   r;   )r   rJ   r   r   r   rU   r
   ro  r'   r  r&   r   s       r0   5test_loc_getitem_preserves_index_level_category_dtypezKTestLocWithMultiIndex.test_loc_getitem_preserves_index_level_category_dtype  s    1b!$(#s4eBi@sQw!q(%)4*
 $#JSz
 #
fh/$$++A.
fh/r2   lt_valuerz   rs   c                     t        dg dit        d      g dg      }t        j                  t        d      5  |j
                  |d   |k  d d f   j
                  dgd d f    d d d        y # 1 sw Y   y xY w)	Nr"   )r      "   -   aabbr   r8   r9   rP   r	   z\['b'\] not in indexr   r!   )r   rV   r   r   rW   r&   )rL   r-  r.   s      r0   >test_loc_multiindex_levels_contain_values_not_in_index_anymorezTTestLocWithMultiIndex.test_loc_multiindex_levels_contain_values_not_in_index_anymore  sn     -.tF|\6RS]]8+BC 	8FF2c7X%q()--seQh7	8 	8 	8s   ,A//A8c                 J   t        j                  t         j                  t         j                  g      }ddg}t        j                  ||g      }t        ddg|      }|j                  d d df   }t        dgt         j                  g      }t        j                  ||       y )Nr   r  r   r8   r	   )	rJ   r   r   r   r   r   r&   r'   r>   )rL   lev1lev2rp  r  r?   r/   s          r0   'test_loc_multiindex_null_slice_na_levelz=TestLocWithMultiIndex.test_loc_multiindex_null_slice_na_level  s    xx()u~##T4L1aV2&E" 1#bffX.
vx0r2   c                 8   t        j                  t        d      t        d      ddggg d      }t        t	        d      |      }|j
                  d	d d d d f   }|j                  j                  d
      d d }t        j                  |j                  |       y )Nabxyr8   r9   )r:  r;  numr_  re   r	   r"   r   rc   )
r   r  rV   r   rU   r&   r
   	droplevelr'   r  )rL   rp  r  
loc_resultr/   s        r0   test_loc_drops_levelz*TestLocWithMultiIndex.test_loc_drops_level  s     $$$ZdaV,4G
 U1XR(WWS!QY'
99&&q)"1-
j..9r2   )r   r   r   r   r   r   r  r  r  r   r  r
  r  r  r  r  r   rJ   r   r   NAr   r%  r,  r4  r8  r?  r   r2   r0   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
:r2   r  c                   d   e Zd Z ej                  d      d        Zd Zd Zd Zd Z	d Z
ej                  j                  dd	 d
 d d gg d      d        Zd Zd Zd Zd Zej                  j'                  d      ej                  j                  dddg      d               Zd Zd Zd Zy)TestLocSetitemWithExpansionpyarrowc                    t        t        d      j                         gd      }t        dt	        d      i|      }t        d      j                         }d|j
                  |<   t        |d   |g|j                        }t        j                  |j                  |       |d   j                  d d }d|j
                  |<   t        j                  |j                  |       y )	Nr   zdate32[pyarrow]rR   r%   r8   r	   z
1970-01-02r  )r   r   r   r   rU   r&   r;   r'   r  r
   r   )rL   rL  r.   itemr  r  s         r0   2test_loc_setitem_with_expansion_preserves_ea_dtypezNTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_preserves_ea_dtype  s     Yq\&&()1BCU1Xc2&++-t3q64.		:	
bhh	2gll3B
cii3r2   c                 0   d}|j                         5  |j                  t        d|       t        dt	        |      id      }||j
                  |<   d d d        t        dt	        |dz         id      }t        j                  |       y # 1 sw Y   ;xY w)N2   _SIZE_CUTOFFr   r   rR   r8   )contextsetattrlibindexr   rU   r&   r'   r(   )rL   monkeypatchsize_cutoffr?   r/   s        r0   /test_loc_setitem_with_expansion_large_dataframezKTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_large_dataframe  s      " 	2.+FU;%78HF&1FJJ{#	2 c5q#9:'J
fh/	2 	2s   ?BBc           
         t        t              }d|j                  d<   t        j                  |t        dgt        dd                   d|j                  d<   t        j                  |t        ddgddg             y )NrR   r8   r9   r	   rP   r   rI   r&   r'   r>   rU   rL   r  s     r0   test_loc_setitem_empty_seriesz9TestLocSetitemWithExpansion.test_loc_setitem_empty_series  sf     6"

sFA3eAqk$BC

sFAq6!Q$@Ar2   c           
         t        t              }d|j                  d<   t        j                  |t        dgt        dd                   d|j                  d<   t        j                  |t        ddgddg             y )NrR   r4   r8   r9   r	   r6   rP   rQ  rR  s     r0   #test_loc_setitem_empty_series_floatz?TestLocSetitemWithExpansion.test_loc_setitem_empty_series_float  sf     6"

sFC5a$DE

sFC:aV$DEr2   c           
         t        t              }d|j                  d<   t        j                  |t        dgt        dg                   d|j                  d<   t        j                  |t        ddgt        ddg                   d|j                  d<   t        j                  |t        g dt        g d	                   y )
NrR   r8   r   r	   rP   r   rc   )r8   rP   rc   )r   r   rP   )r   rI   r&   r'   r>   r   rR  s     r0   %test_loc_setitem_empty_series_str_idxzATestLocSetitemWithExpansion.test_loc_setitem_empty_series_str_idx  s     6"
sFA3eUGn$EF
sFAq6u~9N$OP

sF9EBS<T$UVr2   c                 $   t        dddt        d            }t        d      D cg c]  }|t        |dz        z    }}t	        d	g|d	   g
      }|D ]  }d|j
                  |<    t	        d|
      }t        j                  ||       y c c}w )Nr   r  r8   
US/Pacific)tzinfo   r  )secondsr   r	   )r   r   rU   r   r   r&   r'   r>   )rL   baser  idxsr?   tsr/   s          r0   %test_loc_setitem_incremental_with_dstzATestLocSetitemWithExpansion.test_loc_setitem_incremental_with_dst  s    b!E,,?@;@9EayS11EEDG9- 	BFJJrN	!4(
vx0 Fs   Bconvc                     | S r   r   r5  s    r0   r6  z$TestLocSetitemWithExpansion.<lambda>  s    a r2   c                 "    | j                         S r   )to_datetime64r5  s    r0   r6  z$TestLocSetitemWithExpansion.<lambda>      aoo' r2   c                 "    | j                         S r   )to_pydatetimer5  s    r0   r6  z$TestLocSetitemWithExpansion.<lambda>  re  r2   c                 ,    t        j                  |       S r   )rJ   r~  r5  s    r0   r6  z$TestLocSetitemWithExpansion.<lambda>  s    bmmA& r2   )rL   rd  rg  znp.datetime64)idsc           	      F   t        d      }t        d      }t               }d|j                   ||      df<   d|j                   ||      df<   t        dddgit         ||       ||      g|rd nt              t        dg      	      }t        j                  ||       y )
Nz20130101 09:00:00z20130101 10:00:00r   r  r   g      Y@g      i@rR   r  )r   r   r&   r   rI   r'   r(   )rL   ra  rM   dt1dt2r.   r/   s          r0   #test_loc_setitem_datetime_keys_castz?TestLocSetitemWithExpansion.test_loc_setitem_datetime_keys_cast  s     +,+,[#&tCy% #&tCy% UEN#cDI&6Hdf 5'N
 	b(+r2   c                     t        ddgi      }t        dg|      |j                  d d df<   t        dgt        dg|      d      }t        j                  ||       y )Nr%   r8   r!   )r+  r   r   r  )rL   r+  r?   r/   s       r0   1test_loc_setitem_categorical_column_retains_dtypezMTestLocSetitemWithExpansion.test_loc_setitem_categorical_column_retains_dtype+  sW    C!:&(#@

1c6A3[#-PQR
fh/r2   c                 ~   t        dd      }t        dd      }t        dd      }t        ||dd      }||vsJ t        |d	g
      }d|j                  |d	f<   t        t        j
                  gt        |      z  dgz   |j                  t        |g            d	gt              }t        j                  ||       y )Nz2017-10-29 00:00:00+0200zEurope/Madridrq  z2017-10-29 03:00:00+0100z2016-10-10 03:00:00leftrw  )	inclusiver$  r%  r  r   r  )r   r   r   r&   rJ   r   rl   appendr   rI   r'   r(   )rL   rQ  endr_  rL  r?   r/   s          r0   0test_loc_setitem_with_expansion_and_existing_dstzLTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_and_existing_dst2  s    4I2G,AvC@}}wi8"$

2w;VVHs3x2$&**]B401I	
 	fh/r2   c                     t        t        ddg      dg      }ddg|d<   |j                  d      j                  j	                  d      |_        ||j                  dk(     j                  d      j                  j                  d	      }|j                         }||j                  |j                  dk(  df<   t        |d
   j                  d      |j                  d   gd      }t        j                  |j
                  |       |j                  |j                  dk(  df   t        d      j                  d      z   }||j                  |j                  dk(  df<   t        j                  |j                  |j                  dk(  df   |       y )Nz2015-03-30 20:12:32z2015-03-12 00:11:11r   r   newoldnew_colr  rY  r   )r8   r   r   1sr  )r   r   r   r
   r  r   rz  
tz_convertr   r&   r   r'   r>   r   r  )rL   r.   vr   r/   s        r0   test_setitem_with_expansionz7TestLocSetitemWithExpansion.test_setitem_with_expansionD  sV   35JKLH
 9,,v&,,88?rzzU"#--f5;;FF|T ggi01u$f,-1Q4??51266)3DEFS
sxx2FF2::&./)D/2I2I#2NN./rzzU"F*+
rvvbjjE&96&ABAFr2   c                 .   t               }d|j                  d<   d|j                  d<   d|j                  dt        j                  f<   |j                  }t        ddt        j                  gt        j                        }t        j                  ||       y )Nr8   r  r9   )r8   r8   rP   r   rR   )	r   r&   rJ   infrG   r   r   r'   r  r   s       r0   0test_loc_setitem_with_expansion_inf_upcast_emptyzLTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_inf_upcast_emptyZ  sl    [ttq"&&y!Qrzz:
fh/r2   z"ignore:indexing past lexsort depthr  TFc                 `   t        |      st        j                  d       |j                  d      }t        |      }t	        j
                  |      j                  t        j                        }t        ||      }d}||vsJ |j                  t        |      |      }t        |t              r|d   d   |k(  sJ |d   |k(  sJ t	        j
                  |dz         j                  t        j                        }t        ||      }	|j                         }
|r|
d d  }||
j                  |df<   t        j                   |
|	       |j                         d   }|r|d d  }||j                  |<   |	d   j                  t        j                        }	t        j"                  ||	       |j                         }
|r|
d d  }||
j                  |df<   t        g t%        |      t        j&                  t        j&                  g|z  t)        |      gz   d|      }	t        j                   |
|	       y )	NzNot relevant for empty Indexr9   r	   kapowr  r   r8   r   r8   )rl   r   skiprepeatrJ   r   r  r   r   insertr   r   r   r   r&   r'   r(   r>   rV   r   r=   )rL   r
   r  Narrorigr_   r  exp_datar/   r.   r  r  s                r0   /test_loc_setitem_with_expansion_nonunique_indexzKTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_nonunique_indexe  s    5zKK67QJiil!!"((+E* % LLUS1	eZ(R=#s***R=C'''99QU#**2::6XY7 YY[a5DsAv
b(+ iik!nq6DA;%%bhh/
sH- YY[a5DsAv$$s)$RVV$"&&Aq
)BC
 	b(+r2   c                 t   t        g d|      }t        d|i      }t        |j                        }||j                  |j                  df<   t	        j
                  ||d       t        |j                        }|j                  |j                  |j                  df<   t	        j
                  ||d       y )Nr3  rR   r   r	   Fr  )r   r   r
   r&   r'   r(   r  )rL   r  r  r.   r?   s        r0   6test_loc_setitem_with_expansion_preserves_nullable_intzRTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_preserves_nullable_int  s     \)=>}%*'*

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

288V#$
fbEBr2   c                    t        dt        d      i      }t        ddd      }||j                  g ddf<   |j	                  t        t        j                  t        j                  g|j                  	            }t        t        d      |d
      }|j                  d   |j                  k(  sJ t        j                  ||       y )Nr%   rv   
2016-01-01rP   rY  rh   rq  ro   r   rR   r   )r   rU   r   r&   rt  r   r   r   r;   r  r'   r(   )rL   r.   rD  bexr/   s        r0   #test_loc_setitem_ea_not_full_columnz?TestLocSetitemWithExpansion.test_loc_setitem_ea_not_full_column  s    U1X'q\B!$y#~jj'7syyIJ58#67s#syy000
b(+r2   c           	         t        g dg dd      }d|j                  dddgf<   t        dd	d
t        j                  gdddt        j                  gt        j                  t        j                  t        j                  dgt        j                  t        j                  t        j                  dgdt	        g d            }t        j                  ||       y )Nr   r  r   [   r   r   r=  r4   r5   r6   r7   r  r  g     V@r<  )r   r8   r9   r   r	   )r   r&   rJ   r   r   r'   r(   r   s      r0   7test_loc_setitem_with_expansion_new_row_and_new_columnszSTestLocSetitemWithExpansion.test_loc_setitem_with_expansion_new_row_and_new_columns  s    YY78"$sS#J3RVV,3RVV,ffbffbffd3ffbffbffd3	 '
 	b(+r2   N)r   r   r   td
skip_if_norF  rO  rS  rU  rW  r`  r   r   r   rm  ro  rv  r~  r  r  r  r  r  r  r   r2   r0   rB  rB    s    R]]94 40BF
W1 [[''&		
 H  	,	,"00$G,	0 [[ DE[[Yu61, 7 F1,fC ,,r2   rB  c                   $    e Zd Zd Zd Zd Zd Zy)TestLocCallablec                    t        g dt        d      g dd      }|j                  d    }t        j                  ||j                  |j
                  dkD            |j                  d d d f   }t        j                  ||j                  |j                  dk(  d d f          |j                  d d	 f   }t        j                  ||j                  |j
                  dkD  g d
f          |j                  d d f   }t        j                  ||j                  |j
                  dkD  df          |j                  d d f   }t        j                  ||j                  |j
                  dkD  ddgf          |j                  d d f   }t        j                  ||j                  |j
                  dk(  ddgf          |j                  d d f   }||j                  d   k(  sJ y )Nr8   r9   rP   rc   r2  r   c                      | j                   dkD  S Nr9   r%   r5  s    r0   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>      qssQw r2   r9   c                      | j                   dk(  S )Nr!   )r   r5  s    r0   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    qsscz r2   r!   c                      | j                   dkD  S r  r  r5  s    r0   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r2   c                      | j                   dk(  S Nr   r   r5  s    r0   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    !))s2B r2   )FTFc                      | j                   dkD  S r  r  r5  s    r0   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r2   c                      yr  r   r5  s    r0   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>      r2   r   c                      | j                   dkD  S r  r  r5  s    r0   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r2   c                 
    ddgS Nr%   r   r   r5  s    r0   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s
    3* r2   r%   c                      | j                   dk(  S r  r  r5  s    r0   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s    qssax r2   c                 
    ddgS r  r   r5  s    r0   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  s
    C: r2   c                      y)Nr8   r   r5  s    r0   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r2   c                      yr$   r   r5  s    r0   r6  zATestLocCallable.test_frame_loc_getitem_callable.<locals>.<lambda>  r  r2   r  )r   rV   r&   r'   r(   r%   r   r>   rL   r.   r   s      r0   test_frame_loc_getitem_callablez/TestLocCallable.test_frame_loc_getitem_callable  s   \V<PQ ff&'
c266"$$(#34ff)1,-
c266"$$#+q.#9:ff&(BBC
c266"$$(4H*H#IJff&56
sBFF244!8S=$9:ff&(<<=
c266"$$(S#J*>#?@ff')==>
c266"$$!)c3Z*?#@A ff[-/0bffVn$$$r2   c                    t        g dt        d      g dd      }|j                  d ddgf   }t        j                  ||j                  |j
                  dkD  ddgf          |j                  ddgd	 f   }t        j                  ||j                  ddgddgf          |j                  dd
 f   }t        j                  ||j                  dddgf          y )Nr  r2  r   c                      | j                   dkD  S r  r  r5  s    r0   r6  zITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>  r  r2   r%   r   r9   rP   c                 
    ddgS r  r   r5  s    r0   r6  zITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>  s
    Sz r2   c                 
    ddgS r  r   r5  s    r0   r6  zITestLocCallable.test_frame_loc_getitem_callable_mixture.<locals>.<lambda>  s
    3* r2   )r   rV   r&   r'   r(   r%   r>   r  s      r0   'test_frame_loc_getitem_callable_mixturez7TestLocCallable.test_frame_loc_getitem_callable_mixture  s    \V<PQff&c
23
c266"$$(S#J*>#?@ffaV112
c2661a&3**<#=>ffQ,,-
sBFF1sCj=$9:r2   c                    t        g dt        d      dt        d            }|j                  d    }t        j                  ||j                  ddg          |j                  d	 d d f   }t        j                  ||j                  ddgd d f          |j                  d
 d f   }t        j
                  ||j                  ddgdf          |j                  d d f   }t        j                  ||j                  ddgdgf          |j                  ddgd f   }t        j
                  ||j                  ddgdf          |j                  ddgd f   }t        j                  ||j                  ddgdgf          |j                  d df   }t        j
                  ||j                  ddgdf          |j                  d dgf   }t        j                  ||j                  ddgdgf          y )Nr  r2  Xru  r  r	   c                 
    ddgS Nr%   r   r   r5  s    r0   r6  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  
    Sz r2   r%   r   c                 
    ddgS r  r   r5  s    r0   r6  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r2   c                 
    ddgS r  r   r5  s    r0   r6  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r2   c                      yNr  r   r5  s    r0   r6  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r2   r  c                 
    ddgS r  r   r5  s    r0   r6  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  r  r2   c                     dgS r  r   r5  s    r0   r6  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>  s    cU r2   c                      yr  r   r5  s    r0   r6  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>	  r  r2   c                     dgS r  r   r5  s    r0   r6  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>	  s    C5 r2   c                 
    ddgS r  r   r5  s    r0   r6  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>		  r  r2   c                 
    ddgS r  r   r5  s    r0   r6  zHTestLocCallable.test_frame_loc_getitem_callable_labels.<locals>.<lambda>	  r  r2   )r   rV   r&   r'   r(   r>   r  s      r0   &test_frame_loc_getitem_callable_labelsz6TestLocCallable.test_frame_loc_getitem_callable_labels  s   \V=T&\R ff)*
c2663*#56ff)1,-
c2663*a-#89ff)=89
sBFFC:s?$;<ff)?:;
c2663*se*;#<= ffc3Z./
sBFFC:s?$;<ffc3Z01
c2663*se*;#<=ff)3./
sBFFC:s?$;<ff)C501
c2663*se*;#<=r2   c                    t        g dt        t        d      t              dt        d            }|j	                         }d|j
                  d <   |j	                         }d|j
                  d	d
g<   t        j                  ||       |j	                         }d|j
                  d d d f<   |j	                         }d|j
                  d	d
gd d f<   t        j                  ||       |j	                         }d|j
                  d d f<   |j	                         }d|j
                  d	d
gdf<   t        j                  ||       |j	                         }ddg|j
                  d d f<   |j	                         }ddg|j
                  d	d
gdgf<   t        j                  ||       |j	                         }t        j                  ddg      |j
                  d	d
gd f<   |j	                         }t        j                  ddg      |j
                  d	d
gdf<   t        j                  ||       |j	                         }d|j
                  d	d
gd f<   |j	                         }d|j
                  d	d
gdgf<   t        j                  ||       |j	                         }d|j
                  d df<   |j	                         }d|j
                  d	d
gdf<   t        j                  ||       |j	                         }d|j
                  d dgf<   |j	                         }d|j
                  d	d
gdgf<   t        j                  ||       y )Nr  r2  rR   r  r  r	   ic                 
    ddgS r  r   r5  s    r0   r6  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  
    3* r2   r%   r   ra   c                 
    ddgS r  r   r5  s    r0   r6  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>	  r  r2   r  c                 
    ddgS r  r   r5  s    r0   r6  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>$	  r  r2   c                      yr  r   r5  s    r0   r6  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>$	  r  r2   r  rv   rs   c                 
    ddgS r  r   r5  s    r0   r6  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>*	  r  r2   c                     dgS r  r   r5  s    r0   r6  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>*	  s     r2   r   c                      yr  r   r5  s    r0   r6  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>1	  r  r2   c                     dgS r  r   r5  s    r0   r6  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>7	  s    se r2   c                 
    ddgS r  r   r5  s    r0   r6  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>=	  r  r2   c                 
    ddgS r  r   r5  s    r0   r6  zATestLocCallable.test_frame_loc_setitem_callable.<locals>.<lambda>C	  r  r2   )
r   r   rV   rI   r   r&   r'   r(   rJ   r   )rL   r.   r   r   s       r0   test_frame_loc_setitem_callablez/TestLocCallable.test_frame_loc_setitem_callable	  s   VDL%GHv,
 ggi(+$%ggi!c

c3'ggi+-$a'(ggi!#c
A
c3'ggi79$m34ggi#%c
C 
c3'ggi:;R$o56ggi&'Wc
SE!"
c3' ggi-/XXr2h-?c
M)*ggi#%88RH#5c
C 
c3'ggi/1c
O+,ggi%'c
SE!"
c3'ggi-/$c)*ggi#%c
C 
c3'ggi/1$se+,ggi%'c
SE!"
c3'r2   N)r   r   r   r  r  r  r  r   r2   r0   r  r    s    %8;><7(r2   r  c                   l    e Zd Zd Zd Zd Zd Zej                  j                  dddg      d        Z
y)	TestPartialStringSlicingc                     t        g dg ddt        g d            }t        ddgdd	gdt        d
dg            }|j                  d   }t        j                  ||       y )Nr  r   )r   r   )
2020-08-01z
2020-07-02
2020-08-05r	   r"   r]   r8   rP   r  r  z2020-08)r   r   r&   r'   r(   r   s       r0   5test_loc_getitem_partial_string_slicing_datetimeindexzNTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_datetimeindexJ	  sf    $i8HI
 3Z!Q0|\:;
 	"
fh/r2   c                     t        j                  ddd      }|j                         }|j                  d d }|j                  d d }t        j                  ||       y )N
2017-01-01
2018-01-01rv  rQ  ru  r$  z2017-12r  )r   period_range	to_seriesr&   r   r'   r>   )rL   pir  r?   r/   s        r0   8test_loc_getitem_partial_string_slicing_with_periodindexzQTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_with_periodindexW	  sN    __<\Llln)$88CR=
vx0r2   c                     t        ddd      }|j                         }|j                  d d }|j                  d d }t	        j
                  ||       y )N1 day2 days1hr  z1 daysr  )r   r  r&   r   r'   r>   )rL   r   r  r?   r/   s        r0   ;test_loc_getitem_partial_string_slicing_with_timedeltaindexzTTestPartialStringSlicing.test_loc_getitem_partial_string_slicing_with_timedeltaindex_	  sJ    7tDlln(#88CR=
vx0r2   c                     t        dt        d      it        t        d      d            }|j                  d   }|j                  d   }t        j                  ||       y )Nr   rP   daysr  r	   r   0 days)r   rU   r   r   r&   r'   r>   )rL   r.   r/   sliceds       r0   #test_loc_getitem_str_timedeltaindexz<TestPartialStringSlicing.test_loc_getitem_str_timedeltaindexg	  sL    U1Xl58&.QR771:!
vx0r2   indexer_endN2020-01-02 23:59:59.999999999c                     |dgdz  t        t        d      t        d      t        d      t        d      t        d      g|      	      } |dgd
z  t        t        d      t        d      g|      	      }t        d|      }||   }t        j                  ||       |j
                  |   }t        j                  ||       y )Nr8   rv   z
2019-12-30z
2020-01-01z
2019-12-25r  z
2019-12-19rq  r	   r9   )r   r   r   r'   r   r&   )rL   tz_aware_fixturer  rY   rZ   r/   r   r?   s           r0   /test_loc_getitem_partial_slice_non_monotonicityzHTestPartialStringSlicing.test_loc_getitem_partial_slice_non_monotonicityn	  s    
 C!Gl+l+l+=>l+ $	
 #C!Gl+=> $	
 k2W
)!
)r2   )r   r   r   r  r  r  r  r   r   r   r  r   r2   r0   r  r  I	  sB    0111 [[]T3R,ST!* U!*r2   r  c                   H   e Zd Zd Zd Zej                  j                  d ej                  ddd       e
dd	d
      g      d        Zd Zd Zej                  j                  d ej                  dd      d edd      g ej                  dd       ej                  dd       edd      gd ej                  dd       edd      gg      d        Zej                  j                  dddg      d        Zej                  j                  dddg      d         Zd! Zy)"TestLabelSlicingc                 *   t        t        j                  dd      dD cg c]  }t        dd|dd       c}	      }t        t        j                  d
d      dD cg c]  }t        dd|dd       c}	      }||fD ]  }|j                  t        dddd      d  }t        j                  ||       |j                  d t        dddd       }t        j                  ||       |j                  t        dddd      t        dddd       }t        j                  ||       |j                  t        dddd      d  }|j                  dd  }t        j                  ||       |j                  dd  }t        j                  ||       
 y c c}w c c}w )Nr7   r   rR   r  i  r8   rs   r   r	   r  )r8   r9   r9   rP   rc   rc   r  z20010101 11)r   rJ   r   r   r&   r'   r(   r   )rL   r  	df_uniquedf_dupsr.   r?   r/   s          r0   (test_loc_getitem_slicing_datetimes_framez9TestLabelSlicing.test_loc_getitem_slicing_datetimes_frame	  sw    IIc+9EFA8D!QB/F
	 IIc+9HIA8D!QB/I

 g& 	4BVVHT1a467F!!&"-VV6htQ267F!!&"-VVHT1a4xaB7OPF!!&"-VVHT1a467Fwwqr{H!!&(3VVMN+F!!&(3	4 G Js   F
F
c                     t        dddd      }t        g d|      }t        dd	      }t        d
d	      }|j                  || }t        ddg|dd       }t	        j
                  ||       ||   }d}||k(  sJ y )Nz2017-10-29 01:30:00zEurope/Berlinrv   z30 min)rq  rh   r$  )r   r8   r9   rP   rc   r	   z2017-10-29 02:30:00+02:00rq  z2017-10-29 02:00:00+01:00r9   rP   rc   )r   r   r   r&   r'   r>   )rL   rL  series2t_1t_2r?   r/   s          r0   'test_loc_getitem_label_slice_across_dstz8TestLabelSlicing.test_loc_getitem_label_slice_across_dst	  s    !oqx
 43H3HS%1a&Aa1
vx0!!!r2   r
   r  r  rv  r  r  r  r  c                     |j                         }|j                  d |d    }|j                  d d }t        j                  ||       y )Nr   r  )r  r&   r   r'   r>   )rL   r
   r  r?   r/   s        r0   -test_loc_getitem_label_slice_period_timedeltaz>TestLabelSlicing.test_loc_getitem_label_slice_period_timedelta	  sC     oo59%88CR=
vx0r2   c                 8   g d}t        t        j                  j                  d      j                  d      |      }|j                  dd }t        |      dk(  sJ |j                  dd }t        |      dk(  sJ |j                  dd }t        |      d	k(  sJ y )
N)gx"p|@g\Va|@g|@r9   rP   r9   r	   g3333c|@g    |@g3333|@g|@rP   )r   rJ   r   r   r&   rl   )rL   r
   r.   s1s       r0   %test_loc_getitem_slice_floats_inexactz6TestLabelSlicing.test_loc_getitem_slice_floats_inexact	  s    :ryy,,Q/66v>eLVVGG$2w!||VVGG$2w!||VVGG$2w!||r2   c                    |}t        t        j                  j                  d      j                  d      t        j                  dd|            }t        |j                  dd        dk(  sJ t        |j                  dd        d	k(  sJ t        j                  dd|      }d
|d<   ||_        t        |j                  dd        dk(  sJ t        |j                  dd        d	k(  sJ y )Nr9   rs   ra   rR   r	   g      (@re   g      )@ru   gffffff(@)r   rJ   r   r   r   rl   r&   r
   )rL   r\  r;   r  rL  s        r0   'test_loc_getitem_float_slice_floatindexz8TestLabelSlicing.test_loc_getitem_float_slice_floatindex	  s    !II!!!$++B/ryyRu7U
 37745>"a'''37745>"a'''iiBe,A	37745>"a'''37745>"a'''r2   zstart,stop, expected_slicer   r  Nr  r8   r=  rt   ru   rc   rv   c                     t        t        d      t        dd            }|j                  t	        ||         }|j
                  |   }t        j                  ||       y )Nr  r  z10 days)r   rU   r   r&   r   r   r'   r>   )rL   rQ  stopexpected_slicer  r?   r/   s          r0   $test_loc_getitem_slice_label_td64objz5TestLabelSlicing.test_loc_getitem_slice_label_td64obj	  sN     U2Y) DEud+,88N+
vx0r2   rQ  20182020c                      |g dt        d      t        d      t        d      g      }t        j                  t        d      5  |j                  |d  d d d        y # 1 sw Y   y xY w)	Nr   201620192017r	   z,Value based partial slicing on non-monotonicr   r   )r   r   r   rW   r&   )rL   rY   rQ  rZ   s       r0   )test_loc_getitem_slice_unordered_dt_indexz:TestLabelSlicing.test_loc_getitem_slice_unordered_dt_index	  sa    V$i&769JK
 ]]J
 	" GGE&!	" 	" 	"s   AA(r%  rG  c                      |t        d      |dddg      }|j                  |d } |t        d      |dddg      }t        j                  ||       y )Nrc   r  r9   thirdr	   )rU   r&   r'   r   )rL   rY   r%  rZ   r?   r/   s         r0   1test_loc_getitem_slice_labels_int_in_object_indexzBTestLabelSlicing.test_loc_getitem_slice_labels_int_in_object_index
  sT     eAhugq'.JKw'"58E7Aw3OP
)r2   c                     t        dddddg      }t        ddggdgt        ddgt                    }t        j                  |j
                  d d dd f   |       y )	Nr8   r9   rP   )testr8   r9   r   r	   rR   )r   r
   rG   )r   r   rI   r'   r(   r&   r   s      r0   *test_loc_getitem_slice_columns_mixed_dtypez;TestLabelSlicing.test_loc_getitem_slice_columns_mixed_dtype
  s[    aA.qc:a&!eQF&.I
 	bffQUmX6r2   )r   r   r   r  r  r   r   r   r   r  r   r  r  r  rJ   r  r   r	  r  r  r  r   r2   r0   r  r  	  sF   4:"" [[BOO,LsK'xdC	
11( [[$R^^At$dE!RL9R^^As#^R^^As%;U1a[I>2>>!S)5A;7	
11 [[Wvv&67" 8" [[Wq#h/* 0*7r2   r  c                       e Zd Zej                  j                  dddg      d        Zej                  j                  dddg      d        Zd Zy)TestLocBooleanLabelsAndSlices
bool_valueTFc                     | d}|j                   dk7  r> ||d      }t        j                  t        |      5  |j                  |    d d d        y y # 1 sw Y   y xY w)Nz7: boolean label can not be used without a boolean indexr7  rI   r  r   )r  r   r   rW   r&   )rL   r
   rY   r  messagerZ   s         r0   'test_loc_bool_incompatible_index_raiseszETestLocBooleanLabelsAndSlices.test_loc_bool_incompatible_index_raises
  sd    
  L WX)+!X>Cxw7 $
#$ $ ,$ $s   AAc                 P     |t        ddgd      d      }|j                  |    y )NTFr7  rR   rI   r  )r   r&   )rL   rY   r  rZ   s       r0   test_loc_bool_should_not_raisez<TestLocBooleanLabelsAndSlices.test_loc_bool_should_not_raise#
  s*    uY7x
 	
r2   c                     d} ||d      }t        j                  t        |      5  |j                  dd  d d d        y # 1 sw Y   y xY w)NzEslice\(True, False, None\): boolean values can not be used in a slicerI   r  r   TF)r   r   r   r&   )rL   r
   rY   r  rZ   s        r0   test_loc_bool_slice_raisesz8TestLocBooleanLabelsAndSlices.test_loc_bool_slice_raises*
  sL     U 	 E:]]9G4 	 GGD	  	  	 s   AA
N)	r   r   r   r   r   r   r  r  r   r   r2   r0   r  r  
  sW    [[\D%=9$ :$ [[\D%=9 : r2   r  c                       e Zd Zd Zej
                  j                  dddg      d        Zd Zd Z	d Z
d	 Zd
 Zd Zd Zy)TestLocBooleanMaskc           	         t        dt        d      i      }t        t        d      d      |_        |d   dkD  |d   dk(  |d   dk  g}g dg dg dg}t	        ||      D ]`  \  }}|j                         }d|j                  |df<   t        |t        t        d      d      dgd	
      }t        j                  ||       b y )Nr   rs   r  r  rP   )
r   r8   r9   rP   rs   rs   rs   rs   rs   rs   )
r   r8   r9   rs   rc   rv   rt   ru   re   r  )
rs   rs   rs   rP   rc   rv   rt   ru   re   r  r   r  )	r   rU   r   r
   r  r   r&   r'   r(   )rL   r.   
conditionsexpected_datacondr   r?   r/   s           r0   )test_loc_setitem_bool_mask_timedeltaindexz<TestLocBooleanMask.test_loc_setitem_bool_mask_timedeltaindex5
  s    U2Y'(b	4gk2c7a<C1=
0+-

 j-8 
	4JD$WWYF$&FJJtSy! "5937	H !!(F3
	4r2   rq  Nr  c                    t        j                  g d      }t        dd|      }t        dt        j                  d      i|      j                  d      }|j                         }|j                  |d d f   |j                  |d d f<   t        j                  ||       |j                         }|j                  |   |j                  |<   t        j                  ||       y )Nr   20010101rc   r  r"   r	   r   )
rJ   r   r   r   r   r  r   r&   r'   r(   )rL   rq  r   rL  r.   r?   s         r0   +test_loc_setitem_mask_with_datetimeindex_tzz>TestLocBooleanMask.test_loc_setitem_mask_with_datetimeindex_tzK
  s     xx23Q26RYYq\*#6==iH ffT1Wo

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

4
fb)r2   c           	         t        t        j                  d      j                  dd      t	        d      t        ddd            }|j                         }|j                  d	   t        j                  t        j                  g|d
<   |j                  dk  }|j                  |   j                  |j                  |d
f<   t        j                  ||       y )Nr  rP   r9   ABr!  r  )rh   r$  r   r   r   r8   )r   rJ   r   r  rV   r   r   r
   r   r   r%   r&   r'   r(   )rL   r.   r/   r   s       r0   2test_loc_setitem_mask_and_label_with_datetimeindexzETestLocBooleanMask.test_loc_setitem_mask_and_label_with_datetimeindex\
  s     IIcN""1a(JZ>

 779!*BFFBFF;ttaxFF4L..tSy
b(+r2   c                 d   t        d      }t        d      }t        dt        ||g      i      }|j                         }t        |g      }|d   j                  d   j
                  }||j                  ddg<   |d   j                  d   j
                  }||k(  sJ t        j                  ||       y )Nr   l   ,GsO1colr8   TF)	r   r   r   r   r   _valuer&   r'   r(   )rL   td1td2r.   df_copyr  r/   r?   s           r0   'test_loc_setitem_mask_td64_series_valuez:TestLocBooleanMask.test_loc_setitem_mask_td64_series_valuek
  s    l)*vsCj123'')cUme9>>!$++ #e}E"))6!!!
b'*r2   c                    |j                         }|d   dkD  }d|j                  |df<   |j                  j                         }d||j                  df<   t        ||j                  |j
                        }t        j                  ||       y )Nr%   r   r   r8   r  )r   r&   r   r   r
   rG   r'   r(   )rL   rK  r/   r   r   s        r0   #test_loc_setitem_boolean_and_columnz6TestLocBooleanMask.test_loc_setitem_boolean_and_columnz
  s}    ##%3!#%&c	"%%'!"t{{A~V8>>8CSCST
k84r2   c                    t        g dg dd      }t        dg dig d      |j                  g ddgf<   t        g d	g dd      }t        j                  ||       t        g dg dd      }t	        g d
g d      |j                  g ddgf<   t        j                  ||       t        g dg dd      }t	        g d
g d      |j                  g ddf<   t        j                  ||       t        g dg dd      }|j                         }|d   }t	        g d
g d      |j                  g d<   t        j                  ||       y )Nr   r  r   r"   r   )r9   r8   r   r	   )FFT)r8   r9   rs   r  )r   r&   r'   r(   r   r   )rL   r.   r/   r   r  s        r0   )test_loc_setitem_ndframe_values_alignmentz<TestLocBooleanMask.test_loc_setitem_ndframe_values_alignment
  s   YY78.7,y/
#cU*+ :I>?
b(+ YY78.4\.S#cU*+
b(+ YY78,2<y,Q#S()
b(+YY78'')g(.|9(M$%
b'*r2   c                    t        g g dt              }|j                         }|d   j                         |j                  t	        j
                  g t        j                        dgf<   t        j                  ||       y )Nr   rR   r"   	r   rI   r   r&   rJ   r   bool_r'   r(   r   s      r0    test_loc_indexer_empty_broadcastz3TestLocBooleanMask.test_loc_indexer_empty_broadcast
  s\    Rb)877968gllnrxx"((+cU23
b(+r2   c                 
   t        dgdgdt              }|j                         }|d   j                         |j                  t	        j
                  dgt        j                        dgf<   t        j                  ||       y )Nr   rT  r   rR   r!   Fr"   r:  r   s      r0   $test_loc_indexer_all_false_broadcastz7TestLocBooleanMask.test_loc_indexer_all_false_broadcast
  sb    cU#/v>779;=c7<<>rxxrxx03%78
b(+r2   c                    t        dgdgdt              }t        dgdgdt              }|d   j                         |j                  t	        j
                  dgt        j                        dgf<   t        j                  ||       y )Nr   rT  r   rR   r!   Tr"   r:  r   s      r0   test_loc_indexer_length_onez.TestLocBooleanMask.test_loc_indexer_length_one
  sl    cU#/v>C5u5VD:<S',,.rxxbhh/#67
b(+r2   )r   r   r   r'  r   r   r   r*  r-  r4  r6  r8  r<  r>  r@  r   r2   r0   r"  r"  4
  sS    4, [[TD%=1* 2* ,+	5+4,,,r2   r"  c                       e Zd Zej                  j                  dd ej                  eg      d        Z	d Z
d Zej                  j                  dddg      d	        Zd
 Zy)TestLocListliker  c                     | S r   r   r5  s    r0   r6  zTestLocListlike.<lambda>
  s    q r2   c                 L   t        ddt        j                  g      }t        t	        d      |      }|j
                   ||         }t        j                  ||       | ||         }t        j                  ||       |j                         j
                   ||         }t        j                  ||j                                |d d }|dd  }d}t        j                  t        |      5  |j
                   ||          d d d        t        j                  t        |      5  | ||          d d d        t        j                  t        |      5  |j                         j
                   ||          d d d        y # 1 sw Y   xY w# 1 sw Y   ]xY w# 1 sw Y   y xY w)	Nr%   r   rP   r	   r  r8   r  r   )r   rJ   r   r   rU   r&   r'   r>   r  r(   r   r   rW   )rL   r  cir  r?   ser2ci2r   s           r0   8test_loc_getitem_list_of_labels_categoricalindex_with_nazHTestLocListlike.test_loc_getitem_list_of_labels_categoricalindex_with_na
  sX    sC01U1XR(R!
vs+SW
vs+##CG,
fclln53Bxf]]83/ 	HHSX	 ]]83/ 	SN	 ]]83/ 	*MMOC)	* 	*	 		 		* 	*s$   -F&F$FFFF#c                     t        j                  g dd      }t        g dt        ddd            }t	        j
                  t        d	
      5  |j                  |    d d d        y # 1 sw Y   y xY w)N)
2001-01-04z
2001-01-02rJ  z
2001-01-14r~  rR   )r9   rv   re   r  z
2001-01-01r=  rc   r  r  r   )rJ   r   r   r   r   r   rW   r&   )rL   r_   r  s      r0   1test_loc_getitem_series_label_list_missing_valueszATestLocListlike.test_loc_getitem_series_label_list_missing_values
  sZ    hhDL
 ]J|#q$QR]]8>: 	GGCL	 	 	s   A((A1c                    t        t        j                  ddg      t        j                  ddg            }t        j                  t
        d      5  |j                  t        j                  ddg          d d d        y # 1 sw Y   y xY w)Nl   PF
AHl   UBeNl   P2$$nr
   r   r  r   l   NZ4FG)r   rJ   r   r   r   rW   r&   rR  s     r0   9test_loc_getitem_series_label_list_missing_integer_valueszITestLocListlike.test_loc_getitem_series_label_list_missing_integer_values
  sw    ((,.?@A-/ABC
 ]]8>: 	EGGBHH.0ABCD	E 	E 	Es   %BB
	to_periodTFc                    t        dddd      }|r|j                  d      }t        ddg|d	      }t        d      t        d      g}|r|D cg c]  }|j                  d       }}|j                  |   }t        ddg|d	      }|s |j
                  j                  d       |_        t        j                  ||d
       t        d      t        d      t        d      g}|r|D cg c]  }|j                  d       }}t        g dt        |d|j                        d	      }|j                  |   }t        j                  ||d
       t        d      t        d      t        d      g}|r|D cg c]  }|j                  d       }}t        j                  t        d      5  |j                  |    d d d        y c c}w c c}w c c}w # 1 sw Y   y xY w)N
2011-01-01z
2011-01-02r=  rL  )r$  r<   皙?皙?r  r   T)r  )rS  rS  rR  )r<   r;   
2011-01-03r  r   )r   rO  r   r   r&   r
   r(  r'   r>   r   r;   r   r   rW   )rL   rO  rL  r  r  r   r?   r   s           r0   .test_loc_getitem_listlike_of_datetimelike_keysz>TestLocListlike.test_loc_getitem_listlike_of_datetimelike_keys
  s    |#EJ--$Cc3Zs5,'<)@A.23AKK$3D3c3Zs5		,,T2CI
vsTB l#l#l#

 .23AKK$3D35E#KRU
 
vsTB l#l#l#

 .23AKK$3D3]]8>: 	GGDM	 	9 4 4 4	 	s   G(G5G*GGc                     t        ddgddgddggg ddd	g
      }|j                  d d }d|j                  _        |j                  t        ddgd         }t        j                  ||       y )Nr8   r9   rc   rv   ru   re   )cobraviper
sidewinder	max_speedshieldr  r   rW  rX  r   )r   r   r
   r<   r&   r   r'   r(   r   s       r0   test_loc_named_indexz$TestLocListlike.test_loc_named_index  st    VaVaV$2 (+

 772A;#w0u=>
fh/r2   N)r   r   r   r   r   r   rJ   asarrayrV   rH  rK  rN  rU  r\  r   r2   r0   rB  rB  
  sk    [[U["**d$CD* E*6E [[[4-8' 9'R
0r2   rB  z%columns, column_key, expected_columns)  r  i  r^  r  r8   )r^  r  Allr_  r9   c                    t        t        j                  j                  d      j                  d      | t	        d            }|j
                  d d |f   }|j                  g d|f   }t        j                  ||d       y )Nr9   r  r  r   r   Tr  )	r   rJ   r   r   rV   r   r&   r'   r(   )rG   
column_keyexpected_columnsr.   r/   r?   s         r0   *test_loc_getitem_label_list_integer_labelsrc    sn     

		a ''/U
B wwq**+HVVOZ/0F&(dCr2   c                     t         j                  j                  d      j                  d      } t	        |       }t         j
                  |j                  d d df<   t        j                  | t        j                  t         j
                  gdz        j                  dd      f      }t	        |g d      }t        j                  ||       t	        |       }t         j
                  |j                  d d df<   t        j                  ||       y )Nr9   )re   rc   rZ  re   r8   )r  r4   r5   r6   rZ  r   )rJ   r   r   r  r   r   r&   hstackr   r  r'   r(   )	rand_datar?   r%  r/   s       r0   test_loc_setitem_float_intindexrg  .  s    		%%a(88@Iy!FFJJq#vIIy"((BFF8a<*@*H*HA*NOPM0IJH&(+y!FFJJq#v&(+r2   c                     dD  cg c]  } dD ]  }| |f  }} }t        t        j                  d      t        d      t	        j
                  |            }|j                  d      dd	 }t        t        j                  d
      t        d      t	        j
                  g d            }t        j                  ||       y c c}} w )N)  r   )ru   re   r  rs   )rs   re   
ABCDEFGHIJr  r8   r  ri  r  r   re   r  )rk  )ri  rs   )r   ru   rl  )	r   rJ   r  r  r   r  r&   r'   r(   )yrrx  r	  r.   r?   r/   s         r0   test_loc_axis_1_slicern  <  s    *BMBqRGBGBDB	
L!&&t,
B
 VVV^I	2F
L!&&'TUH
 &(+ Cs   Cc            
         t        dt        d      t        j                  t        d      t        d      g            } | j	                         }|j
                  ddgf   |j
                  ddgf<   t        j                  ||        y )Nr"   r9   r  r   r  )r   rU   r   r  r   r&   r'   r(   )r/   r?   s     r0   !test_loc_set_dataframe_multiindexrp  M  so    58Z%<%<eAha=Q%RH ]]_F$jjVH5FJJq6({&(+r2   c                  |    t        t        d      t        ddgt                    } | j                  d   }|dk(  sJ y )Nr9   r8   r5   rR   r   )r   rU   r   rI   r&   )r  r?   s     r0   test_loc_mixed_int_floatrr  W  s6    
q5!S8
9CWWQZFQ;;r2   c                      t        t        d      g d      } t        j                  t        d      5  d| j
                  d d d d d        y # 1 sw Y   y xY w)Nrc   r<  r	   $Slicing a positional slice with .locr   r9   rP   )r   rU   r   r   r   r&   )r  s    r0   %test_loc_with_positional_slice_raisesru  _  sF    
q!5
6C	y(N	O   s   AAc                     t        dd      } t        t        j                  j	                  d      j                  d      |       }|d   }d}||fD ]h  }t        j                  t        |	      5  |j                  d
d  d d d        t        j                  t        d	      5  d
|j                  d
d d d d        j t        j                  t        |	      5  |j                  d
dd
f    d d d        t        j                  t        d	      5  d|j                  d
dd
f<   d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   YxY w# 1 sw Y   y xY w)Nr  rP   rg   r9   r  r	   r   zOcannot do slice indexing on DatetimeIndex with these indexers \[1\] of type intr   r8   rt  )	r   r   rJ   r   r   r   r   r   r&   )dtir.   r  r   rZ   s        r0   #test_loc_slice_disallows_positionalrx  g  s>   
\1
-C	299((+226:#	FB
Q%C	& 
 Cy ]]9C0 	GGAaL	 ]]9,RS 	CGGAaL	 		 
y	, 
qsAv 
y(N	O qsAv 	 		 	  s0   0D,#D8EE,D5	8E	EEc            	      .   t        t        j                  j                  d      j	                  d      g dt        ddd            } | j                  g d	   j                         } | j                  }t        j                  |j                        }d
}t        j                  t        |      5  | j                  |    d d d        t        j                  t        |      5  | d   j                  |    d d d        y # 1 sw Y   @xY w# 1 sw Y   y xY w)Nr9   r  r  2012rw  rv   r  r   )r   r9   r9   rP   z/None of \[TimedeltaIndex.* are in the \[index\]r   r"   )r   rJ   r   r   r  r   r   r   r
   r   TimedeltaIndexasi8r   r   rW   r&   )r.   rw  r`  r   s       r0   'test_loc_datetimelike_mismatched_dtypesr}    s     

		a 008c15
B 
		#	#	%B
((C


CHH
%C
<C	xs	+ 
s 
xs	+ 
3C   s   0C?#D?DDc                  Z   t        j                  ddd      } t        t        j                  j                  d      j                  d      |       }t        j                  ||j                  |           t        j                  ||j                  t        |                 t        j                  ||j                  t        |                 t        j                  |j                  dd	 |j                  | dd	           t        j                  ||j                  t        |                 y )
Nz2002-01z2003-12rv  r#  r9   )rx  rs   r	   r   rv   )r   r  r   rJ   r   r   r  r'   r(   r&   rV   r   )rL  r.   s     r0   "test_loc_with_period_index_indexerr    s    
//)YS
9C	299((+;;HES	QB"bffSk*"bffT#Y/0"bffT#Y/0"''!A,s1Qx(89"bffT#Y/0r2   c                  j   t         j                  j                  d      j                  d      } t	        dd      }g d}t        | ||      }t         j                  |j                  |j                  d   d	f<   t         j                  | d   d
d t        | ||      }t        j                  ||       y )Nr9   )re   rt   r!  re   rg   )r%   r   r   r=  EFr  r8   r   r   )rJ   r   r   r  r   r   r   r&   r
   r'   r(   )r  rL  r	  r   r   s        r0   %test_loc_setitem_multiindex_timestampr    s    99  #33F;D
Z
+C)D
DT
2C(*CGGCIIaL*$%66DGAaL
DT
2C#s#r2   c                  v   g d} ddg}ddg}t        j                  | ||gg d      }t        dt        d	      |
      }|j                  d d | d   |d   |d   ff   }|j
                  d d d df   }t        j                  ||       |j                  | d   |d   |d   fg dd      }t        j                  ||       |j
                  d   }|j
                  d d }	|j                  | d   |d   |d   fg dd      }
t        j                  |
|	       |j                  | d   |d   |d   f   }|dk(  sJ y )Nr  r  )r8   r   r   r8   )r   rT  r   r_  rt   rv   r  ro   )r  r  )
r   r  r   rU   r&   r   r'   r(   xsr>   )r6  r7  lev3r	  r.   r?   r/   altr  	expected2alt2r  s               r0   'test_loc_getitem_multiindex_tuple_levelr    sM   DFDq6D""D$#5_MD	1E!Hd	3B VVAQa$q'223F wwq"1"u~H&(+
%%a$q'47+91%
EC#x( ''!*C!I6647DGT!W-YQ6GD4+ggd1gtAwQ/0Ga<<r2   c            
         t        t        j                  g dg dddt        j                  t        j                  gg      j
                  g dd      } | j                  d      }|j                  j                  dk(  sJ |j                  d   }t        dd	g|j                  dd
      }t        j                  ||       |j                  j                  t              |_        |j                  d   }t        j                  ||       y )Nr  )rv   rt   ru   re   r8   r9   r  Int64)r   rG   r;   r]   rv   r:   )r   rJ   r   r   r@  Tr   r
   r;   r&   r   rG   r'   r>   r  rI   )r.   r   r   r/   s       r0   /test_loc_getitem_nullable_index_with_duplicatesr    s    	XX|\Aq"%%3GHIKK
B
 ,,s
C99??g%%%
''!*Cq!fCKKwQGH3) 		  (CI
''!*C3)r2   r%  r   c                     t        g ddgd      }t        j                  t        d      5  | |j                  d<   d d d        y # 1 sw Y   y xY w)Nr  r   uint8rF   r   r   )r9   r   )r   r   r   r   r&   )r%  r.   s     r0   test_loc_setitem_uint8_upcastr    sE     
<&	AB	y	8 "!y" " "s   AAzfill_val,exp_dtypez
2022-01-06zdatetime64[ns]z
2022-01-07
US/Easternrq  zdatetime64[ns, US/Eastern]c                    ddd| j                         g}t        || j                  |      }t        g ddg|      }d|j                  d	<   |j                  d
       t        ||      }t        j                  |j                  |d       y )Nz
2022-01-02z
2022-01-03z
2022-01-04)rq  r;   )rs   r  r   rw  r"   r   rv  )
2022-01-08r"   r  rR   T)exact)	r   r   rq  r   r&   rt  r'   r  r
   )fill_val	exp_dtyper   r
   r.   expected_indexs         r0   0test_loc_setitem_using_datetimelike_str_as_indexr    sx     ,hmmoFD$8;;i@E	#cU%	@B "BFFKK"4y9N"((N$?r2   c                      t        t        d      g      } d| j                  d d df<   t        dgdgdgdgd      }t        j                  | |       y )NrQ   rv   r   r"   r!   r]   )r   r8   r9   r   )r   rV   r&   r'   r(   )r.   r/   s     r0   test_loc_set_int_dtyper    sO    	DK=	!BBFF1f9cUu#DEH"h'r2   z8ignore:Period with BDay freq is deprecated:FutureWarningr  c                      t        g ddd      } t        g dg dg dg dg| g d	
      }|j                  ddgd      d   }|j                  | d   ddf   dk(  sJ y )N)z20181101 1100z20181101 1200z20181102 1300z20181102 1400r   r   )r<   r$  )r%   r   r4   )r%   r   r5   )r  Qr6   )Wr  r7   )ONETWOVALUESr  r  r  T)rt  r  r   r%   r4   )r   r   r   r&   )p_index	mi_seriess     r0   test_loc_periodindex_3_levelsr    sw     LG
 	/?OL(I
 ##UEN4#@JI=='!*c3/0C777r2   c                  B   t        j                  d       t        t        g dd      t        g d      d      } t        ddg      }|| j                  | j
                  d	f<   t        t        g d
d      t        g d      d      }t        j                  | |       y )NrC  r   zstring[pyarrow]rR   )TTF)stringsri  r  ru  r  )r  ru  r   )r   r2  r   r   r&   ri  r'   r(   )r.   	new_valueexpected_dfs      r0    test_loc_setitem_pyarrow_stringsr    s    
	"	o5FG-.	

B Sz"I )BFF2669o5FG-.	
K "k*r2   c                   f   e Zd Zej                  j                  dddg      d        Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zej                  j                  dej"                  ej"                  eeg      ej                  j                  dg d      d               Zej                  j                  dedddf   d ed      fg      d        Zd Zej                  j                  dddg      d        Zd Zd Zd Zd Zd Zej                  j                  dd e g      d!        Z!ej                  j                  d" e"g d#g d$g ed%      &       ed'd(      g d) e"g d*g d+g ed%      &      g e"g d#g d$g ed%      &       ed      g d) e"g d*g d+g ed%      &      g e"g d#g d$g d,g ed%      &      g d-g d) e"g d*g d+g d.g ed%      &      g e"g d#g d$g d,g ed%      &       ed'd/      g d) e"g d*g d+g d.g ed%      &      g e"g d#g d$g d,g ed%      &       ed       edd0       e"g d*g d+g d.g ed%      &      g e"g d#g d$g d,g ed%      &       ed       e#d1d2d1d3       e"g d4g d5g d6g ed%      &      gg      d7        Z$d8 Z%y)9TestLocSeriesrT  )rU  rP   )rV  rc   c                 H    t        ddd      }|j                  |   |k(  sJ y )NrP   rc   )rU  rV  )r   r&   )rL   rD  r/   r  s       r0   r  zTestLocSeries.test_loc_uint640  s)     1-.wws|x'''r2   c                 F   |j                   g d   }t        j                  |j                  |   |j	                  |             t        j                  |j
                  dd d   |dd d          |j                   ddg   \  }}|j                  || }|j                  ||      }t        j                  ||       ||j                         kD  }t        j                  |j                  |   ||          |j                  |   ||   k(  sJ |j                  |   ||   k(  sJ y )NrP   rc   ru   rv   r9      )r
   r'   r>   r&   r  r   truncatemedian)	rL   string_seriesdatetime_seriesindsd1d2r?   r/   r   s	            r0   test_loc_getitemzTestLocSeries.test_loc_getitem6  s%   ""9-
}0068M8Md8ST
}11!$Q$7qt!t9LM !&&2w/B $$R+"++B3
vx0 }3355
}006d8KL ""2&/"*====""2&/"*====r2   c                 Z   |j                   ddg   \  }}|d d d   j                  g d   }d}t        j                  t        |      5  |j
                  ||  d d d        t        j                  t        |      5  d|j
                  || d d d        y # 1 sw Y   =xY w# 1 sw Y   y xY w)Nrv   r  r9   )r8   r9   r   z"Timestamp\('2000-01-10 00:00:00'\)r   r   )r
   r   r   r   rW   r&   )rL   r  r  r  ts2r   s         r0   test_loc_getitem_not_monotonicz,TestLocSeries.test_loc_getitem_not_monotonicI  s     &&2w/Bcc"''	23]]83/ 	GGBrN	]]83/ 	CGGBrN	 		 		 	s   	B<B!B!B*c           
         t        t        j                  j                  d      j	                  d      t        t        ddd                  }|j                         }d|j                  dd |j                  dd dk(  j                         sJ |j                         }d|j                  dd |j                  dd dk(  j                  j                         sJ |j                  dd	 }|j                  dd }|j                  g d
      }t        j                  ||       t        j                  ||       |j                  t        t        d            t        t        ddd            z      }d}t        j                   t"        |      5  |j                  dd  d d d        t        j                   t"        |      5  d|j                  dd d d d        y # 1 sw Y   =xY w# 1 sw Y   y xY w)Nr9   rs   r   ra   r	   rc   rP   r  rt   )rc   rt   re   rs   rv   r  r  z*non-monotonic index with a missing label 3r   )r   rJ   r   r   r  rV   rU   r   r   r>  r   r&   r  r'   r>   r   r   rW   )rL   r  cpr?   r  r/   s2r   s           r0   0test_loc_getitem_setitem_integer_slice_keyerrorsz>TestLocSeries.test_loc_getitem_setitem_integer_slice_keyerrorsT  s   II!!!$44R8U1bRS_@U

 XXZ"""''))) XXZ"""**..000!A''!B-;;}-
vx0
w1 XXd58ntE!QO'<<=:]]83/ 	FF1RL	]]83/ 	BFF1RL	 		 		 	s   G?G$G!$G-c                     t        |j                  d d       }|j                  |   }t        j                  ||d d        y )Nrs   )r  r
   r&   r'   r>   )rL   r  rL  r?   s       r0   test_loc_getitem_iteratorz'TestLocSeries.test_loc_getitem_iteratorr  s@    =&&s+,""3'
v}Sb'9:r2   c                     ||j                         kD  }|j                         }d|j                  |<   |}d||<   t        j                  ||       y )Nr   )r  r   r&   r'   r>   )rL   r  r   r?   r/   s        r0   test_loc_setitem_booleanz&TestLocSeries.test_loc_setitem_booleanw  sO    }3355##%

4 
vx0r2   c                     t        |j                  g d         }d|j                  |<   d}t        j                  t
        |      5  d|j                  g |d<   d d d        y # 1 sw Y   y xY w)N)rv   re   r   rv   z\['foo'\] not in indexr   r   )rV   r
   r&   r   r   rW   )rL   r  r  r   s       r0   test_loc_setitem_cornerz%TestLocSeries.test_loc_setitem_corner  sg    M''
34"#$']]83/ 	201Mnnen-	2 	2 	2s   A$$A-c                 f   |j                   g d   }|j                         }|j                         }d||<   d|j                  |<   t        j                  ||       |j                         }|j                         }d||d   |d    d|j                  |d   |d    t        j                  ||       y )N)rv   rs   r  r   r9   )r
   r   r&   r'   r>   )rL   r  indicesr  r   s        r0   test_basic_setitem_with_labelsz,TestLocSeries.test_basic_setitem_with_labels  s    !''4!!#""$7
r3'!!#""$&'71:
#+,
WQZ(
r3'r2   c           
      
   t        t        j                  j                  d      j	                  d      t        t        ddd                  }g d}t        j                  g d      }|j                         }|j                         }d||<   d|j                  |<   t        j                  ||       |j                         }|j                         }d||<   d|j                  |<   t        j                  ||       g d}t        j                  g d      }d}t        j                  t        |	      5  d||<   d d d        t        j                  t        |	      5  d||<   d d d        y # 1 sw Y   3xY w# 1 sw Y   y xY w)
Nr9   rs   r   ra   r	   )r   rc   rt   r   rc   rv   rt   z\[5\] not in indexr   )r   rJ   r   r   r  rV   rU   r   r   r&   r'   r>   r   r   rW   	Exception)	rL   r  r  arr_indsr  r   inds_notfoundarr_inds_notfoundr   s	            r0   !test_loc_setitem_listlike_of_intsz/TestLocSeries.test_loc_setitem_listlike_of_ints  s@   II!!!$44R8U1bRS_@U
 88I&XXZhhjD	
r3'XXZhhjH
r3'$HH\2#]]83/ 	#!"C	#]]9C0 	'%&C!"	' 	'	# 	#	' 	's   5E-E9-E69Fc                 j   t        t        ddd      g d      }|j                         }t        dd      }||j                  d	<   |j                  d	   }||k(  sJ |j                         }||j
                  d
<   |j
                  d
   }||k(  sJ |j                         }||d	<   |d	   }||k(  sJ y )NrQ  rP   r  r  r  r	   rT  rq  r"   r   )r   r   r   r   r&   r   )rL   r  r  r/   r?   s        r0   test_loc_setitem_dt64tz_valuesz,TestLocSeries.test_loc_setitem_dt64tz_values  s    |Q<@!
 XXZ\l;s!!!XXZ
!!!XXZ3C!!!r2   array_fnr-  r  c                 \    |dg|z        }t        |ddddgt        d      t              }t        dt        d      t              }||j                  d<   t	        j
                  ||       t        dt        d      t              }||j                  d<   t	        j
                  ||       y )Nr   abcder  r"   )r   rV   rI   r&   r'   r>   r   )rL   r-  r  r  r/   r  s         r0   #test_loc_iloc_setitem_with_listlikez1TestLocSeries.test_loc_iloc_setitem_with_listlike  s     sTz"31a+4=OQd7m6:
sH-Qd7m6:
sH-r2   r   r%   Nc                 \   t        t        j                  g d      g d      }d}t        j                  t
        |      5  |j                  |d d f    d d d        t        j                  t
        |      5  d|j                  |d d f<   d d d        y # 1 sw Y   AxY w# 1 sw Y   y xY w)N))r%   0)r%   rD   )r   r  )   r'  r/  rM  r  r   r8   )r   r   r  r   r   r   r&   )rL   r   r  r   s       r0   +test_loc_series_getitem_too_many_dimensionsz9TestLocSeries.test_loc_series_getitem_too_many_dimensions  s     (()MN
 "]]=4 	 GGGQJ	  ]]=4 	$"#CGGGQJ	$ 	$	  	 	$ 	$s   B9B"B"B+c                    |j                   g d   }|j                         }d|j                  |<   |j                         }d|j                  g d<   t	        j
                  ||       d|j                  dd d|dd t	        j
                  ||       |j                   ddg   \  }}d|j                  || d|dd t	        j
                  ||       d|j                  |<   d|j                  |<   ||   dk(  sJ ||   dk(  sJ y )Nr  rv   rs   r  rt   r[  rc   )r
   r   r&   r   r'   r>   )rL   r  r  r?   r/   r  r  s          r0   test_loc_setitemzTestLocSeries.test_loc_setitem  s   ""9-##%

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

2b2
vx0 !"" !"R A%%%R A%%%r2   r;   rI   rQ  c                     t        ddgddgd|      }ddd|j                  d	d d f<   t        ddgddgd|      }t        j                  ||       y )
NrQ   defghijklr   rR   newAnewBr   r  rL   r;   r.   r/   s       r0   test_loc_assign_dict_to_rowz)TestLocSeries.test_loc_assign_dict_to_row  s]     eU^5%.AO#&1q!tFE?&%IQVW
b(+r2   c                     t        ddg      }t        dd      dd|j                  d	<   t        dd      dd|j                  d	<   t        t        dd      dggddgd	g
      }t        j                  ||       y )Nr   r%  r   rt   r  r  r   )r   r%  r8   r   )r   r   r&   r'   r(   r  s      r0   ,test_loc_setitem_dict_timedelta_multiple_setz:TestLocSeries.test_loc_setitem_dict_timedelta_multiple_set  s~    FG#45!*13!7%H

1!*13!7%H

1$e,-7HQRPS
 	fh/r2   c                 2   t        ddgdg      }ddg|j                  dddgf<   t        t        t        j                  t        j                  gd	
      dt        j                  gdt        j                  gdddg      }t        j                  ||       y )Nr8   r9   r"   r  rt   ru   r!   r]   rI   rR   r  r	   )r   r&   r   rJ   r   r'   r(   r   s      r0   3test_loc_set_multiple_items_in_multiple_new_columnszATestLocSeries.test_loc_set_multiple_items_in_multiple_new_columns  s    aVcU3!"Aq3*}RVVRVV,H=[[
 a&
 	b(+r2   c                     d}t        j                  t        |      5  t        j                  ddd      }t        t        d      |      }|j                  d   d	k(  sJ 	 d d d        y # 1 sw Y   y xY w)
Nz#Period with BDay freq is deprecatedr   2000ra   r   rP  r	   z
2000-01-14r  )r'   rU  FutureWarningr   r  r   rU   r&   )rL   r   r
   r+   s       r0    test_getitem_loc_str_periodindexz.TestLocSeries.test_getitem_loc_str_periodindex&  se    3''SA 	1OO&"3GEE"IU3F::l+q000	1 	1 	1s   AA++A4c                    t        t        d            }t        |dz  d      }t        dt	        j
                  t        |      t        j                        i|      }|j                  |   }t        d|j                  d      j                  t        j                        it        t	        j                  |      j                  d      d            }t        j                  ||       y )	Nr  i  r  rR   rD  r	   stable)kind)rV   rU   r   r   rJ   r   rl   intpr&   argsortr  r   r  r'   r(   )rL   ri  r
   r.   r?   r/   s         r0   test_loc_nonunique_masked_indexz-TestLocSeries.test_loc_nonunique_masked_index.  s    59ocDj0ryyU277CDEREMMxM077@A,,T2'B
 	fh/r2   c                     t        ddgddgd      }t        ddgddg	      }||j                  d d d
f<   t        ddgddgd      }t        j                  ||       y )Nr8   r9   rP   rc   r   r   i  r   r	   r"   )r   r   r&   r'   r(   )rL   r.   otherr/   s       r0   #test_loc_index_alignment_for_seriesz1TestLocSeries.test_loc_index_alignment_for_series:  se    aV1a&12Sz!Q0q#vC:QF;<
h+r2   rH   c                     t        g dg d|      }|d   |j                  t        dgdz  |j                  d      df<   t        g dg d|      }t	        j
                  ||       y )N)r8   r8   r9   r9   )rD   rD   rE   rE   )r
   r   r;   r   Frc   r   )r   r&   r   r
   r'   r(   r  s       r0   "test_loc_reindexing_of_empty_indexz0TestLocSeries.test_loc_reindexing_of_empty_indexB  s]     \0DERACAvugk:A=><6JRWX
b(+r2   z%df, row_index, col_index, expected_dfr   r  r  r   r   rP   r   )rs   rs   rs   )ra   ra   ra   r  )TTT)rz   rz   rz   rc   r   TF)r%   r   r   )rs   rs   rP   )ra   ra   rt   )rz   rz   r  c                 h    t        g d      |j                  ||f<   t        j                  ||       y )Nr   )r   r&   r'   r(   )rL   r.   	row_index	col_indexr  s        r0   'test_loc_set_series_to_multiple_columnsz5TestLocSeries.test_loc_set_series_to_multiple_columnsJ  s-    r (.l';y)#$
b+.r2   c                    t        dt        d            }t        dt        d            }t        dt        d            }||j                  dd	g<   |dd	g   }|}t        j                  ||       ||j                  dd	g<   |dd	g   }t        t
        j                  t
        j                  gdd	g      }t        j                  ||       y )
Nr  rb   r	   r4   r:  r5   r;  r"   r!   )r   rV   r&   r'   r>   rJ   r   )rL   r  r  r  r?   r/   s         r0   test_loc_setitem_matching_indexz-TestLocSeries.test_loc_setitem_matching_index  s    3d6l+CtDz*CtDz* sCjC:
vx0 sCjC:266266*3*=
vx0r2   )&r   r   r   r   r   r   r  r  r  r  r  r  r  r  r  r  rJ   r   r   rV   r  r  r   r   r  r  r  r  r  r  r  r  rI   r  r   r   r  r  r   r2   r0   r  r  /  s	   [[^nj-IJ( K(
>&	<;
12('8", [[Z"((BHHdE)JK[[V\2. 3 L.  [[YCF);c5;=O(PQ$ R$&4 [[Wx&:;, <,0, 1
0, [[Wufo6, 7, [[/ 9i0$u+Fa<6UL	 9i0$u+Fd<6UL	 9i;T%[Q"!<>U	 9i;T%[Qa!<>U	 9i;T%[Qdc3!<>U	 9i;T%[Qd!"! ;[A4PU;WK1	
4j/k4j/1r2   r  )Y__doc__collectionsr   rl  r   r   r   r   r(  dateutil.tzr   numpyrJ   r   pandas._libsr
   rL  pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorsr  pandasr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr'   pandas.api.typesr   pandas.core.indexingr   pandas.tests.indexing.commonr    r   r   r   r1   r@   rB   r   r  r  rB  r  r  r  r  r"  rB  rc  rg  rn  rp  rr  ru  rx  r}  r  r  r  r  uint16int16r  r  r  r  r  r  r  r   r2   r0   <module>r     s   ( "   
    * ' ) )     (  & 6 K &
&&"&&#	bffbff 57JK
&&#bfft}511-N, N,b|& |&~+:( :(zs: s:ly, y,x( (DG* G*TA7 A7H   :~, ~,Bc0 c0L +	dD\Aq62	tTlQF3	tUmaV4DD,,",8,1	$<*( 3			#"FG" H" 	<	 "23	<L	13OP	@	@( WXRS8 T Y8 +,i1 i1r2   