
    Mh~                        S SK JrJr  S SKJr  S SKJr  S SKJr  S SKr	S SK
r
S SKJr  S SKJs  Jr  S SKrS SKJrJrJrJrJrJrJr  S SKJr  S SKJr  S S	KJ r    " S
 S5      r!S r"\
RF                  RI                  S\\/5      S 5       r%S r&S r'S r(\
RF                  RI                  S/ SQ/ SQ/5      S 5       r)S r*\
RF                  RW                  S5      \
RF                  RI                  S\RX                  " S\	RZ                  " S S5      05      \R\                  " \	RZ                  " S S5      SS9/5      S 5       5       r/S r0S r1\
RF                  RI                  S/ S Q5      S! 5       r2\
RF                  RI                  S"S#/S$-  S%4S#/S$-  S&4/ S'QS&4/ S'QS%4/5      S( 5       r3S) r4S* r5\
RF                  RI                  S+\" S,S-/S.9\" S/S,S-/0S.9\" \6S09\" \6S09/5      S1 5       r7\
RF                  RI                  S+\" S,S-/S.9\" S/S,S-/0S.9\" \6S09\" \6S09/5      S2 5       r8\Rr                  \
RF                  RI                  S3/ S4Q5      \
RF                  RI                  S5/ S6Q5      S7 5       5       5       r:\Rr                  \
RF                  RI                  S3/ S4Q5      \
RF                  RI                  S5/ S6Q5      S8 5       5       5       r;\Rr                  S9 5       r<S: r=S; r>S< r?S= r@g)>    )abcdeque)Iterator)datetime)DecimalN)InvalidIndexError)	DataFrameIndex
MultiIndexPeriodIndexSeriesconcat
date_range)SparseArray)
to_decimalc                       \ rS rSrS rS rS rS r\R                  R                  SSS/5      S 5       rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rSr g)TestConcatenate   c                    [        SSSS9n[        SSSS9n[        [        R                  R	                  S5      R                  S5      U5      n[        [        R                  R	                  S5      R                  S5      U5      nUR                  5       nUR                  5       n[        X4/5      n[        UR                  [        5      (       d   eUR                  S	   UR                  S	   :X  d   eg )
Nz
12/31/1990z
12/31/1999zYE-DEC)freqz
12/31/2000z
12/31/2009   
   r   )r   r   nprandomdefault_rngstandard_normal	to_periodr   
isinstanceindexr   )selfd1d2s1s2results         Y/var/www/html/env/lib/python3.13/site-packages/pandas/tests/reshape/concat/test_concat.pytest_append_concat"TestConcatenate.test_append_concat   s    lBlBBII))!,<<R@"EBII))!,<<R@"E\\^\\^ !&,,4444||A"((1+---    c                 :  ^ [        [        R                  R                  S5      R	                  S5      5      n[        [        R                  R                  S5      R                  SSSS9R                  SS5      5      n[        SS	0[        S5      S
9n[        X4U/SSS9nU(       d<  UR                  R                   H!  m[        U4S jX4U4 5       5      (       d  M!   e   O,UR                  R                   H  mTR                  b  M   e   [        X4U/SSS9nUR                  R                   H  mTR                  R                  S:X  a4  TR                  UR                  R                  S   R                  L d   eMQ  TR                  R                  S;   a4  TR                  UR                  R                  S   R                  L d   eM  TR                  [        :X  d  M  U(       a   TUR                  R                  S   L d   eM  TR                  b  M   e   [        [        R                  R                  S5      R	                  S5      5      n[        X4XW/SSS9nUR                  R                   GH  mTR                  R                  S:X  ah  U(       d  U(       aI  [        U4S jUR                  R                  UR                  R                  -    5       5      (       d   eMu  TR                  b   eM  TR                  R                  S;   a4  TR                  UR                  R                  S   R                  L d   eM  TR                  [        :X  d  M  [        U4S jUR                  R                   5       5      (       a  GM   e   g )Nr         r   r   r,   )size      foor   T)axiscopyc              3      >#    U  H:  nUR                   R                    H  n[        R                  " TU5      v   M     M<     g 7fN)_mgrarraysr   shares_memory).0xyarrs      r&   	<genexpr>3TestConcatenate.test_concat_copy.<locals>.<genexpr>9   s=      +VV]] $$S!,,* -+s   AAFf)iu)r,   r/   c              3   R   >#    U  H  n[         R                  " TU5      v   M     g 7fr6   r   r9   r:   otherr=   s     r&   r>   r?   X   s(      %EE ((e44%E   $'c              3   R   >#    U  H  n[         R                  " TU5      v   M     g 7fr6   rD   rE   s     r&   r>   r?   c   s!     U_E2++C77_rG   )r	   r   r   r   r   integersreshaperanger   r7   r8   anybasedtypekindobject)	r    using_array_managerusing_copy_on_writedfdf2df3r%   df4r=   s	           @r&   test_concat_copy TestConcatenate.test_concat_copy/   s   ryy,,Q/??GH		--a099!Ra9HPPQRTUVWE
%(3 #QT:"{{))  s^     * {{))xx+++ * #QU;;;%%Cyy~~$xx277>>!#4#9#9999:-xx388??1#5#:#::::f$&#((//!"444488/// & 		--a0@@HI#+!%@;;%%Cyy~~$&*= %'WW^^chhoo%E     88+++:-xx388??1#5#:#::::f$USXX__UUUUU &r)   c                    [        [        R                  R                  S5      R	                  S5      5      n[        [        R                  R                  S5      R	                  S5      5      n[        X/SS/S9n[        R                  " / SQ/ SQ/5      n[        [        R                  UR                  UR                  4   US	9n[        R                  " X55        [        X/SS/S9n[        R                  " / S
Q/ SQ/5      n[        [        R                  UR                  UR                  4   US	9n[        R                  " X55        [        [        R                  R                  S5      R	                  S5      5      n[        [        R                  R                  S5      R	                  S5      5      n[        X/SS/SS9n[        [        R                  UR                  UR                  4   US9n[        R                  " X55        [        X/SS/SS9n[        [        R                  UR                  UR                  4   US9n[        R                  " X55        g )Nr   )r-   r,   )r,   r,   r   r/   keys)r   r   r   r/   r/   r/   r/   )r   r/   r   r   r/   r   r-   r2   )r   r   r   r/   r/   r/   )r   r/   r   r   r/   r   r+   r[   r3   columns)r	   r   r   r   r   r   r   from_arraysr_valuestmassert_frame_equalc_)r    rS   rT   r%   	exp_indexexpected
exp_index2s          r&   test_concat_with_group_keys+TestConcatenate.test_concat_with_group_keyse   s   ryy,,Q/??GH		--a0@@HI	A/**"$9:
	 RUU299cjj#89K
f/1v.++-?AS,TU
RUU299bii#78
K
f/ ryy,,Q/??GH		--a0@@HI	AQ7RUU299cjj#899M
f/1vA6RUU299bii#78*M
f/r)   c                 .   [        [        R                  R                  S5      R	                  S5      5      nUR
                  S S 2SS/4   UR
                  S S 2S/4   UR
                  S S 2S/4   /n/ SQn[        US/ SQU/S/S	9n[        R                  " UR                  R                  S   [        USS
95        [        R                  " UR                  R                  S   [        / SQ5      5        UR                  R                  SS /:X  d   eg )Nr   r   r,   r   r/   r-   )threetwoonezero)rn   rm   rl   	group_key)r3   r[   levelsnamesname)r   r/   r   r-   )r	   r   r   r   r   ilocr   rb   assert_index_equalr^   rq   r
   rr   )r    rS   pieceslevelr%   s        r&    test_concat_keys_specific_levels0TestConcatenate.test_concat_keys_specific_levels   s    ryy,,Q/??HI''!aV)$bgga!forwwq1#vG/(7-
 	fnn33A6e+8VW
fnn33A6l8KL~~##T'::::r)   mappingdictc           
         US:X  a  [         OUnU" [        [        R                  R	                  S5      R                  S5      5      [        [        R                  R	                  S5      R                  S5      5      [        [        R                  R	                  S5      R                  S5      5      [        [        R                  R	                  S5      R                  S5      5      S.5      n[        UR                  5       5      n[        U5      n[        U Vs/ s H  otU   PM	     snUS9n[        R                  " Xh5        [        USS9n[        U Vs/ s H  otU   PM	     snUSS9n[        R                  " Xh5        / S	Qn	[        XIS9n[        U	 Vs/ s H  otU   PM	     snU	S9n[        R                  " Xh5        g s  snf s  snf s  snf )
Nr|   r   r+   )r1   barbazquxrZ   r/   r3   r\   )r   r1   r~   )r|   r	   r   r   r   r   listr[   r   rb   rc   )
r    r{   non_dict_mapping_subclassconstructorframessorted_keysr%   krf   r[   s
             r&   test_concat_mapping#TestConcatenate.test_concat_mapping   sq   %/d5N !6!6q!9!I!I&!QR !6!6q!9!I!I&!QR !6!6q!9!I!I&!QR !6!6q!9!I!I&!QR	
 6;;=)k:k!9k:M
f/Q'k:k!9k:STU
f/$*d3d!9d3$?
f/ ; ;
 4s   GGGc                    [        [        R                  R                  S5      R	                  S5      5      n[        [        R                  R                  S5      R	                  S5      5      nSS/SS//nSS	/n[        XX// S
QUUS9n[        XX/5      n[        US//-   / SQ/ SQ/ SQ/US /-   S9nXvl        [        R                  " XV5        [        XX// S
QUS9nUR                  R                  S:X  d   e[        XX// S
QSS	/S9nUR                  R                  S:X  d   e[        R                  " UR                  R                  S   [        SS/SS95        g )Nr   r/   r-   r/   r,   r1   r   rn   rm   firstsecond))r1   rn   )r1   rm   )r   rn   )r   rm   )r[   rq   rr   r   )r   r   r/   r/   )r   r/   r   r/   r   r   r   r   )rq   codesrr   r[   rq   )NNNr[   rr   )r   r   Nrs   )r	   r   r   r   r   r   r   r   rb   rc   rr   rv   rq   r
   )r    rS   rT   rq   rr   r%   rf   re   s           r&   test_concat_keys_and_levels+TestConcatenate.test_concat_keys_and_levels   sj   ryy,,Q/??GH		--a0@@HI%.5%.1(#bQ	
 2B,-aSE>|<4&.
	
 #
f/ bQ

 ||!![000 bQH%

 ||!!%>>>>
LL"E5%.w$G	
r)   c                    [        [        R                  R                  S5      R	                  S5      S/S9n[        [        R                  R                  S5      R	                  S5      S/S9nSn[
        R                  " [        US9   [        X/S	S
// SQ/S9  S S S 5        Sn[
        R                  " [        US9   [        X/S	S
// SQ/S9  S S S 5        g ! , (       d  f       ND= f! , (       d  f       g = f)Nr   r   ar2   r   bz Values not found in passed levelmatchrn   rm   )r1   r~   r   r   zKey one not in level)	r	   r   r   r   r   pytestraises
ValueErrorr   )r    rS   rT   msgs       r&   "test_concat_keys_levels_no_overlap2TestConcatenate.test_concat_keys_levels_no_overlap   s    ryy,,Q/??GPSuU		--a0@@HQTPUV0]]:S1B85%.:O9PQ 2 %]]:S1B9E5>;P:QR 21	 21 21s   
C?C+
C(+
C9c           
      t   / SQn[        [        R                  " / SQSS9[        R                  " / SQSS9[        R                  " / SQSS9[        R                  " / SQSS9S.US9n[        [        R                  " / SQSS9[        R                  " / SQSS9[        R                  " / SQSS9[        R                  " / SQSS9S.US9n[        X#/SS9n[        [        R                  " UR
                  UR
                  /S	S
9US9n[        R                  " XE5        [        [        R                  R                  S5      R                  S5      S/S9n[        [        R                  R                  S5      R                  S5      S/S9n[        Xc/SS/SS/S9nUR                  R                  S:X  d   eg )N)ABCDr/   r   r-   r,   f8rN   i8r]   Tignore_indexr   r   r   r   r   r2   r   r   rn   rm   r   r   r   )r   r   )r	   r   arrayr   concatenatera   rb   rc   r   r   r   r   rr   )r    r^   df1rT   appendedrf   rS   r%   s           r&    test_crossed_dtypes_weird_corner0TestConcatenate.test_crossed_dtypes_weird_corner   sm   &XXl$7XXl$7XXl$7XXl$7	 
 XXl$7XXl$7XXl$7XXl$7	 
 3*48NNCJJ

3!<g
 	h1ryy,,Q/??GPSuU		--a0@@HQTPUV	w>QR||!!%8888r)   c                 r    [        SSS.[        S5      S9n[        SSS.[        S5      S9n[        X#/US9  g )Nr1   r~   )r   r   r/   r   r2   )r   r   sort)r	   rK   r   )r    r   r   rT   s       r&   test_with_mixed_tuples&TestConcatenate.test_with_mixed_tuples  s<     eu5U1XFeu5U1XF 	z%r)   c                 P   [        SSSS9n[        R                  " SSS9n[        X!S9n[        X!S9n[	        UR                  SS	5      US9n[	        [        R                  " US
5      R                  SS
5      USS/S9n[        XU/S	S9n[        R                  " Xv5        [	        [        R                  " US
5      R                  SS
5      USS	/S9n[        X4/S	S9n[        R                  " Xv5        [	        [        R                  " US5      R                  SS5      U/ SQS9n[        X4U/S	S9n[        R                  " Xv5        [	        [        R                  " US5      R                  SS5      U/ SQS9n[        X5XDU/S	S9n[        R                  " Xv5        SUl
        [	        [        R                  " US5      R                  SS5      U/ SQS9n[        X5U/S	S9n[        R                  " Xv5        SUl
        [	        [        R                  " US5      R                  SS5      U/ SQS9n[        X5U/S	S9n[        R                  " Xv5        [	        [        R                  " US5      R                  SS5      U/ SQS9n[        X5U/S	SS9n[        R                  " Xv5        g )N01-Jan-2013r   hperiodsr   int64r   r2   r/   r   r   r   r^   r   r-   r   r/   r   r0   )r   r   r/   r   r-   r1   )r1   r   r   r~   r1   r   r~   T)r3   r   )r   r   aranger   r	   rJ   repeatr   rb   rc   rt   r    r   r=   r#   r$   rS   rf   r%   s           r&   test_concat_mixed_objs_columns.TestConcatenate.test_concat_mixed_objs_columns  sh    ="3?ii'*C%C%s{{2q)7IIc1%%b!,EAq6
 q)
f/IIc1%%b!,EAq6
 q)
f/IIc1%%b!,E9
 1-
f/IIc1%%b!,E?
 ,15
f/ IIc1%%b!,E=
 1-
f/IIc1%%b!,ECT
 1-
f/ IIc1%%b!,E9
 14@
f/r)   c                 f   [        SSSS9n[        R                  " SSS9n[        X!S9n[        X!S9n[	        UR                  SS	5      US9n[	        [        R                  " US
5      R                  SS	5      UR                  5       S
-  S/S9n[        X5U/5      n[        R                  " Xv5        g )Nr   r   r   r   r   r   r2   r   r/   r-   r   r   )r   r   r   r   r	   rJ   tiletolistr   rb   rc   r   s           r&   test_concat_mixed_objs_index,TestConcatenate.test_concat_mixed_objs_indexF  s     ="3?ii'*C%C%s{{2q)7GGCO##B*%,,.12Dqc
 %
f/r)   c           	      z   [        SSSS9n[        R                  " SSS9n[        X!SS9n[        X!S	S9n[	        UR                  S
S5      US9n[	        [        R                  " [        R                  " [        R                  " S5      S:H  S[        R                  5      U5      R                  UR                  5       S-  / SQS9n[        X5U/5      n[        R                  " Xv5        [	        [        R                  " US5      R                  S
S5      S/S9n[        X5U/SS9n[        R                  " Xv5        g )Nr   r   r   r   r   r   r1   )r   rt   r~   r   r/   r2   r-   r   r   r   r]   Tr   )r   r   r   r   r	   rJ   kronwhereidentitynanTr   r   rb   rc   r   r   s           r&   "test_concat_mixed_objs_index_names2TestConcatenate.test_concat_mixed_objs_index_namesV  s    ="3?ii'*C51C51s{{2q)7GGBHHR[[^q0!RVV<cBDD,,.1$%

 %
f/ RWWS!_44R;aSI48
f/r)   c           	         [        S[        R                  " S5      R                  S5      [        R                  /05      n[        UR                  S/   UR                  S/   /5      n[        R                  " UR                  UR                  5        [        S[        SSS5      [        SSS5      /05      n[        UR                  S/   UR                  S/   /5      n[        R                  " UR                  UR                  5        [        S	S
/S /S-  -   05      n[        UR                  S/   UR                  S/   /5      n[        R                  " UR                  UR                  5        g )Ndate20130101UTCr   r/   i  i  r   textz
some words	   )r	   pd	Timestamptz_localizeNaTr   ru   rb   assert_series_equaldtypesr   )r    rS   r%   s      r&   test_dtype_coercion#TestConcatenate.test_dtype_coercionm  s%   j!9!E!Ee!Lbff UVW!rwws|45
v}}bii8 $1!5xa7K LMN!rwws|45
v}}bii8 $! ;<=!rwws|45
v}}bii8r)   c                     [        [        R                  R                  S5      R	                  S5      5      n[        U/S/S9n[        X/SS/S9n[        R                  " X#S S 5        g )Nr   rk   r1   rZ   r~   r   )r	   r   r   r   r   r   rb   rc   )r    rS   r%   rf   s       r&   test_concat_single_with_key+TestConcatenate.test_concat_single_with_key~  s\    ryy,,Q/??HIE7+2(%8
fsm4r)   c                     [         R                  " [        SS9   [        / 5        S S S 5        g ! , (       d  f       g = f)NzNo objects to concatenater   )r   r   r   r   r    s    r&   test_concat_no_items_raises+TestConcatenate.test_concat_no_items_raises  s%    ]]:-HI2J JIIs   /
=c                 L   [        [        R                  R                  S5      R	                  S5      5      nUS S S S USS  /n[        U5      n[        R                  " X15        [        R                  " [        SS9   [        S S /5        S S S 5        g ! , (       d  f       g = f)Nr   rk   r0   zAll objects passed were Noner   )r	   r   r   r   r   r   rb   rc   r   r   r   )r    rS   rw   r%   s       r&   test_concat_exclude_none(TestConcatenate.test_concat_exclude_none  s    ryy,,Q/??HIRa&$bf-
f)]]:-KLD$<  MLLs   >B
B#c                 0   [        / SQ/ SQ/ SQ/5      n[        S XS S US S US.5      n[        XS S US S US.5      n[        R                  " X#5        [        S XS S US S U// SQS9n[        XS S US S U// SQS9n[        R                  " X#5        g )N)r      r   r   r/   )r   r   cde)r   r   r   r   rZ   r	   r   rb   rc   )r    df0r%   rf   s       r&   test_concat_keys_with_none*TestConcatenate.test_concat_keys_with_none  s    |\BCdr7RasSTbq'BQcJK
f/3BQRa#.5N
 3BQRa#6=QR
f/r)   c                     [        [        R                  " S[        R                  S9[	        SSS9S9nUR                  5       S S S2   n[        X/SSS	9n[        X!/SSS	9n[        U5      [        U5      :X  d   eg )
Nr   r   z
2020-01-01)r   r2   r   outerr/   )joinr3   )r   r   r   float64r   r4   r   len)r    ts1ts2leftrights        r&   test_concat_bug_1719$TestConcatenate.test_concat_bug_1719  su    IIb

+:lTV3W
 hhj1o sjwQ7za84yCJ&&&r)   c                 
   [        [        R                  " S5      5      n[        [        R                  " S5      5      nS=Ul        Ul        [        X/SS9n[        XS.5      nSS/Ul        [        R                  " X45        g )Nr0   z	same namer/   r   r   r/   )
r   r   zerosonesrt   r   r	   r^   rb   rc   )r    ts0r   r%   rf   s        r&   test_concat_bug_2972$TestConcatenate.test_concat_bug_2972  sj    RXXa[!RWWQZ ))38
+-.'5
f/r)   c                     [        / SQ/ SQ/ SQS.5      n[        / SQ/ SQ/ SQS.5      n[        / SQ/ S	Q/ S
Q/ SQ/5      n/ SQUl        [        X/SS9n[        R                  " XC5        g )Nr   )   r  r  r  )rrrr  r  r  )firmNoprc	stringvar)r   r         r   )r   miscr
  )r   r  r  r   r/   r  )r   r  r  r   r   r  )r   r  r  r  r-   r  )r   r  r  r  r,   r  )r	  r
  r  r   r  r
  r/   r   )r	   r^   r   rb   rc   )r    r   rT   rf   r%   s        r&   test_concat_bug_3602$TestConcatenate.test_concat_bug_3602  st    &#9
 !<M
 &'''	
 N
+
f/r)   c                 d  ^^ [        / SQ5      m[        / SQ5      m[        / SQ5      n[        R                  " [        TT4SS9U5        [        R                  " [        TT/SS9U5        [        R                  " [        S TT4 5       SS9U5        [        R                  " [        [	        TT45      SS9U5         " UU4S jS5      n[        R                  " [        U" 5       SS9U5         " UU4S	 jS
[
        R                  5      n[        R                  " [        U" 5       SS9U5        g )Nr/   r   r-   r,   r0   r  r/   r   r-   r,   r0   r  Tr   c              3   $   #    U  H  ov   M     g 7fr6    )r:   rS   s     r&   r>   8TestConcatenate.test_concat_iterables.<locals>.<genexpr>  s     ,2B   c                   2   > \ rS rSrS\4S jrU U4S jrSrg)>TestConcatenate.test_concat_iterables.<locals>.CustomIterator1i  returnc                     g)Nr   r  r   s    r&   __len__FTestConcatenate.test_concat_iterables.<locals>.CustomIterator1.__len__  s    r)   c                 H   >  TTS.U   $ ! [          a  n[        UeS nAff = f)Nr   )KeyError
IndexError)r    r   errr   rT   s      r&   __getitem__JTestConcatenate.test_concat_iterables.<locals>.CustomIterator1.__getitem__  s0    ."s+E22 .$#-.s    
!!r  N)__name__
__module____qualname____firstlineno__intr  r#  __static_attributes__r   rT   s   r&   CustomIterator1r    s     . .r)   r,  c                   ,   > \ rS rSrS\4U U4S jjrSrg)>TestConcatenate.test_concat_iterables.<locals>.CustomIterator2i  r  c              3      >#    Tv   Tv   g 7fr6   r  )r    r   rT   s    r&   __iter__GTestConcatenate.test_concat_iterables.<locals>.CustomIterator2.__iter__  s     		s   
r  N)r%  r&  r'  r(  r   r0  r*  r+  s   r&   CustomIterator2r.    s    (  r)   r2  )r	   rb   rc   r   r   r   Iterable)r    rf   r,  r2  r   rT   s       @@r&   test_concat_iterables%TestConcatenate.test_concat_iterables  s     	"	"/0
fc3ZdCXN
fc3ZdCXN
,#s,4@(	
 	fUC:%6TJHU	. 	. 	f_%6TJHU	 	cll 	
 	f_%6TJHUr)   c           	         [        [        S5      / SQS9/nU[        S5       Vs/ s H  n[        [        S5      / SQS9PM     sn-  n[        USS9R                  n[	        / SQ5      n[
        R                  " X45        g s  snf )	Nr-   )r   r/   Nr   d   )Nr/   r   Tr   )r/   r   N)r	   rK   r   r^   r
   rb   rv   )r    dfs_r%   rf   s        r&   test_concat_order!TestConcatenate.test_concat_order  sn    uQx@A5QT:V:a	a.A:VV$'//(
f/	 Ws   Bc                     [        [        R                  " SS/SS95      n[        [        SS/5      5      n[	        X/SS9n[        SS[        S5      [        S5      /[        S9n[        R                  " X45        g )Nr/   r   Int64r   Tr   )	r   r   r   r   r   r   rP   rb   r   )r    r   r   r%   rf   s        r&   .test_concat_different_extension_dtypes_upcasts>TestConcatenate.test_concat_different_extension_dtypes_upcasts  sg    288QF'23:q!f%&T21aWQZ8G
v0r)   c                     [        [        [        S5      5      [        [        S5      5      /SS/S9n[        [        [        S5      5      [        [        S5      5      S.5      n[        R                  " X!5        g )Nr-   r,   FirstAnotherrZ   )rA  rB  )r   r   rK   rb   r   )r    rf   r%   s      r&   test_concat_ordered_dict(TestConcatenate.test_concat_ordered_dict  s^    E!HveAh/07K
 &q"2veAh?OPQ
v0r)   c                 l   [        [        R                  R                  S5      R	                  S5      / SQS/S9n[        [        R                  R                  S5      R	                  S5      / SQS/S9nSn[
        R                  " [        US	9   [        X/S
S9  S S S 5        g ! , (       d  f       g = f)Nr   r0   )r   r/   r   r-   r-   r   r   )r   r/   r   r   r,   r   z8Reindexing only valid with uniquely valued Index objectsr   r/   r   )	r	   r   r   r   r   r   r   r   r   )r    r   rT   r   s       r&   #test_concat_duplicate_indices_raise3TestConcatenate.test_concat_duplicate_indices_raise	  s     II!!!$44Q7!E

 II!!!$44Q7!E

 I]],C8C:A& 988s   B%%
B3r  N)!r%  r&  r'  r(  r'   rW   rh   ry   r   markparametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r4  r:  r>  rC  rF  r*  r  r)   r&   r   r      s    . 4Vl0:;" [[YF(;<0 =04'
RS9B&60p0 0.9"5!0'002V@011'r)   r   c           
      @   U" [         S9R                  nU nU" [        R                  " S/X2S95      U" [        R                  " [        R                  /X2S95      U" [        R                  " S/X2S95      /n[        U5      nUR                  R                  U:X  d   eg )Nr   r/   rN   ndminr0   )rP   ndimr   r   r   r   ra   rN   )float_numpy_dtypeframe_or_seriesdimsdtr8  r;   s         r&   !test_concat_no_unnecessary_upcastrR    s    (--D	B 	!B;<"&&@A!B;<C
 	sA88>>Rr)   pdtc           
      :   UnU " 5       R                   nU " [        R                  " S/X#S95      U " [        R                  " [        R                  /US95      U " [        R                  " S/X#S95      /n[	        U5      nUR
                  R                  S:X  d   eg )Nr/   rK  )rL  r0   r   )rM  r   r   r   r   ra   rN   )rS  any_signed_int_numpy_dtyperQ  rP  r8  r;   s         r&   test_concat_will_upcastrV  )  s}    	#B5::DBHHaS/0BHHbffXT*+BHHaS/0C
 	sA88>>Y&&&r)   c                      [        SS/05      n [        S/ 05      n[        SS/05      n[        X/5      n[        R                  " X25        g )Nr1   r/   g      ?r   )r   rT   rf   r%   s       r&   0test_concat_empty_and_non_empty_frame_regressionrX  6  sJ    
UQCL
!C
UBK
 C%#(HSJF&+r)   c                      [        [        / SQ5      5      n [        SS/SS/SS//S9R                  [        R
                  " [        R                  S5      5      n[        X /SS9n[        R                  " X!5        g )Nr   r   r/   r   datar   )r   r   r	   astyper   SparseDtyper   r   r   rb   rc   )r   rf   r%   s      r&   test_concat_sparser^  ?  si    {9%&A1v1v1v67>>
rxx#H QF#F&+r)   c                  :   [         R                  " [        R                  S 5      n [	        [         R
                  R                  SS /5      U S9n[	        S/[        S9n[	        / SQ/ SQS9R                  U 5      n[        X/SS9n[        R                  " XC5        g )Nr/   r   )r/   Nr/   )r   r/   r   r[  r   r   r   )r   r]  r   r   r   r8   r   floatr\  r   rb   r   )rN   r   r   rf   r%   s        r&   test_concat_dense_sparserb  I  sv    NN2::t,Eryy$$aY/u=As% A<y9@@GHQF#F6,r)   r[   )r   r@   r@   )r@   r   r@   c                 "   [        / SQ/ SQS.5      n[        / SQSS9n[        / SQSS9n[        XU/S	U S
9n/ SQ/ SQ/ SQ/n[        R                  " U S   S4U S   S4U S	   S4U S   S4/5      n[        XVS9n[
        R                  " XG5        g )Nr  r  r   r   )      r   r   rs   )r   r  r  r   r/   r3   r[   )r/   r,   re  r   )r   r0   rf  r  )r-   r  r   r  r   r   r   r   r]   )r	   r   r   r   from_tuplesrb   rc   )r[   rS   r#   r$   r%   expected_valuesexpected_columnsrf   s           r&   test_duplicate_keysrk  S  s     
3	4B			$B	3	'BRRLqt4F$m]CO!--
q'3$q'3$q'3$q'3H CH&+r)   c                      SS/n [        / SQ/ SQS.5      n[        X/SU S9n/ SQ/ SQ/ S	Q/n[        R                  " U S
   S4U S
   S4U S   S4U S   S4/5      n[        X4S9n[        R
                  " X%5        g )Nr   r  r  rd  r/   rg  )r/   r,   r/   r,   )r   r0   r   r0   )r-   r  r-   r  r   r   r   r]   )r	   r   r   rh  rb   rc   )r[   rS   r%   ri  rj  rf   s         r&   test_duplicate_keys_same_framerm  b  s    :D	3	4BRH140F#\<@O!--
q'3$q'3$q'3$q'3H CH&+r)   zMignore:Passing a BlockManager|Passing a SingleBlockManager:DeprecationWarningobjr   r   rs   c                 T    [        X /5      n[        U[        U 5      5      (       d   eg r6   )r   r   type)rn  r%   s     r&   test_concat_preserves_subclassrq  o  s'     SJFfd3i((((r)   c                  J   [        S[        R                  " / SQSS905      n [        S[        R                  " / SQ5      05      n[	        X/SS9n[        S/ SQ0SS9n[
        R                  " X#5        [	        X/SS9n[        S/ S	Q0SS9n[
        R                  " X#5        g )
Nr   r  r=  r   r  Tr   r  )r,   r0   r  r/   r   r-   )r	   r   r   r   r   rb   rc   r   rT   r%   rf   s       r&   (test_concat_frame_axis0_extension_dtypesrt    s    
S"((9G<=
>C
S"((9-.
/CSJT2F#12'BH&+SJT2F#12'BH&+r)   c                      [        SS/0SS9n [        SS/0SS9n[        X/SS9n[        SS /S S/S	.SS9n[        R                  " X#5        g )
Nr   r   r=  r   r   r/   Tr   rd  r   )df_adf_br%   rf   s       r&   +test_concat_preserves_extension_int64_dtyperx    s[    cB4[0DcA3Zw/DTLt4FDzq	:'JH&+r)   zdtype1,dtype2,expected_dtype))boolry  ry  )booleanry  rz  )ry  rz  rz  )rz  rz  rz  c                     [        SS/U S9n[        SS/US9n[        X4/SS9n[        / SQUS9n[        R                  " XV5        g )NTFr   r   )TFFT)r   r   rb   r   )dtype1dtype2expected_dtypeser1ser2r%   rf   s          r&   test_concat_bool_typesr    sM     4-v.D5$-v.DTLt4F0GH6,r)   )r[   	integrityredr-   TF)r  bluer  c                     [        SS05      [        SS05      [        SS05      /n[        X US9n[        [        U / SQ5      5      n[        / S	Q[        R
                  " U5      S
9n[        R                  " X55        g )Nr   r/   r   r   r   r-   )r[   verify_integrity)r   r   r   r  r2   )r   r   r   zipr   rh  rb   r   )r[   r  series_listr%   tuplesrf   s         r&   test_concat_repeated_keysr    sm     3(#VS!H%5vsAh7GHKKYGF#dO,-Fiz'='=f'EFH6,r)   c                     [         R                  " S/SSS9n [        SS/0U S9n[        S /SS	S9n[        S /[        R
                  /S
.US9n[        X1/SS9n[        S U S   /[        S9n[        [        R                  " S [        R
                  /[        S9[        R
                  [        R
                  /[        R
                  S/S.US9n[        R                  " XF5        g )Nz2021-04-08 21:21:14+00:00zdatetime64[ns, UTC]z
Time (UTC))rN   rt   r   g!u?r`  rP   zMaybe Time (UTC))r   r   r^   r   r   r   r   r   r   r2   )r   DatetimeIndexr	   r
   r   r   r   rP   r   rb   rc   )dtir   idxr   r%   re   rf   s          r&    test_concat_null_object_with_dtir    s    


	$%-BC C&?#6E
h-?
@CbffX6cBDTM	2FtSVnF3I4.7&&"&&!&&&!	

 H &+r)   c                  (   [         R                  " SS/5      n [        SS//U S9n[        S/[        R                  " S5      S9n[        X/5      n[        SS/[        R                  [        R                  //U S9n[        R                  " X45        g )Nr   )r   r/   r/   r   r]   r   r   )
r   rh  r	   r   
RangeIndexr   r   r   rb   rc   )mir   rT   r%   rf   s        r&   ,test_concat_multiindex_with_empty_rangeindexr    s|    			8 4	5B
aVHb
)C
1#r}}Q'7
8CSJF1a&266266"23R@H&+r)   r[  r/   r   rZ  col1r   c                     U R                  5       nSS0Ul        U R                  5       nSS0Ul        [        X/5      n[        UR                  5      S:X  d   eg )Nr/   r   r   )r4   attrsr   r   r[  r   rT   rS   s       r&   test_concat_drop_attrsr    sR     ))+CACI
))+CACI	
	Brxx=Ar)   c                     U R                  5       nSS0Ul        U R                  5       nSS0Ul        [        X/5      nUR                  S   S:X  d   eg )Nr/   )r4   r  r   r  s       r&   test_concat_retain_attrsr    sR     ))+CACI
))+CACI	
	B88A;!r)   df_dtype)r   r   datetime64[ns]empty_dtype)Nr   rP   c                 z   [        SS/SS/S.US9n[        SS/U S9nSnS nUS	:X  d  US
:X  a  U S
:w  a  [        n[        R                  " XTS9   [	        X2/5      nS S S 5        UnUS:X  a)  U S
:X  a  UR                  S
5      nOUR                  S5      n[        R                  " WU5        g ! , (       d  f       NW= f)Nr/   r   r1   r~   r   r1   r~   )r^   rN   DThe behavior of DataFrame concatenation with empty or all-NA entriesr  r   r   r   rP   )r	   FutureWarningrb   assert_produces_warningr   r\  rc   r  r  rS   emptyr   warnr%   rf   s           r&   %test_concat_ignore_empty_object_floatr    s    
 
Aq61a&1	BBuenK@E
PCD##I+":		#	#D	4$ 
5H7)#yy+Hyy*H&(+ 
5	4s   B,,
B:c                    [        SS/SS/S.US9n[        [        R                  /[        R                  /S.U S9nUS:X  a  U S:X  a  SnOSnSnS nX:w  a
  U b  [        nOUS	:X  a  [        n[        R
                  " XTS
9   [        X2/SS9nS S S 5        [        [        R                  SS/[        R                  SS/S.US9n[        R                  " WU5        g ! , (       d  f       NU= f)Nr/   r   r  r   r   rP   r   r  r  r   Tr   )r	   r   r   r  rb   r  r   rc   r  s           r&   &test_concat_ignore_all_na_object_floatr  &  s     
Aq61a&1	BBrvvhx8LE7("H H
PCD;#:	%	%		#	#D	4$7 
5 "&&!QAGxXH&(+	 
5	4s   C
C*c                     [        S/[        R                  " S5      /S.5      n [        SS/05      nUR                  U R                  S9nSn[
        R                  " [        US9   [        X/S	S
9nS S S 5        [        SS/[        R                  " S5      [        R                  /S.5      =pP[
        R                  " WU5        g ! , (       d  f       N[= f)Nr/   z
2012-01-01rd  r   r   r]   r  r   Tr   )r	   r   r   reindexr^   rb   r  r  r   r   rc   )r   rT   alignedr   r%   rf   s         r&   %test_concat_ignore_empty_from_reindexr  B  s     1#R\\,%?$@A
BC
S1#J
Ckk#++k.G
PC		#	#M	=T: 
>aV2<<3Mrvv2VWXXH&(+ 
>	=s   'C
Cc                     [        [        S5      5      n [        S5       Vs/ s H  oU-   PM	     nn/ SQnSn[        R                  " [        US9   [        X#SS9  S S S 5        [        R                  " [        US9   [        X#SS9  S S S 5        [        R                  " [        US9   [        S	 U 5       S
 U 5       SS9  S S S 5        [        R                  " [        US9   [        S U 5       S U 5       SS9  S S S 5        g s  snf ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nq= f! , (       d  f       g = f)Nr0   r,   r  zGThe behavior of pd.concat with len\(keys\) != len\(objs\) is deprecatedr   r/   r\   r   c              3   $   #    U  H  ov   M     g 7fr6   r  r:   r;   s     r&   r>   5test_concat_mismatched_keys_length.<locals>.<genexpr>]        4a4r  c              3   $   #    U  H  ov   M     g 7fr6   r  r:   r<   s     r&   r>   r  ]       '84a4r  c              3   $   #    U  H  ov   M     g 7fr6   r  r  s     r&   r>   r  _  r  r  c              3   $   #    U  H  ov   M     g 7fr6   r  r  s     r&   r>   r  _  r  r  )r   rK   rb   r  r  r   )sernsersr[   r   s        r&   "test_concat_mismatched_keys_lengthr  Q  s    
q
C"1X&X!GXD&D
TC		#	#M	=tQ' 
>		#	#M	=tQ' 
>		#	#M	= 4 '84'8qA 
>		#	#M	= 4 '84'8qA 
>	= ' 
>	=	=	=	=	=	=	=s5   DD=D)D.$D?
D
D+.
D<?
Ec                  "   [        [        [        S5      SS9[        [        S5      SS9[        / SQ5      S.5      n U R                  SS/5      n [        [        [        S5      SS9[        [        S5      SS9[        / S	Q5      S.5      nUR                  SS/5      n[	        X/5      n[        [        [        S
5      SS9[        [        S5      SS9[        / SQ5      S.5      nUR                  SS/5      n[
        R                  " X#5        g )Nr   categoryr   eeer  )c1c2i2r  r  r  abcabceeeeeer  )r	   r   r   	set_indexr   rb   rc   rs  s       r&   $test_concat_multiindex_with_categoryr  b  s    
eJ7eJ7#	
C --t
%C
eJ7eJ7#	
C --t
%CSJFhz:hz:+,	
H !!4,/H&+r)   c                      [        S/SS9n [        S/SS9n[        X/5      n[        SS/SS/S9n[        R                  " X#5        g )Nr   stringr   r/   r=  r   r2   r   rs  s       r&   test_concat_ea_upcastr    sL    
SE
*C
QCw
'CSJF#q!Q0H&+r)   c                  X   [        SS 0/5      n [        S[        R                  " S5      0/5      nSn[        R                  " [
        US9   [        X/SS9nS S S 5        [        SS [        R                  " S5      /05      n[        R                  " WU5        g ! , (       d  f       NI= f)Nr   z1990-12-20 00:00:00+00:00r  r   Tr   )r	   r   r   rb   r  r  r   rc   )r   rT   r   r%   rf   s        r&   (test_concat_none_with_timezone_timestampr    s    
c4[M
"C
c2<<(CDEF
GC
PC		#	#M	=
6 
>#bll3N&OPQRH&(+ 
>	=s   B
B))Acollectionsr   r   collections.abcr   r   decimalr   numpyr   r   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r	   r
   r   r   r   r   r   pandas._testing_testingrb   pandas.core.arraysr   pandas.tests.extension.decimalr   r   rR  rH  rI  rV  rX  r^  rb  rk  rm  filterwarningsSubclassedDataFramer   SubclassedSeriesrq  rt  rx  r  r  r  r  ra  r  r  skip_array_manager_invalid_testr  r  r  r  r  r  r  r  r)   r&   <module>r     s_   %     + ) )     * 5z' z'z   34	' 5	',,- /?!CD, E,
, S 	
RYYq"%567
BIIa,37)),, "-- 
1d
1e	'	&	--,0, 
QFA	

 	U	 
QFA	

 	U	 ##%KL(CD, E M $,. ##%KL(CD, E M $,2 ##, $,B",:,,r)   