
    m*i                       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JrJr  S SKJs  Jr  S SKJr  S SKrS S	KJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$  S SK%J&r'  S
r( " S S5      r) " S S5      r*S r+Sr,Sr- " S S5      r. " S S5      r/SS jr0\	Rb                  Re                  S\3S4\Rh                  " \Rj                  S9S4/5      SS j5       r6S r7 " S S5      r8g)     )
namedtuple)datetime	timedelta)DecimalN)using_string_dtype)iNaT)InvalidIndexErrorPerformanceWarningSettingWithCopyError)
is_integer)Categorical	DataFrameDatetimeIndexIndex
MultiIndexSeries	Timestamp
date_rangeisnanotnato_datetimezBslice indices must be integers or None or have an __index__ methodc            	       
	   \ rS rSrS rS rS rS rS rS r	S r
S	 r\R                  R                  S
/ SQ/ SQ/ SQ/5      S 5       rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r \!RD                  S  5       r#S! r$S" r%S# r&\!RD                  S$ 5       r'S% r(\!RD                  S& 5       r)S' r*S( r+S) r,S* r-S+ r.S, r/S- r0\R                  Rc                  \2" 5       S.S/9S0 5       r3\R                  Rc                  \2" 5       S.S/9S1 5       r4\R                  Rc                  \2" 5       S.S/9S2 5       r5S3 r6S4 r7S5 r8S6 r9S7 r:\R                  R                  S8S9S:/5      S; 5       r;S< r<S= r=S> r>S? r?S@ r@SA rASB rBSC rCSD rDSE rESF rFSG rGSH rHSI rISJ rJ\R                  R                  SK5      \R                  R                  SL\LR                  \LR                  R                  SM5      \LR                  R                  SN5      /5      SO 5       5       rOSP rPSQ rQ\R                  R                  SRSSSTSU/4SVSWSU/4/5      SX 5       rR\!RD                  SY 5       rSSZ rT\R                  R                  S[S\S\/\LR                  \LR                  //5      S] 5       rV\R                  R                  S[S\\LR                  /5      S^ 5       rW\R                  R                  S_\X\Y\ZR                  /5      S` 5       r\Sa r]\R                  R                  SbSU/SU/5      \R                  R                  Sc0 SdSW0/5      Se 5       5       r^\R                  R                  SK5      \R                  R                  SfS9S:/5      \R                  R                  Sc0 SgSU0/5      Sh 5       5       5       r_Si r`Sj raSk rb\R                  R                  SbS9Sl/5      \R                  R                  Sm\cSn/5      So 5       5       rd\R                  R                  SpS:S9/5      \R                  R                  SbSqSq//5      Sr 5       5       re\R                  R                  Ss\fR                  SW4\fR                  St4/5      Su 5       riSvrjg\)w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         i/var/www/html/land-doc-ocr/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   r4   dtyper4                  columnsr4   r9   r;   r=   Tcheck_exactr   r   r#   assert_frame_equal)r)   any_numeric_dtyper6   idxdfresultexpecteds          r/   6test_getitem_numeric_should_not_fallback_to_positionalLTestDataFrameIndexing.test_getitem_numeric_should_not_fallback_to_positional>   sa    !IU+	9-s;Aq!fq!f-uaV57QR
fDA    c                    UR                  5       n[        R                  R                  S5      R	                  [        U5      5      US'   [        R                  R                  S5      R	                  [        U5      5      nX2S'   [        R                  " [        [        R                  " S5      S9   UR                  S5        S S S 5        US   n[        R                  " X4R                  5        g ! , (       d  f       N4= f)Nr8   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*   rF   adress        r/   test_getitem2#TestDataFrameIndexing.test_getitem2G   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 )Nr3   r5   r7   r:   r>   
   r4   )r[   r8   r[   )r[   r<   r[   Tr@   rB   )r)   rD   r6   rE   rF   rH   s         r/   6test_setitem_numeric_should_not_fallback_to_positionalLTestDataFrameIndexing.test_setitem_numeric_should_not_fallback_to_positionalT   sN    !IU+	9-s;1k;7E
b=rK   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   r4   zLength of values \(z$\) does not match length of index \(z\))r#   assert_series_equalr&   r'   
ValueErrorranger    r!   )r)   r*   datamsgnewcolumndatas        r/   test_setitem_list'TestDataFrameIndexing.test_setitem_list]   s     CC:&"&S#J
{3/cN
{3/cN2]]:S1%sCj1D#K 2c$**o12"3}#5"6 7114T2? 	 ]]:S1%I 21 21 21s   &CC.
C+.
C<c                    [        S[        S5      SS/[        S9nSS/UR                  SSS/4'   UR                  UR                  S   SS/4   n[        SS/UR                  [        SS9n[        R                  " X#5        S	=US'   US'   S
S/UR                  UR                  S   SS/4'   UR                  UR                  S   SS/4   n[        S
S/UR                  SS9n[        R                  " X#5        g )Nr   r9   tt1tt2)r!   r?   r6   r4   r8   )r6   name012rp   )	r   rg   intlocr!   r   r?   r#   re   r)   rF   rG   rH   s       r/   test_setitem_list2(TestDataFrameIndexing.test_setitem_list2p   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0rK   c                    UR                   S   nUR                   U:  nUR                  [        5      nUR                   U   nX5   n[        R                  " XxR                   5        [
        R                  " [        SS9   X5S S      S S S 5        X6   n	[        R                  " X5        [
        R                  " [        SS9   X3     S S S 5        [        XcR                   5      nX6   n	[        R                  " X5        [        R                  " [        5         UR                  UR                   S S S2   5      nX6   n	[        R                  " X5        S S S 5        UUU4 GH!  n
U
R                  5       nXS:     n[        UR                   Vs0 s H0  o[         R"                  " X   S:  X   [         R$                  5      _M2     snUR                   UR                  S9nU
R                   H  nX;  d  M
  X   X'   M     UR                  U
R                  S9n[        R                  " XS	S
9  U
R                   HC  nX   R&                  X   R&                  :w  d  M#  X   R&                  X   R&                  :X  a  MC   e   GM$     g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN_= fs  snf )Nr[   zItem wrong lengthr   zBoolean array expectedr   r!   r?   r>   F)check_dtype)r!   astypeobjectr#   r$   r&   r'   rf   rC   r   assert_produces_warningUserWarningreindex_get_numeric_datar   r?   rN   wherenanr6   )r)   mixed_float_framemixed_int_framedatetime_framedindexerindexer_objsubindexsubframesubframe_objrF   rh   bifcbifws                  r/   test_getitem_boolean*TestDataFrameIndexing.test_getitem_boolean~   s>     $ &&*nnV,!''0!*
h7]]:-@A3B<( B &2
l5]]:-EF* G [*>*>?%2
l5 ''4%--n.B.B4R4.HIK)6L!!,9 5 
B
 '')D!V*CDHLLQLqBHHTWq[$'266::LQjjD ZZ= eDG   <<

<3D!!#?ZZ6<<47==06<<25;;666  )
3 BA GF 54 Rs*    J	J<J-7J?
	
J
J*-
J<c                    UR                  5       nSUS'   US   R                  S5      US'   US   R                  5       US'   SUS'   US   R                  S5      US'   US   R                  5       US'   X"S:     nUR                  n[        [        R
                  " S	5      /S
-  [        R
                  " S5      /S-  -   [        R
                  " S5      /S-  -   / SQS9n[        R                  " XE5        SUR                  UR                  SS SS/4'   X"S:     nUR                  n[        [        R
                  " S	5      /S
-  [        R
                  " S5      /-   [        R
                  " S	5      /-   [        R
                  " S5      /-   [        R
                  " S	5      /-   / SQS9n[        R                  " XE5        g )Nr4   r`   int32E1Fint64F1r   float64r;   r8   )ra   rb   CDr`   r   r   r   r!   r9   )
rM   r~   dtypesr   rN   r6   r#   re   rv   r!   )r)   r   rF   castedrG   rH   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0rK   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   r9   r;   )r   rN   arangereshaperv   r!   r#   rC   )r)   r   rF   rG   rH   s        r/   test_getitem_boolean_list/TestDataFrameIndexing.test_getitem_boolean_list   sN     ryy},,Q2366"((3-(
f/rK   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 )Nr8   r<   r<   )ra   rb   r   r   r`   r>   r   r4   )	rN   r   rO   rP   r   rM   r#   assert_almost_equalrU   )r)   arrrF   s      r/   test_getitem_boolean_iadd/TestDataFrameIndexing.test_getitem_boolean_iadd   sg    ii##A&66v>sxxz+DE
6
a
!G
ryy#.rK   c                     [        [        R                  " SS/5      S/[        / 5      S9n[        R                  " / [
        5      nX     SX'   g )Nr   r4   ra   r?   r!   )r   rN   emptyr   arraybool)r)   blahks      r/   test_boolean_index_empty_corner5TestDataFrameIndexing.test_boolean_index_empty_corner   sB    1a&)C5b@QR HHRrK   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 )	Nr8   )r;   r9   )r4   r[   r   r`   r7   r|   r{   r4   r[   )r   rN   r   rO   rP   ilocrv   r!   r#   rC   r   rw   s       r/   test_getitem_ix_mixed_integer3TestDataFrameIndexing.test_getitem_ix_mixed_integer   s    II!!!$44V<#
 "66"((3B-(
f/B66%B.)
f/rK   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[      +   "   )r   r[   r      )rnar     r>   r   r9   r   r4   r   r   r#   rC   rw   s       r/   test_getitem_ix_mixed_integer24TestDataFrameIndexing.test_getitem_ix_mixed_integer2  s|    +'#%	 ,
 TF771qc6?
f/UG771qc6?
f/rK   c                     [         R                  " UR                  US   5        Sn[        R                  " [
        US9   UR                    S S S 5        g ! , (       d  f       g = f)Nra   z6'DataFrame' object has no attribute 'NONEXISTENT_NAME'r   )r#   re   ra   r&   r'   AttributeErrorNONEXISTENT_NAME)r)   r*   ri   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foobarr4   r[   r   r<   )r   rg   r   allr)   rF   s     r/   test_setattr_column)TestDataFrameIndexing.test_setattr_column  s:    !}E"I6			Q##%%%%rK   c                    US   S S S2   nXQS'   SU;   d   e[        U5      S:X  d   e[        U5      S:X  d   e[        R                  " [        R                  " UR                  [        R
                  /S-  45      5      n[        XaR                  SS9n[        R                  " US   U5        US   nXQS'   [        R                  " XQS   SS	9  [        R                  R                  S5      R                  [        U5      5      nXqS
'   US
   U:H  R                  5       (       d   eSUS'   US   S:H  R                  5       (       d   eSUS'   US   S:H  R                  5       (       d   eSUS'   US   S:H  R                  5       (       d   eUS S nSn	U(       d  U(       a  SS/US'   O)[        R                  " [         U	S9   SS/US'   S S S 5        U(       a  US   R"                  S:X  d   eO#US   R"                  [        R$                  :X  d   eUS   SS/:H  R                  5       (       d   eg ! , (       d  f       Nn= f)Nra   r8   col5   r   r!   rp   col6Frc   col9r<   col7gQ	@col0r_   col8zC\nA value is trying to be set on a copy of a slice from a DataFramerr   rs   col10r   str)r    rN   ravelcolumn_stackrU   r   r   r!   r#   re   r   rO   rP   r   r&   r'   r   r6   object_)
r)   r*   using_copy_on_writewarn_copy_on_writeusing_infer_stringr-   expr   smallerri   s
             r/   test_setitem"TestDataFrameIndexing.test_setitem%  sC    S!#A#&$F$$$6{b   ;2%%%hhrx"}'EFGS 1 1?
{62C8S!$F
v6':N ii##A&66s;7GH!FF#s*//1111FF#q(--////"FF#t+002222#FF#u,113333 bq/T"4 #SzGG33?$':  @ 7#))U2227#))RZZ777 S#J.335555 @?s   H55
Ic                 \   [        SS//5      n[        R                  UR                  S'   [        [        R                  [        R                  //5      n[        R
                  " X5        [        SS//5      n[        R                  UR                  S'   [        R
                  " X5        g )Nr   )r   rN   r   r   r#   rC   rv   r)   rF   rH   s      r/   test_setitem2#TestDataFrameIndexing.test_setitem2X  sz    Ax VV
rvvrvv./0
b+Ax FFq	
b+rK   c                 2   UR                  5       nUR                  R                  5       nSX"S   S:  '   SX3S S 2S4   S:  '   [        R                  " UR                  U5        US   S:H  nUR	                  UR
                  S S S2   5      nSX$'   SX3S S 2S4   S:H  '   [        R                  " UR                  U5        SX"S:  '   SX3S:  '   [        R                  " UR                  U5        SX"S:H  '   SX3S:H  '   [        R                  " UR                  U5        SX"S S S:  '   [        R                  " US S US S S:  S5        [        R                  " UR                  U5        SX"S S S2   S:H  '   SX3S:H  '   [        R                  " UR                  U5        S	n[        R                  " [        US
9   SX"S-  '   S S S 5        UR                  5       nU[        R                  " U5      :  n[        R                  X"[        R                  " U5      :  '   UR                  R                  5       n[        R                  X7R                  '   [        X6R
                  UR                  S9n[        R                  " X(5        US-  X"[        R                  " U5      :  '   [        R                  " X7R                  UR                  S-  5        [        X6R
                  UR                  S9n[        R                  " X(5        g ! , (       d  f       GNL= f)Nr;   ra   r   r{   r4   r<   r8   r9   z;Must pass DataFrame or 2-d ndarray with boolean values onlyr   r|   )rM   rU   r#   r   r   r!   rN   putmaskr&   r'   	TypeErrorabsr   r   r?   rC   )	r)   r*   rF   rU   r-   ri   df_origmaskrH   s	            r/   test_setitem_boolean*TestDataFrameIndexing.test_setitem_booleanc  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   rb   barr_         @	somethingr8   )
r~   r6   rN   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 ;'--;;;rK   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   )rb   r   r9   r   rb   r8   	beginningra   r_   r`   r   r   date      @r4   r   r  r   r   rr   rs   3	coercible)r   rN   r   r    r?   r   nowr!   rU   r6   r   r   r   r   )r)   r*   r   rF   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6rK   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      r8   r   )titlecruftr  r   r   r  )r4   r  )r4   r  )rN   r   rO   r   r!   rv   )r)   rh   rF   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&&&rK   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 )	Nr9   r|   r4   r   )r_   bzrbazr   r8   r   )
r   rg   r   r   rN   onesr    r?   r6   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 )Nra   r{   Frc   )r#   re   r   rv   r  s     r/   test_setitem_None'TestDataFrameIndexing.test_setitem_None  s    ',D
QU#[%55	
 	OOAtG$k#&6E	
 	{40+c2BPUVrK   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   rM   r
  rv   r  r   r#   rC   )r)   rF   rG   s      r/   &test_loc_setitem_boolean_mask_allfalse<TestDataFrameIndexing.test_loc_setitem_boolean_mask_allfalse  sZ    !(:AVW
 +188==?

688==?C'(
f)rK   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 )Nr8   r[   r<      )
r   rN   r   rO   rP   r   r   r   rU   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"))--////rK   c                    [        [        R                  R                  S5      R	                  S5      [        SSS5      S9nUR                  5       nSUR                  SS& UR                  SS S:H  R                  R                  5       (       d   eUR                  5       nSUR                  SS	& UR                  SS	 S:H  R                  R                  5       (       d   eUR                  SS
 nUR                  SS	 nUR                  / SQ5      n[        R                  " X55        [        R                  " XE5        UR                  [        [        S5      5      [        [        SS5      5      S S S2   -      n[        R                   " ["        SS9   UR                  SS	   S S S 5        [        R                   " ["        SS9   SUR                  SS	& S S S 5        g ! , (       d  f       N@= f! , (       d  f       g = f)Nr8   r2  r   r   r   r;   r[   r9   r   r=   )r;   r=   r3  r[   r<   r{   z^3$r   )r   rN   r   rO   rP   rg   rM   r   rU   r   rv   r   r#   rC   listr&   r'   r(   )r)   rF   cprG   result2rH   df2s          r/   ,test_getitem_setitem_integer_slice_keyerrorsBTestDataFrameIndexing.test_getitem_setitem_integer_slice_keyerrors%  s   II!!!$44W=U1bRS_

 WWY"""**..0000 WWY"""**..00001&&2,::m,
f/
g0 ggd58ntE!RL'9$B$'??@]]862GGAbM 3]]862CGGAbM 32 3222s   GG0
G-0
G>c                    UR                   S S 2SS 24   nUS   R                  [        R                  :X  d   eUR	                  5       nUR                   S S 2SS 24   n[        R
                  " US   R                  US   R                  5      (       d   e[        R                  " U5         SUR                  S S 2S4'   S S S 5        U(       dO  US   S:H  R                  5       (       d   e[        R
                  " US   R                  US   R                  5        g [        R                  " X5        g ! , (       d  f       N{= f)Nr   r         @r;   )r   r6   rN   r   rM   shares_memory_valuesr#   assert_cow_warningrv   r   rC   )r)   r*   float_string_framer   r   slicedoriginals          r/   test_fancy_getitem_slice_mixed4TestDataFrameIndexing.test_fancy_getitem_slice_mixedB  s    $((BC0c{  BJJ... ##%!!!RS&)s 3 3[5E5M5MNNNN""#56!$FJJq#v 7"$)..0000 VC[00+c2B2J2JK!!+8 76s   ,D55
Ec                    [        [        S5      [        SSS9S9nUR                  SS/   u  p#UR                  X# nXU nUSS n[
        R                  " XF5        [
        R                  " XV5        UR                  5       nSUR                  X#& UR                  5       nSXRU& UR                  5       nSUSS& [
        R                  " XF5        [
        R                  " XV5        g )	Nr   z
2020-01-01periodsr   r<   r[   r   r   )r   rg   r   r!   rv   r#   rC   rM   )r)   rF   startendrG   r9  rH   s          r/   "test_getitem_setitem_non_ix_labels8TestDataFrameIndexing.test_getitem_setitem_non_ix_labelsZ  s    uRy
<(LMXXq"g&
"3-a8
f/
g0 !

5'')c7792
f/
g0rK   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 )Nr8   r9   r8   r   r4   r|   )r   rN   r   rO   rP   rv   r!   r   r#   rC   r?   )r)   rF   rsxps       r/   test_ix_multi_take(TestDataFrameIndexing.test_ix_multi_taken  s    ryy,,Q/??GHVVBHHM1$%ZZ_
b% ryy,,Q/??GHVVBHHM2::?23ZZqcA3Z/
b%rK   c                     UnUR                   nUR                   H.  nX$   nUR                  S S S2    H  nX6U4   XV   :X  a  M   e   M0     g )Nr<   )rv   r?   r!   )r)   r*   fr  coltsrE   s          r/   test_getitem_fancy_scalar/TestDataFrameIndexing.test_getitem_fancy_scalarz  sS    UU 99CBwwss|s(|rw... $ rK   c                    UnUR                  5       nUR                  n[        UR                  5       H  u  pVX&     UR                  S S S2    Hu  nUR                  R                  U5      n[        R                  R                  S5      R                  5       n	XR                  X4'   XXv4'   [        R                  " X#5        Mw     M     g )Nr<   r8   )rM   rv   	enumerater?   r!   get_locrN   r   rO   rP   r   r#   rC   )
r)   r*   rV  rH   r  jrW  rE   ivals
             r/   test_setitem_fancy_scalar/TestDataFrameIndexing.test_setitem_fancy_scalar  s    ##%UU  		*FAFwwss|GGOOC(ii++A.>>@&)ad#"38%%a2 $ +rK   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 )Nrb   r   r>   )FTFTr<   r[   r|      r   r8   r   )rv   r   r#   rC   r!   r?   )r)   r*   rV  r  rH   rG   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/rK   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 )Nra   r           r|   rb   r8   )rM   rU   rv   r   r!   r?   r#   rC   )r)   r*   framerH   rU   r   s         r/   test_setitem_fancy_boolean0TestDataFrameIndexing.test_setitem_fancy_boolean  s       "##%%%'SzA~		$!{{V>>8CSCST
e.  "##%%%'&)		$c
"#"%{{BQBV>>8CSCST
e.rK   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)r4   r;   rd  )r8   r   r4   )r   rv   r!   r#   rC   r?   )r)   r*   rG   rH   s       r/   test_getitem_fancy_ints-TestDataFrameIndexing.test_getitem_fancy_ints  sy    !!),??;#4#4Y#?@
f/!!!Y,/??1k&9&9)&D#DE
f/rK   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 )Nra   r{   r4   r   )rv   r#   rC   rM   )r)   r*   r   rG   rH   r8  s         r/   'test_getitem_setitem_boolean_misaligned=TestDataFrameIndexing.test_getitem_setitem_boolean_misaligned  s    3"%)&??4":.
f/##%tT
b+rK   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 )	Nr8   rP  r   FTr   r4   r<   )
r   rN   r   rO   rP   r   rv   r#   rC   rM   )r)   rF   k1k2rG   rH   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+rK   c                 
   [        / SQ5      n[        [        R                  R	                  S5      R                  S5      US9nUR                  SS nUR                  / SQ5      n[        R                  " XE5        [        U5      S:X  d   eUR                  SS nUR                  SS/5      n[        R                  " XES	S
9  [        U5      S:X  d   eUR                  SS nUR                  SS/5      n[        R                  " XE5        [        U5      S:X  d   eUR                  SS nUR                  SS n[        R                  " XE5        UR                  SS nSn[        R                  " [        US9   USS nS S S 5        [        R                  " XE5        [        / SQ5      n[        [        R                  R	                  S5      R                  S5      US9nSn[        R                  " [         US9   UR                  SS   S S S 5        UR                  SS nUR                  S/5      n[        R                  " XE5        [        U5      S:X  d   eUR#                  5       n[        R                  " [         [$        S9   SUR                  SS& S S S 5        [        R                  " [         US9   UR                  SS S:H  nS S S 5        UR&                  R)                  5       (       d   eUR                  SS UR                  SS :H  R&                  R)                  5       (       d   eUR#                  5       nSUR                  SS& UR                  SS S:H  R&                  R)                  5       (       d   eUR                  SS UR                  SS :H  R&                  R)                  5       (       d   eUR                  SS nUn[        R                  " XE5        [        U5      S:X  d   eUR                  SS nUR                  / SQ5      n[        R                  " XE5        [        U5      S:X  d   eUR                  SS nUR                  S/5      n[        R                  " XE5        [        U5      S:X  d   eUR                  SS nUR                  / SQ5      n[        R                  " XE5        [        U5      S:X  d   eUR#                  5       nSUR                  SS& UR                  SS nUS:H  R&                  R)                  5       (       d   eg ! , (       d  f       GN= f! , (       d  f       GN4= f! , (       d  f       GN= f! , (       d  f       GN= f)N)r   r8   r9   r;   r<   r8   r   r   r   r;   )r   r8   r9   r;   r<   F)check_index_typer?  r  r4   r   z3The behavior of obj\[i:j\] with a float-dtype indexr   )r  r         @r   r  zPcannot do positional indexing on Index with these indexers \[1.0\] of type floatr  g?)r   rz  r   r  g
ףp=
@)r   r   rN   r   rO   rP   rv   r   r#   rC   r    r   r   FutureWarningr&   r'   r   rM   
_slice_msgrU   r   )r)   using_array_managerr!   rF   rG   rH   ri   r8  s           r/   !test_getitem_setitem_float_labels7TestDataFrameIndexing.test_getitem_setitem_float_labels  s   '(ryy,,Q/??GuUA::n-
f/6{a!::q!f%
fG6{a!::sCj)
f/6{a !771Q<
f/771Q<D''SA!WF B
f/ /0ryy,,Q/??GuU4 	 ]]9C0GGCN 1 1::se$
f/6{aWWY]]9J7BGGCN 8 ]]9C0WWS^q(F 1 }}  """"!!,4488::::WWY!!!))--////!!,4488:::: A
f/6{aA::23
f/6{aQ::se$
f/6{aC::78
f/6{aWWYs3C!##'')))){ BA 10 87 10s0   <T)>T;U<U)
T8;
U

U
U.c                    [        [        R                  R                  S5      R	                  S5      / SQ/ SQS9n[        S5      US'   UR                  n[        [        R                  " S5      /S	-  [        R                  " S
5      /-   / SQS9n[        R                  " X#5        [        R                  " [        SS9   [        UR                  S'   S S S 5        [        UR                  S   5      (       a   eUS   R                  [        R                   :X  d   eUR                  S   [        :X  d   e[        R"                  UR                  S'   [        UR                  S   5      (       d   e[        R"                  UR                  SS S 24'   [        UR                  SS S 24   5      R%                  5       (       a   eg ! , (       d  f       N= f)Nr8   r<   r9   )r
  r  r   r   e)r_   r   r  r|   20010102	timestampr   r9   zdatetime64[s])r_   r   r  r  r   %Setting an item of incompatible dtyper   )r  r  )r   r  r   r   )r   rN   r   rO   rP   r   r   r   r6   r#   re   r   r{  r   rv   r   r   r   r   rw   s       r/   )test_setitem_single_column_mixed_datetime?TestDataFrameIndexing.test_setitem_single_column_mixed_datetime@  s   II!!!$44V<+)
 $J/; XXi !A%/)B(CC4
 	v0 ''!H
 (,BFF#$
 /01111+$$

222vv&'4/// $&66 BFF+,---- sAvsAv'++-----
 
s   G
Gc                    [        / SQ[        SSS5      SSS[        SSS5      [        SSS5      /S.5      n[        S	[        S
5      [        S5      S9n[        R
                  US'   [        SSS5      UR                  S'   [        R                  " [        SS9   SUR                  S'   S S S 5        SUR                  SS/S4'   [        R                  " S[        R                  " S5      /S[        R                  " S5      //5      nX2R                  SS/SS/4'   [        R                  " X!5        g ! , (       d  f       N= f)N)r   r   r   r         i  r4   xyi  i  r
  r  r   abr=   r   r  r   r  r  r   )r4   r  r  r  r8   r9   r  z2013-01-01T00:00:00r  z2014-01-01T00:00:00r;   r<   r
  )r   r   r7  rg   pdNaTrv   r#   r   r{  rN   r   
datetime64rC   )r)   rH   rF   ra   s       r/   test_setitem_mixed_datetime1TestDataFrameIndexing.test_setitem_mixed_datetimeb  s,   )T1a(T1a(T1a(

 q$t*E!H=&&3!$1-v''!H
 BFF6N
 '1vs{HHR]]#89:R]]#89:
 &'1vSz!"
b+
 
s   D55
Ec                 4   UR                   UR                  S S SS/4   nUR                  UR                   UR                  S   S 2SS/4'   UR                   UR                  SS  SS/4   R                  nUR                  n[        R                  " X45        g Nr8   ra   rb   )rv   r!   rU   r#   r   r)   r*   piecerG   rH   s        r/   test_setitem_frame_float.TestDataFrameIndexing.test_setitem_frame_float  s     1 1"1 5Sz AB?D||))"-/#s;<!2!223!7#s!CDKK<<
v0rK   zTODO(infer_string))reasonc                 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   r8   ra   rb   r|   )rM   r   r!   slicerv   r#   r   rU   r)   rC  rV  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||TrK   c                 z   UR                  5       n[        SS/SS/SS/SS//[        UR                  S	S
 5      SS/-   SS/S9nUR                  [	        S S
5         SS/4nX2R
                  U'   [        R                  " UR
                  UR                  S	S
 SS/4   R                  UR                  S	S
 5        g )Nr  r  r  r?  r  g      @g      @g       @r   r8   r_   r   ra   rb   r|   )	rM   r   r7  r!   r  rv   r#   r   rU   r  s        r/   'test_setitem_frame_mixed_rows_unaligned=TestDataFrameIndexing.test_setitem_frame_mixed_rows_unaligned  s     ##%3Z#sc3Z#s<qwwq|$u~5#J

 wwuT1~&c
3c

EE!''!A-#s+,33U\\!A5F	
rK   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 )Nr8   ra   r  rb   )	rM   rv   r!   r  rN   r   r#   r   rU   r  s        r/   &test_setitem_frame_mixed_key_unaligned<TestDataFrameIndexing.test_setitem_frame_mixed_key_unaligned  s     ##%aggbqkC5()ggbclwwuR'#s4c
VVc

quuQWWRS\C:%=>EEu||TrK   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  )rM   rv   r!   r  rU   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||TrK   c                 l   [        / SQ/ SQ// SQS9nUR                  5       n[        R                  " [        SS9   UR
                  S S 2SS/4   S	-   UR
                  S S 2SS/4'   S S S 5        UR                  SS/S9nUS	-  nUS
   US
'   [        R                  " X#5        g ! , (       d  f       NC= f)N)r4   r8   r_   )r9   r;   r   ra   rb   r   r>   incompatible dtyper   ra   rb         ?r   )r   rM   r#   r   r{  rv   r   rC   )r)   rF   r:  rH   s       r/   test_setitem_frame_upcast/TestDataFrameIndexing.test_setitem_frame_upcast  s    }5Oggi''=QR%'VVASzM%:S%@CGGASzM" S::sCj:1C3
c, SRs   ,B%%
B3c                 T   UR                   UR                  S S SS/4   nUR                  SS  Ul        SS/Ul        X!R                   UR                  SS  SS/4'   UR                   UR                  SS  SS/4   R                  nUR                  n[        R
                  " X45        g r  )rv   r!   r?   rU   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0rK   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 )
Nr8   r  r_   r_   r   r  r   r   r_   r   r;   r  r9   )
r   rN   r   rO   rP   rv   r#   rC   r   re   rw   s       r/   "test_getitem_setitem_ix_duplicates8TestDataFrameIndexing.test_getitem_setitem_ix_duplicates  s    II!!!$44V<5

 bq6
f/77Aq6?
f/771:
v0rK   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 )	Nr8   r  r  r   r   r;   r4   r   )	r   rN   r   rO   rP   rv   r   r#   rC   )r)   rF   rG   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*rK   
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
  r7   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(   rv   )r)   r  rF   messageri   s        r/   %test_getitem_setitem_ix_bool_keyerror;TestDataFrameIndexing.test_getitem_setitem_ix_bool_keyerror  s|     Y'(L WX]]873FF: 4 ?]]83/!"BFF: 0/	 43 0/s   A:!B:
B
Bc                    SUS'   [        US   R                  R                  [        [        R
                  45      (       d   eUR                  UR                  S   S4   n[        U5      (       d   e[        SS/05      nSUS'   UR                  S   n[        U5      (       d   e[        S/S	/SS
9nUR                  S	/S4   n[        R                  " X$5        g )Nr4   r`   r<   r
  gGz?i  r  r  r   rt   )r   r6   r   ru   rN   r  rv   r!   r   r   r   r#   re   )r)   r*   rG   rF   rH   s        r/   "test_single_element_ix_dont_upcast8TestDataFrameIndexing.test_single_element_ix_dont_upcast  s    C+c*0055RZZ7HIIII!2!21!5s!:;&!!!! dV}%3&!!!!3%!3/S!
v0rK   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   r[   r;   r   r   r8   r   zcallable with ilocr   c                     gN)r    r,   s    r/   <lambda>MTestDataFrameIndexing.test_iloc_callable_tuple_return_value.<locals>.<lambda>      drK   r4   c                     gr  r  r  s    r/   r  r    r  rK   )	r   rN   r   r   rg   r#   r   r{  r   )r)   rF   ri   s      r/   %test_iloc_callable_tuple_return_value;TestDataFrameIndexing.test_iloc_callable_tuple_return_value  s    ryy},,R35B?K"''SAGGN# B''SA&'BGGN# BA BAAAs   B!B2!
B/2
C c                 `   [        [        R                  R                  S5      R	                  S5      [        SSS5      S9nUR                  S   nUR                  S   n[        R                  " X#5        UR                  S   nUR                  S   n[        R                  " X#5        UR                  [        SS5         nUR                  SS	 n[        R                  " X$5        UR                  / S
Q   nUR                  UR                  / S
Q   5      n[        R                  " X$5        g )Nr8   r[   r;   r   r   r   r4   r;   r3  r  r4   r8   r;   r=   )r   rN   r   rO   rP   rg   r   rv   r#   re   r  rC   r   r!   r)   rF   rG   r   rH   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/rK   c                 t   [        [        R                  R                  S5      R	                  S5      [        SSS5      S9nUR                  5       nUR                  [        SS5         n[        R                  " US   US   5      (       d   eUS   R                  5       n[        R                  " U5         SUR                  S S 2S4'   S S S 5        U(       d3  SUR                  SS& [        R                  " US   US   5      (       d   e[        R                  " US   U5        g ! , (       d  f       Nc= f)	Nr8   r  r   r   r   r;   r3  ri  )r   rN   r   rO   rP   rg   rM   r   r  r@  r#   rB  rv   rA  re   )r)   r   r   rF   rE  subsetexp_cols          r/   test_iloc_row_slice_view.TestDataFrameIndexing.test_iloc_row_slice_view4  s   II!!!$44W=U1bRS_
 779 q!%1vay11111+""$""#56"FJJq!t 7"#&GOOAa  ##BqE6!95555
r!ug. 76s   8D))
D7c                    [        [        R                  R                  S5      R	                  S5      [        SSS5      S9nUR                  S S 2S4   nUR                  S S 2S4   n[        R                  " X#5        UR                  S S 2S4   nUR                  S S 2S4   n[        R                  " X#5        UR                  S S 2[        SS5      4   nUR                  S S 2SS	24   n[        R                  " X$5        UR                  S S 2/ S
Q4   nUR                  UR                  / S
Q   S9n[        R                  " X$5        g )Nr8   r;   r[   r   r   r>   r4   r;   r3  r  r  )r   rN   r   rO   rP   rg   r   rv   r#   re   r  rC   r   r?   r  s        r/   test_iloc_col#TestDataFrameIndexing.test_iloc_colJ  s   II!!!$44W=uQPRTU
 AffQTl
v+AffQTl
v+ E!QK(66!QrT'?
f/ L)::bjj&>:?
f/rK   c                    [        [        R                  R                  S5      R	                  S5      [        SSS5      S9nUR                  5       nUR                  S S 2[        SS5      4   nU(       d  U(       d  [        R                  " US   R                  US   R                  5      (       d   e[        R                  " U5         SUR                  S S 2S4'   S S S 5        US   S:H  R                  5       (       d   e[        R                  " US   R                  US   R                  5      (       d   eg U(       a8  [        R                  " US   R                  US   R                  5      (       d   eSUS'   US   S:H  R                  5       (       d   e[        R                  " XE5        g ! , (       d  f       N= f)	Nr8   r  r   r   r>   r;   r3  ri  )r   rN   r   rO   rP   rg   rM   r   r  r@  rA  r#   rB  rv   r   rC   )r)   r}  r   r   rF   rE  r  s          r/   test_iloc_col_slice_view.TestDataFrameIndexing.test_iloc_col_slice_viewa  sj    II!!!$44W=uQPRTU
 779E!QK("+>##BqEMM6!93D3DEEEE&&'9:#&

1a4  ; qEQJ##%%%% ##BqEMM6!93D3DEEEE"''1vay7H7HIIIIF1I1IN''))))!!"/ ;:s   F55
Gc           	         [        [        SSSS9[        SSSS9S9nUR                  S[        SSSS9S9n[        SUSS	/S
9n[        R
                  " / SQ5      nSUR                  X   S4'   [        / SQ/ SQS.US9n[        R                  " X$5        [        SUSS	/S
9nUR                  X   S4==   S-  ss'   [        R                  " X$5        g )Ni  r4   )yearmonthdayr<   )rK  rL  )rv   itemr   ra   rb   r|   )FFFFFTr=   )r   r   r   r   r=   r=   )r   r   r   r   r   r   ra   rb   r   )	r   r   insertr   rN   r   rv   r#   rC   )r)   trangerF   bool_idxrH   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+rK   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-01r9   utc)rJ  tzdatesrt   )r4   r   r8   )r   r4   r8   )r   r   r   r#   re   rv   )r)   columnrF   s      r/   4test_setitem_with_unaligned_tz_aware_datetime_columnJTestDataFrameIndexing.test_setitem_with_unaligned_tz_aware_datetime_column  s     
<uEGT()Y'7
r'{F3()%+I%6y'!"
r'{F3rK   c                    [        SS9n[        [        SSS9S9n[        R                  " SU-  /S-  SS9US	'   [        R                  " S
U-  /S-  SS9UR
                  S S 2S4'   [        R                  " SU-  /S-  SS9UR
                  UR                  S S S4'   [        R                  " SU-  /S-  SS9UR
                  S S 2S4'   [        R                  " SU-  /S-  SS9UR
                  UR                  S S S4'   [        R                  " S5      US'   [        R                  " SU-  /S-  SS9UR
                  UR                  S S S4'   [        SSS9UR
                  UR                  S   S 2S4'   [        R                  " S5      US'   UR                  n[        [        R                  " S5      /S-  [        R                  " S5      /S
-  -   [        S5      S9n[        R                  " X45        g )Nr4   )hours20130101r;   rI  r   m8[ns]r5   ra   r8   rb   r9   r   r   r<   r`   r  r   r=   r{   r>  GHztimedelta64[ns]zdatetime64[ns]ABCDEFGH)r   r   r   rN   r   rv   r!   timedelta64r  r   r   r6   r7  r#   re   )r)   one_hourrF   rG   rH   s        r/   ,test_loc_setitem_datetimelike_with_inferenceBTestDataFrameIndexing.test_loc_setitem_datetimelike_with_inference  s    1%Z
A>?((AL>A-X>31x<.1"4HEq#v$&HHa(l^a-?x$Prxx|S !1x<.1"4HEq#v$&HHa(l^a-?x$Prxx|S !..'3%'XXq8|nq.@%Qrxx}c!"&0Q&Grxx|~s"#--&3XX'()A-:J1K0Lq0PPz"
 	v0rK   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   r4   )r   r4   r8   r9   r;   r  g333333?)r   r4   )r   r4   )r  r4   )r  r;   testr_   zDnot supported between instances|unorderable types|Invalid comparisonr   )
r   rN   r   rM   rv   r#   rC   r&   r'   r   )r)   rF   r:  rH   ri   s        r/   #test_getitem_boolean_indexing_mixed9TestDataFrameIndexing.test_getitem_boolean_indexing_mixed  si   BFFBFFO+++ + BFFBFFO+ qa81
< ggi#I779UUUU
c,5	T]]9C0BCxL 100s   (G99
Hc           	      D   [         R                  " SS/SS//S S/S9n[        / SQ/ SQ/U[        SS/S	S
9S9n[        R
                  " [        SS9   US S 2S4     S S S 5        [        [        S5      S	S
9n[        SS/SS//SS/SS//S S/S9n[        SS/SS//XCS9nUR                  S S 2[        S 5      S44   n[        R                  " Xe5        Sn[        [        S5      S	S
9n[        SS/X7S9nUS   n[        R                  " Xe5        g ! , (       d  f       N= f)Nr  r  r   r4   r   names)r4   r4   r8   r8   )r9   r9   r;   r;   r_  rt   r   r  r   r8   )levelscodesr  r9   r;   )r  r   r   )r   from_productr   r   r&   r'   r	   rg   rv   r  r#   rC   r   re   )r)   midgr!   r?   rH   rG   rp   s           r/   test_type_error_multiindex0TestDataFrameIndexing.test_type_error_multiindex  s2   $$sCj1a&%9$M<("E1a&s<S
 ]],G<q!tH = eAhS)#JA'AA/?c{
 q!fq!f-wLE$K++,
f/eAhS)1a&9F
v0# =<s   
D
Dc                 P   [        [        R                  " S5      [        R                  R                  [        R                  " S5      5      S9nUR                  S S 2S4   nUS   n[        R                  " X25        UR                  S S 2S4   n[        R                  " X25        g )Nr9   r;   r<   r>   r   r  )r   rN   r   r  IntervalIndexfrom_breaksr   r   r#   re   rv   )r)   rF   rH   rW   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-rK   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?   r6   )r8   )r8   r8   r  r   )r   r   rN   zerosrv   r#   rC   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+rK   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 )Nra   r7   Int64r5   r{   )r   rM   rU   rv   r#   rC   r  corearraysNumpyExtensionArrayr   )r)   rF   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'rK   c                     [        [        R                  " S[        S95      n[        R                  " US   5      US'   US/     g )Nr4   r4   r5   r   )r   rN   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rK   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)Nra   r7   r5   |)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   r8   r   r   rb   )r   rM   rA  joinr&   r'   r   r   )r)   r&  any_numeric_ea_dtyperF   serr   ri   r:  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
  rt   r   r4   r   r   )r   r   rv   r#   rC   r   s      r/   +test_loc_expand_empty_frame_keep_index_nameATestDataFrameIndexing.test_loc_expand_empty_frame_keep_index_nameb  sM    uE"3,?@q	cA3ZuaSs/CD
b+rK   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_   r7   r   r   r   from_tuplesrv   r#   rC   r   s      r/   +test_loc_expand_empty_frame_keep_midx_namesATestDataFrameIndexing.test_loc_expand_empty_frame_keep_midx_namesi  se    E!7!7/!R
 "y5'N(()OL
 	b+rK   z	val, idxr)r  r
  r  r
  )r4   r
  r4   c                 0   [        SSS/05      n[        R                  " [        SS9   [        SUS/0SS/S9UR                  S S 2U4'   S S S 5        [        S[
        R                  U/05      n[        R                  " X45        g ! , (       d  f       NB= f)Nr
  r4   r8   r  r   r   r   )r   r#   r   r{  rv   rN   r   rC   )r)   idxrr`  rF   rH   s        r/   test_loc_setitem_rhs_frame0TestDataFrameIndexing.test_loc_setitem_rhs_frameu  s     aV}%''!H
 (sBi(8AGBFF1d7O
 cBFFC=12
b+
 
s   "B
Bc                     [        SS/S9nUR                  5       nUS S  n[        R                  " SS/[        R                  S9UR
                  S S 2S4'   [        R                  " XC5        g )Nr
  r  r>   r4   r8   r5   r   )r   rM   rN   r   r   r   r#   rC   )r)   r   rF   rH   views        r/   $test_iloc_setitem_enlarge_no_warning:TestDataFrameIndexing.test_iloc_setitem_enlarge_no_warning  sX     Sz*779!u!Qrzz:1
d-rK   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 )NTr4   r   )bool_colr
  r  r8   idx1idx2r  r   r"  r9   r   r   r
  r  r   r   )r   r   from_arraysrv   r   r#   re   )r)   rF   rE   rG   rH   s        r/   (test_loc_internals_not_updated_correctly>TestDataFrameIndexing.test_loc_internals_not_updated_correctly  s    AC0((1a&1a&)9&&AQR
 h3sCx
sCx
sS#JsCxS!((1#sFF;KL
 	

 	v0rK   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	  stringr5   r   r  r   r   r   r  NAr#   rC   r)   r`  rF   rH   s       r/    test_iloc_setitem_string_list_na6TestDataFrameIndexing.test_iloc_setitem_string_list_na  sP     _-X>QcBEE3#45XF
b+rK   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 rH  rJ  rL  s       r/   test_iloc_setitem_string_na1TestDataFrameIndexing.test_iloc_setitem_string_na  sN     _-X>1cBEE3#45XF
b+rK   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
  r7   r  r5   r<   r   )r<   r<   r<   r   )r)   rR  rF   rH   s       r/   /test_iloc_setitem_ea_null_slice_length_one_listETestDataFrameIndexing.test_iloc_setitem_ea_null_slice_length_one_list  sL     Y'w7 !49c9-W=
b+rK   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 )Nra   rb   r	  firstsecondr  r   Indexerr
  r  )rW  rX  )ra   r
  )ra   r  )
r   r   r
  r   r!   r  rv   r5  r#   rC   )r)   rF   indexer_tupler9  rG   rH   s         r/   test_loc_named_tuple_for_midx3TestDataFrameIndexing.test_loc_named_tuple_for_midx  s    ))s_-gx5H

 #9bhhnn=3Sz:a((Z((0C

 	f/rK   r   rW  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-30r4   )daysz
2022-12-31)r   r   r  	Timedeltarv   r#   rC   )r)   rW  r   rF   rH   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+rK   has_refrp   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  T)r   rg   rM   rv   r#   rC   )r)   rW  rb  nrF   valuerH   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+rK   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   rM   r#   r   rv   rC   )r)   rF   rH   rhss       r/   test_loc_rhs_empty_warning0TestDataFrameIndexing.test_loc_rhs_empty_warning  s`    Sz*779&''- FF1c6N .
b+ .-s   A..
A<c                 2   [        / SQ/ SQ/5      n[        SS/SS9n[        S/SS9nUR                  X24   n[        SS//S/S	9n[        R                  " XE5        UR                  UR
                  UR
                  4   n[        R                  " XE5        g )
Nr   r4   r8   r9   r;   r<   r=   rd  r3  	   r   r4   r  r5   r<   r=   r   )r   r   r   r#   rC   rU   )r)   rF   r   row_indexerrG   rH   s         r/   test_iloc_ea_series_indexer1TestDataFrameIndexing.test_iloc_ea_series_indexer  s    9:!Qw/aS0-.q!fXaS1
f/++W^^;<
f/rK   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)Nrm  rn  r   r  r5   zcannot convertr   )	r   r   r  rK  r&   r'   rf   r   rU   )r)   rF   r   ri   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)Tr6   booleanc           	      ~   [         R                  " [        / SQUS9[        / SQUS9/SS/S9n[        S/ SQ0US	9n[        R
                  " [        [        U[        5      5         UR                  U   nS S S 5        [        SS
S/0[        SS/SUS9S	9n[        R                  " WU5        g ! , (       d  f       N?= f)N)TTFFr5   )TFTFr
  r  r  r   )r4   r8   r9   r;   r   r4   r8   TF)rp   r6   )r   rD  r   r   r#   maybe_produces_warningr
   
isinstancetuplerv   r   rC   )r)   r6   r   midxrF   rG   rH   s          r/   test_loc_bool_multiindex.TestDataFrameIndexing.test_loc_bool_multiindex  s     %%1?1? *
 \*$7&&'9:gu;UVVVG_F W1a&Me}3e!L
 	fh/ WVs   %B..
B<r  r  c           
          [        [        [        SSS5      [        SSS5      /US9SS/S.5      nUR                  SS	9nX3S
      nUS   UR                  US
   U4'   [
        R                  " X45        g )Ni  r4   r   r   )r  TF)r  update)deepr  r  )r   r   r   rM   rv   r#   rC   )r)   r  r   rF   rH   	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+rK   zindexer, idxr8   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 )Nrr   rs   r  r5   r4   r8   )r   rN   r   r   r#   rC   )r)   r   rE   rF   ri  rH   s         r/   "test_setitem_value_coercing_dtypes8TestDataFrameIndexing.test_setitem_value_coercing_dtypes3  s     bffRVV}sBFFmDFS!RVVq"&&k23"DSD!Gq"&&kArvv;bffFfU
b+rK   r  )k__name__
__module____qualname____firstlineno__r0   rI   rX   r\   rk   rx   r   r   r&   markparametrizer   r   r   r   r   r   r   r   r   r   r  r  r  r#  r&  r/  r4  r;  tdskip_array_manager_invalid_testrF  rM  rS  rY  ra  rf  rk  rn  rq  rv  r~  r  r  r  xfailr   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.  r1  r6  r:  r>  rE  rK  rM  rP  r7  r   rN   r   rT  r[  r`  rf  rj  rq  rt  r   r|  r  r#   rv   r   r  __static_attributes__r  rK   r/   r   r   ,   sX   ""B4>&&197v 1D [[#%79NO00/00$)&16f	,2,h<:.7`'-*	W*0: ''9 (9.1(
&/ ''3 (3 0. ''/ (/(0,,W*r .D,@1 [[)+4HI
U J
U [[)+4HI
 J
 [[)+4HIU JUU	-11&+& [[\D%=9	# :	#1$(0./,0.0<,641,,\12.,( [[ PQ[[2BFFOOH4MN/+ R/+b,
, [[3%LJ		
	,	, ''. (.1. [[UTD6255255'$BC, D, [[UT255M2, 3, [[VdFBHH%=>, ?,0" [[Y#5[[UR#qN3	, 4 6	, [[ PQ[[Yu6[[UR&#$78	, 9 7 R	,,
0' [[Yw8[[WtY&780 9 90" [[UUDM2[[Y&(:;, < 3,$ [[^rvvqkBGGQ<-HI, J,rK   r   c                       \ rS rSrS rSrg)TestDataFrameIndexingUInt64i=  c           
         [        [        R                  " S5      / SQS.[        R                  S9nUS   R	                  S5      nSUR
                  ;  d   eX!S'   [        R                  " US   [        USS95        S	UR
                  ;  d   eSUS	'   X!S	'   [        R                  " US	   [        US	S95        US		 UR                  5       n[        R                  " [        S
S9   [        R                  UR                  S'   [        R                  UR                  S'   S S S 5        US   n[        R                  " [        U5      [        / SQSS95        [        R                  " UR                   [        [        R"                  " S5      [        R"                  " S5      [        R"                  " S5      // SQS95        g ! , (       d  f       N= f)Nr9   )l            l           l   
        r  r5   ra   r_   r   rt   r   r  r   r"  r4   r8   rb   r   uint64Or  r   )r   rN   r   r  renamer?   r#   re   r   rM   r   r{  r  r  r   r   r   r6   )r)   rF   rE   r:  rG   s        r/   r   (TestDataFrameIndexingUInt64.test_setitem>  sl   ))A,%CD))
 gnnU# "**$$$3
r#ws(=>"**$$$33
r#ws(=>sG ggi''=QRVVCHHTNVVCHHTN S S
uV}f5Hs.ST
JJ(#RXXc]BHHSMB%	
 SRs   ';G
Gr  N)r  r  r  r  r   r  r  rK   r/   r  r  =  s     
rK   r  c           	      
   [        SS/[        SSS9[        R                  " SSS9S.5      nUR                  S   n[        UR                  S   [        5      (       d   e[        UR                  S   [        R                  5      (       d   eUR                  S   n[        UR                  S   [        5      (       d   e[        UR                  S   [        R                  5      (       d   eUR                  SSS9n[        UR                  S   [        5      (       d   e[        UR                  S   [        R                  5      (       d   eU (       a  g UR                  nUR                  5         UR                  S5      R                  n[        US   [        5      (       d   e[        US   [        R                  5      (       d   eUR                  UR                   S      nUR"                  S	:X  d   eUR%                  S
5      n[        U[        5      (       d   eUR                  UR                   S      nUR"                  S:X  d   eUR%                  S
5      n[        U[        R                  5      (       d   eg )Nr4   r8   2000rI  z1 Dayr  r   )axisr'  r*  r  )r   r   r  timedelta_rangerv   ry  rU   r   r_  r   xs_mgr_rebuild_blknos_and_blklocsfast_xsr   blocksblknosr6   iget)r}  rF   r-  mgrr   blkr`  s          r/   /test_object_casting_indexing_wraps_datetimeliker  a  s   	QFA.##GQ7	

B &&)CcjjmY////cjjmR\\2222
''!*CcjjmY////cjjmR\\2222
%%%
CcjjmY////cjjmR\\2222
''C##%
++a.

Cc!fi((((c!fbll++++
**SZZ]
#C99   
((6
Cc9%%%%
**SZZ]
#C99   
((6
Cc2<<((((rK   zFCannot setitem on a Categorical with a new category( \(.*\))?, set thezCCannot set a Categorical with another, without identical categoriesc                       \ rS rSr\R
                  S 5       r\R
                  S 5       r\R
                  S 5       r\R
                  S 5       r	\R
                  S 5       r
\R                  R                  S\R                  \R                  /5      S 5       r\R                  R                  S\R                  \R                  \R"                  \R$                  /5      S	 5       r\R                  R                  S\R                  \R                  /5      S
 5       r\R                  R                  S\R                  \R                  /5      S 5       r\R                  R                  S\R                  \R                  /5      S 5       r\R                  R                  S\R                  \R                  /5      S 5       r\R                  R                  S\R0                  \R                  \R                  /5      S 5       rS rSrg)TestLocILocDataFrameCategoricali  c                 \    [        / SQSS/S9n[        / SQ5      n/ SQn[        XS.US9nU$ )	N)r
  r
  r
  r
  r
  r
  r
  r
  r  
categorieshr_  r^  r   lmrd  r4   r4   r4   r4   r4   r4   r4   catsrU   r   r   r   r   )r)   r  rE   rU   r  s        r/   r  $TestLocILocDataFrameCategorical.orig  s8    >CQT:V78&$9ErK   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  )r4   r4   r8   r4   r4   r4   r4   r  r   r  )r)   cats1rB  values1exp_single_rows        r/   r  .TestLocILocDataFrameCategorical.exp_single_row  s;     ?SRUJW89'"E#ETRrK   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  )r4   r4   r8   r8   r4   r4   r4   r  r   r  )r)   cats2rC  values2exp_multi_rows        r/   r  -TestLocILocDataFrameCategorical.exp_multi_row  s;     ?SRUJW89'!5"DDQrK   c                 \    [        / SQSS/S9n[        / SQ5      n/ SQn[        XS.US9nU$ )	Nr  r
  r  r  r  r  r  r   r  )r)   cats3idx3values3exp_parts_cats_cols        r/   r  2TestLocILocDataFrameCategorical.exp_parts_cats_col  s=     ?SRUJW89'&'IQUV!!rK   c                 \    [        / SQSS/S9n[        / SQ5      n/ SQn[        XS.US9nU$ )	Nr  r
  r  r  r  r  r  r   r  )r)   cats4idx4values4exp_single_cats_values        r/   r  5TestLocILocDataFrameCategorical.exp_single_cats_value  sA     ?SRUJW89' ).d!
 %$rK   r   c                    UR                  5       n[        SS5      nU[        R                  L a  [        SS5      nSS/SS//U" U5      US S 24'   [        R                  " XB5        UR                  5       n[
        R                  " [        [        S9   SS/SS//U" U5      US S 24'   S S S 5        g ! , (       d  f       g = f)Nr8   r;   r^  r   r  r   r   )	rM   r  r#   rv   rC   r&   r'   r   msg1)r)   r  r  r   rF   r.   s         r/   #test_loc_iloc_setitem_list_of_listsCTestLocILocDataFrameCategorical.test_loc_iloc_setitem_list_of_lists  s     YY[AqkbffS/C #Qx#q2CF
b0YY[]]9D1$'8c1X"6GBKQ 211s   B33
Cc                 r   UR                  5       nSnU[        R                  [        R                  4;   a  UR                  S   UR
                  S   4nSU" U5      U'   [        R                  " XB5        [        R                  " [        [        S9   SU" U5      U'   S S S 5        g ! , (       d  f       g = f)N)r8   r   r8   r   r  r   r   )rM   r#   rv   atr!   r?   rC   r&   r'   r   r  )r)   r  r  r   rF   r.   s         r/   7test_loc_iloc_at_iat_setitem_single_value_in_categoriesWTestLocILocDataFrameCategorical.test_loc_iloc_at_iat_setitem_single_value_in_categories  s    
 YY[rvvruuo%88A;

1.C C
b8 ]]9D1"GBK 211s   B((
B6c                     UR                  5       nUR                  S:H  nSnU[        R                  L a  UR                  U   nSU" U5      XV4'   [        R
                  " XB5        g )Nr^  r   r  )rM   r!   r#   rv   r?   rC   )r)   r  r  r   rF   r   r.   s          r/   5test_loc_iloc_setitem_mask_single_value_in_categoriesUTestLocILocDataFrameCategorical.test_loc_iloc_setitem_mask_single_value_in_categories  sX    
 YY[xx3bff**S/C!$DI
b8rK   c                 J   UR                  5       nSnU[        R                  L a  UR                  S   nSS/U" U5      US S 24'   [        R                  " XB5        [
        R                  " [        [        S9   SS/U" U5      US S 24'   S S S 5        g ! , (       d  f       g = f)Nr8   r  r   r   )	rM   r#   rv   r!   rC   r&   r'   r   r  )r)   r  r  r   rF   r.   s         r/   2test_loc_iloc_setitem_full_row_non_categorical_rhsRTestLocILocDataFrameCategorical.test_loc_iloc_setitem_full_row_non_categorical_rhs  s    
 YY[bff((1+C  #AhCF
b1 ]]9D1#&(GBKQ 211s   9B
B"c                 l   UR                  5       n[        SS5      S4nU[        R                  L a  [        SS5      UR                  S   4n[        SS/SS/S9nXc" U5      U'   [        R                  " XB5        [        [        S	5      [        S
5      S9n[        R                  " [        [        S9   Xs" U5      U'   S S S 5        [        [        S5      [        S
5      S9n[        R                  " [        [        S9   X" U5      U'   S S S 5        g ! , (       d  f       N[= f! , (       d  f       g = f)Nr8   r;   r   r^  r   r  r
  r  bbabcr   cc)rM   r  r#   rv   r?   r   rC   r7  r&   r'   r   msg2)	r)   r  r  r   rF   r.   compatsemi_compatincompats	            r/   1test_loc_iloc_setitem_partial_col_categorical_rhsQTestLocILocDataFrameCategorical.test_loc_iloc_setitem_partial_col_categorical_rhs  s     YY[Q{Abffc?BJJqM2C c3ZS#J?!C
b5 "$t*eE]]9D1  +GBK 2 tDzd5kB]]9D1'GBK 21 21 21s   4D D%
D"%
D3c                 j   UR                  5       n[        SS5      S4nU[        R                  L a  [        SS5      UR                  S   4nSS/U" U5      U'   [        R
                  " XB5        [        R                  " [        [        S9   SS/U" U5      U'   S S S 5        g ! , (       d  f       g = f)	Nr8   r;   r   r^  r   r  r   r   )
rM   r  r#   rv   r?   rC   r&   r'   r   r  )r)   r  r  r   rF   r.   s         r/   )test_loc_iloc_setitem_non_categorical_rhsITestLocILocDataFrameCategorical.test_loc_iloc_setitem_non_categorical_rhs#  s    
 YY[Q{Abffc?BJJqM2C  :C
b5 ]]9D1 #SzGBK 211s   B$$
B2c                 6   [        SSS9R                  [        5      n[        S/ SQ0US9nUR                  R
                  [        :X  d   eU[        R                  L a  U" U5      S   nOU" U5      S S 2S4   nUR                  R
                  [        :X  d   eg )N2012r9   rI  r   r7   r   )r   r~   r   r   r!   r6   r#   getitem)r)   r   rE   rF   r-  s        r/   -test_getitem_preserve_object_index_with_datesMTestLocILocDataFrameCategorical.test_getitem_preserve_object_index_with_dates6  s     +226:9~S1xx~~'''bjj "+a.C"+ad#Cyy&(((rK   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   r4   )r
  )r  rW  r  )rh   r!   r
  r4  )r)   rF   rH   rG   s       r/    test_loc_on_multiindex_one_level@TestLocILocDataFrameCategorical.test_loc_on_multiindex_one_levelE  sq    #s((&&)9'K
 #j44fXgYO
 
f/rK   r  N)r  r  r  r  r&   fixturer  r  r  r  r  r  r  r#   rv   r   r  r  iatr  r  r  r  r  r  r  r  r  r  rK   r/   r  r    s   ^^  ^^  ^^  ^^" " ^^% % [[Y(9:7 ;7 [[Y"%%(HI# J#$ [[Y(9:9 ;9 [[Y(9:+ ;+$ [[Y(9:( ;(: [[Y(9:* ;*$ [[YRVVRWW(EF) G)
0rK   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)TestDeprecatedIndexersiR  r.   r4   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
Nr4   r8   r9   r;   r
  r  r>   as an indexer is not supportedr   r   r&   r'   r   rv   r)   r.   rF   s      r/   $test_getitem_dict_and_set_deprecated;TestDeprecatedIndexers.test_getitem_dict_and_set_deprecatedS  sH    
 AA'#s<]]9,LMFF3K NMM   A
Ar8   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Nr4   r8   r9   r;   r
  r  r  r  r   r  r   r   r   r5  r&   r'   r   rv   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  r  r  s      r/   $test_setitem_dict_and_set_disallowed;TestDeprecatedIndexers.test_setitem_dict_and_set_disallowedq  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_multiindexz  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  rK   r/   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 	


rK   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  r4   rr   r  r  c                     U $ )Nr  )r  s    r/   r  4test_adding_new_conditional_column.<locals>.<lambda>  s    arK   )r   rv   r#   rC   )rF   rH   re  s      r/   "test_adding_new_conditional_columnr    s    	C!:	B #BFF2c7a<s#/0H"'	C!:	BE %FF2c7a<s%12H"'rK   )r6   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)Nr4   r8   r9   r;   r  future.infer_stringrr   r
  r   r   r	  r   )r   r  option_contextrv   floatr~   r#   rC   )r6   r  rF   rH   s       r/   .test_adding_new_conditional_column_with_stringr    s     
!Qq!f-	.B			0,	?$'r#w!|S ! 
@1vQF#uU|9LMNUUG%0H "' 
@	?s   B
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  r4   r  Trr   r  r  r5   r  r   r>   )r   r  r  rv   r   StringDtyperN   r   r   r#   rC   )rF   rH   s     r/    test_add_new_column_infer_stringr    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SSS\R                  \R                  " S5      \R                  " S5      /r
SS/\" SS	5      / S
Q\" SSS5      /r\R                  R                  S\
S	S\R                   " S	5      \R"                  " S	5      /-   5      \R                  R                  S\5      S 5       5       r\R                  R                  S\
SS\R"                  " S5      /-   5      \R                  R                  S\5      S 5       5       r\R                  R                  S\
S/-   5      \R                  R                  S\5      S 5       5       rSrg)TestSetitemValidationi  c                    Sn[         R                  " U5      nUR                  5       n[        R                  " XES9   X!R
                  US4'   UR                  5       nS S S 5        [        R                  " XES9   X!R                  US4'   UR                  5       nS S S 5        g ! , (       d  f       NL= f! , (       d  f       g = f)Nz3Setting an item of incompatible dtype is deprecatedr   r   r
  )rQ   rR   rM   r#   r   r   rv   )r)   rF   invalidr   warnri   orig_dfs          r/   _check_setitem_invalid,TestSetitemValidation._check_setitem_invalid  s    Ciin'') ''8")GGGQJB 9
 ''8#*FF7C< B 98 98
 98s   !B$:!B5$
B25
Cy      ?       @Truerr   z1.0r  r   r4   TFFNr  r  r   c                 N    [        S/ SQ0SS9nU R                  X1U[        5        g )Nr
  r"  r   r5   r   r  r{  )r)   r  r   rF   s       r/   #test_setitem_validation_scalar_bool9TestSetitemValidation.test_setitem_validation_scalar_bool  s(    
 12&A##B-HrK   Tr   c                     [        S/ SQ0US9n[        U5      (       a1  U[        R                  La  [        R
                  " U5      (       d  S nO[        nU R                  XAX55        g )Nr
  r7   r5   )r   r   r  r  rN   isnatr{  r  )r)   r  any_int_numpy_dtyper   rF   r  s         r/   "test_setitem_validation_scalar_int8TestSetitemValidation.test_setitem_validation_scalar_int  sR     Y'/BC==WBFF2288G;L;LD D##B?rK   c                 N    [        S/ SQ0US9nU R                  XAU[        5        g )Nr
  )r4   r8   Nr5   r$  )r)   r  float_numpy_dtyper   rF   s        r/   $test_setitem_validation_scalar_float:TestSetitemValidation.test_setitem_validation_scalar_float  s(     \*2CD##B-HrK   r  )r  r  r  r  r  r  r  rN   r  r  _invalid_scalarsr  	_indexersr&   r  r  r   r   r%  r*  r.  r  r  rK   r/   r  r    sb    " 	

e
u QCq!&:E$d<STI[[#q#rxx{BJJqM&JJ [[Y	2I 3I [[Y(8D#rzzRU;W(WX[[Y	2@ 3 Y@ [[Y(8D6(AB[[Y	2I 3 CIrK   r  )returnN)9collectionsr   r   r   decimalr   rQ   numpyrN   r&   pandas._configr   pandas._libsr   pandas.errorsr	   r
   r   pandas.util._test_decoratorsutil_test_decoratorsr  pandas.core.dtypes.commonr   pandasr  r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr#   r|  r   r  r  r  r  r  r  r  r  r  r   r  r   r  r  r  r  rK   r/   <module>r@     s    "  	   -  
 * ) 0      R
N, N,b0!
 !
H()V QL0 0D; ;|( 			($/((	(4I 4IrK   