
    m*i                        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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$\
RJ                  RM                  S\\/5      S 5       r'S r(S r)S r*\
RJ                  RM                  S/ SQ/ SQ/5      S 5       r+S r,\
RJ                  R[                  S5      \
RJ                  RM                  S\R\                  " S\	R^                  " S S5      05      \R`                  " \	R^                  " S S5      SS9/5      S 5       5       r1S r2S r3\
RJ                  RM                  S / S!Q5      S" 5       r4\
RJ                  RM                  S#S$/S%-  S&4S$/S%-  S'4/ S(QS'4/ S(QS&4/5      S) 5       r5S* r6S+ r7\
RJ                  RM                  S,\" S-S./S/9\" S0S-S./0S/9\" \8S19\" \8S19/5      S2 5       r9\
RJ                  RM                  S,\" S-S./S/9\" S0S-S./0S/9\" \8S19\" \8S19/5      S3 5       r:\Rv                  \
RJ                  RM                  S4/ S5Q5      \
RJ                  RM                  S6/ S7Q5      S8 5       5       5       r<\Rv                  \
RJ                  RM                  S4/ S5Q5      \
RJ                  RM                  S6/ S7Q5      S9 5       5       5       r=\Rv                  S: 5       r>S; r?S< r@S= rAS> rBg)?    )abcdeque)Iterator)datetime)DecimalN)using_string_dtype)InvalidIndexError)	DataFrameIndex
MultiIndexPeriodIndexSeriesconcat
date_range)SparseArray)
to_decimalc                   0   \ rS rSrS r\R                  R                  \" 5       SS9S 5       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         g/var/www/html/land-doc-ocr/venv/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+---    zTODO(infer_string))reasonc                 V  ^ [        [        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OTR                  c   e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>=   s=      +VV]] $$S!,,* -+s   AAFf)iu)r.   r1   c              3   R   >#    U  H  n[         R                  " TU5      v   M     g 7fr8   r   r;   r<   otherr?   s     r'   r@   rA   ]   s(      %EE ((e44%E   $'c              3   R   >#    U  H  n[         R                  " TU5      v   M     g 7fr8   rF   rG   s     r'   r@   rA   h   s!     U_E2++C77_rI   )r
   r   r   r   r   integersreshaperanger   r9   r:   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_copy2   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///xx+++ & 		--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   r1   keys)r   r   r   r1   r1   r1   r1   )r   r1   r   r   r1   r   r/   r4   )r   r   r   r1   r1   r1   )r   r1   r   r   r1   r   r-   r]   r5   columns)r
   r   r   r   r   r   r   from_arraysr_valuestmassert_frame_equalc_)r!   rU   rV   r&   	exp_indexexpected
exp_index2s          r'   test_concat_with_group_keys+TestConcatenate.test_concat_with_group_keysj   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   r1   r/   )threetwoonezero)rp   ro   rn   	group_key)r5   r]   levelsnamesname)r   r1   r   r/   )r
   r   r   r   r   ilocr   rd   assert_index_equalr`   rs   r   rt   )r!   rU   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-   )r3   barbazquxr\   r1   r5   r^   )r   r3   r   )r~   r
   r   r   r   r   listr]   r   rd   re   )
r!   r}   non_dict_mapping_subclassconstructorframessorted_keysr&   krh   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   r1   r/   r1   r.   r3   r   rp   ro   firstsecond))r3   rp   )r3   ro   )r   rp   )r   ro   )r]   rs   rt   r   )r   r   r1   r1   )r   r1   r   r1   r   r   r   r   )rs   codesrt   r]   rs   )NNNr]   rt   )r   r   Nru   )r
   r   r   r   r   r   r   r    rd   re   rt   rx   rs   r   )r!   rU   rV   rs   rt   r&   rh   rg   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   ar4   r   bz Values not found in passed levelmatchrp   ro   )r3   r   r   r   zKey one not in level)	r
   r   r   r   r   pytestraises
ValueErrorr   )r!   rU   rV   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r1   r   r/   r.   f8rP   i8r_   Tignore_indexr   r   r   r   r   r4   r   r   rp   ro   r   r   r   )r   r   )r
   r   arrayr   concatenaterc   rd   re   r   r   r   r    rt   )r!   r`   df1rV   appendedrh   rU   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 )Nr3   r   )r   r   r1   r   r4   )r   r   sort)r
   rM   r   )r!   r   r   rV   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   r4   r1   r   r   r    r`   r   r/   r   r1   r   r2   )r   r   r1   r   r/   r3   )r3   r   r   r   r3   r   r   T)r5   r   )r   r   aranger   r
   rL   repeatr   rd   re   rv   r!   r    r?   r$   r%   rU   rh   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   r4   r   r1   r/   r   r   )r   r   r   r   r
   rL   tiletolistr   rd   re   r   s           r'   test_concat_mixed_objs_index,TestConcatenate.test_concat_mixed_objs_indexK  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   r3   )r    rv   r   r   r1   r4   r/   r   r   r   r_   Tr   )r   r   r   r   r
   rL   kronwhereidentitynanTr   r   rd   re   r   r   s           r'   "test_concat_mixed_objs_index_names2TestConcatenate.test_concat_mixed_objs_index_names[  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   r1   i  i  r   textz
some words	   )r
   pd	Timestamptz_localizeNaTr   rw   rd   assert_series_equaldtypesr   )r!   rU   r&   s      r'   test_dtype_coercion#TestConcatenate.test_dtype_coercionr  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   rm   r3   r\   r   r   )r
   r   r   r   r   r   rd   re   )r!   rU   r&   rh   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   rm   r2   zAll objects passed were Noner   )r
   r   r   r   r   r   rd   re   r   r   r   )r!   rU   ry   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   r1   )r   r   cde)r   r   r   r   r\   r
   r   rd   re   )r!   df0r&   rh   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   r4   r   outerr1   )joinr5   )r   r   r   float64r   r6   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 )Nr2   z	same namer1   r   r   r1   )
r   r   zerosonesrv   r   r
   r`   rd   re   )r!   ts0r   r&   rh   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   r1   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  r1   r   )r
   r`   r   rd   re   )r!   r   rV   rh   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r1   r   r/   r.   r2   r
  r1   r   r/   r.   r2   r
  Tr   c              3   $   #    U  H  ov   M     g 7fr8    )r<   rU   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   rV   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   rV   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r8   r  )r!   r   rV   s    r'   __iter__GTestConcatenate.test_concat_iterables.<locals>.CustomIterator2.__iter__  s     		s   
r  N)r(  r)  r*  r+  r   r3  r-  r.  s   r'   CustomIterator2r1    s    (  r*   r5  )r
   rd   re   r   r   r   Iterable)r!   rh   r/  r5  r   rV   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   r1   Nr   d   )Nr1   r   Tr   )r1   r   N)r
   rM   r   r`   r   rd   rx   )r!   dfs_r&   rh   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 )Nr1   r   Int64r   Tr   )	r   r   r   r   r   r   rR   rd   r   )r!   r   r   r&   rh   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Anotherr\   )rD  rE  )r   r   rM   rd   r   )r!   rh   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   r2   )r   r1   r   r/   r/   r   r   )r   r1   r   r   r.   r   z8Reindexing only valid with uniquely valued Index objectsr   r1   r   )	r
   r   r   r   r   r   r   r	   r   )r!   r   rV   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(   r   markxfailr   rY   rj   r{   parametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r7  r=  rA  rF  rI  r-  r  r*   r'   r   r       s    ." [[)+4HI5V J5Vn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   r1   rP   ndminr2   )rR   ndimr   r   r   r   rc   rP   )float_numpy_dtypeframe_or_seriesdimsdtr;  r=   s         r'   !test_concat_no_unnecessary_upcastrV     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 )Nr1   rO  )rP  r2   r   )rQ  r   r   r   r   rc   rP   )rW  any_signed_int_numpy_dtyperU  rT  r;  r=   s         r'   test_concat_will_upcastrZ  .  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 )Nr3   r1   g      ?r   )r   rV   rh   r&   s       r'   0test_concat_empty_and_non_empty_frame_regressionr\  ;  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   r1   r   datar   )r   r   r
   astyper   SparseDtyper   r   r   rd   re   )r   rh   r&   s      r'   test_concat_sparserb  D  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 )Nr1   r   )r1   Nr1   )r   r1   r   r_  r    r   r   )r   ra  r   r   r   r:   r   floatr`  r   rd   r   )rP   r   r   rh   r&   s        r'   test_concat_dense_sparserf  N  sv    NN2::t,Eryy$$aY/u=As% A<y9@@GHQF#F6,r*   r]   )r   rB   rB   )rB   r   rB   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   ru   )r   r  r  r   r1   r5   r]   )r1   r.   ri  r   )r   r2   rj  r  )r/   r
  r   r  r   r   r   r   r_   )r
   r   r   r   from_tuplesrd   re   )r]   rU   r$   r%   r&   expected_valuesexpected_columnsrh   s           r'   test_duplicate_keysro  X  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  rh  r1   rk  )r1   r.   r1   r.   )r   r2   r   r2   )r/   r
  r/   r
  r   r   r   r_   )r
   r   r   rl  rd   re   )r]   rU   r&   rm  rn  rh   s         r'   test_duplicate_keys_same_framerq  g  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   ru   c                 T    [        X /5      n[        U[        U 5      5      (       d   eg r8   )r   r   type)rr  r&   s     r'   test_concat_preserves_subclassru  t  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.   r2   r
  r1   r   r/   )r
   r   r   r   r   rd   re   r   rV   r&   rh   s       r'   (test_concat_frame_axis0_extension_dtypesrx    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   r1   Tr   rh  r   )df_adf_br&   rh   s       r'   +test_concat_preserves_extension_int64_dtyper|    s[    cB4[0DcA3Zw/DTLt4FDzq	:'JH&+r*   zdtype1,dtype2,expected_dtype))boolr}  r}  )booleanr}  r~  )r}  r~  r~  )r~  r~  r~  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   rd   r   )dtype1dtype2expected_dtypeser1ser2r&   rh   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   r1   r   r   r   r/   )r]   verify_integrity)r   r   r   r  r4   )r   r   r   zipr   rl  rd   r   )r]   r  series_listr&   tuplesrh   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))rP   rv   r   g!u?rd  rR   zMaybe Time (UTC))r   r   r`   r   r   r   r   r   r   r4   )r   DatetimeIndexr
   r   r   r   r   rR   r   rd   re   )dtir   idxr   r&   rg   rh   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   r1   r1   r   r_   r   r   )
r   rl  r
   r   
RangeIndexr   r   r   rd   re   )mir   rV   r&   rh   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_  r1   r   r^  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 )Nr1   r   r   )r6   attrsr   r   r_  r   rV   rU   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 )Nr1   )r6   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   rR   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)Nr1   r   r3   r   r   r3   r   )r`   rP   DThe behavior of DataFrame concatenation with empty or all-NA entriesr  r   r   r   rR   )r
   FutureWarningrd   assert_produces_warningr   r`  re   r  r  rU   emptyr   warnr&   rh   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)Nr1   r   r  r   r   rR   r   r  r  r   Tr   )r
   r   r   r  rd   r  r   re   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)Nr1   z
2012-01-01rh  r   r   r_   r  r   Tr   )r
   r   r   reindexr`   rd   r  r  r   r   re   )r   rV   alignedr   r&   rh   s         r'   %test_concat_ignore_empty_from_reindexr  G  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)Nr2   r.   r  zGThe behavior of pd.concat with len\(keys\) != len\(objs\) is deprecatedr   r1   r^   r   c              3   $   #    U  H  ov   M     g 7fr8   r  r<   r=   s     r'   r@   5test_concat_mismatched_keys_length.<locals>.<genexpr>b        4a4r  c              3   $   #    U  H  ov   M     g 7fr8   r  r<   r>   s     r'   r@   r  b       '84a4r  c              3   $   #    U  H  ov   M     g 7fr8   r  r  s     r'   r@   r  d  r  r  c              3   $   #    U  H  ov   M     g 7fr8   r  r  s     r'   r@   r  d  r  r  )r   rM   rd   r  r  r   )sernsersr]   r   s        r'   "test_concat_mismatched_keys_lengthr  V  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   rd   re   rw  s       r'   $test_concat_multiindex_with_categoryr  g  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   r1   r@  r   r4   r   rw  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   rd   r  r  r   re   )r   rV   r   r&   rh   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))Ccollectionsr   r   collections.abcr   r   decimalr   numpyr   r   pandas._configr   pandas.errorsr	   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r
   r   r   r   r   r   r   pandas._testing_testingrd   pandas.core.arraysr   pandas.tests.extension.decimalr   r   rV  rK  rM  rZ  r\  rb  rf  ro  rq  filterwarningsSubclassedDataFramer   SubclassedSeriesru  rx  r|  r  r  r  r  re  r  r  skip_array_manager_invalid_testr  r  r  r  r  r  r  r  r*   r'   <module>r     sb   %     - + ) )     * 5}' }'@   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*   