
    A>ic                       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  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  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'\	RP                  RS                  S\*S4\RV                  " \RX                  S9S4/5      SS j5       r-S r. " S S5      r/g)    )
namedtuple)datetime	timedelta)DecimalN)iNaT)InvalidIndexError)
is_integer)
Categorical	DataFrameDatetimeIndexIndex
MultiIndexSeries	Timestamp
date_rangeisna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 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/ r0S0 r1S1 r2S2 r3S3 r4S4 r5S5 r6S6 r7S7 r8\R                  R                  S8S9S:/5      S; 5       r9S< r:S= r;S> r<S? r=S@ r>SA r?SB r@SC rASD rBSE rCSF rDSG rESH rFSI rGSJ rH\R                  R                  SK5      \R                  R                  SL\JR                  \JR                  R                  SM5      \JR                  R                  SN5      /5      SO 5       5       rMSP rNSQ rO\R                  R                  SRSSSTSU/4SVSWSU/4/5      SX 5       rPSY rQSZ rR\R                  R                  S[S\S\/\JR                  \JR                  //5      S] 5       rT\R                  R                  S[S\\JR                  /5      S^ 5       rU\R                  R                  S_\V\W\XR                  /5      S` 5       rZSa r[\R                  R                  SbSU/SU/5      \R                  R                  Sc0 SdSW0/5      Se 5       5       r\\R                  R                  SfS9S:/5      \R                  R                  Sc0 SgSU0/5      Sh 5       5       r]Si r^Sj r_Sk r`\R                  R                  SbS9Sl/5      \R                  R                  Sm\aSn/5      So 5       5       rb\R                  R                  SpS:S9/5      \R                  R                  SbSqSq//5      Sr 5       5       rc\R                  R                  Ss\dR                  SW4\dR                  St4/5      Su 5       rgSv rhSwrig\)x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         h/var/www/html/land-tabula/venv/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   r0   dtyper0                  columnsr0   r5   r7   r9   Tcheck_exactr   r   r   assert_frame_equal)r%   any_numeric_dtyper2   idxdfresultexpecteds          r+   6test_getitem_numeric_should_not_fallback_to_positionalLTestDataFrameIndexing.test_getitem_numeric_should_not_fallback_to_positional6   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)Nr4   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&   rB   adress        r+   test_getitem2#TestDataFrameIndexing.test_getitem2?   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 )Nr/   r1   r3   r6   r:   
   r0   )rW   r4   rW   )rW   r8   rW   Tr<   r>   )r%   r@   r2   rA   rB   rD   s         r+   6test_setitem_numeric_should_not_fallback_to_positionalLTestDataFrameIndexing.test_setitem_numeric_should_not_fallback_to_positionalL   sN    !IU+	9-s;1k;7E
b=rG   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   r0   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_listU   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   r5   tt1tt2)r   r;   r2   r0   r4   )r2   name012rl   )	r   rc   intlocr   r   r;   r   ra   r%   rB   rC   rD   s       r+   test_setitem_list2(TestDataFrameIndexing.test_setitem_list2h   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0rG   c                    UR                   [        U5      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                  " [        SS9   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 )Nr4   zItem wrong lengthr   zBoolean array expectedzwill be reindexedr   r   r;   r:   F)check_dtype)r   r   astypeobjectr   r    r"   r#   rb   r?   	TypeErrorr   assert_produces_warningUserWarningreindex_get_numeric_datar   r;   rJ   wherenanr2   )r%   mixed_float_framemixed_int_framedatetime_framedindexerindexer_objsubindexsubframesubframe_objrB   rd   bifcbifws                  r+   test_getitem_boolean*TestDataFrameIndexing.test_getitem_booleanv   sM     ^!4!9: &&*nnV,!''0!*
h7]]:-@A3B<( B &2
l5]]9,DE* F [*>*>?%2
l5 '';NO%--n.B.B4R4.HIK)6L!!,9 P 
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 FE PO Rs*   JJ&$<J87K


J#&
J58
K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 )Nr0   r\   int32E1Fint64F1r   float64r7   r4   )r]   r^   CDr\   r   r   r   r   r5   )
rI   rz   dtypesr   rJ   r2   r   ra   rr   r   )r%   r   rB   castedrC   rD   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0rG   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   r5   r7   )r   rJ   arangereshaperr   r   r   r?   )r%   r   rB   rC   rD   s        r+   test_getitem_boolean_list/TestDataFrameIndexing.test_getitem_boolean_list   sN     ryy},,Q2366"((3-(
f/rG   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 )Nr4   r8   r8   )r]   r^   r   r   r\   r:   r   r0   )	rJ   r   rK   rL   r   rI   r   assert_almost_equalrQ   )r%   arrrB   s      r+   test_getitem_boolean_iadd/TestDataFrameIndexing.test_getitem_boolean_iadd   sg    ii##A&66v>sxxz+DE
6
a
!G
ryy#.rG   c                     [        [        R                  " SS/5      S/[        / 5      S9n[        R                  " / [
        5      nX     SX'   g )Nr   r0   r]   r;   r   )r   rJ   emptyr   arraybool)r%   blahks      r+   test_boolean_index_empty_corner5TestDataFrameIndexing.test_boolean_index_empty_corner   sB    1a&)C5b@QR HHRrG   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 )	Nr4   )r7   r5   )r0   rW   r   r\   r3   rx   rw   r0   rW   )r   rJ   r   rK   rL   ilocrr   r   r   r?   r   rs   s       r+   test_getitem_ix_mixed_integer3TestDataFrameIndexing.test_getitem_ix_mixed_integer   s    II!!!$44V<#
 "66"((3B-(
f/B66%B.)
f/rG   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	@      @)      r   (   )rW      +   "   )r   rW   r      )rnar     r:   r   r5   r   r0   r   r   r   r?   rs   s       r+   test_getitem_ix_mixed_integer24TestDataFrameIndexing.test_getitem_ix_mixed_integer2   s|    +'#%	 ,
 TF771qc6?
f/UG771qc6?
f/rG   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   ra   r]   r"   r#   AttributeErrorNONEXISTENT_NAME)r%   r&   re   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foobarr0   rW   r   r8   )r   rc   r   allr%   rB   s     r+   test_setattr_column)TestDataFrameIndexing.test_setattr_column  s:    !}E"I6			Q##%%%%rG   c                    US   S S S2   nX1S'   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X1S'   [        R                  " X1S   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S/US'   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 )Nr]   r4   col5   r   r   rl   col6Fr_   col9r8   col7gQ	@col0r[   col8rn   ro   col10str)r   rJ   ravelcolumn_stackrQ   r   r   r   r   ra   r   rK   rL   r   r2   object_)r%   r&   using_infer_stringr)   expr   smallers          r+   test_setitem"TestDataFrameIndexing.test_setitem  s   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/:7#))U2227#))RZZ777 S#J.335555rG   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   rJ   r   r   r   r?   rr   r%   rB   rD   s      r+   test_setitem2#TestDataFrameIndexing.test_setitem2H  sz    Ax VV
rvvrvv./0
b+Ax FFq	
b+rG   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)Nr7   r]   r   rw   r0   r8   r4   r5   z;Must pass DataFrame or 2-d ndarray with boolean values onlyr   rx   )rI   rQ   r   r   r   r   rJ   putmaskr"   r#   r|   absr   r   r;   r?   )	r%   r&   rB   rQ   r)   re   df_origmaskrD   s	            r+   test_setitem_boolean*TestDataFrameIndexing.test_setitem_booleanS  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   r^   barr[         @	somethingr4   )
rz   r2   rJ   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 ;'--;;;rG   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   )r^   r   r5   r   r^   r4   	beginningr]   r[   r\   r   r   date      @r0   r   r   r   r   rn   ro   3	coercible)r   rJ   r   r   r;   r   nowr   rQ   r2   r   r   r   r   )r%   r&   r   rB   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??e+++e9??bjj000);k?((E111k?((BJJ666rG   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      r4   r   )titlecruftr  r   r   r  )r0   r  )r0   r  )rJ   r   rK   r   r   rr   )r%   rd   rB   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&&&rG   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 )	Nr5   rx   r0   r   )r[   bzrbazr   r4   r   )
r   rc   r   r   rJ   onesr   r;   r2   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 '   [         R                  " UR                  S S 2S4   US   SS9  [         R                  " UR                  S S 2S 4   US   SS9  [         R                  " US    US   SS9  g )Nr]   rw   Fr_   )r   ra   r   rr   r   s     r+   test_setitem_None'TestDataFrameIndexing.test_setitem_None  s    ',D
QU#[%55	
 	OOAtG$k#&6E	
 	{40+c2BPUVrG   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   rI   r  rr   r  r   r   r?   )r%   rB   rC   s      r+   &test_loc_setitem_boolean_mask_allfalse<TestDataFrameIndexing.test_loc_setitem_boolean_mask_allfalse  sZ    !(:AVW
 +188==?

688==?C'(
f)rG   c                     [        S//[        R                  " S/S//5      S9nUS S  n[        S//[        R                  " S/S//5      S9n[        R                  " X#5        X!Ld   eg )Nr0   r]   r  r:   )r   r   from_productr   r?   rs   s       r+   test_getitem_slice_empty.TestDataFrameIndexing.test_getitem_slice_empty  sk    uj&=&=usen&MNAqcUJ,C,CcUSEN,ST
f/rG   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 )Nr4   rW   r8      )
r   rJ   r   rK   rL   r   r   r   rQ   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"))--////rG   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Sn[        R                   " ["        US9   UR                  SS	   S S S 5        [        R                   " ["        US9   SUR                  SS	& S S S 5        g ! , (       d  f       N@= f! , (       d  f       g = f)Nr4   r/  r   r   r   r7   rW   r5   r   r9   )r7   r9   r0  rW   r8   rw   z*non-monotonic index with a missing label 3r   )r   rJ   r   rK   rL   rc   rI   r   rQ   r   rr   r   r   r?   listr"   r#   r$   )r%   rB   cprC   result2rD   df2re   s           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$'??@:]]83/GGAbM 0]]83/CGGAbM 0/ 0///s   G!G2!
G/2
H 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SUR                  S S 2S4'   [        R                  " X5        g )Nr   r         @)
r   r2   rJ   r   rI   shares_memory_valuesrr   r   r?   )r%   r&   float_string_frameslicedoriginals        r+   test_fancy_getitem_slice_mixed4TestDataFrameIndexing.test_fancy_getitem_slice_mixed=  s    #((BC0c{  BJJ... ##%!!!RS&)s 3 3[5E5M5MNNNN 

1c6
k4rG   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   r8   rW   r   r   )r   rc   r   r   rr   r   r?   rI   )r%   rB   startendrC   r6  rD   s          r+   "test_getitem_setitem_non_ix_labels8TestDataFrameIndexing.test_getitem_setitem_non_ix_labelsK  s    uRy
<(LMXXq"g&
"3-a8
f/
g0 !

5'')c7792
f/
g0rG   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 )Nr4   r5   r4   r   r0   rx   )r   rJ   r   rK   rL   rr   r   r   r   r?   r;   )r%   rB   rsxps       r+   test_ix_multi_take(TestDataFrameIndexing.test_ix_multi_take_  s    ryy,,Q/??GHVVBHHM1$%ZZ_
b% ryy,,Q/??GHVVBHHM2::?23ZZqcA3Z/
b%rG   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 )Nr8   )rr   r;   r   )r%   r&   fr  coltsrA   s          r+   test_getitem_fancy_scalar/TestDataFrameIndexing.test_getitem_fancy_scalark  sS    UU 99CBwwss|s(|rw... $ rG   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 )Nr8   r4   )rI   rr   	enumerater;   r   get_locrJ   r   rK   rL   r   r   r?   )
r%   r&   rR  rD   r  jrS  rA   ivals
             r+   test_setitem_fancy_scalar/TestDataFrameIndexing.test_setitem_fancy_scalaru  s    ##%UU  		*FAFwwss|GGOOC(ii++A.>>@&)ad#"38%%a2 $ +rG   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 )Nr^   r   r:   )FTFTr8   rW   rx      r   r4   r   )rr   r   r   r?   r   r;   )r%   r&   rR  r  rD   rC   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/rG   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           rx   r^   r4   )rI   rQ   rr   r   r   r;   r   r?   )r%   r&   framerD   rQ   r   s         r+   test_setitem_fancy_boolean0TestDataFrameIndexing.test_setitem_fancy_boolean  s      "##%%%'SzA~		$!{{V>>8CSCST
e.  "##%%%'&)		$c
"#"%{{BQBV>>8CSCST
e.rG   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)r0   r7   r`  )r4   r   r0   )r   rr   r   r   r?   r;   )r%   r&   rC   rD   s       r+   test_getitem_fancy_ints-TestDataFrameIndexing.test_getitem_fancy_ints  sy    !!),??;#4#4Y#?@
f/!!!Y,/??1k&9&9)&D#DE
f/rG   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]   rw   r0   r   )rr   r   r?   rI   )r%   r&   r   rC   rD   r5  s         r+   'test_getitem_setitem_boolean_misaligned=TestDataFrameIndexing.test_getitem_setitem_boolean_misaligned  s    3"%)&??4":.
f/##%tT
b+rG   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 )	Nr4   rL  r   FTr   r0   r8   )
r   rJ   r   rK   rL   r   rr   r   r?   rI   )r%   rB   k1k2rC   rD   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+rG   c                     [        SS/5      n[        [        S5      US9nUSS n[        S/S/S9n[        R                  " X45        g )Nr   r4   r   r0   r   )r   r   rc   r   r?   )r%   r   rB   rC   rD   s        r+   #test_getitem_float_label_positional9TestDataFrameIndexing.test_getitem_float_label_positional  sH    sAhuQxu-AaaS.
f/rG   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                  " X45        [        U5      S:X  d   eUR                  SS nUR                  SS/5      n[        R                  " X4S	S
9  [        U5      S:X  d   eUR                  SS nUR                  SS/5      n[        R                  " X45        [        U5      S:X  d   eUR                  SS nUR                  SS n[        R                  " X45        [        / 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                  " X45        [        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                  " X45        [        U5      S:X  d   eUR                  SS nUR                  / SQ5      n[        R                  " X45        [        U5      S:X  d   eUR                  SS nUR                  S/5      n[        R                  " X45        [        U5      S:X  d   eUR                  SS nUR                  / SQ5      n[        R                  " X45        [        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N= f! , (       d  f       GN= f)N)r   r4   r5   r7   r8   r4   r   r   r   r7   )r   r4   r5   r7   r8   F)check_index_typer<  r  r0   r   )r   r         @r   r  zPcannot do positional indexing on Index with these indexers \[1.0\] of type floatr   r   g?)r   ry  r   r  g
ףp=
@)r   r   rJ   r   rK   rL   rr   r   r   r?   r   r   r"   r#   r|   rI   
_slice_msgrQ   r   )r%   r   rB   rC   rD   re   r5  s          r+   !test_getitem_setitem_float_labels7TestDataFrameIndexing.test_getitem_setitem_float_labels  s4   '(ryy,,Q/??GuUA::n-
f/6{a!::q!f%
fG6{a!::sCj)
f/6{a !771Q<
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!##''))))a 10 87 10s$   0S=S-.S?
S*-
S<?
Tc                    [        [        R                  R                  S5      R	                  S5      / SQ/ SQS9n[        S5      R                  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        [        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)Nr4   r8   r5   )r  r  r   r   e)r[   r   r  rx   20010102s	timestampr   r5   zdatetime64[s])r[   r   r  r  r   Invalid valuer   )r  r  )r   r  r   r   )r   rJ   r   rK   rL   r   as_unitr   r   r2   r   ra   r"   r#   r|   r   rr   r   r   r   rs   s       r+   )test_setitem_single_column_mixed_datetime?TestDataFrameIndexing.test_setitem_single_column_mixed_datetime1  s4   II!!!$44V<+)
 $J/77<; XXi !A%/)B(CC4
 	v0 ]]9O<'+BFF#$ = $&66 BFF+,---- sAvsAv'++----- =<s   E;;
F	c                    [        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        g ! , (       d  f       g = f)Nr   abr9   r   r  i  r0   r   r  r  r   )r0   r  )
r   r4  rc   pdNaTr   rr   r"   r#   r|   r   s     r+   test_setitem_mixed_datetime1TestDataFrameIndexing.test_setitem_mixed_datetimeN  sb    q$t*E!H=&&3!$1-v]]9O<BFF6N =<<s   $A==
B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 Nr4   r]   r^   )rr   r   rQ   r   r   r%   r&   piecerC   rD   s        r+   test_setitem_frame_float.TestDataFrameIndexing.test_setitem_frame_floatV  s     1 1"1 5Sz AB?D||))"-/#s;<!2!223!7#s!CDKK<<
v0rG   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   r4   r]   r^   rx   )rI   r   r   slicerr   r   r   rQ   r%   r?  rR  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||TrG   c           	      |   UR                  5       n[        SS/SS/SS/SS/// [        UR                  S	S
 5      QSPSP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   r4   r[   r   r]   r^   rx   )	rI   r   r4  r   r  rr   r   r   rQ   r  s        r+   'test_setitem_frame_mixed_rows_unaligned=TestDataFrameIndexing.test_setitem_frame_mixed_rows_unalignedi  s    ##%3Z#sc3Z#s<5D1&55u5#J

 wwuT1~&c
3c

EE!''!A-#s+,33U\\!A5F	
rG   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 )Nr4   r]   r  r^   )	rI   rr   r   r  rJ   r   r   r   rQ   r  s        r+   &test_setitem_frame_mixed_key_unaligned<TestDataFrameIndexing.test_setitem_frame_mixed_key_unalignedw  s    ##%aggbqkC5()ggbclwwuR'#s4c
VVc

quuQWWRS\C:%=>EEu||TrG   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  )rI   rr   r   r  rQ   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||TrG   c                    [        / 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.5      nUR                  S
S
S.5      nUR
                  S S 2SS/4   S	-   UR
                  S S 2SS/4'   UR                  SS/S9nUS	-  nUS   US'   [        R                  " X#5        g ! , (       d  f       N= f)N)r0   r4   r[   )r5   r7   r   r]   r^   r   r:   r  r   r]   r^         ?r   r]   r^   r   )
r   rI   r"   r#   r|   rr   rz   r   r   r?   )r%   rB   r7  rD   s       r+   test_setitem_frame_upcast/TestDataFrameIndexing.test_setitem_frame_upcast  s    }5Oggi]]9O<%'VVASzM%:S%@CGGASzM" = YYYY78jjyy9:!#C:!6!<C:::sCj:1C3
c, =<s   ,C88
D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  )rr   r   r;   rQ   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0rG   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 )
Nr4   r~  r[   r[   r   r  r   r   r[   r   r7   r  r5   )
r   rJ   r   rK   rL   rr   r   r?   r   ra   rs   s       r+   "test_getitem_setitem_ix_duplicates8TestDataFrameIndexing.test_getitem_setitem_ix_duplicates  s    II!!!$44V<5

 bq6
f/77Aq6?
f/771:
v0rG   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 )	Nr4   r~  r  r   r   r7   r0   r   )	r   rJ   r   rK   rL   rr   r   r   r?   )r%   rB   rC   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*rG   
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  r3   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$   rr   )r%   r  rB   messagere   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5      SS	9nUR                  S
/S4   n[        R                  " X$5        g )Nr0   r\   r8   r  gGz?i  r  r  r   r   )r   r2   r   rq   rJ   r   rr   r   r	   r   r   rc   r   ra   )r%   r&   rC   rB   rD   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%uQxc:S!
v0rG   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   rW   r7   r   r   r4   r   zReturning a tuple fromr   c                     gN)r    r(   s    r+   <lambda>TTestDataFrameIndexing.test_iloc_callable_tuple_return_value_raises.<locals>.<lambda>      drG   r0   c                     gr  r  r  s    r+   r  r    r  rG   )	r   rJ   r   r   rc   r"   r#   rb   r   )r%   rB   re   s      r+   ,test_iloc_callable_tuple_return_value_raisesBTestDataFrameIndexing.test_iloc_callable_tuple_return_value_raises  s    ryy},,R35B?K&]]:S1GGN# 2]]:S1&'BGGN# 21 2111s   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 )Nr4   rW   r7   r   r   r   r0   r7   r0     r0   r4   r7   r9   )r   rJ   r   rK   rL   rc   r   rr   r   ra   r  r?   r   r   r%   rB   rC   r   rD   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/rG   c                    [        [        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SUR                  S S 2S4'   [        R                  " US   U5        g )	Nr4   r  r   r   r   r7   r0  re  )r   rJ   r   rK   rL   rc   rI   r   r  r=  rr   r   ra   )r%   rB   rA  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+""$

1a4
r!ug.rG   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 )Nr4   r7   rW   r   r   r:   r0   r7   r0  r  r  )r   rJ   r   rK   rL   rc   r   rr   r   ra   r  r?   r   r;   r  s        r+   test_iloc_col#TestDataFrameIndexing.test_iloc_col  s   II!!!$44W=uQPRTU
 AffQTl
v+AffQTl
v+ E!QK(66!QrT'?
f/ L)::bjj&>:?
f/rG   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[        R                  " US   R                  US   R                  5      (       d   eSUS'   US   S:H  R                  5       (       d   e[        R                  " X5        g )	Nr4   r  r   r   r:   r7   r0  re  )r   rJ   r   rK   rL   rc   rI   r   r  r=  r>  r   r   r?   )r%   rB   rA  r  s       r+   test_iloc_col_slice_view.TestDataFrameIndexing.test_iloc_col_slice_view-  s    II!!!$44W=uQPRTU
 779E!QK( 1vay/@/@AAAAq	q	Q##%%%%
b+rG   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  r0   )yearmonthdayr8   )rG  rH  )rr   itemr   r]   r^   rx   )FFFFFTr9   )r   r   r   r   r9   r9   )r   r   r   r   r   r   r  r   )	r   r   insertr   rJ   r   rr   r   r?   )r%   trangerB   bool_idxrD   s        r+   test_loc_duplicates)TestDataFrameIndexing.test_loc_duplicates<  s     QA6t1!4

 19$aQ+OPqc
;88EF )*v$%$+=>f
 	b+ qc
;
v$%*%
b+rG   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-01r5   utc)rF  tzdatesrp   )r0   r   r4   )r   r0   r4   )r   r   r   r   ra   rr   )r%   columnrB   s      r+   4test_setitem_with_unaligned_tz_aware_datetime_columnJTestDataFrameIndexing.test_setitem_with_unaligned_tz_aware_datetime_columnW  s     
<uEGT()Y'7
r'{F3()%+I%6y'!"
r'{F3rG   c                    [        SS9n[        [        S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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 )Nr0   )hours20130101r7   nsrF  unitr   m8[ns]r1   r]   r4   r^   r5   r   r   r8   r\   r  r   r9   rw   r;  GHztimedelta64[ns]zdatetime64[ns]ABCDEFGH)r   r   r   rJ   r   rr   r   timedelta64
datetime64r   r   r2   r4  r   ra   )r%   one_hourrB   rC   rD   s        r+   ,test_loc_setitem_datetimelike_with_inferenceBTestDataFrameIndexing.test_loc_setitem_datetimelike_with_inferenced  s    1%Z
ADIJ((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QT&Rrxx|~s"#--&3XX'()A-:J1K0Lq0PPz"
 	v0rG   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   r0   )r   r0   r4   r5   r7   yg333333?)r   r0   )r  r0   )r  r0   )r  r7   testr[   zDnot supported between instances|unorderable types|Invalid comparisonr   )
r   rJ   r   rI   rr   r   r?   r"   r#   r|   )r%   rB   r7  rD   re   s        r+   #test_getitem_boolean_indexing_mixed9TestDataFrameIndexing.test_getitem_boolean_indexing_mixedz  si   BFFBFFO+++ + BFFBFFO+ qa81
< ggi#I779UUUU
c,5	T]]9C0BCxL 100s   (G99
Hc           	      R   [         R                  " SS/SS//S S/S9n[        / SQ/ SQ/U[        [	        S	5      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)Nxr  r   r0   r   names)r0   r0   r4   r4   )r5   r5   r7   r7   r4   r[  rp   r   r  r   )levelscodesr  r5   r7   )r  r   r   )r   r+  r   r   rc   r"   r#   r   rr   r  r   r?   r   ra   )r%   midgr   r;   rD   rC   rl   s           r+   test_type_error_multiindex0TestDataFrameIndexing.test_type_error_multiindex  s3   $$sCj1a&%9$M<("E%(QT<U
 ]],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r5   r7   r8   r:   r   r  )r   rJ   r  r  IntervalIndexfrom_breaksr   r   r   ra   rr   )r%   rB   rD   rS   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-rG   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;   r2   )r4   )r4   r4   r  r  r   )r   r{   rJ   zerosrr   r   r?   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+rG   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]   r3   Int64r1   rw   )r   rI   rQ   rr   r   r?   r  corearraysNumpyExtensionArrayr   )r%   rB   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'rG   c                     [        [        R                  " S[        S95      n[        R                  " US   5      US'   US/     g )Nr0   r0   r1   r   )r   rJ   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rG   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]   r3   r1   |)z@timedelta64\[ns\] cannot be converted to (Floating|Integer)Dtypez?datetime64\[ns\] cannot be converted to (Floating|Integer)Dtypez 'values' contains non-numeric NAz3Invalid value '.*' for dtype '(U?Int|Float)\d{1,2}'r   r   r4   r   r   r^   )r   rI   r>  joinr"   r#   r|   r   )r%   r#  any_numeric_ea_dtyperB   serr   re   r7  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  rp   r   r0   r   r   )r   r   rr   r   r?   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+rG   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[   r3   r   r   r   from_tuplesrr   r   r?   r   s      r+   +test_loc_expand_empty_frame_keep_midx_namesATestDataFrameIndexing.test_loc_expand_empty_frame_keep_midx_names&  se    E!7!7/!R
 "y5'N(()OL
 	b+rG   z	val, idxr)r  r  r  r  )r0   r  r0   c                     [        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        g ! , (       d  f       g = f)Nr  r0   r4   r  r   r   r   r   r"   r#   r|   rr   )r%   idxrr\  rB   s       r+   test_loc_setitem_rhs_frame0TestDataFrameIndexing.test_loc_setitem_rhs_frame2  sU     aV}%]]9O<'sBi(8AGBFF1d7O =<<s   "A
A"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                  " X25        g )Nr  r  r:   r0   r4   r1   r   )r   rI   rJ   r   r   r   r   r?   )r%   rB   rD   views       r+   $test_iloc_setitem_enlarge_no_warning:TestDataFrameIndexing.test_iloc_setitem_enlarge_no_warningB  sV    Sz*779!u!Qrzz:1
d-rG   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 )NTr0   r   )bool_colr  r  r4   idx1idx2r  r   r  r5   r   r   r  r  r   r   )r   r   from_arraysrr   r   r   ra   )r%   rB   rA   rC   rD   s        r+   (test_loc_internals_not_updated_correctly>TestDataFrameIndexing.test_loc_internals_not_updated_correctlyJ  s    AC0((1a&1a&)9&&AQR
 h3sCx
sCx
sS#JsCxS!((1#sFF;KL
 	

 	v0rG   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  stringr1   r   r  r   r   r   r  NAr   r?   r%   r\  rB   rD   s       r+    test_iloc_setitem_string_list_na6TestDataFrameIndexing.test_iloc_setitem_string_list_naa  sP     _-X>QcBEE3#45XF
b+rG   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 rF  rH  rJ  s       r+   test_iloc_setitem_string_na1TestDataFrameIndexing.test_iloc_setitem_string_nai  sN     _-X>1cBEE3#45XF
b+rG   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  r3   r  r1   r8   r   )r8   r8   r8   r   )r%   rP  rB   rD   s       r+   /test_iloc_setitem_ea_null_slice_length_one_listETestDataFrameIndexing.test_iloc_setitem_ea_null_slice_length_one_listq  sL     Y'w7 !49c9-W=
b+rG   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]   r^   r  firstsecondr  r   Indexerr  r  )rU  rV  )r]   r  )r]   r  )
r   r   r+  r   r   r  rr   r2  r   r?   )r%   rB   indexer_tupler7  rC   rD   s         r+   test_loc_named_tuple_for_midx3TestDataFrameIndexing.test_loc_named_tuple_for_midxy  s    ))s_-gx5H

 #9bhhnn=3Sz:a((Z((0C

 	f/rG   r   rS  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-30r0   )daysz
2022-12-31)r   r   r  	Timedeltarr   r   r?   )r%   rS  r   rB   rD   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+rG   has_refrl   c                 
   Sn[        0 UE[        U5      [        U5      S.E5      nUSS/   R                  5       nUR                  5       nU(       a  US S  nXTR                  US/-  SS/4'   [        R
                  " XF5        g )Nr  r  r  r  r  T)r   rc   rI   rr   r   r?   )r%   rS  r`  nrB   valuerD   r;  s           r+   1test_loc_setitem_reordering_with_all_true_indexerGTestDataFrameIndexing.test_loc_setitem_reordering_with_all_true_indexer  s~     <#<E!H58<=C:##%779a5D).qD6zC:%&
b+rG   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   rI   r   r}   rr   r?   )r%   rB   rD   rhss       r+   test_loc_rhs_empty_warning0TestDataFrameIndexing.test_loc_rhs_empty_warning  s`    Sz*779&''- FF1c6N .
b+ .-s   A..
A<c                 D   [        / 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	5      S
9n[        R
                  " XE5        UR                  UR                  UR                  4   n[        R
                  " XE5        g )Nr   r0   r4   r5   r7   r8   r9   r`  r0  	   r   r0   r  r1   r8   r9   r4   r   )r   r   r   rc   r   r?   rQ   )r%   rB   r   row_indexerrC   rD   s         r+   test_iloc_ea_series_indexer1TestDataFrameIndexing.test_iloc_ea_series_indexer  s    9:!Qw/aS0-.q!fXU1a[9
f/++W^^;<
f/rG   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)Nrl  rm  r   r  r1   zcannot convertr   )	r   r   r  rI  r"   r#   rb   r   rQ   )r%   rB   r   re   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)Tr2   booleanc           	      v   [         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[        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)TTFFr1   )TFTFr  r  r  r   )r0   r4   r5   r7   r   r0   r4   TF)rl   r2   )r   rB  r   r   r   maybe_produces_warning
isinstancetuplerr   r   r?   )r%   performance_warningr2   r   midxrB   rC   rD   s           r+   test_loc_bool_multiindex.TestDataFrameIndexing.test_loc_bool_multiindex  s     %%1?1? *
 \*$7&&':JwPU<VWVVG_F X1a&Me}3e!L
 	fh/ XWs   !B**
B8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  r0   r   r   )r  TF)r  update)deepr  r  )r   r   r   rI   rr   r   r?   )r%   r  r   rB   rD   	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+rG   zindexer, idxr4   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 )Nrn   ro   r	  r1   r0   r4   )r   rJ   r   r{   r   r?   )r%   r   rA   rB   rh  rD   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+rG   c                     S/n[         R                  " SS/SS9/n[        [        [	        X5      5      5      nX3R
                     n[        SSS/0SS9nXUR
                     n[        R                  " XF5        g )Nr  r0   r4   z>f8r1   )rJ   r   r   dictzipr;   r   r?   )r%   r;   rd   rB   rC   dfexprD   s          r+   )test_big_endian_support_selecting_columns?TestDataFrameIndexing.test_big_endian_support_selecting_columns  sm    %!Qu-.tC./0JJ3A-u5'
f/rG   r  )j__name__
__module____qualname____firstlineno__r,   rE   rT   rX   rg   rt   r   r   r"   markparametrizer   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r(  r,  r1  r8  rB  rI  rO  rU  r]  rb  rg  rj  rm  rr  ru  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  r8  r<  rC  rI  rK  rN  r4  r   rJ   r   rR  rY  r^  re  ri  rp  rs  r   r|  r  r   rr   r   r  r  __static_attributes__r  rG   r+   r   r   $   s}   ""B4>&&197v 1D [[#%79NO00/00$)&)6V	,2,h<:.7`'-*	W* 0<51(
&/3 0./(0,,0Q*f.:1
U
UU-11&+& [[\D%=9	# :	#1$(0./ 0.,,641,,\12.,( [[ PQ[[2BFFOOH4MN/+ R/+b,
, [[3%LJ		
HH.1. [[UTD6255255'$BC, D, [[UT255M2, 3, [[VdFBHH%=>, ?,0" [[Y#5[[UR#qN3	, 4 6	, [[Yu6[[UR&#$78	, 9 7	,,
0' [[Yw8[[WtY&780 9 90" [[UUDM2[[Y&(:;, < 3,$ [[^rvvqkBGGQ<-HI, J,0rG   r   c                       \ rS rSrS rSrg)TestDataFrameIndexingUInt64i  c                 x   [        [        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        g ! , (       d  f       g = f)Nr5   )l            l           l   
        r  r1   r]   r[   r   rp   r   r  r   r  r0   r4   )r   rJ   r   uint64renamer;   r   ra   r   rI   r"   r#   r|   r  r  r   )r%   rB   rA   r7  s       r+   r   (TestDataFrameIndexingUInt64.test_setitem  s    ))A,%CD))
 gnnU# "**$$$3
r#ws(=>"**$$$33
r#ws(=>sG ggi]]9O<VVCHHTNVVCHHTN =<<s   ';D++
D9r  N)r  r  r  r  r   r  r  rG   r+   r  r    s    $rG   r  c            	         [        S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 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 )Nr0   r4   2000r  r  z1 DayrE  r  r   )axisr$  r'  zm8[us])r   r   r  timedelta_rangerr   rx  rQ   r   r]  r   xs_mgr_rebuild_blknos_and_blklocsfast_xsr   blocksblknosr2   iget)rB   r*  mgrr   blkr\  s         r+   /test_object_casting_indexing_wraps_datetimeliker    s    	QFAD9##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<<((((rG   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S r	\R                  R                  S\R                  \R                  \R                  \R                   /5      S 5       rS rS	 rS
 rS r\R                  R                  S\R,                  \R                  \R                  /5      S 5       rS rSrg)TestLocILocDataFrameCategoricaliD  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[  rZ  r   lmrc  r0   r0   r0   r0   r0   r0   r0   catsrQ   r   r
   r   r   )r%   r  rA   rQ   r  s        r+   r  $TestLocILocDataFrameCategorical.origE  s8    >CQT:V78&$9ErG   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  r  r  r   r  )r%   cats3idx3values3exp_parts_cats_cols        r+   r  2TestLocILocDataFrameCategorical.exp_parts_cats_colM  s=     ?SRUJW89'&'IQUV!!rG   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  r  r  r   r  )r%   cats4idx4values4exp_single_cats_values        r+   r  5TestLocILocDataFrameCategorical.exp_single_cats_valueV  sA     ?SRUJW89' ).d!
 %$rG   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'   [	        / SQSS/S9n[        / S	Q5      n/ S
Qn[        XWS.US9n[        R                  " X85        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)Nr4   r7   rZ  r   r  r  r  r  r  )r0   r0   r4   r4   r0   r0   r0   r  r   r   r   )rI   r  r   rr   r
   r   r   r?   r"   r#   r|   msg1)	r%   r  
indexer_lirB   r*   cats2rA  values2exp_multi_rows	            r+   #test_loc_iloc_setitem_list_of_listsCTestLocILocDataFrameCategorical.test_loc_iloc_setitem_list_of_listsa  s    YY[AqkS/C#&(S!H!5
2sAv?SRUJW89'!5"DDQ
b0YY[]]9D1'*Aha%9JrN36" 211s   ?C
C,r   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)r4   r   r4   r   r  r   r   )rI   r   rr   atr   r;   r?   r"   r#   r|   r  )r%   r  r  r   rB   r*   s         r+   7test_loc_iloc_at_iat_setitem_single_value_in_categoriesWTestLocILocDataFrameCategorical.test_loc_iloc_at_iat_setitem_single_value_in_categoriesu  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 )NrZ  r   r  )rI   r   r   rr   r;   r?   )r%   r  r  r  rB   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**S/C$'
2ty!
b8rG   c                    UR                  5       nSnU[        R                  L a  UR                  S   nSS/U" U5      US S 24'   [	        / SQSS/S9n[        / SQ5      n/ SQn[        XWS.US	9n[        R                  " X85        [        R                  " [        [        S
9   SS/U" U5      US S 24'   S S S 5        g ! , (       d  f       g = f)Nr4   r  r  r  r  r  )r0   r0   r4   r0   r0   r0   r0   r  r   r   r   )rI   r   rr   r   r
   r   r   r?   r"   r#   r|   r  )	r%   r  r  rB   r*   cats1r@  values1exp_single_rows	            r+   2test_loc_iloc_setitem_full_row_non_categorical_rhsRTestLocILocDataFrameCategorical.test_loc_iloc_setitem_full_row_non_categorical_rhs  s    YY[((1+C #&q
2sAv?SRUJW89'"E#ETR
b1 ]]9D1&)1XJrN36" 211s   $B??
C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)Nr4   r7   r   rZ  r   r  r  r  bbabcr   cc)rI   r  r   rr   r;   r
   r?   r4  r"   r#   r|   msg2)	r%   r  r  r  rB   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c?BJJqM2C c3ZS#J?$
2s
b5 "$t*eE]]9D1 #.JrN3 2 tDzd5kB]]9D1"*JrN3 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)	Nr4   r7   r   rZ  r   r  r   r   )
rI   r  r   rr   r;   r?   r"   r#   r|   r  )r%   r  r  r  rB   r*   s         r+   )test_loc_iloc_setitem_non_categorical_rhsITestLocILocDataFrameCategorical.test_loc_iloc_setitem_non_categorical_rhs  s     YY[Q{Ac?BJJqM2C  #Cj
2s
b5 ]]9D1#&*JrN3 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2012r5   rE  r   r3   r   )r   rz   r{   r   r   r2   r   getitem)r%   r   rA   rB   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&(((rG   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   r0   )r  )r  rU  r  )rd   r   r  r1  )r%   rB   rD   rC   s       r+    test_loc_on_multiindex_one_level@TestLocILocDataFrameCategorical.test_loc_on_multiindex_one_level  sq    #s((&&)9'K
 #j44fXgYO
 
f/rG   r  N)r  r  r  r  r"   fixturer  r  r  r  r  r  r   rr   r   r  iatr  r  r  r  r  r  r  r  r  r  rG   r+   r  r  D  s    ^^  ^^" " ^^% %:( [[Y"%%(HI# J#$9.(+:-$ [[YRVVRWW(EF) G)
0rG   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)TestDeprecatedIndexersi  r*   r0   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
Nr0   r4   r5   r7   r  r  r:   as an indexer is not supportedr   r6  r%   r*   rB   s      r+   $test_getitem_dict_and_set_deprecated;TestDeprecatedIndexers.test_getitem_dict_and_set_deprecated  sH    
 AA'#s<]]9,LMFF3K NMM   A
Ar4   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Nr0   r4   r5   r7   r  r  r  r  r   r  r   r   r   r2  r"   r#   r|   rr   r  s      r+   /test_getitem_dict_and_set_deprecated_multiindexFTestDeprecatedIndexers.test_getitem_dict_and_set_deprecated_multiindex  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  r6  r  s      r+   $test_setitem_dict_and_set_disallowed;TestDeprecatedIndexers.test_setitem_dict_and_set_disallowed  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_multiindex  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  rG   r+   r  r    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 	


rG   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  r0   rn   r  rb  c                     U $ )Nr  )r  s    r+   r  4test_adding_new_conditional_column.<locals>.<lambda><  s    arG   )r   rr   r   r?   )rB   rD   rd  s      r+   "test_adding_new_conditional_columnr  3  s    	C!:	B #BFF2c7a<s#/0H"'	C!:	BE %FF2c7a<s%12H"'rG   )r2   infer_stringFna_valueTc                 F   [        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)Nr0   r4   r5   r7   r  future.infer_stringrn   r  r   r   r  r   )r   r  option_contextrr   floatrz   r   r?   )r2   r  rB   rD   s       r+   .test_adding_new_conditional_column_with_stringr  B  s     
!Qq!f-	.B			0,	?$'r#w!|S ! 
@1vQF#uU|9LMNUUG%0H "' 
@	?s   B
B c            
      ^   [        SS/05      n [        R                  " SS5         SU R                  U S   S:H  S4'   S S S 5        [        S/[	        S/[        R
                  " [        R                  S9S9S	.[        SS/S
S9S9n[        R                  " X5        g ! , (       d  f       Nf= f)Nr  r0   r  Trn   r  r  r1   rb  r   r:   )r   r  r  rr   r   StringDtyperJ   r   r   r   r?   )rB   rD   s     r+    test_add_new_column_infer_stringr  T  s    	C!:	B			0$	7$'r#w!|S ! 
8cuBNNBFF,KLMsCj.H "' 
8	7s   B
B,c            	          \ rS 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/ \QS
PSP\R"                  " S
5      P\R$                  " S
5      P5      \R                  R!                  S\5      S 5       5       r\R                  R!                  S/ \QSPSP\R$                  " S5      P5      \R                  R!                  S\5      S 5       5       r\R                  R!                  S/ \QSP5      \R                  R!                  S\5      S 5       5       rSrg)TestSetitemValidationi`  c                 p   UR                  5       n[        R                  " [        SS9   X!R                  US4'   UR                  5       nS S S 5        [        R                  " [        SS9   X!R
                  US4'   UR                  5       nS S S 5        g ! , (       d  f       NQ= f! , (       d  f       g = f)Nr  r   r   r  )rI   r"   r#   r|   r   rr   )r%   rB   invalidr   orig_dfs        r+   _check_setitem_invalid,TestSetitemValidation._check_setitem_invalidb  s    '') ]]9O<")GGGQJB =
 ]]9O<#*FF7C< B =< =<
 =<s   !B,!B'
B$'
B5c                     UR                  5       nX!R                  US4'   UR                  5       nX!R                  US4'   UR                  5       ng )Nr   r  )rI   r   rr   )r%   rB   rd  r   r  s        r+   _check_setitem_valid*TestSetitemValidation._check_setitem_valido  sG    '') $
\\^  %w|\\^rG   y      ?       @Truern   z1.0r  r   r0   TFFNr  r   r   c                 D    [        S/ SQ0SS9nU R                  X1U5        g )Nr  r"  r   r1   r   r  )r%   r  r   rB   s       r+   #test_setitem_validation_scalar_bool9TestSetitemValidation.test_setitem_validation_scalar_bool  s&    
 12&A##B9rG   Tr   c                     [        S/ SQ0US9n[        U5      (       aA  U[        R                  La.  [        R
                  " U5      (       d  U R                  XAU5        g U R                  XAU5        g )Nr  r3   r1   )r   r   r  r  rJ   isnatr  r  )r%   r  any_int_numpy_dtyper   rB   s        r+   "test_setitem_validation_scalar_int8TestSetitemValidation.test_setitem_validation_scalar_int  sX     Y'/BC==WBFF2288G;L;L%%b7;''W=rG   c                 D    [        S/ SQ0US9nU R                  XAU5        g )Nr  )r0   r4   Nr1   r$  )r%   r  float_numpy_dtyper   rB   s        r+   $test_setitem_validation_scalar_float:TestSetitemValidation.test_setitem_validation_scalar_float  s&     \*2CD##B9rG   r  )r  r  r  r  r  r  r  r  rJ   r  r  _invalid_scalarsr  	_indexersr"   r  r  r   r   r%  r*  r.  r  r  rG   r+   r  r  `  sz    	 	

e
u QCq!&:E$d<STI[[J%JqJ#Jrxx{JBJJqMJ [[Y	2: 3: [[Y(W*:(WD(W#(WrzzRU(WX[[Y	2> 3 Y> [[Y(A*:(AD(AB[[Y	2: 3 C:rG   r  )returnN)0collectionsr   r   r   decimalr   rM   numpyrJ   r"   pandas._libsr   pandas.errorsr   pandas.core.dtypes.commonr	   pandasr  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  r  r  rG   r+   <module>r<     s    "  	    + 0     R
W0 W0t.$ $6$)N QLn0 n0b; ;|( 			($/((	(:: ::rG   