
    Mh@                       S SK Jr  S SKJrJr  S SKJr  S SKrS SKrS SK	r	S SK
Jr  S SKJrJrJr  S SKJs  Jr  S SKJr  S SKrS SKJrJrJrJrJrJrJrJrJ r J!r!J"r"  S SK#J$r%  S	r& " S
 S5      r' " S S5      r(S r)Sr*Sr+ " S S5      r, " S S5      r-SS jr.\	R^                  Ra                  S\1S4S/5      SS j5       r2S r3 " S S5      r4g)    )
namedtuple)datetime	timedelta)DecimalN)iNaT)InvalidIndexErrorPerformanceWarningSettingWithCopyError)
is_integer)Categorical	DataFrameDatetimeIndexIndex
MultiIndexSeries	Timestamp
date_rangeisnanotnato_datetimezBslice indices must be integers or None or have an __index__ methodc            	          \ rS rSrS rS rS rS rS rS r	S r
S	 r\R                  R                  S
/ SQ/ SQ/ SQ/5      S 5       rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r \!RD                  S  5       r#S! r$S" r%S# r&\!RD                  S$ 5       r'S% r(\!RD                  S& 5       r)S' r*S( r+S) r,S* r-S+ r.S, r/S- r0S. r1S/ r2S0 r3S1 r4S2 r5S3 r6S4 r7S5 r8\R                  R                  S6S7S8/5      S9 5       r9S: r:S; r;S< r<S= r=S> r>S? r?S@ r@SA rASB rBSC rCSD rDSE rESF rFSG rGSH rH\R                  R                  SI5      \R                  R                  SJ\JR                  \JR                  R                  SK5      \JR                  R                  SL5      /5      SM 5       5       rMSN rNSO rO\R                  R                  SPSQSRSS/4STSUSS/4/5      SV 5       rP\!RD                  SW 5       rQSX rR\R                  R                  SYSZSZ/\JR                  \JR                  //5      S[ 5       rT\R                  R                  SYSZ\JR                  /5      S\ 5       rU\R                  R                  S]\V\W\XR                  /5      S^ 5       rZS_ r[\R                  R                  S`SS/SS/5      \R                  R                  Sa0 SbSU0/5      Sc 5       5       r\\R                  R                  Sa0 SdSS0/5      Se 5       r]Sf r^Sg r_Sh r`\R                  R                  S`S7Si/5      \R                  R                  Sj\aSk/5      Sl 5       5       rb\R                  R                  SmS8S7/5      \R                  R                  S`SnSn//5      So 5       5       rc\R                  R                  Sp\dR                  SU4\dR                  Sq4/5      Sr 5       rgSsrhgZ)tTestDataFrameIndexing*   c                    US S n[        UR                  5      S:X  d   eUR                  5        HK  u  p4[        UR                  5      S:X  d   e[        R                  " UR                  UR                  5        MM     UR
                  R                  5        H  u  pSX   b  M   e   SU;  d   e[        R                  " [        SS9   US     S S S 5        g ! , (       d  f       g = f)N   randommatch)	lenindexitemstmassert_index_equal_seriespytestraisesKeyError)selffloat_framesl_serieskeys         [/var/www/html/env/lib/python3.13/site-packages/pandas/tests/frame/indexing/test_indexing.pytest_getitem"TestDataFrameIndexing.test_getitem+   s    "288}""" IAv||$***!!&,,9 $ "))//1FC#/// 2 {***]]884! 544s   C
C(c                     Un[        / SQUS9n[        / SQ/ SQ/US9nUS   n[        SS/SS	//[        SS/US9S9n[        R                  " XVS
S9  g )N   r   r3   dtyper3                  columnsr3   r8   r:   r<   Tcheck_exactr   r   r"   assert_frame_equal)r(   any_numeric_dtyper5   idxdfresultexpecteds          r.   6test_getitem_numeric_should_not_fallback_to_positionalLTestDataFrameIndexing.test_getitem_numeric_should_not_fallback_to_positional<   sa    !IU+	9-s;Aq!fq!f-uaV57QR
fDA    c                    UR                  5       n[        R                  R                  S5      R	                  [        U5      5      US'   [        R                  R                  S5      R	                  [        U5      5      nX2S'   [        R                  " [        [        R                  " S5      S9   UR                  S5        S S S 5        US   n[        R                  " X4R                  5        g ! , (       d  f       N4= f)Nr7   z$10z@awesome_domainz'df["$10"]'r   z	df["$10"])copynpr   default_rngstandard_normalr   r%   r&   r'   reescape__getitem__r"   assert_numpy_array_equalvalues)r(   r)   rE   adress        r.   test_getitem2#TestDataFrameIndexing.test_getitem2E   s    II))!,<<SWE5	YY""1%55c"g> "]]8299_+EFNN;' G "#
##B

3	 GFs   3C33
Dc                     Un[        / SQUS9n[        / SQ/ SQ/US9nSUS'   [        / SQ/ S	Q/US9n[        R                  " XES
S9  g )Nr2   r4   r6   r9   r=   
   r3   )rZ   r7   rZ   )rZ   r;   rZ   Tr?   rA   )r(   rC   r5   rD   rE   rG   s         r.   6test_setitem_numeric_should_not_fallback_to_positionalLTestDataFrameIndexing.test_setitem_numeric_should_not_fallback_to_positionalR   sN    !IU+	9-s;1k;7E
b=rJ   c                    SUS'   USS/   nX!SS/'   [         R                  " US   US   SS9  [         R                  " US   US   SS9  Sn[        R                  " [        US9   USS/   US/'   S S S 5        [        [        UR                  5      S	-
  5      nS
[        U5       S[        U5       S3n[        R                  " [        US9   XBS'   S S S 5        g ! , (       d  f       Nq= f! , (       d  f       g = f)NfooEABFcheck_namesz"Columns must be same length as keyr   r3   zLength of values \(z$\) does not match length of index \(z\))r"   assert_series_equalr%   r&   
ValueErrorranger   r    )r(   r)   datamsgnewcolumndatas        r.   test_setitem_list'TestDataFrameIndexing.test_setitem_list[   s     CC:&"&S#J
{3/cN
{3/cN2]]:S1%sCj1D#K 2c$**o12"3}#5"6 7114T2? 	 ]]:S1%I 21 21 21s   &CC.
C+.
C<c                    [        S[        S5      SS/[        S9nSS/UR                  SSS/4'   UR                  UR                  S   SS/4   n[        SS/UR                  [        SS9n[        R                  " X#5        S	=US'   US'   S
S/UR                  UR                  S   SS/4'   UR                  UR                  S   SS/4   n[        S
S/UR                  SS9n[        R                  " X#5        g )Nr   r8   tt1tt2)r    r>   r5   r3   r7   )r5   name012ro   )	r   rf   intlocr    r   r>   r"   rd   r(   rE   rF   rG   s       r.   test_setitem_list2(TestDataFrameIndexing.test_setitem_list2n   s    qa5%.L%&Fq5%. !eU^341a&"**Ca@
v0 ##5	BuI/2Cjrxx{UEN*+eU^343*bjjq9
v0rJ   c                    UR                   S   nUR                   U:  nUR                  [        5      nUR                   U   nX5   n[        R                  " XxR                   5        [
        R                  " [        SS9   X5S S      S S S 5        X6   n	[        R                  " X5        [
        R                  " [        SS9   X3     S S S 5        [        XcR                   5      nX6   n	[        R                  " X5        [        R                  " [        5         UR                  UR                   S S S2   5      nX6   n	[        R                  " X5        S S S 5        UUU4 GH!  n
U
R                  5       nXS:     n[        UR                   Vs0 s H0  o[         R"                  " X   S:  X   [         R$                  5      _M2     snUR                   UR                  S9nU
R                   H  nX;  d  M
  X   X'   M     UR                  U
R                  S9n[        R                  " XS	S
9  U
R                   HC  nX   R&                  X   R&                  :w  d  M#  X   R&                  X   R&                  :X  a  MC   e   GM$     g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN_= fs  snf )NrZ   zItem wrong lengthr   zBoolean array expectedr   r    r>   r=   F)check_dtype)r    astypeobjectr"   r#   r%   r&   re   rB   r   assert_produces_warningUserWarningreindex_get_numeric_datar   r>   rM   wherenanr5   )r(   mixed_float_framemixed_int_framedatetime_framedindexerindexer_objsubindexsubframesubframe_objrE   rg   bifcbifws                  r.   test_getitem_boolean*TestDataFrameIndexing.test_getitem_boolean|   s>     $ &&*nnV,!''0!*
h7]]:-@A3B<( B &2
l5]]:-EF* G [*>*>?%2
l5 ''4%--n.B.B4R4.HIK)6L!!,9 5 
B
 '')D!V*CDHLLQLqBHHTWq[$'266::LQjjD ZZ= eDG   <<

<3D!!#?ZZ6<<47==06<<25;;666  )
3 BA GF 54 Rs*    J	J<J-7J?
	
J
J*-
J<c                    UR                  5       nSUS'   US   R                  S5      US'   US   R                  5       US'   SUS'   US   R                  S5      US'   US   R                  5       US'   X"S:     nUR                  n[        [        R
                  " S	5      /S
-  [        R
                  " S5      /S-  -   [        R
                  " S5      /S-  -   / SQS9n[        R                  " XE5        SUR                  UR                  SS SS/4'   X"S:     nUR                  n[        [        R
                  " S	5      /S
-  [        R
                  " S5      /-   [        R
                  " S	5      /-   [        R
                  " S5      /-   [        R
                  " S	5      /-   / SQS9n[        R                  " XE5        g )Nr3   r_   int32E1Fint64F1r   float64r:   r7   )r`   ra   CDr_   r   r   r   r    r8   )
rL   r}   dtypesr   rM   r5   r"   rd   ru   r    )r(   r   rE   castedrF   rG   s         r.   test_getitem_boolean_casting2TestDataFrameIndexing.test_getitem_boolean_casting   s     "3S'..)3c7<<>43S'..)3c7<<>4FXXi !A%xx !A%&xx !A%& =	
 	v0 /0rxx!}tTl*+FXXi !A%xx !"xx	"#$ xx !" xx	"#	$
 =
 	v0rJ   lstTFT)TTT)FFFc                     [        [        R                  " S5      R                  SS5      5      nX!   nUR                  UR
                  U      n[        R                  " X45        g )N   r8   r:   )r   rM   arangereshaperu   r    r"   rB   )r(   r   rE   rF   rG   s        r.   test_getitem_boolean_list/TestDataFrameIndexing.test_getitem_boolean_list   sN     ryy},,Q2366"((3-(
f/rJ   c                    [         R                  R                  S5      R                  S5      n[	        UR                  5       / SQS9nX"S:  ==   S-  ss'   XS:  ==   S-  ss'   [        R                  " UR                  U5        g )Nr7   r;   r;   )r`   ra   r   r   r_   r=   r   r3   )	rM   r   rN   rO   r   rL   r"   assert_almost_equalrT   )r(   arrrE   s      r.   test_getitem_boolean_iadd/TestDataFrameIndexing.test_getitem_boolean_iadd   sg    ii##A&66v>sxxz+DE
6
a
!G
ryy#.rJ   c                     [        [        R                  " SS/5      S/[        / 5      S9n[        R                  " / [
        5      nX     SX'   g )Nr   r3   r`   r>   r    )r   rM   emptyr   arraybool)r(   blahks      r.   test_boolean_index_empty_corner5TestDataFrameIndexing.test_boolean_index_empty_corner   sB    1a&)C5b@QR HHRrJ   c                 ~   [        [        R                  R                  S5      R	                  S5      / SQ/ SQS9nUR
                  S S nUR                  UR                  S S    n[        R                  " X#5        UR                  SS/   nUR                  [        SS/5         n[        R                  " X#5        g )	Nr7   )r:   r8   )r3   rZ   r   r_   r6   r{   rz   r3   rZ   )r   rM   r   rN   rO   ilocru   r    r"   rB   r   rv   s       r.   test_getitem_ix_mixed_integer3TestDataFrameIndexing.test_getitem_ix_mixed_integer   s    II!!!$44V<#
 "66"((3B-(
f/B66%B.)
f/rJ   c                     [        S/ SQ/ SQ/ SQS./ SQS9nUS/   nUR                  S S 2S/4   n[        R                  " X#5        US	/   nUR                  S S 2S
/4   n[        R                  " X#5        g )N)      ?g@g	@      @)      $   (   )rZ      +   "   )r   rZ   r      )rnar     r=   r   r8   r   r3   r   r   r"   rB   rv   s       r.   test_getitem_ix_mixed_integer24TestDataFrameIndexing.test_getitem_ix_mixed_integer2  s|    +'#%	 ,
 TF771qc6?
f/UG771qc6?
f/rJ   c                     [         R                  " UR                  US   5        Sn[        R                  " [
        US9   UR                    S S S 5        g ! , (       d  f       g = f)Nr`   z6'DataFrame' object has no attribute 'NONEXISTENT_NAME'r   )r"   rd   r`   r%   r&   AttributeErrorNONEXISTENT_NAME)r(   r)   rh   s      r.   test_getattr"TestDataFrameIndexing.test_getattr  sC    
{}}k#.>?F]]>5(( 655s    A
A$c                     [        SS0[        S5      S9nSUl        UR                  S:H  R                  5       (       d   eg )Nfoobarr3   rZ   r   r;   )r   rf   r   allr(   rE   s     r.   test_setattr_column)TestDataFrameIndexing.test_setattr_column  s:    !}E"I6			Q##%%%%rJ   c                    US   S S S2   nXQS'   SU;   d   e[        U5      S:X  d   e[        U5      S:X  d   e[        R                  " [        R                  " UR                  [        R
                  /S-  45      5      n[        XaR                  SS9n[        R                  " US   U5        US   nXQS'   [        R                  " XQS   SS	9  [        R                  R                  S5      R                  [        U5      5      nXqS
'   US
   U:H  R                  5       (       d   eSUS'   US   S:H  R                  5       (       d   eSUS'   US   S:H  R                  5       (       d   eSUS'   US   S:H  R                  5       (       d   eUS S nSn	U(       d  U(       a  SS/US'   O)[        R                  " [         U	S9   SS/US'   S S S 5        U(       a  US   R"                  S:X  d   eO#US   R"                  [        R$                  :X  d   eUS   SS/:H  R                  5       (       d   eg ! , (       d  f       Nn= f)Nr`   r7   col5   r   r    ro   col6Frb   col9r;   col7gQ	@col0r^   col8zC\nA value is trying to be set on a copy of a slice from a DataFramerq   rr   col10r   string)r   rM   ravelcolumn_stackrT   r   r   r    r"   rd   r   rN   rO   r   r%   r&   r
   r5   object_)
r(   r)   using_copy_on_writewarn_copy_on_writeusing_infer_stringr,   expr   smallerrh   s
             r.   test_setitem"TestDataFrameIndexing.test_setitem#  sC    S!#A#&$F$$$6{b   ;2%%%hhrx"}'EFGS 1 1?
{62C8S!$F
v6':N ii##A&66s;7GH!FF#s*//1111FF#q(--////"FF#t+002222#FF#u,113333 bq/T"4 #SzGG33?$':  @ 7#))X5557#))RZZ777 S#J.335555 @?s   H55
Ic                 \   [        SS//5      n[        R                  UR                  S'   [        [        R                  [        R                  //5      n[        R
                  " X5        [        SS//5      n[        R                  UR                  S'   [        R
                  " X5        g )Nr   )r   rM   r   r   r"   rB   ru   r(   rE   rG   s      r.   test_setitem2#TestDataFrameIndexing.test_setitem2V  sz    Ax VV
rvvrvv./0
b+Ax FFq	
b+rJ   c                 2   UR                  5       nUR                  R                  5       nSX"S   S:  '   SX3S S 2S4   S:  '   [        R                  " UR                  U5        US   S:H  nUR	                  UR
                  S S S2   5      nSX$'   SX3S S 2S4   S:H  '   [        R                  " UR                  U5        SX"S:  '   SX3S:  '   [        R                  " UR                  U5        SX"S:H  '   SX3S:H  '   [        R                  " UR                  U5        SX"S S S:  '   [        R                  " US S US S S:  S5        [        R                  " UR                  U5        SX"S S S2   S:H  '   SX3S:H  '   [        R                  " UR                  U5        S	n[        R                  " [        US
9   SX"S-  '   S S S 5        UR                  5       nU[        R                  " U5      :  n[        R                  X"[        R                  " U5      :  '   UR                  R                  5       n[        R                  X7R                  '   [        X6R
                  UR                  S9n[        R                  " X(5        US-  X"[        R                  " U5      :  '   [        R                  " X7R                  UR                  S-  5        [        X6R
                  UR                  S9n[        R                  " X(5        g ! , (       d  f       GNL= f)Nr:   r`   r   rz   r3   r;   r7   r8   z;Must pass DataFrame or 2-d ndarray with boolean values onlyr   r{   )rL   rT   r"   r   r   r    rM   putmaskr%   r&   	TypeErrorabsr   r   r>   rB   )	r(   r)   rE   rT   r,   rh   df_origmaskrG   s	            r.   test_setitem_boolean*TestDataFrameIndexing.test_setitem_booleana  s   ##((*c7Q;#$ad|a 
ryy&1 CA2/
$%ad|q !
ryy&16
z
ryy&17{
ryy&1 cr7Q;


6#2;sa3
ryy&1 dd8q={
ryy&1K]]9C0BAvJ 1 '')BFF2J ffr
?$$& ff{{V=='//R
b+ !1fr
?


6;;		A6V=='//R
b+! 10s   :L
Lc                     US   R                  S5      US'   US   R                  [        R                  :X  d   eSUS'   US   R                  [        R                  :X  d   e[        R                  " [        U5      5      US'   [        US   R                  R                  [        R                  5      (       d   eSUS'   SUS'   US   R                  [        R                  :X  d   eSUS'   SUS'   US   R                  [        R                  :X  d   eSUS'   US   R                  [        R                  :X  d   eS	US'   US   R                  [        R                  :X  d   eSUS'   US   R                  [        R                  :X  d   eg )
Nr   i8r   ra   barr^         @	somethingr7   )
r}   r5   rM   r   r   r   
issubclasstypeintegerr   )r(   r)   s     r.   test_setitem_cast'TestDataFrameIndexing.test_setitem_cast  s{   &s+2248C3%%111
 C3%%111 99S%56C+c*0055rzzBBBB"EE5!''288333"E E5!''2::555#$K ;'--999#$K ;'--999#&K ;'--;;;rJ   c                 0   [        / SQ/ SQS.[        R                  " S5      S9nUS	 / SQUS'   SU;   d   e[        UR                  5      S:X  d   eSUS	'   S
US'   SUS'   SU[
        R                  " 5       '   SU[
        R                  " 5       '   [        UR                  S9nS
US	'   SUS'   [        UR                  5      S:X  d   eUR                  R                  [        R                  :X  d   eSUS'   US   R                  [        R                  :X  d   eSUS'   US   R                  [        R                  :X  d   eSUS	'   SUS	   R                  S   :X  d   e[        [        R                  " S5      S9nSUS	'   SUS
'   US
	 SUS
'   U(       a  US
   R                  S:X  d   eO#US
   R                  [        R                  :X  d   e/ SQUS'   U(       a  US   R                  S:X  d   eg US   R                  [        R                  :X  d   eg )N)      ?       @      @abr   )ra   r   r8   r   ra   r7   	beginningr`   r^   r_   r   r   date      @r3   r   r  r   r   rq   rr   3	coercible)r   rM   r   r   r>   r   nowr    rT   r5   r   r   r   r   )r(   r)   r   rE   dms        r.   test_setitem_corner)TestDataFrameIndexing.test_setitem_corner  s   _?C299UV<XsG!3byy2::!###333#8<<> 8<<> [../332::!###yy"**,,, 3#w}}(((3#w}}

*** 33Q'''RYYq\*35	uI5	e9??h...e9??bjj000);k?((H444k?((BJJ666rJ   c                 R   / SQS/S-  -   [         R                  R                  S5      R                  S5      S.n[        U5      nX"S   S:H     R                  nSUR
                  US/4'   S	UR
                  US
/4'   UR
                  S   S:X  d   eUR
                  S   S	:X  d   eg )N)r   r   r   r      r7   r   )titlecruftr  r   r   r  )r3   r  )r3   r  )rM   r   rN   r   r    ru   )r(   rg   rE   ixs       r.   test_setitem_corner2*TestDataFrameIndexing.test_setitem_corner2  s    0H:?BYY**1-44R8

 t_7u$%++ (rG9} !rG9}vvj!X---vvj!Q&&&rJ   c                 @   [        [        S5      [        S5      S9n[        [        S5       Vs/ s H  n[        S5      PM     sn[        S5      S9n[        / SQ[        S5      S9n[        R
                  " S5      US'   [        UR                  5      S:X  d   eXBS'   [        UR                  5      S:X  d   eXRS'   [        UR                  5      S:X  d   eU(       a  US   R                  S:X  d   eg US   R                  [        R                  :X  d   eg s  snf )	Nr8   r{   r3   r   )r^   bzrbazr   r7   r   )
r   rf   r   r   rM   onesr   r>   r5   r   )r(   r   r  r+   coercable_seriesuncoercable_seriess         r.   test_setitem_ambig(TestDataFrameIndexing.test_setitem_ambig  s     U1XuQx8!uQx"@x!71:x"@aQ#$9qJ
12::!### 12::!###"12::!###a5;;(***a5;;"**,,, #As   Dc                 $   US   US '   U(       d  S O[         R                  n[        R                  " UR                  S S 2S4   US   SS9  [        R                  " UR
                  S S 2U4   US   SS9  [        R                  " X   US   SS9  g )Nr`   rz   Frb   )rM   r   r"   rd   r   ru   )r(   r)   r   r-   s       r.   test_setitem_None'TestDataFrameIndexing.test_setitem_None  s    ',D,d"&&
QU#[%55	
 	OOAsF#[%55	
 	{/S1AuUrJ   c                     [        / SQ/ SQ/ SQS.5      nUR                  5       nUR                  R                  5       UR                  UR                  R                  5       S4'   [        R                  " X!5        g )Nr  )112233)111222333r  r  )r   rL   r  ru   r	  r   r"   rB   )r(   rE   rF   s      r.   &test_loc_setitem_boolean_mask_allfalse<TestDataFrameIndexing.test_loc_setitem_boolean_mask_allfalse  sZ    !(:AVW
 +188==?

688==?C'(
f)rJ   c                 J   [        [        R                  R                  S5      R	                  S5      5      nUR
                  S SS2     [        R                  UR
                  S SS2'   [        UR
                  S SS2   5      R                  R                  5       (       d   eg )Nr7   rZ   r;      )
r   rM   r   rN   rO   r   r   r   rT   r   r   s     r.   &test_getitem_fancy_slice_integers_step<TestDataFrameIndexing.test_getitem_fancy_slice_integers_step  s~    ryy,,Q/??HI 	11BGGDQqDM"))--////rJ   c                    [        [        R                  R                  S5      R	                  S5      [        SSS5      S9nUR                  5       nSUR                  SS& UR                  SS S:H  R                  R                  5       (       d   eUR                  5       nSUR                  SS	& UR                  SS	 S:H  R                  R                  5       (       d   eUR                  SS
 nUR                  SS	 nUR                  / SQ5      n[        R                  " X55        [        R                  " XE5        UR                  [        [        S5      5      [        [        SS5      5      S S S2   -      n[        R                   " ["        SS9   UR                  SS	   S S S 5        [        R                   " ["        SS9   SUR                  SS	& S S S 5        g ! , (       d  f       N@= f! , (       d  f       g = f)Nr7   r0  r   r   r   r:   rZ   r8   r   r<   )r:   r<   r1  rZ   r;   rz   z^3$r   )r   rM   r   rN   rO   rf   rL   r   rT   r   ru   r   r"   rB   listr%   r&   r'   )r(   rE   cprF   result2rG   df2s          r.   ,test_getitem_setitem_integer_slice_keyerrorsBTestDataFrameIndexing.test_getitem_setitem_integer_slice_keyerrors$  s   II!!!$44W=U1bRS_

 WWY"""**..0000 WWY"""**..00001&&2,::m,
f/
g0 ggd58ntE!RL'9$B$'??@]]862GGAbM 3]]862CGGAbM 32 3222s   GG0
G-0
G>c                    UR                   S S 2SS 24   nUS   R                  [        R                  :X  d   eUR	                  5       nUR                   S S 2SS 24   n[        R
                  " US   R                  US   R                  5      (       d   e[        R                  " U5         SUR                  S S 2S4'   S S S 5        U(       dO  US   S:H  R                  5       (       d   e[        R
                  " US   R                  US   R                  5        g [        R                  " X5        g ! , (       d  f       N{= f)Nr   r         @r:   )r   r5   rM   r   rL   shares_memory_valuesr"   assert_cow_warningru   r   rB   )r(   r)   float_string_framer   r   slicedoriginals          r.   test_fancy_getitem_slice_mixed4TestDataFrameIndexing.test_fancy_getitem_slice_mixedA  s    $((BC0c{  BJJ... ##%!!!RS&)s 3 3[5E5M5MNNNN""#56!$FJJq#v 7"$)..0000 VC[00+c2B2J2JK!!+8 76s   ,D55
Ec                    [        [        S5      [        SSS9S9nUR                  SS/   u  p#UR                  X# nXU nUSS n[
        R                  " XF5        [
        R                  " XV5        UR                  5       nSUR                  X#& UR                  5       nSXRU& UR                  5       nSUSS& [
        R                  " XF5        [
        R                  " XV5        g )	Nr   z
2020-01-01periodsr   r;   rZ   r   r   )r   rf   r   r    ru   r"   rB   rL   )r(   rE   startendrF   r7  rG   s          r.   "test_getitem_setitem_non_ix_labels8TestDataFrameIndexing.test_getitem_setitem_non_ix_labelsY  s    uRy
<(LMXXq"g&
"3-a8
f/
g0 !

5'')c7792
f/
g0rJ   c                    [        [        R                  R                  S5      R	                  S5      5      nUR
                  UR                  S:H  S S 24   nUR                  S/5      n[        R                  " X#5        [        [        R                  R                  S5      R	                  S5      5      nUR
                  UR                  S:H  UR                  S:H  4   nUR                  S/S/S9n[        R                  " X#5        g )Nr7   r8   r7   r   r3   r{   )r   rM   r   rN   rO   ru   r    r   r"   rB   r>   )r(   rE   rsxps       r.   test_ix_multi_take(TestDataFrameIndexing.test_ix_multi_takem  s    ryy,,Q/??GHVVBHHM1$%ZZ_
b% ryy,,Q/??GHVVBHHM2::?23ZZqcA3Z/
b%rJ   c                     UnUR                   nUR                   H.  nX$   nUR                  S S S2    H  nX6U4   XV   :X  a  M   e   M0     g )Nr;   )ru   r>   r    )r(   r)   fr  coltsrD   s          r.   test_getitem_fancy_scalar/TestDataFrameIndexing.test_getitem_fancy_scalary  sS    UU 99CBwwss|s(|rw... $ rJ   c                    UnUR                  5       nUR                  n[        UR                  5       H  u  pVX&     UR                  S S S2    Hu  nUR                  R                  U5      n[        R                  R                  S5      R                  5       n	XR                  X4'   XXv4'   [        R                  " X#5        Mw     M     g )Nr;   r7   )rL   ru   	enumerater>   r    get_locrM   r   rN   rO   r   r"   rB   )
r(   r)   rT  rG   r  jrU  rD   ivals
             r.   test_setitem_fancy_scalar/TestDataFrameIndexing.test_setitem_fancy_scalar  s    ##%UU  		*FAFwwss|GGOOC(ii++A.>>@&)ad#"38%%a2 $ +rJ   c                    UnUR                   nUR                  SS/S9nUS S 2/ SQ4   n[        R                  " XT5        UR                  UR                  SS SS/S9nX2R                  SS / SQ4   n[        R                  " XT5        UR                  UR                  S   :  nUR                  UR                  U   S	9nX6   n[        R                  " XT5        X6S S 24   n[        R                  " XT5        X6UR
                  S
S  4   nUR                  UR                  U   SS/S9n[        R                  " XT5        g )Nra   r   r=   )FTFTr;   rZ   r{      r   r7   r   )ru   r   r"   rB   r    r>   )r(   r)   rT  r  rG   rF   boolvecs          r.   test_getitem_fancy_boolean0TestDataFrameIndexing.test_getitem_fancy_boolean  s)   UU99c3Z90A112
f/991771R=3*9EGGAbM#==>
f/''AGGAJ&991777#394
f/QJ
f/QYYqr]*+991777#3c3Z9H
f/rJ   c                 P   UR                  5       nUR                  5       nUR                  R                  5       nUS   S:  nSUR                  U'   SXER                  '   [        XCR                  UR
                  S9n[        R                  " X#5        UR                  5       nUR                  5       nUR                  R                  5       nSUR                  USS/4'   SXER                  S S24'   [        XCR                  UR
                  S9n[        R                  " X#5        g )Nr`   r           r{   ra   r7   )rL   rT   ru   r   r    r>   r"   rB   )r(   r)   framerG   rT   r   s         r.   test_setitem_fancy_boolean0TestDataFrameIndexing.test_setitem_fancy_boolean  s       "##%%%'SzA~		$!{{V>>8CSCST
e.  "##%%%'&)		$c
"#"%{{BQBV>>8CSCST
e.rJ   c                 (   UR                   / SQ   nUR                  UR                  / SQ      n[        R                  " X#5        UR                   S S 2/ SQ4   nUR                  S S 2UR
                  / SQ   4   n[        R                  " X#5        g )N)r3   r:   rb  )r7   r   r3   )r   ru   r    r"   rB   r>   )r(   r)   rF   rG   s       r.   test_getitem_fancy_ints-TestDataFrameIndexing.test_getitem_fancy_ints  sy    !!),??;#4#4Y#?@
f/!!!Y,/??1k&9&9)&D#DE
f/rJ   c                 <   US   S S S2   S:  nUR                   U   nUR                   US S S2      n[        R                  " X45        UR                  5       nUR                  5       nSUR                   U'   SUR                   U'   [        R                  " XT5        g )Nr`   rz   r3   r   )ru   r"   rB   rL   )r(   r)   r   rF   rG   r6  s         r.   'test_getitem_setitem_boolean_misaligned=TestDataFrameIndexing.test_getitem_setitem_boolean_misaligned  s    3"%)&??4":.
f/##%tT
b+rJ   c                 4   [        [        R                  R                  S5      R	                  S5      5      n[        R
                  " / SQ5      n[        R
                  " SS/5      nUR                  X#4   nUR                  SS/S/4   n[        R                  " XE5        UR                  5       nSUR                  [        R
                  " / SQ5      [        R
                  " SS/5      4'   SUR                  SS/S/4'   [        R                  " X5        g )	Nr7   rN  r   FTr   r3   r;   )
r   rM   r   rN   rO   r   ru   r"   rB   rL   )r(   rE   k1k2rF   rG   s         r.   "test_getitem_setitem_boolean_multi8TestDataFrameIndexing.test_getitem_setitem_boolean_multi  s    ryy,,Q/??GH XX)*XXudm$661a&1#+&
f/779IJrxx+,bhht}.EEF$%aVaS[!
b+rJ   c                 
   [        / SQ5      n[        [        R                  R	                  S5      R                  S5      US9nUR                  SS nUR                  / SQ5      n[        R                  " XE5        [        U5      S:X  d   eUR                  SS nUR                  SS/5      n[        R                  " XES	S
9  [        U5      S:X  d   eUR                  SS nUR                  SS/5      n[        R                  " XE5        [        U5      S:X  d   eUR                  SS nUR                  SS n[        R                  " XE5        UR                  SS nSn[        R                  " [        US9   USS nS S S 5        [        R                  " XE5        [        / SQ5      n[        [        R                  R	                  S5      R                  S5      US9nSn[        R                  " [         US9   UR                  SS   S S S 5        UR                  SS nUR                  S/5      n[        R                  " XE5        [        U5      S:X  d   eUR#                  5       n[        R                  " [         [$        S9   SUR                  SS& S S S 5        [        R                  " [         US9   UR                  SS S:H  nS S S 5        UR&                  R)                  5       (       d   eUR                  SS UR                  SS :H  R&                  R)                  5       (       d   eUR#                  5       nSUR                  SS& UR                  SS S:H  R&                  R)                  5       (       d   eUR                  SS UR                  SS :H  R&                  R)                  5       (       d   eUR                  SS nUn[        R                  " XE5        [        U5      S:X  d   eUR                  SS nUR                  / SQ5      n[        R                  " XE5        [        U5      S:X  d   eUR                  SS nUR                  S/5      n[        R                  " XE5        [        U5      S:X  d   eUR                  SS nUR                  / SQ5      n[        R                  " XE5        [        U5      S:X  d   eUR#                  5       nSUR                  SS& UR                  SS nUS:H  R&                  R)                  5       (       d   eg ! , (       d  f       GN= f! , (       d  f       GN4= f! , (       d  f       GN= f! , (       d  f       GN= f)N)r   r7   r8   r:   r;   r7   r   r   r   r:   )r   r7   r8   r:   r;   F)check_index_typer=  r  r3   r   z3The behavior of obj\[i:j\] with a float-dtype indexr   )r  r         @r   r  zPcannot do positional indexing on Index with these indexers \[1.0\] of type floatr  g?)r   rx  r   r  g
ףp=
@)r   r   rM   r   rN   rO   ru   r   r"   rB   r   r   r   FutureWarningr%   r&   r   rL   
_slice_msgrT   r   )r(   using_array_managerr    rE   rF   rG   rh   r6  s           r.   !test_getitem_setitem_float_labels7TestDataFrameIndexing.test_getitem_setitem_float_labels  s   '(ryy,,Q/??GuUA::n-
f/6{a!::q!f%
fG6{a!::sCj)
f/6{a !771Q<
f/771Q<D''SA!WF B
f/ /0ryy,,Q/??GuU4 	 ]]9C0GGCN 1 1::se$
f/6{aWWY]]9J7BGGCN 8 ]]9C0WWS^q(F 1 }}  """"!!,4488::::WWY!!!))--////!!,4488:::: A
f/6{aA::23
f/6{aQ::se$
f/6{aC::78
f/6{aWWYs3C!##'')))){ BA 10 87 10s0   <T)>T;U<U)
T8;
U

U
U.c                    [        [        R                  R                  S5      R	                  S5      / SQ/ SQS9n[        S5      US'   UR                  n[        [        R                  " S5      /S	-  [        R                  " S
5      /-   / SQS9n[        R                  " X#5        [        R                  " [        SS9   [        UR                  S'   S S S 5        [        UR                  S   5      (       a   eUS   R                  [        R                   :X  d   eUR                  S   [        :X  d   e[        R"                  UR                  S'   [        UR                  S   5      (       d   e[        R"                  UR                  SS S 24'   [        UR                  SS S 24   5      R%                  5       (       a   eg ! , (       d  f       N= f)Nr7   r;   r8   )r  r	  r   r   e)r^   r   r  r{   20010102	timestampr   r8   zdatetime64[s])r^   r   r  r  r   %Setting an item of incompatible dtyper   )r	  r  )r   r  r   r   )r   rM   r   rN   rO   r   r   r   r5   r"   rd   r   ry  r   ru   r   r   r   r   rv   s       r.   )test_setitem_single_column_mixed_datetime?TestDataFrameIndexing.test_setitem_single_column_mixed_datetime?  s   II!!!$44V<+)
 $J/; XXi !A%/)B(CC4
 	v0 ''!H
 (,BFF#$
 /01111+$$

222vv&'4/// $&66 BFF+,---- sAvsAv'++-----
 
s   G
Gc                    [        / SQ[        SSS5      SSS[        SSS5      [        SSS5      /S.5      n[        S	[        S
5      [        S5      S9n[        R
                  US'   [        SSS5      UR                  S'   [        R                  " [        SS9   SUR                  S'   S S S 5        SUR                  SS/S4'   [        R                  " S[        R                  " S5      /S[        R                  " S5      //5      nX2R                  SS/SS/4'   [        R                  " X!5        g ! , (       d  f       N= f)N)r   r   r   r         i  r3   xyi  i  r  r	  r   abr<   r   r	  r   r	  r  r   )r3   r	  r  r  r7   r8   r  z2013-01-01T00:00:00r  z2014-01-01T00:00:00r:   r;   r  )r   r   r5  rf   pdNaTru   r"   r   ry  rM   r   
datetime64rB   )r(   rG   rE   r`   s       r.   test_setitem_mixed_datetime1TestDataFrameIndexing.test_setitem_mixed_datetimea  s,   )T1a(T1a(T1a(

 q$t*E!H=&&3!$1-v''!H
 BFF6N
 '1vs{HHR]]#89:R]]#89:
 &'1vSz!"
b+
 
s   D55
Ec                 4   UR                   UR                  S S SS/4   nUR                  UR                   UR                  S   S 2SS/4'   UR                   UR                  SS  SS/4   R                  nUR                  n[        R                  " X45        g Nr7   r`   ra   )ru   r    rT   r"   r   r(   r)   piecerF   rG   s        r.   test_setitem_frame_float.TestDataFrameIndexing.test_setitem_frame_float  s     1 1"1 5Sz AB?D||))"-/#s;<!2!223!7#s!CDKK<<
v0rJ   c                 L   UR                  5       n[        SS/SS//UR                  SS SS/S	9nUR                  [        S S5         SS/4nX2R                  U'   [
        R                  " UR                  UR                  SS SS/4   R                  UR                  5        g )
Nr  r  r  r=  r   r7   r`   ra   r{   )rL   r   r    sliceru   r"   r   rT   r(   rA  rT  r  r-   s        r.   test_setitem_frame_mixed.TestDataFrameIndexing.test_setitem_frame_mixed  s     ##%3Z#s$AGGAaL3*
 wwuT1~&c
3c

quuQWWQq\C:%=>EEu||TrJ   c                 z   UR                  5       n[        SS/SS/SS/SS//[        UR                  S	S
 5      SS/-   SS/S9nUR                  [	        S S
5         SS/4nX2R
                  U'   [        R                  " UR
                  UR                  S	S
 SS/4   R                  UR                  S	S
 5        g )Nr  r  r  r=  r  g      @g      @g       @r   r7   r^   r   r`   ra   r{   )	rL   r   r5  r    r  ru   r"   r   rT   r  s        r.   'test_setitem_frame_mixed_rows_unaligned=TestDataFrameIndexing.test_setitem_frame_mixed_rows_unaligned  s    ##%3Z#sc3Z#s<qwwq|$u~5#J

 wwuT1~&c
3c

EE!''!A-#s+,33U\\!A5F	
rJ   c                    UR                  5       nUR                  UR                  S S S/4   nUR                  SS  Ul        UR                  [        SS 5         SS/4nX2R                  U'   [        R
                  US'   [        R                  " UR                  UR                  SS  SS/4   R                  UR                  5        g )Nr7   r`   r  ra   )	rL   ru   r    r  rM   r   r"   r   rT   r  s        r.   &test_setitem_frame_mixed_key_unaligned<TestDataFrameIndexing.test_setitem_frame_mixed_key_unaligned  s    ##%aggbqkC5()ggbclwwuR'#s4c
VVc

quuQWWRS\C:%=>EEu||TrJ   c                 b   UR                  5       nUR                  UR                  S S SS/4   nUR                  [        SS 5         SS/4nUR                  UR                  U'   [
        R                  " UR                  UR                  SS  SS/4   R                  UR                  5        g r  )rL   ru   r    r  rT   r"   r   r  s        r.    test_setitem_frame_mixed_ndarray6TestDataFrameIndexing.test_setitem_frame_mixed_ndarray  s    ##%"&&qwwr{S#J'>?wwuR'#s4\\c

quuQWWRS\C:%=>EEu||TrJ   c                 l   [        / SQ/ SQ// SQS9nUR                  5       n[        R                  " [        SS9   UR
                  S S 2SS/4   S	-   UR
                  S S 2SS/4'   S S S 5        UR                  SS/S9nUS	-  nUS
   US
'   [        R                  " X#5        g ! , (       d  f       NC= f)N)r3   r7   r^   )r8   r:   r   r`   ra   r   r=   incompatible dtyper   r`   ra         ?r   )r   rL   r"   r   ry  ru   r   rB   )r(   rE   r8  rG   s       r.   test_setitem_frame_upcast/TestDataFrameIndexing.test_setitem_frame_upcast  s    }5Oggi''=QR%'VVASzM%:S%@CGGASzM" S::sCj:1C3
c, SRs   ,B%%
B3c                 T   UR                   UR                  S S SS/4   nUR                  SS  Ul        SS/Ul        X!R                   UR                  SS  SS/4'   UR                   UR                  SS  SS/4   R                  nUR                  n[        R
                  " X45        g r  )ru   r    r>   rT   r"   r   r  s        r.   test_setitem_frame_align.TestDataFrameIndexing.test_setitem_frame_align  s     1 1"1 5Sz AB!'',c
>C))"#.c
:;!2!223!7#s!CDKK<<
v0rJ   c                    [        [        R                  R                  S5      R	                  S5      / SQS9nUR
                  S   nUS S n[        R                  " X#5        UR
                  S   nUR                  SS/   n[        R                  " X#5        UR
                  S   nUR                  S	   n[        R                  " X#5        g )
Nr7   r  r^   r^   r   r  r   r   r^   r   r:   r  r8   )
r   rM   r   rN   rO   ru   r"   rB   r   rd   rv   s       r.   "test_getitem_setitem_ix_duplicates8TestDataFrameIndexing.test_getitem_setitem_ix_duplicates  s    II!!!$44V<5

 bq6
f/77Aq6?
f/771:
v0rJ   c                    [        [        R                  R                  S5      R	                  S5      / SQS9nUR
                  S/   nUR                  SS/   n[        R                  " X#5        UR
                  US   S:     nXS   S:     n[        R                  " X#5        UR
                  US   S:     nXS   S:     n[        R                  " X#5        g )	Nr7   r  r  r   r   r:   r3   r   )	r   rM   r   rN   rO   ru   r   r"   rB   )r(   rE   rF   r   s       r.   +test_getitem_ix_boolean_duplicates_multipleATestDataFrameIndexing.test_getitem_ix_boolean_duplicates_multiple  s    II!!!$44V<5

 ggq!fo
f*1	"Am
f*1	"Am
f*rJ   
bool_valueTFc                 8   [        S/ SQ05      nU S3n[        R                  " [        US9   UR                  U     S S S 5        Sn[        R                  " [        US9   SUR                  U'   S S S 5        g ! , (       d  f       NB= f! , (       d  f       g = f)Nr  r6   z7: boolean label can not be used without a boolean indexr   z.cannot use a single bool to index into setitemr   )r   r%   r&   r'   ru   )r(   r  rE   messagerh   s        r.   %test_getitem_setitem_ix_bool_keyerror;TestDataFrameIndexing.test_getitem_setitem_ix_bool_keyerror  s|     Y'(L WX]]873FF: 4 ?]]83/!"BFF: 0/	 43 0/s   A:!B:
B
Bc                    SUS'   [        US   R                  R                  [        [        R
                  45      (       d   eUR                  UR                  S   S4   n[        U5      (       d   e[        SS/05      nSUS'   UR                  S   n[        U5      (       d   e[        S/S	/SS
9nUR                  S	/S4   n[        R                  " X$5        g )Nr3   r_   r;   r  gGz?i  r	  r  r   rs   )r   r5   r   rt   rM   r   ru   r    r   r   r   r"   rd   )r(   r)   rF   rE   rG   s        r.   "test_single_element_ix_dont_upcast8TestDataFrameIndexing.test_single_element_ix_dont_upcast  s    C+c*0055RZZ7HIIII!2!21!5s!:;&!!!! dV}%3&!!!!3%!3/S!
v0rJ   c                    [        [        R                  " S5      R                  SS5      [	        SSS5      S9nSn[
        R                  " [        US	9   UR                  S
      S S S 5        [
        R                  " [        US	9   SUR                  S '   S S S 5        g ! , (       d  f       NA= f! , (       d  f       g = f)Nr   rZ   r:   r   r   r7   r   zcallable with ilocr   c                     gN)r    r+   s    r.   <lambda>MTestDataFrameIndexing.test_iloc_callable_tuple_return_value.<locals>.<lambda>      drJ   r3   c                     gr  r  r  s    r.   r  r    r  rJ   )	r   rM   r   r   rf   r"   r   ry  r   )r(   rE   rh   s      r.   %test_iloc_callable_tuple_return_value;TestDataFrameIndexing.test_iloc_callable_tuple_return_value  s    ryy},,R35B?K"''SAGGN# B''SA&'BGGN# BA BAAAs   B!B2!
B/2
C c                 `   [        [        R                  R                  S5      R	                  S5      [        SSS5      S9nUR                  S   nUR                  S   n[        R                  " X#5        UR                  S   nUR                  S   n[        R                  " X#5        UR                  [        SS5         nUR                  SS	 n[        R                  " X$5        UR                  / S
Q   nUR                  UR                  / S
Q   5      n[        R                  " X$5        g )Nr7   rZ   r:   r   r   r   r3   r:   r1  r  r3   r7   r:   r<   )r   rM   r   rN   rO   rf   r   ru   r"   rd   r  rB   r   r    r(   rE   rF   r   rG   s        r.   test_iloc_row#TestDataFrameIndexing.test_iloc_row  s    II!!!$44W=U1bRS_
 ffQi
v+ffQi
v+ q!%66!B<
f/ &::bhh|45
f/rJ   c                 t   [        [        R                  R                  S5      R	                  S5      [        SSS5      S9nUR                  5       nUR                  [        SS5         n[        R                  " US   US   5      (       d   eUS   R                  5       n[        R                  " U5         SUR                  S S 2S4'   S S S 5        U(       d3  SUR                  SS& [        R                  " US   US   5      (       d   e[        R                  " US   U5        g ! , (       d  f       Nc= f)	Nr7   r  r   r   r   r:   r1  rg  )r   rM   r   rN   rO   rf   rL   r   r  r>  r"   r@  ru   r?  rd   )r(   r   r   rE   rC  subsetexp_cols          r.   test_iloc_row_slice_view.TestDataFrameIndexing.test_iloc_row_slice_view-  s   II!!!$44W=U1bRS_
 779 q!%1vay11111+""$""#56"FJJq!t 7"#&GOOAa  ##BqE6!95555
r!ug. 76s   8D))
D7c                    [        [        R                  R                  S5      R	                  S5      [        SSS5      S9nUR                  S S 2S4   nUR                  S S 2S4   n[        R                  " X#5        UR                  S S 2S4   nUR                  S S 2S4   n[        R                  " X#5        UR                  S S 2[        SS5      4   nUR                  S S 2SS	24   n[        R                  " X$5        UR                  S S 2/ S
Q4   nUR                  UR                  / S
Q   S9n[        R                  " X$5        g )Nr7   r:   rZ   r   r   r=   r3   r:   r1  r  r  )r   rM   r   rN   rO   rf   r   ru   r"   rd   r  rB   r   r>   r  s        r.   test_iloc_col#TestDataFrameIndexing.test_iloc_colC  s   II!!!$44W=uQPRTU
 AffQTl
v+AffQTl
v+ E!QK(66!QrT'?
f/ L)::bjj&>:?
f/rJ   c                    [        [        R                  R                  S5      R	                  S5      [        SSS5      S9nUR                  5       nUR                  S S 2[        SS5      4   nU(       d  U(       d  [        R                  " US   R                  US   R                  5      (       d   e[        R                  " U5         SUR                  S S 2S4'   S S S 5        US   S:H  R                  5       (       d   e[        R                  " US   R                  US   R                  5      (       d   eg U(       a8  [        R                  " US   R                  US   R                  5      (       d   eSUS'   US   S:H  R                  5       (       d   e[        R                  " XE5        g ! , (       d  f       N= f)	Nr7   r  r   r   r=   r:   r1  rg  )r   rM   r   rN   rO   rf   rL   r   r  r>  r?  r"   r@  ru   r   rB   )r(   r{  r   r   rE   rC  r  s          r.   test_iloc_col_slice_view.TestDataFrameIndexing.test_iloc_col_slice_viewZ  sj    II!!!$44W=uQPRTU
 779E!QK("+>##BqEMM6!93D3DEEEE&&'9:#&

1a4  ; qEQJ##%%%% ##BqEMM6!93D3DEEEE"''1vay7H7HIIIIF1I1IN''))))!!"/ ;:s   F55
Gc           	         [        [        SSSS9[        SSSS9S9nUR                  S[        SSSS9S9n[        SUSS	/S
9n[        R
                  " / SQ5      nSUR                  X   S4'   [        / SQ/ SQS.US9n[        R                  " X$5        [        SUSS	/S
9nUR                  X   S4==   S-  ss'   [        R                  " X$5        g )Ni  r3   )yearmonthdayr;   )rI  rJ  )ru   itemr   r`   ra   r{   )FFFFFTr<   )r   r   r   r   r<   r<   )r   r   r   r   r   r   r`   ra   r   )	r   r   insertr   rM   r   ru   r"   rB   )r(   trangerE   bool_idxrG   s        r.   test_loc_duplicates)TestDataFrameIndexing.test_loc_duplicatesx  s     QA6t1!4

 19$aQ+OPqc
;88EF )*v$%$+=>f
 	b+ qc
;
v$%*%
b+rJ   c                 
   [        [        SSSS9SS9n[        SU05      nU/ SQ   US'   [        R                  " US   U5        [        SU05      nU/ SQ   UR
                  / SQS4'   [        R                  " US   U5        g )	Nz
2015-01-01r8   utc)rH  tzdatesrs   )r3   r   r7   )r   r3   r7   )r   r   r   r"   rd   ru   )r(   columnrE   s      r.   4test_setitem_with_unaligned_tz_aware_datetime_columnJTestDataFrameIndexing.test_setitem_with_unaligned_tz_aware_datetime_column  s     
<uEGT()Y'7
r'{F3()%+I%6y'!"
r'{F3rJ   c                    [        SS9n[        [        SSS9S9n[        R                  " SU-  /S-  SS9US	'   [        R                  " S
U-  /S-  SS9UR
                  S S 2S4'   [        R                  " SU-  /S-  SS9UR
                  UR                  S S S4'   [        R                  " SU-  /S-  SS9UR
                  S S 2S4'   [        R                  " SU-  /S-  SS9UR
                  UR                  S S S4'   [        R                  " S5      US'   [        R                  " SU-  /S-  SS9UR
                  UR                  S S S4'   [        SSS9UR
                  UR                  S   S 2S4'   [        R                  " S5      US'   UR                  n[        [        R                  " S5      /S-  [        R                  " S5      /S
-  -   [        S5      S9n[        R                  " X45        g )Nr3   )hours20130101r:   rG  r   m8[ns]r4   r`   r7   ra   r8   r   r   r;   r_   r  r   r<   rz   r<  GHztimedelta64[ns]zdatetime64[ns]ABCDEFGH)r   r   r   rM   r   ru   r    timedelta64r  r   r   r5   r5  r"   rd   )r(   one_hourrE   rF   rG   s        r.   ,test_loc_setitem_datetimelike_with_inferenceBTestDataFrameIndexing.test_loc_setitem_datetimelike_with_inference  s    1%Z
A>?((AL>A-X>31x<.1"4HEq#v$&HHa(l^a-?x$Prxx|S !1x<.1"4HEq#v$&HHa(l^a-?x$Prxx|S !..'3%'XXq8|nq.@%Qrxx}c!"&0Q&Grxx|~s"#--&3XX'()A-:J1K0Lq0PPz"
 	v0rJ   c                    [        [        R                  [        R                  [        R                  [        R                  [        R                  S.[        R                  S[        R                  SSS.[        R                  [        R                  S[        R                  [        R                  S.[        R                  [        R                  [        R                  [        R                  [        R                  S.S[        R                  [        R                  [        R                  [        R                  S.SSSSSS.S.5      nUR                  5       nSX"S	:  '   UR                  5       nSUR                  S
'   SUR                  S'   SUR                  S'   SUR                  S'   [
        R                  " X#5        SUS'   Sn[        R                  " [        US9   SXS	:  '   S S S 5        g ! , (       d  f       g = f)N)#   r   r   1   2   gjBz?g% t?gk?g?r   r3   )r   r3   r7   r8   r:   r  g333333?)r   r3   )r  r3   )r  r3   )r  r:   testr^   z1not supported between instances|unorderable typesr   )
r   rM   r   rL   ru   r"   rB   r%   r&   r   )r(   rE   r8  rG   rh   s        r.   #test_getitem_boolean_indexing_mixed9TestDataFrameIndexing.test_getitem_boolean_indexing_mixed  si   BFFBFFO+++ + BFFBFFO+ qa81
< ggi#I779UUUU
c,5	A]]9C0BCxL 100s   (G99
Hc           	      D   [         R                  " SS/SS//S S/S9n[        / SQ/ SQ/U[        SS/S	S
9S9n[        R
                  " [        SS9   US S 2S4     S S S 5        [        [        S5      S	S
9n[        SS/SS//SS/SS//S S/S9n[        SS/SS//XCS9nUR                  S S 2[        S 5      S44   n[        R                  " Xe5        Sn[        [        S5      S	S
9n[        SS/X7S9nUS   n[        R                  " Xe5        g ! , (       d  f       N= f)Nr  r  r   r3   r   names)r3   r3   r7   r7   )r8   r8   r:   r:   r]  rs   r   r  r   r7   )levelscodesr  r8   r:   )r  r   r   )r   from_productr   r   r%   r&   r   rf   ru   r  r"   rB   r   rd   )r(   midgr    r>   rG   rF   ro   s           r.   test_type_error_multiindex0TestDataFrameIndexing.test_type_error_multiindex  s2   $$sCj1a&%9$M<("E1a&s<S
 ]],G<q!tH = eAhS)#JA'AA/?c{
 q!fq!f-wLE$K++,
f/eAhS)1a&9F
v0# =<s   
D
Dc                 P   [        [        R                  " S5      [        R                  R                  [        R                  " S5      5      S9nUR                  S S 2S4   nUS   n[        R                  " X25        UR                  S S 2S4   n[        R                  " X25        g )Nr8   r:   r;   r=   r   r  )r   rM   r  r  IntervalIndexfrom_breaksr   r   r"   rd   ru   )r(   rE   rG   rV   s       r.   ,test_getitem_interval_index_partial_indexingBTestDataFrameIndexing.test_getitem_interval_index_partial_indexing  s{    GGFOR%5%5%A%A"))A,%O
 771a4=g
s-ffQVn
s-rJ   c                 4   [        SS/[        S9n[        R                  " S5      [        R                  " S5      S.UR                  S'   [        [        R                  " S5      /[        R                  " S5      /S.5      n[
        R                  " X5        g )Nr  r	  )r>   r5   )r7   )r7   r7   r  r   )r   r~   rM   zerosru   r"   rB   r   s      r.    test_setitem_array_as_cell_value6TestDataFrameIndexing.test_setitem_array_as_cell_value  si    Sz8((4.rxx/?@q	BHHTN#3288F;K:LMN
b+rJ   c                    [        S/ SQ0SS9nUR                  5       nUR                  S S 2S S S24   UR                  S S & [        R
                  " X5        [        R                  R                  R                  UR                  S S 2S S S24   5      UR                  S S & [        R
                  " X5        UR                  S S 2S S 24   R                  5       UR                  S S & [        R
                  " X5        g )Nr`   r6   Int64r4   rz   )r   rL   rT   ru   r"   rB   r  corearraysNumpyExtensionArrayr   )r(   rE   origs      r.   $test_iloc_setitem_nullable_2d_values:TestDataFrameIndexing.test_iloc_setitem_nullable_2d_values  s    Y'w7wwyIIa2g&q	
b'GGNN66ryyDbD7IJq	
b'WWQT]'')

b'rJ   c                     [        [        R                  " S[        S95      n[        R                  " US   5      US'   US/     g )Nr3   r3   r4   r   )r   rM   r   r~   
empty_liker   s     r.   ,test_getitem_segfault_with_empty_like_objectBTestDataFrameIndexing.test_getitem_segfault_with_empty_like_object  s6    rxxf56be$1
A3rJ   z.ignore:Setting a value on a view:FutureWarningnullM8[ns]r  c                    [        S/ SQ0US9nUS   R                  5       nUR                  nSR                  / SQ5      n[        R
                  " [        US9   XS'   S S S 5        [        R
                  " [        US9   X/US S& S S S 5        [        R
                  " [        US9   XS'   S S S 5        [        R
                  " [        US9   X/US S& S S S 5        [        R
                  " [        US9   XR                  S'   S S S 5        [        R
                  " [        US9   X/UR                  S S& S S S 5        [        R
                  " [        US9   XR                  S	'   S S S 5        [        R
                  " [        US9   X/UR                  S S2S4'   S S S 5        UR                  5       nUR                  5       US
'   [        R
                  " [        US9   XR                  S	'   S S S 5        [        R
                  " [        US9   X/UR                  S S2S4'   S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNy= f! , (       d  f       GNY= f! , (       d  f       GN;= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       g = f)Nr`   r6   r4   |)z@timedelta64\[ns\] cannot be converted to (Floating|Integer)Dtypez?datetime64\[ns\] cannot be converted to (Floating|Integer)Dtypez 'values' contains non-numeric NAz1Invalid value '.*' for dtype (U?Int|Float)\d{1,2}r   r   r7   r   r   ra   )r   rL   r?  joinr%   r&   r   r   )r(   r#  any_numeric_ea_dtyperE   serr   rh   r8  s           r.   .test_setting_mismatched_na_into_nullable_failsDTestDataFrameIndexing.test_setting_mismatched_na_into_nullable_fails&  s    Y'/CDgllnkkhh
 ]]9C0F 1 ]]9C0lCG 1 ]]9C0F 1 ]]9C0lCG 1 ]]9C0HHQK 1 ]]9C0 <CHHRaL 1 ]]9C0 GGDM 1 ]]9C0"\BGGBQBEN 1 ggi88:C]]9C0!HHTN 1 ]]9C0#lCHHRaRUO 10= 10 10 10 10 10 10 10 10 10 10sx   H/ I(II%6I7&J	JJ-!J?K/
H>
I
I"%
I47
J	
J
J*-
J<?
K
Kc                     [        S/[        / SS9S9nSUR                  S'   [        SS/0[        S/SS9S9n[        R                  " X5        g )Nr	  r  rs   r   r3   r   r   )r   r   ru   r"   rB   r   s      r.   +test_loc_expand_empty_frame_keep_index_nameATestDataFrameIndexing.test_loc_expand_empty_frame_keep_index_name[  sM    uE"3,?@q	cA3ZuaSs/CD
b+rJ   c                     [        S/[        R                  " / / SQS9S9nSUR                  S'   [        SS/0[        R                  " S// SQS9S9n[        R
                  " X5        g )Nr   r  r  r   r^   r6   r   r   r   from_tuplesru   r"   rB   r   s      r.   +test_loc_expand_empty_frame_keep_midx_namesATestDataFrameIndexing.test_loc_expand_empty_frame_keep_midx_namesb  se    E!7!7/!R
 "y5'N(()OL
 	b+rJ   z	val, idxr)r  r  r  r  )r3   r  r3   c                 0   [        SSS/05      n[        R                  " [        SS9   [        SUS/0SS/S9UR                  S S 2U4'   S S S 5        [        S[
        R                  U/05      n[        R                  " X45        g ! , (       d  f       NB= f)Nr  r3   r7   r  r   r   r   )r   r"   r   ry  ru   rM   r   rB   )r(   idxrr^  rE   rG   s        r.   test_loc_setitem_rhs_frame0TestDataFrameIndexing.test_loc_setitem_rhs_framen  s     aV}%''!H
 (sBi(8AGBFF1d7O
 cBFFC=12
b+
 
s   "B
Bc                     [        SS/S9nUR                  5       nUS S  n[        R                  " SS/[        R                  S9UR
                  S S 2S4'   [        R                  " XC5        g )Nr  r	  r=   r3   r7   r4   r   )r   rL   rM   r   r   r   r"   rB   )r(   r   rE   rG   views        r.   $test_iloc_setitem_enlarge_no_warning:TestDataFrameIndexing.test_iloc_setitem_enlarge_no_warning  sX     Sz*779!u!Qrzz:1
d-rJ   c                    [        SSSS.[        R                  " SS/SS//SS/S9S	9nS
/nSUS'   SUR                  US4'   UR                  US4     UR                  USS/4     SUR                  US4'   UR                  US4   n[	        S[        R                  " S/S//SS/S9SS9=pA[
        R                  " X45        g )NTr3   r   )bool_colr  r	  r7   idx1idx2r  r   r  r8   r   r   r  r	  r   r   )r   r   from_arraysru   r   r"   rd   )r(   rE   rD   rF   rG   s        r.   (test_loc_internals_not_updated_correctly>TestDataFrameIndexing.test_loc_internals_not_updated_correctly  s    AC0((1a&1a&)9&&AQR
 h3sCx
sCx
sS#JsCxS!((1#sFF;KL
 	

 	v0rJ   r^  Nc                     [        S/ SQ0SS9nXR                  S/S S 24'   [        S[        R                  SS/0SS9n[        R
                  " X#5        g Nr  r  r   r4   r   r	  r   r   r   r  NAr"   rB   r(   r^  rE   rG   s       r.    test_iloc_setitem_string_list_na6TestDataFrameIndexing.test_iloc_setitem_string_list_na  sP     _-X>QcBEE3#45XF
b+rJ   c                     [        S/ SQ0SS9nXR                  SS S 24'   [        S[        R                  SS/0SS9n[        R
                  " X#5        g rE  rF  rH  s       r.   test_iloc_setitem_string_na1TestDataFrameIndexing.test_iloc_setitem_string_na  sN     _-X>1cBEE3#45XF
b+rJ   funcc                     [        S/ SQ0SS9nSUR                  S S 2U" S/5      4'   [        S/ SQ0SS9n[        R                  " X#5        g )Nr  r6   r  r4   r;   r   )r;   r;   r;   r   )r(   rN  rE   rG   s       r.   /test_iloc_setitem_ea_null_slice_length_one_listETestDataFrameIndexing.test_iloc_setitem_ea_null_slice_length_one_list  sL     Y'w7 !49c9-W=
b+rJ   c                 0   [        [        R                  " SS// SQ/SS/S9S9n[        SUR                  R
                  5      nU" SS	S
/S9nUR                  US S 24   n[        [        R                  " SS/SS/S9S9n[        R                  " XE5        g )Nr`   ra   r  firstsecondr  r   Indexerr  r	  )rS  rT  )r`   r  )r`   r	  )
r   r   r  r   r    r  ru   r2  r"   rB   )r(   rE   indexer_tupler6  rF   rG   s         r.   test_loc_named_tuple_for_midx3TestDataFrameIndexing.test_loc_named_tuple_for_midx  s    ))s_-gx5H

 #9bhhnn=3Sz:a((Z((0C

 	f/rJ   r   rU  r	  c                    [        S[        S5      [        S5      /0UE5      nUS   [        R                  " SS9-   UR                  S/U4'   [        S[        S5      [        S5      /0UE5      n[
        R                  " X45        g )Nr  z
2022-12-29z
2022-12-30r3   )daysz
2022-12-31)r   r   r  	Timedeltaru   r"   rB   )r(   rU  r   rE   rG   s        r.   test_set_2d_casting_date_to_int5TestDataFrameIndexing.test_set_2d_casting_date_to_int  s     9\*Il,CDLL
  "#w1)==sG|9\*Il,CDLL
 	b+rJ   ro   c                     Sn[        0 UE[        U5      [        U5      S.E5      nUR                  5       nUSS/   UR                  US/-  SS/4'   [        R
                  " X45        g )Nr  r  r  r  T)r   rf   rL   ru   r"   rB   )r(   rU  nrE   rG   s        r.   1test_loc_setitem_reordering_with_all_true_indexerGTestDataFrameIndexing.test_loc_setitem_reordering_with_all_true_indexer  sf     <#<E!H58<=779)+S#JqD6zC:%&
b+rJ   c                     [        SS/S9nUR                  5       n[        S/S9n[        R                  " S 5         X1R                  S S 2S4'   S S S 5        [        R
                  " X5        g ! , (       d  f       N%= f)Nr  r	  r=   )r   rL   r"   r   ru   rB   )r(   rE   rG   rhss       r.   test_loc_rhs_empty_warning0TestDataFrameIndexing.test_loc_rhs_empty_warning  s`    Sz*779&''- FF1c6N .
b+ .-s   A..
A<c                 2   [        / SQ/ SQ/5      n[        SS/SS9n[        S/SS9nUR                  X24   n[        SS//S/S	9n[        R                  " XE5        UR                  UR
                  UR
                  4   n[        R                  " XE5        g )
Nr   r3   r7   r8   r:   r;   r<   rb  r1  	   r   r3   r  r4   r;   r<   r   )r   r   r   r"   rB   rT   )r(   rE   r   row_indexerrF   rG   s         r.   test_iloc_ea_series_indexer1TestDataFrameIndexing.test_iloc_ea_series_indexer  s    9:!Qw/aS0-.q!fXaS1
f/++W^^;<
f/rJ   c                    [        / SQ/ SQ/5      n[        S[        R                  /SS9nSn[        R
                  " [        US9   UR                  S S 2U4     S S S 5        [        R
                  " [        US9   UR                  S S 2UR                  4     S S S 5        g ! , (       d  f       NN= f! , (       d  f       g = f)Nrg  rh  r   r  r4   zcannot convertr   )	r   r   r  rG  r%   r&   re   r   rT   )r(   rE   r   rh   s       r.   #test_iloc_ea_series_indexer_with_na9TestDataFrameIndexing.test_iloc_ea_series_indexer_with_na  s    9:!RUU73]]:S1GGAwJ 2]]:S1GGAw~~%& 21 2111s   B#<B4#
B14
C)Tr5   booleanc           	      ~   [         R                  " [        / SQUS9[        / SQUS9/SS/S9n[        S/ SQ0US	9n[        R
                  " [        [        U[        5      5         UR                  U   nS S S 5        [        SS
S/0[        SS/SUS9S	9n[        R                  " WU5        g ! , (       d  f       N?= f)N)TTFFr4   )TFTFr  r	  r  r   )r3   r7   r8   r:   r   r3   r7   TF)ro   r5   )r   rA  r   r   r"   maybe_produces_warningr	   
isinstancetupleru   r   rB   )r(   r5   r   midxrE   rF   rG   s          r.   test_loc_bool_multiindex.TestDataFrameIndexing.test_loc_bool_multiindex   s     %%1?1? *
 \*$7&&'9:gu;UVVVG_F W1a&Me}3e!L
 	fh/ WVs   %B..
B<r  r  c           
          [        [        [        SSS5      [        SSS5      /US9SS/S.5      nUR                  SS	9nX3S
      nUS   UR                  US
   U4'   [
        R                  " X45        g )Ni  r3   r   r   )r  TF)r  update)deepry  r  )r   r   r   rL   ru   r"   rB   )r(   r  r   rE   rG   	update_dfs         r.   2test_loc_datetime_assignment_dtype_does_not_changeHTestDataFrameIndexing.test_loc_datetime_assignment_dtype_does_not_change  s     #dAr*HT1b,AB  -	
 777%(|$	(1&(9r(|W$%
b+rJ   zindexer, idxr7   c                    [        S[        R                  /S[        R                  /S[        R                  //[        S9n[        S[        R                  /S[        R                  //5      nXA" U5      S U2S S 24'   [        S[        R                  /S[        R                  /S[        R                  //[        S9n[        R
                  " X55        g )Nrq   rr   r  r4   r3   r7   )r   rM   r   r~   r"   rB   )r(   r   rD   rE   rc  rG   s         r.   "test_setitem_value_coercing_dtypes8TestDataFrameIndexing.test_setitem_value_coercing_dtypes'  s     bffRVV}sBFFmDFS!RVVq"&&k23"DSD!Gq"&&kArvv;bffFfU
b+rJ   r  )i__name__
__module____qualname____firstlineno__r/   rH   rW   r[   rj   rw   r   r   r%   markparametrizer   r   r   r   r   r   r   r   r   r   r  r  r  r!  r$  r-  r2  r9  tdskip_array_manager_invalid_testrD  rK  rQ  rW  r_  rd  ri  rl  ro  rt  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r
  r  r  r  r!  filterwarningsr  r  to_numpyr+  r.  r3  r7  r;  rB  rG  rI  rL  r5  r   rM   r   rP  rW  r\  r`  rd  rk  rn  r   rv  r|  r"   ru   r   r  __static_attributes__r  rJ   r.   r   r   *   s   ""B4>&&197v 1D [[#%79NO00/00$)&16f	,2,h<:.7`'-*
V*0: ''9 (9.1(
&/ ''3 (3 0. ''/ (/(0,,W*r .D,@1
U
UU	-11&+& [[\D%=9	# :	#1$(0./,0.0<,641,,\12.,( [[ PQ[[2BFFOOH4MN/+ R/+b,
, [[3%LJ		
	,	, ''. (.1. [[UTD6255255'$BC, D, [[UT255M2, 3, [[VdFBHH%=>, ?,0" [[Y#5[[UR#qN3	, 4 6	, [[UR&#$78, 9,,
0' [[Yw8[[WtY&780 9 90" [[UUDM2[[Y&(:;, < 3,$ [[^rvvqkBGGQ<-HI, J,rJ   r   c                       \ rS rSrS rSrg)TestDataFrameIndexingUInt64i1  c           
         [        [        R                  " S5      / SQS.[        R                  S9nUS   R	                  S5      nSUR
                  ;  d   eX!S'   [        R                  " US   [        USS95        S	UR
                  ;  d   eSUS	'   X!S	'   [        R                  " US	   [        US	S95        US		 UR                  5       n[        R                  " [        S
S9   [        R                  UR                  S'   [        R                  UR                  S'   S S S 5        US   n[        R                  " [        U5      [        / SQSS95        [        R                  " UR                   [        [        R"                  " S5      [        R"                  " S5      [        R"                  " S5      // SQS95        g ! , (       d  f       N= f)Nr8   )l            l           l   
        r  r4   r`   r^   r   rs   r   r  r   r  r3   r7   ra   r   uint64Or  r   )r   rM   r   r  renamer>   r"   rd   r   rL   r   ry  r  r  r   r   r   r5   )r(   rE   rD   r8  rF   s        r.   r   (TestDataFrameIndexingUInt64.test_setitem2  sl   ))A,%CD))
 gnnU# "**$$$3
r#ws(=>"**$$$33
r#ws(=>sG ggi''=QRVVCHHTNVVCHHTN S S
uV}f5Hs.ST
JJ(#RXXc]BHHSMB%	
 SRs   ';G
Gr  N)r  r  r  r  r   r  r  rJ   r.   r  r  1  s     
rJ   r  c           	      
   [        SS/[        SSS9[        R                  " SSS9S.5      nUR                  S   n[        UR                  S   [        5      (       d   e[        UR                  S   [        R                  5      (       d   eUR                  S   n[        UR                  S   [        5      (       d   e[        UR                  S   [        R                  5      (       d   eUR                  SSS9n[        UR                  S   [        5      (       d   e[        UR                  S   [        R                  5      (       d   eU (       a  g UR                  nUR                  5         UR                  S5      R                  n[        US   [        5      (       d   e[        US   [        R                  5      (       d   eUR                  UR                   S      nUR"                  S	:X  d   eUR%                  S
5      n[        U[        5      (       d   eUR                  UR                   S      nUR"                  S:X  d   eUR%                  S
5      n[        U[        R                  5      (       d   eg )Nr3   r7   2000rG  z1 Dayr  r   )axisr$  r'  r  )r   r   r  timedelta_rangeru   rs  rT   r   r[  r   xs_mgr_rebuild_blknos_and_blklocsfast_xsr   blocksblknosr5   iget)r{  rE   r*  mgrr   blkr^  s          r.   /test_object_casting_indexing_wraps_datetimeliker  U  s   	QFA.##GQ7	

B &&)CcjjmY////cjjmR\\2222
''!*CcjjmY////cjjmR\\2222
%%%
CcjjmY////cjjmR\\2222
''C##%
++a.

Cc!fi((((c!fbll++++
**SZZ]
#C99   
((6
Cc9%%%%
**SZZ]
#C99   
((6
Cc2<<((((rJ   zFCannot setitem on a Categorical with a new category( \(.*\))?, set thezCCannot set a Categorical with another, without identical categoriesc                       \ rS rSr\R
                  S 5       r\R
                  S 5       r\R
                  S 5       r\R
                  S 5       r	\R
                  S 5       r
\R                  R                  S\R                  \R                  /5      S 5       r\R                  R                  S\R                  \R                  \R"                  \R$                  /5      S	 5       r\R                  R                  S\R                  \R                  /5      S
 5       r\R                  R                  S\R                  \R                  /5      S 5       r\R                  R                  S\R                  \R                  /5      S 5       r\R                  R                  S\R                  \R                  /5      S 5       r\R                  R                  S\R0                  \R                  \R                  /5      S 5       rS rSrg)TestLocILocDataFrameCategoricali  c                 \    [        / SQSS/S9n[        / SQ5      n/ SQn[        XS.US9nU$ )	N)r  r  r  r  r  r  r  r  r	  
categorieshr]  r\  r   lmr_  r3   r3   r3   r3   r3   r3   r3   catsrT   r   r   r   r   )r(   r  rD   rT   r  s        r.   r  $TestLocILocDataFrameCategorical.orig  s8    >CQT:V78&$9ErJ   c                 \    [        / SQSS/S9n[        / SQ5      n/ SQn[        XS.US9nU$ )	Nr  r  r	  r  r  r  r  r  r	  r  r  )r3   r3   r7   r3   r3   r3   r3   r  r   r  )r(   cats1r?  values1exp_single_rows        r.   r  .TestLocILocDataFrameCategorical.exp_single_row  s;     ?SRUJW89'"E#ETRrJ   c                 \    [        / SQSS/S9n[        / SQ5      n/ SQn[        XS.US9nU$ )	Nr  r  r	  r	  r  r  r  r  r	  r  r  )r3   r3   r7   r7   r3   r3   r3   r  r   r  )r(   cats2r@  values2exp_multi_rows        r.   r  -TestLocILocDataFrameCategorical.exp_multi_row  s;     ?SRUJW89'!5"DDQrJ   c                 \    [        / SQSS/S9n[        / SQ5      n/ SQn[        XS.US9nU$ )	Nr  r  r	  r  r  r  r  r   r  )r(   cats3idx3values3exp_parts_cats_cols        r.   r  2TestLocILocDataFrameCategorical.exp_parts_cats_col  s=     ?SRUJW89'&'IQUV!!rJ   c                 \    [        / SQSS/S9n[        / SQ5      n/ SQn[        XS.US9nU$ )	Nr  r  r	  r  r  r  r  r   r  )r(   cats4idx4values4exp_single_cats_values        r.   r  5TestLocILocDataFrameCategorical.exp_single_cats_value  sA     ?SRUJW89' ).d!
 %$rJ   r   c                    UR                  5       n[        SS5      nU[        R                  L a  [        SS5      nSS/SS//U" U5      US S 24'   [        R                  " XB5        UR                  5       n[
        R                  " [        [        S9   SS/SS//U" U5      US S 24'   S S S 5        g ! , (       d  f       g = f)Nr7   r:   r\  r   r	  r   r   )	rL   r  r"   ru   rB   r%   r&   r   msg1)r(   r  r  r   rE   r-   s         r.   #test_loc_iloc_setitem_list_of_listsCTestLocILocDataFrameCategorical.test_loc_iloc_setitem_list_of_lists  s     YY[AqkbffS/C #Qx#q2CF
b0YY[]]9D1$'8c1X"6GBKQ 211s   B33
Cc                 r   UR                  5       nSnU[        R                  [        R                  4;   a  UR                  S   UR
                  S   4nSU" U5      U'   [        R                  " XB5        [        R                  " [        [        S9   SU" U5      U'   S S S 5        g ! , (       d  f       g = f)N)r7   r   r7   r   r	  r   r   )rL   r"   ru   atr    r>   rB   r%   r&   r   r  )r(   r  r  r   rE   r-   s         r.   7test_loc_iloc_at_iat_setitem_single_value_in_categoriesWTestLocILocDataFrameCategorical.test_loc_iloc_at_iat_setitem_single_value_in_categories  s    
 YY[rvvruuo%88A;

1.C C
b8 ]]9D1"GBK 211s   B((
B6c                     UR                  5       nUR                  S:H  nSnU[        R                  L a  UR                  U   nSU" U5      XV4'   [        R
                  " XB5        g )Nr\  r   r	  )rL   r    r"   ru   r>   rB   )r(   r  r  r   rE   r   r-   s          r.   5test_loc_iloc_setitem_mask_single_value_in_categoriesUTestLocILocDataFrameCategorical.test_loc_iloc_setitem_mask_single_value_in_categories  sX    
 YY[xx3bff**S/C!$DI
b8rJ   c                 J   UR                  5       nSnU[        R                  L a  UR                  S   nSS/U" U5      US S 24'   [        R                  " XB5        [
        R                  " [        [        S9   SS/U" U5      US S 24'   S S S 5        g ! , (       d  f       g = f)Nr7   r	  r   r   )	rL   r"   ru   r    rB   r%   r&   r   r  )r(   r  r  r   rE   r-   s         r.   2test_loc_iloc_setitem_full_row_non_categorical_rhsRTestLocILocDataFrameCategorical.test_loc_iloc_setitem_full_row_non_categorical_rhs  s    
 YY[bff((1+C  #AhCF
b1 ]]9D1#&(GBKQ 211s   9B
B"c                 l   UR                  5       n[        SS5      S4nU[        R                  L a  [        SS5      UR                  S   4n[        SS/SS/S9nXc" U5      U'   [        R                  " XB5        [        [        S	5      [        S
5      S9n[        R                  " [        [        S9   Xs" U5      U'   S S S 5        [        [        S5      [        S
5      S9n[        R                  " [        [        S9   X" U5      U'   S S S 5        g ! , (       d  f       N[= f! , (       d  f       g = f)Nr7   r:   r   r\  r   r	  r  r  bbabcr   cc)rL   r  r"   ru   r>   r   rB   r5  r%   r&   r   msg2)	r(   r  r  r   rE   r-   compatsemi_compatincompats	            r.   1test_loc_iloc_setitem_partial_col_categorical_rhsQTestLocILocDataFrameCategorical.test_loc_iloc_setitem_partial_col_categorical_rhs  s     YY[Q{Abffc?BJJqM2C c3ZS#J?!C
b5 "$t*eE]]9D1  +GBK 2 tDzd5kB]]9D1'GBK 21 21 21s   4D D%
D"%
D3c                 j   UR                  5       n[        SS5      S4nU[        R                  L a  [        SS5      UR                  S   4nSS/U" U5      U'   [        R
                  " XB5        [        R                  " [        [        S9   SS/U" U5      U'   S S S 5        g ! , (       d  f       g = f)	Nr7   r:   r   r\  r   r	  r   r   )
rL   r  r"   ru   r>   rB   r%   r&   r   r  )r(   r  r  r   rE   r-   s         r.   )test_loc_iloc_setitem_non_categorical_rhsITestLocILocDataFrameCategorical.test_loc_iloc_setitem_non_categorical_rhs  s    
 YY[Q{Abffc?BJJqM2C  :C
b5 ]]9D1 #SzGBK 211s   B$$
B2c                 6   [        SSS9R                  [        5      n[        S/ SQ0US9nUR                  R
                  [        :X  d   eU[        R                  L a  U" U5      S   nOU" U5      S S 2S4   nUR                  R
                  [        :X  d   eg )N2012r8   rG  r   r6   r   )r   r}   r~   r   r    r5   r"   getitem)r(   r   rD   rE   r*  s        r.   -test_getitem_preserve_object_index_with_datesMTestLocILocDataFrameCategorical.test_getitem_preserve_object_index_with_dates*  s     +226:9~S1xx~~'''bjj "+a.C"+ad#Cyy&(((rJ   c                     [        S/S//[        R                  " SS/S/S9S9n[        S//[        R                  " S/S/S9S9nUR                  S   n[        R
                  " X25        g )	Nr   r3   )r  )r	  rS  r  )rg   r    r  r1  )r(   rE   rG   rF   s       r.    test_loc_on_multiindex_one_level@TestLocILocDataFrameCategorical.test_loc_on_multiindex_one_level9  sq    #s((&&)9'K
 #j44fXgYO
 
f/rJ   r  N)r  r  r  r  r%   fixturer  r  r  r  r  r  r  r"   ru   r   r  r  iatr  r  r  r  r  r  r  r  r  r  rJ   r.   r  r    s   ^^  ^^  ^^  ^^" " ^^% % [[Y(9:7 ;7 [[Y"%%(HI# J#$ [[Y(9:9 ;9 [[Y(9:+ ;+$ [[Y(9:( ;(: [[Y(9:* ;*$ [[YRVVRWW(EF) G)
0rJ   r  c                      \ rS rSr\R
                  R                  SS1SS0S1S4SS0S4SS14SSS04/5      S 5       r\R
                  R                  SS1SS0S1S4S4SS0S4S4SS14SSS04/5      S 5       r\R
                  R                  SS1SS0S1S4SS0S4SS14SSS04/5      S	 5       r	\R
                  R                  SS1SS0S1S4S4SS0S4S4SS14SSS04/5      S
 5       r
Srg)TestDeprecatedIndexersiF  r-   r3   r  c                     [        SS/SS//SS/S9n[        R                  " [        SS	9   UR                  U     S S S 5        g ! , (       d  f       g = f
Nr3   r7   r8   r:   r  r	  r=   as an indexer is not supportedr   r   r%   r&   r   ru   r(   r-   rE   s      r.   $test_getitem_dict_and_set_deprecated;TestDeprecatedIndexers.test_getitem_dict_and_set_deprecatedG  sH    
 AA'#s<]]9,LMFF3K NMM   A
Ar7   r  c                     [        SS/SS//SS/[        R                  " SS/5      S	9n[        R                  " [
        S
S9   UR                  U     S S S 5        g ! , (       d  f       g = fNr3   r7   r8   r:   r  r	  r  r  r   r  r   r   r   r2  r%   r&   r   ru   r  s      r.   /test_getitem_dict_and_set_deprecated_multiindexFTestDeprecatedIndexers.test_getitem_dict_and_set_deprecated_multiindexP  sa     VaV#J((&&)9:

 ]]9,LMFF3K NMM   A
A*c                     [        SS/SS//SS/S9n[        R                  " [        SS	9   SUR                  U'   S S S 5        g ! , (       d  f       g = fr  r  r  s      r.   $test_setitem_dict_and_set_disallowed;TestDeprecatedIndexers.test_setitem_dict_and_set_disallowede  sJ    
 AA'#s<]]9,LMBFF3K NMMr  c                     [        SS/SS//SS/[        R                  " SS/5      S	9n[        R                  " [
        S
S9   SUR                  U'   S S S 5        g ! , (       d  f       g = fr  r  r  s      r.   /test_setitem_dict_and_set_disallowed_multiindexFTestDeprecatedIndexers.test_setitem_dict_and_set_disallowed_multiindexn  sc     VaV#J((&&)9:

 ]]9,LMBFF3K NMMr  r  N)r  r  r  r  r%   r  r  r  r  r  r  r  r  rJ   r.   r  r  F  s   [[aVqc3Z1a&#SE
Qc
OT [[CFc1XsO!fa[#cUOc3Z 	


 [[aVqc3Z1a&#SE
Qc
OT [[CFc1XsO!fa[#cUOc3Z 	


rJ   r  c                  4   [        SS/05      n SU R                  U S   S:H  S4'   [        S/S/S.5      n[        R                  " X5        [        SS/05      n S nX R                  U S   S:H  S4'   [        S/U/S.5      n[        R                  " X5        g )Nr  r3   rq   r  r  c                     U $ )Nr  )r  s    r.   r  4test_adding_new_conditional_column.<locals>.<lambda>  s    arJ   )r   ru   r"   rB   )rE   rG   values      r.   "test_adding_new_conditional_columnr    s    	C!:	B #BFF2c7a<s#/0H"'	C!:	BE %FF2c7a<s%12H"'rJ   )r5   infer_stringF)string[pyarrow_numpy]Tc                 r   [         R                  " S5        [        SS/SS/S.5      n[        R                  " SU5         SUR
                  US	   S:H  S
4'   S S S 5        [        SS/SS/S[        S5      /S.5      R                  SSU S.5      n[        R                  " X#5        g ! , (       d  f       NV= f)Npyarrowr3   r7   r8   r:   r  future.infer_stringrq   r  r   r   r  r   )
r%   importorskipr   r  option_contextru   floatr}   r"   rB   )r5   r  rE   rG   s       r.   .test_adding_new_conditional_column_with_stringr    s     	"	!Qq!f-	.B			0,	?$'r#w!|S ! 
@1vQF#uU|9LMNUUG%0H "' 
@	?s    B((
B6c                  R   [         R                  " S5        [        SS/05      n [        R                  " SS5         SU R
                  U S   S:H  S4'   S S S 5        [        S/[        S/SS	9S
.[        SS/[        S	9S9n[        R                  " X5        g ! , (       d  f       NJ= f)Nr  r  r3   r  Trq   r  r	  r4   r  r=   )r%   r  r   r  r  ru   r   r   r~   r"   rB   )rE   rG   s     r.    test_add_new_column_infer_stringr    s    
	"	C!:	B			0$	7$'r#w!|S ! 
8cu,CDEsCj/H "' 
8	7s   B
B&c            
          \ rS rSrS rSSSS\R                  \R                  " S5      \R                  " S5      /r
SS/\" SS	5      / S
Q\" SSS5      /r\R                  R                  S\
S	S\R                   " S	5      \R"                  " S	5      /-   5      \R                  R                  S\5      S 5       5       r\R                  R                  S\
SS\R"                  " S5      /-   5      \R                  R                  S\5      S 5       5       r\R                  R                  S\
S/-   5      \R                  R                  S\5      S 5       5       rSrg)TestSetitemValidationi  c                    Sn[         R                  " U5      nUR                  5       n[        R                  " XES9   X!R
                  US4'   UR                  5       nS S S 5        [        R                  " XES9   X!R                  US4'   UR                  5       nS S S 5        g ! , (       d  f       NL= f! , (       d  f       g = f)Nz3Setting an item of incompatible dtype is deprecatedr   r   r  )rP   rQ   rL   r"   r   r   ru   )r(   rE   invalidr   warnrh   orig_dfs          r.   _check_setitem_invalid,TestSetitemValidation._check_setitem_invalid  s    Ciin'') ''8")GGGQJB 9
 ''8#*FF7C< B 98 98
 98s   !B$:!B5$
B25
Cy      ?       @Truerq   z1.0r  r   r3   TFFNr  r  r   c                 N    [        S/ SQ0SS9nU R                  X1U[        5        g )Nr  r  r   r4   r   r  ry  )r(   r  r   rE   s       r.   #test_setitem_validation_scalar_bool9TestSetitemValidation.test_setitem_validation_scalar_bool  s(    
 12&A##B-HrJ   Tr   c                     [        S/ SQ0US9n[        U5      (       a1  U[        R                  La  [        R
                  " U5      (       d  S nO[        nU R                  XAX55        g )Nr  r6   r4   )r   r   r  r  rM   isnatry  r  )r(   r  any_int_numpy_dtyper   rE   r  s         r.   "test_setitem_validation_scalar_int8TestSetitemValidation.test_setitem_validation_scalar_int  sR     Y'/BC==WBFF2288G;L;LD D##B?rJ   c                 N    [        S/ SQ0US9nU R                  XAU[        5        g )Nr  )r3   r7   Nr4   r  )r(   r  float_numpy_dtyper   rE   s        r.   $test_setitem_validation_scalar_float:TestSetitemValidation.test_setitem_validation_scalar_float  s(     \*2CD##B-HrJ   r  )r  r  r  r  r  r  r  rM   r  r  _invalid_scalarsr  	_indexersr%   r  r  r   r   r  r$  r(  r  r  rJ   r.   r  r    sb    " 	

e
u QCq!&:E$d<STI[[#q#rxx{BJJqM&JJ [[Y	2I 3I [[Y(8D#rzzRU;W(WX[[Y	2@ 3 Y@ [[Y(8D6(AB[[Y	2I 3 CIrJ   r  )returnN)5collectionsr   r   r   decimalr   rP   numpyrM   r%   pandas._libsr   pandas.errorsr   r	   r
   pandas.util._test_decoratorsutil_test_decoratorsr  pandas.core.dtypes.commonr   pandasr  r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr"   rz  r   r  r  r  r  r  r  r  r  r  r~   r  r  r  r  rJ   r.   <module>r9     s    "  	    
 * ) 0      R
D, D,N0!
 !
H()V QL0 0D; ;|( 	'
(
(
(4I 4IrJ   