
    Oh                        d dl mZmZ d dlmZ d dlmZ d dlmZ d dlZ	d dl
Z
d dlmZ d dlmZ d dlmc mZ d dlZd dlmZmZmZmZmZmZmZ d dlmZ d d	lm Z  d d
l!m"Z"  G d d      Z#d Z$e
jJ                  jM                  deeg      d        Z'd Z(d Z)d Z*e
jJ                  jM                  dg dg dg      d        Z+d Z,e
jJ                  j[                  d      e
jJ                  jM                  d ej\                  d e	j^                  d d      i       ej`                   e	j^                  d d      d      g      d               Z1d Z2d Z3e
jJ                  jM                  d g d!      d"        Z4e
jJ                  jM                  d#d$gd%z  d&fd$gd%z  d'fg d(d'fg d(d&fg      d)        Z5d* Z6d+ Z7e
jJ                  jM                  d, ed-d.g/       ed0d-d.gi/       ee81       ee81      g      d2        Z9e
jJ                  jM                  d, ed-d.g/       ed0d-d.gi/       ee81       ee81      g      d3        Z:ejv                  e
jJ                  jM                  d4g d5      e
jJ                  jM                  d6g d7      d8                      Z<ejv                  e
jJ                  jM                  d4g d5      e
jJ                  jM                  d6g d7      d9                      Z=ejv                  d:        Z>d; Z?d< Z@d= ZAd> ZBy)?    )abcdeque)Iterator)datetime)DecimalN)using_string_dtype)InvalidIndexError)	DataFrameIndex
MultiIndexPeriodIndexSeriesconcat
date_range)SparseArray)
to_decimalc                   .   e Zd Zd Zej
                  j                   e       d      d        Zd Z	d Z
ej
                  j                  dddg      d	        Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z y)TestConcatenatec                    t        ddd      }t        ddd      }t        t        j                  j	                  d      j                  d      |      }t        t        j                  j	                  d      j                  d      |      }|j                         }|j                         }t        ||g      }t        |j                  t              sJ |j                  d	   |j                  d	   k(  sJ y )
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         o/var/www/html/diagnosisapp-backend/venv/lib/python3.12/site-packages/pandas/tests/reshape/concat/test_concat.pytest_append_concatz"TestConcatenate.test_append_concat!   s    lBlBBII))!,<<R@"EBII))!,<<R@"E\\^\\^ R!&,,444||A"((1+---    zTODO(infer_string))reasonc                    t        t        j                  j                  d      j	                  d            }t        t        j                  j                  d      j                  ddd      j                  dd            }t        dd	it        d      
      }t        |||gdd      }|s5|j                  j                  D ]  t        fd|||fD              sJ  n)|j                  j                  D ]  j                  J  t        |||gdd      }|j                  j                  D ]  j                  j                  dk(  r2j                  |j                  j                  d   j                  u rLJ j                  j                  dv r2j                  |j                  j                  d   j                  u rJ j                  t        k(  s|r|j                  j                  d   u sJ j                  J j                  J  t        t        j                  j                  d      j	                  d            }t        ||||gdd      }|j                  j                  D ]  j                  j                  dk(  rU|s|rBt        fd|j                  j                  |j                  j                  z   D              r`J j                  oJ j                  j                  dv r2j                  |j                  j                  d   j                  u rJ j                  t        k(  st        fd|j                  j                  D              rJ  y )Nr         r   r   r,   )size      foor   T)axiscopyc              3      K   | ]5  }|j                   j                  D ]  }t        j                  |        7 y wN)_mgrarraysr   shares_memory).0xyarrs      r&   	<genexpr>z3TestConcatenate.test_concat_copy.<locals>.<genexpr>=   sC      VV]]  $$S!,,s   ;>Ff)iu)r,   r/   c              3   J   K   | ]  }t        j                  |        y wr6   r   r9   r:   otherr=   s     r&   r>   z3TestConcatenate.test_concat_copy.<locals>.<genexpr>]   s&      ! ((e4    #c              3   J   K   | ]  }t        j                  |        y wr6   rC   rD   s     r&   r>   z3TestConcatenate.test_concat_copy.<locals>.<genexpr>h   s     UE2++C7UrF   )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_copyz TestConcatenate.test_concat_copy2   s   ryy,,Q/??GH		--a099!Ra9HPPQRTUVWE
%(3 S#QT:"{{))   #s^    {{)) ,xx+++, S#QU;;;%% 	,Cyy~~$xx277>>!#4#9#9999:-xx388??1#5#:#::::f$&#((//!"444488///xx+++	, 		--a0@@HIS#s+!%@;;%% 	VCyy~~$&*= %'WW^^chhoo%E    88+++:-xx388??1#5#:#::::f$USXX__UUUU	Vr(   c                    t        t        j                  j                  d      j	                  d            }t        t        j                  j                  d      j	                  d            }t        ||gddg      }t        j                  g dg dg      }t        t        j                  |j                  |j                  f   |	      }t        j                  ||       t        ||gddg      }t        j                  g d
g dg      }t        t        j                  |j                  |j                  f   |	      }t        j                  ||       t        t        j                  j                  d      j	                  d            }t        t        j                  j                  d      j	                  d            }t        ||gddgd      }t        t        j                  |j                  |j                  f   |      }t        j                  ||       t        ||gddgd      }t        t        j                  |j                  |j                  f   |      }t        j                  ||       y )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+   rY   r3   columns)r
   r   r   r   r   r   r   from_arraysr_valuestmassert_frame_equalc_)r    rR   rS   r%   	exp_indexexpected
exp_index2s          r&   test_concat_with_group_keysz+TestConcatenate.test_concat_with_group_keysj   s   ryy,,Q/??GH		--a0@@HIS	A/**"$9:
	 RUU299cjj#89K
fh/R1v.++-?AS,TU
RUU299bii#78
K
fh/ ryy,,Q/??GH		--a0@@HIS	AQ7RUU299cjj#899M
fh/R1vA6RUU299bii#78*M
fh/r(   c                 4   t        t        j                  j                  d      j	                  d            }|j
                  d d ddgf   |j
                  d d dgf   |j
                  d d dgf   g}g d}t        |dg d|gdg	      }t        j                  |j                  j                  d   t        |d
             t        j                  |j                  j                  d   t        g d             |j                  j                  dd gk(  sJ y )Nr   r   r,   r   r/   r-   )threetwoonezero)rk   rj   ri   	group_key)r3   rY   levelsnamesname)r   r/   r   r-   )r
   r   r   r   r   ilocr   r`   assert_index_equalr\   rn   r   ro   )r    rR   pieceslevelr%   s        r&    test_concat_keys_specific_levelsz0TestConcatenate.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           
         |dk(  rt         n|} |t        t        j                  j	                  d      j                  d            t        t        j                  j	                  d      j                  d            t        t        j                  j	                  d      j                  d            t        t        j                  j	                  d      j                  d            d      }t        |j                               }t        |      }t        |D cg c]  }||   	 c}|      }t        j                  ||       t        |d      }t        |D cg c]  }||   	 c}|d      }t        j                  ||       g d	}	t        ||	      }t        |	D cg c]  }||   	 c}|	      }t        j                  ||       y c c}w c c}w c c}w )
Nrx   r   r+   )r1   barbazquxrX   r/   r3   rZ   )r{   r1   rz   )rx   r
   r   r   r   r   listrY   r   r`   ra   )
r    rw   non_dict_mapping_subclassconstructorframessorted_keysr%   krd   rY   s
             r&   test_concat_mappingz#TestConcatenate.test_concat_mapping   ss   %/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:6!9:M
fh/Q'k:6!9:STU
fh/$T*d36!93$?
fh/ ; ;
 4s   GG#Gc                    t        t        j                  j                  d      j	                  d            }t        t        j                  j                  d      j	                  d            }ddgddgg}dd	g}t        ||||gg d
||      }t        ||||g      }t        |dggz   g dg dg dg|d gz         }||_        t        j                  ||       t        ||||gg d
|      }|j                  j                  dk(  sJ t        ||||gg d
dd	g      }|j                  j                  dk(  sJ t        j                  |j                  j                  d   t        ddgd             y )Nr   r/   r-   r/   r,   r1   r{   rk   rj   firstsecond))r1   rk   )r1   rj   )r{   rk   )r{   rj   )rY   rn   ro   r   )r   r   r/   r/   )r   r/   r   r/   r   r   r   r   )rn   codesro   rY   rn   )NNNrY   ro   )r   r   Nrp   )r
   r   r   r   r   r   r   r   r`   ra   ro   rs   rn   r   )r    rR   rS   rn   ro   r%   rd   rc   s           r&   test_concat_keys_and_levelsz+TestConcatenate.test_concat_keys_and_levels   s~   ryy,,Q/??GH		--a0@@HI%.5%.1(#b#Q	
 2sB,-aSE>|<4&.
	
 #
fh/ b#Q

 ||!![000 b#QH%

 ||!!%>>>>
LL"E5%.w$G	
r(   c                    t        t        j                  j                  d      j	                  d      dg      }t        t        j                  j                  d      j	                  d      dg      }d}t        j                  t        |      5  t        ||gd	d
gg dg       d d d        d}t        j                  t        |      5  t        ||gd	d
gg dg       d d d        y # 1 sw Y   ExY w# 1 sw Y   y xY w)Nr   r   ar2   r   bz Values not found in passed levelmatchrk   rj   )r1   rz   r{   r   zKey one not in level)	r
   r   r   r   r   pytestraises
ValueErrorr   )r    rR   rS   msgs       r&   "test_concat_keys_levels_no_overlapz2TestConcatenate.test_concat_keys_levels_no_overlap   s    ryy,,Q/??GPSuU		--a0@@HQTPUV0]]:S1 	RB85%.:O9PQ	R %]]:S1 	SB9E5>;P:QR	S 	S		R 	R	S 	Ss   C,C8,C58Dc           	         g d}t        t        j                  g dd      t        j                  g dd      t        j                  g dd      t        j                  g dd      d|      }t        t        j                  g dd      t        j                  g dd      t        j                  g dd      t        j                  g dd      d|      }t        ||gd      }t        t        j                  |j
                  |j
                  gd	
      |      }t        j                  ||       t        t        j                  j                  d      j                  d      dg      }t        t        j                  j                  d      j                  d      dg      }t        ||gddgddg      }|j                  j                  dk(  sJ y )N)ABCDr/   r   r-   r,   f8rM   i8r[   Tignore_indexr   r}   r   r   r   r2   r   r   rk   rj   r   r   r   )r   r   )r
   r   arrayr   concatenater_   r`   ra   r   r   r   r   ro   )r    r\   df1rS   appendedrd   rR   r%   s           r&    test_crossed_dtypes_weird_cornerz0TestConcatenate.test_crossed_dtypes_weird_corner   ss   &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S	w>QR||!!%8888r(   c                     t        dddt        d            }t        dddt        d            }t        ||g|       y )Nr1   rz   )r   r   r/   r   r2   )r   r   sort)r
   rJ   r   )r    r   r   rS   s       r&   test_with_mixed_tuplesz&TestConcatenate.test_with_mixed_tuples
  s>     eu5U1XFeu5U1XF 	Sz%r(   c                    t        ddd      }t        j                  dd      }t        ||      }t        ||      }t	        |j                  dd	      |      }t	        t        j                  |d
      j                  dd
      |ddg      }t        ||gd	      }t        j                  ||       t	        t        j                  |d
      j                  dd
      |dd	g      }t        ||gd	      }t        j                  ||       t	        t        j                  |d      j                  dd      |g d      }t        |||gd	      }t        j                  ||       t	        t        j                  |d      j                  dd      |g d      }t        |||||gd	      }t        j                  ||       d|_
        t	        t        j                  |d      j                  dd      |g d      }t        |||gd	      }t        j                  ||       d|_
        t	        t        j                  |d      j                  dd      |g d      }t        |||gd	      }t        j                  ||       t	        t        j                  |d      j                  dd      |g d      }t        |||gd	d      }t        j                  ||       y )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   rz   r1   r   rz   T)r3   r   )r   r   aranger   r
   rI   repeatr   r`   ra   rq   r    r   r=   r#   r$   rR   rd   r%   s           r&   test_concat_mixed_objs_columnsz.TestConcatenate.test_concat_mixed_objs_columns  s    ="3?ii'*Cu%Cu%s{{2q)7IIc1%%b!,EAq6
 Rq)
fh/IIc1%%b!,EAq6
 Rq)
fh/IIc1%%b!,E9
 R1-
fh/IIc1%%b!,E?
 RR,15
fh/ IIc1%%b!,E=
 R1-
fh/IIc1%%b!,ECT
 R1-
fh/ IIc1%%b!,E9
 R14@
fh/r(   c                    t        ddd      }t        j                  dd      }t        ||      }t        ||      }t	        |j                  dd	      |      }t	        t        j                  |d
      j                  dd	      |j                         d
z  dg      }t        |||g      }t        j                  ||       y )Nr   r   r   r   r   r   r2   r   r/   r-   r   r   )r   r   r   r   r
   rI   tiletolistr   r`   ra   r   s           r&   test_concat_mixed_objs_indexz,TestConcatenate.test_concat_mixed_objs_indexK  s     ="3?ii'*Cu%Cu%s{{2q)7GGCO##B*%,,.12Dqc
 R%
fh/r(   c           	         t        ddd      }t        j                  dd      }t        ||d      }t        ||d	      }t	        |j                  d
d      |      }t	        t        j                  t        j                  t        j                  d      dk(  dt        j                        |      j                  |j                         dz  g d      }t        |||g      }t        j                  ||       t	        t        j                  |d      j                  d
d      dg      }t        |||gd      }t        j                  ||       y )Nr   r   r   r   r   r   r1   )r   rq   rz   r   r/   r2   r-   r   r   r   r[   Tr   )r   r   r   r   r
   rI   kronwhereidentitynanTr   r   r`   ra   r   r   s           r&   "test_concat_mixed_objs_index_namesz2TestConcatenate.test_concat_mixed_objs_index_names[  s    ="3?ii'*Cu51Cu51s{{2q)7GGBHHR[[^q0!RVV<cBDD,,.1$%

 R%
fh/ RWWS!_44R;aSIR48
fh/r(   c           	         t        dt        j                  d      j                  d      t        j                  gi      }t        |j                  dg   |j                  dg   g      }t        j                  |j                  |j                         t        dt        ddd      t        ddd      gi      }t        |j                  dg   |j                  dg   g      }t        j                  |j                  |j                         t        d	d
gd gdz  z   i      }t        |j                  dg   |j                  dg   g      }t        j                  |j                  |j                         y )Ndate20130101UTCr   r/   i  i  r   textz
some words	   )r
   pd	Timestamptz_localizeNaTr   rr   r`   assert_series_equaldtypesr   )r    rR   r%   s      r&   test_dtype_coercionz#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                     t        t        j                  j                  d      j	                  d            }t        |gdg      }t        ||gddg      }t        j                  ||d d        y )Nr   rh   r1   rX   rz   r   )r
   r   r   r   r   r   r`   ra   )r    rR   r%   rd   s       r&   test_concat_single_with_keyz+TestConcatenate.test_concat_single_with_key  s`    ryy,,Q/??HIE7+2r(%8
fhsm4r(   c                 z    t        j                  t        d      5  t        g        d d d        y # 1 sw Y   y xY w)NzNo objects to concatenater   )r   r   r   r   r    s    r&   test_concat_no_items_raisesz+TestConcatenate.test_concat_no_items_raises  s-    ]]:-HI 	2J	 	 	s   1:c                 F   t        t        j                  j                  d      j	                  d            }|d d d d |dd  g}t        |      }t        j                  ||       t        j                  t        d      5  t        d d g       d d d        y # 1 sw Y   y xY w)Nr   rh   r0   zAll objects passed were Noner   )r
   r   r   r   r   r   r`   ra   r   r   r   )r    rR   rt   r%   s       r&   test_concat_exclude_nonez(TestConcatenate.test_concat_exclude_none  s    ryy,,Q/??HIRa&$bf-
fb)]]:-KL 	!D$< 	! 	! 	!s    BB c                 D   t        g dg dg dg      }t        d ||d d |d d |d      }t        ||d d |d d |d      }t        j                  ||       t        d ||d d |d d |gg d      }t        ||d d |d d |gg d      }t        j                  ||       y )N)r         r   r/   )r   r   cde)r   r   r   r   rX   r
   r   r`   ra   )r    df0r%   rd   s       r&   test_concat_keys_with_nonez*TestConcatenate.test_concat_keys_with_none  s    |\BCd3r7RasST#bq'BQcJK
fh/3BQRa#.5N
 3BQRa#6=QR
fh/r(   c                    t        t        j                  dt        j                        t	        dd            }|j                         d d d   }t        ||gdd	      }t        ||gdd	      }t        |      t        |      k(  sJ y )
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_1719z$TestConcatenate.test_concat_bug_1719  sy    IIb

+:lTV3W
 hhj1o sCjwQ7Sza84yCJ&&&r(   c                    t        t        j                  d            }t        t        j                  d            }dx|_        |_        t        ||gd      }t        ||d      }ddg|_        t        j                  ||       y )Nr0   z	same namer/   r}   r   r/   )
r   r   zerosonesrq   r   r
   r\   r`   ra   )r    ts0r   r%   rd   s        r&   test_concat_bug_2972z$TestConcatenate.test_concat_bug_2972  sp    RXXa[!RWWQZ ))38c
+-.'5
fh/r(   c                     t        g dg dg dd      }t        g dg dg dd      }t        g dg d	g d
g dg      }g d|_        t        ||gd      }t        j                  ||       y )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   r`   ra   )r    r   rS   rd   r%   s        r&   test_concat_bug_3602z$TestConcatenate.test_concat_bug_3602  sx    &#9
 !<M
 &'''	
 Nc
+
fh/r(   c                 x   t        g d      t        g d      t        g d      }t        j                  t        fd      |       t        j                  t        gd      |       t        j                  t        d fD        d      |       t        j                  t        t	        f      d      |        G fdd      }t        j                  t         |       d      |        G fd	d
t
        j                        }t        j                  t         |       d      |       y )Nr/   r   r-   r,   r0   r   r/   r   r-   r,   r0   r   Tr   c              3       K   | ]  }|  y wr6    )r:   rR   s     r&   r>   z8TestConcatenate.test_concat_iterables.<locals>.<genexpr>  s     ,2B,   c                   &    e Zd ZdefdZ fdZy)>TestConcatenate.test_concat_iterables.<locals>.CustomIterator1returnc                      y)Nr   r  r   s    r&   __len__zFTestConcatenate.test_concat_iterables.<locals>.CustomIterator1.__len__  s    r(   c                 F    	 d|   S # t         $ r}t        |d }~ww xY w)Nr   )KeyError
IndexError)r    r   errr   rS   s      r&   __getitem__zJTestConcatenate.test_concat_iterables.<locals>.CustomIterator1.__getitem__  s0    ."s+E22 .$#-.s    	  N)__name__
__module____qualname__intr	  r  r   rS   s   r&   CustomIterator1r    s     .r(   r  c                        e Zd Zdef fdZy)>TestConcatenate.test_concat_iterables.<locals>.CustomIterator2r  c              3      K     y wr6   r  )r    r   rS   s    r&   __iter__zGTestConcatenate.test_concat_iterables.<locals>.CustomIterator2.__iter__  s     		s   
N)r  r  r  r   r  r  s   r&   CustomIterator2r    s    ( r(   r  )r
   r`   ra   r   r   r   Iterable)r    rd   r  r  r   rS   s       @@r&   test_concat_iterablesz%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           	         t        t        d      g d      g}|t        d      D cg c]  }t        t        d      g d       c}z  }t        |d      j                  }t	        g d      }t        j                  ||       y c c}w )	Nr-   )r   r/   Nr   d   )Nr/   r   Tr   )r/   r   N)r
   rJ   r   r\   r   r`   rs   )r    dfs_r%   rd   s        r&   test_concat_orderz!TestConcatenate.test_concat_order  sl    uQx@A5QT:Va	a.AVV$'//(
fh/	 Ws   Bc                    t        t        j                  ddgd            }t        t        ddg            }t	        ||gd      }t        ddt        d      t        d      gt              }t        j                  ||       y )Nr/   r   Int64r   Tr   )	r   r   r   r   r   r   rO   r`   r   )r    r   r   r%   rd   s        r&   .test_concat_different_extension_dtypes_upcastsz>TestConcatenate.test_concat_different_extension_dtypes_upcasts  sk    288QF'23:q!f%&AT21aWQZ8G
vx0r(   c                     t        t        t        d            t        t        d            gddg      }t        t        t        d            t        t        d            d      }t        j                  ||       y )Nr-   r,   FirstAnotherrX   )r%  r&  )r   r   rJ   r`   r   )r    rd   r%   s      r&   test_concat_ordered_dictz(TestConcatenate.test_concat_ordered_dict  s`    E!HveAh/07K
 &q"2veAh?OPQ
vx0r(   c                 z   t        t        j                  j                  d      j	                  d      g ddg      }t        t        j                  j                  d      j	                  d      g ddg      }d}t        j                  t        |	      5  t        ||gd
       d d d        y # 1 sw Y   y xY w)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   rS   r   s       r&   #test_concat_duplicate_indices_raisez3TestConcatenate.test_concat_duplicate_indices_raise  s     II!!!$44Q7!E

 II!!!$44Q7!E

 I]],C8 	'C:A&	' 	' 	's   B11B:N)!r  r  r  r'   r   markxfailr   rV   rf   rv   parametrizer   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       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           	      V    |t               j                  }| } |t        j                  dg||             |t        j                  t        j                  g||             |t        j                  dg||            g}t        |      }|j                  j                  |k(  sJ y )Nr   r/   rM   ndminr0   )rO   ndimr   r   r   r   r_   rM   )float_numpy_dtypeframe_or_seriesdimsdtr  r;   s         r&   !test_concat_no_unnecessary_upcastr5     s    (--D	B 	!Bd;<"&&4@A!Bd;<C
 	sA88>>Rr(   pdtc           	      H   |} |        j                   } | t        j                  dg||             | t        j                  t        j                  g|             | t        j                  dg||            g}t	        |      }|j
                  j                  dk(  sJ y )Nr/   r.  )r/  r0   r   )r0  r   r   r   r   r_   rM   )r6  any_signed_int_numpy_dtyper4  r3  r  r;   s         r&   test_concat_will_upcastr9  .  s    	#B5::DBHHaS$/0BHHbffXT*+BHHaS$/0C
 	sA88>>Y&&&r(   c                      t        ddgi      } t        dg i      }t        ddgi      }t        | |g      }t        j                  ||       y )Nr1   r/   g      ?r   )r   rS   rd   r%   s       r&   0test_concat_empty_and_non_empty_frame_regressionr;  ;  sN    
UQCL
!C
UBK
 C%#(HS#JF&(+r(   c                     t        t        g d            } t        ddgddgddgg      j                  t	        j
                  t        j                  d            }t        | | gd      }t        j                  ||       y )Nr   r   r/   r   datar}   )r   r   r
   astyper   SparseDtyper   r   r   r`   ra   )r   rd   r%   s      r&   test_concat_sparserA  D  sm    {9%&A1v1v1v67>>
rxx#H QF#F&(+r(   c                  R   t        j                  t        j                  d       } t	        t         j
                  j                  dd g      |       }t	        dgt              }t	        g dg d      j                  |       }t        ||gd      }t        j                  ||       y )Nr/   r   )r/   Nr/   )r   r/   r   r>  r   r   r}   )r   r@  r   r   r   r8   r   floatr?  r   r`   r   )rM   r   r   rd   r%   s        r&   test_concat_dense_sparserE  N  sz    NN2::t,Eryy$$aY/u=As% A<y9@@GHQF#F68,r(   rY   )r   r?   r?   )r?   r   r?   c                 <   t        g dg dd      }t        g dd      }t        g dd      }t        |||gd	| 
      }g dg dg dg}t        j                  | d   df| d   df| d	   df| d   dfg      }t        ||      }t        j                  ||       y )Nr   r   r   r   )      r   r   rp   )r   r   r   r   r/   r3   rY   )r/   r,   rH  r   )r   r0   rI  r   )r-   r   r   r   r   r   r   r   r[   )r
   r   r   r   from_tuplesr`   ra   )rY   rR   r#   r$   r%   expected_valuesexpected_columnsrd   s           r&   test_duplicate_keysrN  X  s     
3	4B			$B	3	'BRRLqt4F$m]CO!--
q'3$q'3$q'3$q'3H 2BCH&(+r(   c                     ddg} t        g dg dd      }t        ||gd|       }g dg dg d	g}t        j                  | d
   df| d
   df| d   df| d   dfg      }t        ||      }t	        j
                  ||       y )Nr   r   r   rG  r/   rJ  )r/   r,   r/   r,   )r   r0   r   r0   )r-   r   r-   r   r   r   r   r[   )r
   r   r   rK  r`   ra   )rY   rR   r%   rL  rM  rd   s         r&   test_duplicate_keys_same_framerP  g  s    :D	3	4BRH140F#\<@O!--
q'3$q'3$q'3$q'3H 2BCH&(+r(   zMignore:Passing a BlockManager|Passing a SingleBlockManager:DeprecationWarningobjr   r   rp   c                 L    t        | | g      }t        |t        |             sJ y r6   )r   r   type)rQ  r%   s     r&   test_concat_preserves_subclassrT  t  s&     S#JFfd3i(((r(   c                  h   t        dt        j                  g dd      i      } t        dt        j                  g d      i      }t	        | |gd      }t        dg did      }t        j                  ||       t	        || gd      }t        dg d	id      }t        j                  ||       y )
Nr   r   r"  r   r   Tr   r  )r,   r0   r   r/   r   r-   )r
   r   r   r   r   r`   ra   r   rS   r%   rd   s       r&   (test_concat_frame_axis0_extension_dtypesrW    s    
S"((9G<=
>C
S"((9-.
/CS#JT2F#12'BH&(+S#JT2F#12'BH&(+r(   c                      t        ddgid      } t        ddgid      }t        | |gd      }t        dd gd dgd	d      }t        j                  ||       y )
Nr   r   r"  r   r   r/   Tr   rG  r   )df_adf_br%   rd   s       r&   +test_concat_preserves_extension_int64_dtyper[    s_    cB4[0DcA3Zw/DT4Lt4FDzq	:'JH&(+r(   zdtype1,dtype2,expected_dtype))boolr\  r\  )booleanr\  r]  )r\  r]  r]  )r]  r]  r]  c                     t        ddg|       }t        ddg|      }t        ||gd      }t        g d|      }t        j                  ||       y )NTFr   r   )TFFT)r   r   r`   r   )dtype1dtype2expected_dtypeser1ser2r%   rd   s          r&   test_concat_bool_typesrd    sQ     4-v.D5$-v.DT4Lt4F0GH68,r(   )rY   	integrityredr-   TF)rf  bluerf  c                 
   t        ddi      t        ddi      t        ddi      g}t        || |      }t        t        | g d            }t        g d	t	        j
                  |      
      }t        j                  ||       y )Nr   r/   r   r   r   r-   )rY   verify_integrity)r   r   r   r   r2   )r   r   r~   zipr   rK  r`   r   )rY   re  series_listr%   tuplesrd   s         r&   test_concat_repeated_keysrm    sq     3(#VS!H%5vsAh7GHKKdYGF#dO,-Fiz'='=f'EFH68,r(   c                     t        j                  dgdd      } t        ddgi|       }t        d gdd	      }t        d gt        j
                  gd
|      }t        ||gd      }t        d | d   gt              }t        t	        j                  d t        j
                  gt              t        j
                  t        j
                  gt        j
                  dgd|      }t        j                  ||       y )Nz2021-04-08 21:21:14+00:00zdatetime64[ns, UTC]z
Time (UTC))rM   rq   r   g!u?rC  rO   zMaybe Time (UTC))r   r   r\   r}   r   r   r   r   r   r2   )r   DatetimeIndexr
   r   r   r   r   rO   r   r`   ra   )dtir   idxr   r%   rc   rd   s          r&    test_concat_null_object_with_dtirs    s    


	$%-BC C&?#6E
h-?
@CbffX6cBDT5M	2FtSVnF3I4.7&&"&&!&&&!	

 H &(+r(   c                  8   t        j                  ddg      } t        ddgg|       }t        dgt        j                  d            }t        ||g      }t        ddgt        j                  t        j                  gg|       }t        j                  ||       y )Nr   )r   r/   r/   r   r[   r   r   )
r   rK  r
   r   
RangeIndexr   r   r   r`   ra   )mir   rS   r%   rd   s        r&   ,test_concat_multiindex_with_empty_rangeindexrw    s    			8 4	5B
aVHb
)C
1#r}}Q'7
8CS#JF1a&266266"23R@H&(+r(   r>  r/   r   r=  col1r   c                     | j                         }ddi|_        | j                         }ddi|_        t        ||g      }t        |j                        dk(  sJ y )Nr/   r   r   )r4   attrsr   r   r>  r   rS   rR   s       r&   test_concat_drop_attrsr|    sT     ))+CACI
))+CACI	c
	Brxx=Ar(   c                     | j                         }ddi|_        | j                         }ddi|_        t        ||g      }|j                  d   dk(  sJ y )Nr/   )r4   rz  r   r{  s       r&   test_concat_retain_attrsr~    sT     ))+CACI
))+CACI	c
	B88A;!r(   df_dtype)r   r   datetime64[ns]empty_dtype)Nr   rO   c                 x   t        ddgddgd|      }t        ddg|       }d}d }|d	k(  s
|d
k(  r| d
k7  rt        }t        j                  ||      5  t	        ||g      }d d d        |}|dk(  r(| d
k(  r|j                  d
      }n|j                  d      }t        j                  |       y # 1 sw Y   OxY w)Nr/   r   r1   rz   r   r1   rz   )r\   rM   DThe behavior of DataFrame concatenation with empty or all-NA entriesr  r   r   r   rO   )r
   FutureWarningr`   assert_produces_warningr   r?  ra   r  r  rR   emptyr   warnr%   rd   s           r&   %test_concat_ignore_empty_object_floatr    s    
 
Aq61a&1	BBuenK@E
PCD##I+":		#	#D	4 %$%H7)#yy+Hyy*H&(+% %s   B00B9c                    t        ddgddgd|      }t        t        j                  gt        j                  gd|       }|dk(  r
| dk(  rd}nd}d}d }| |k7  r	| t        }n|d	k(  rt        }t	        j
                  ||
      5  t        ||gd      }d d d        t        t        j                  ddgt        j                  ddgd|      }t	        j                  |       y # 1 sw Y   RxY w)Nr/   r   r  r   r   rO   r   r  r  r   Tr   )r
   r   r   r  r`   r  r   ra   r  s           r&   &test_concat_ignore_all_na_object_floatr  +  s     
Aq61a&1	BBrvvhx8LE7("H H
PCDh;#:	%	%		#	#D	4 8$78 "&&!QAGxXH&(+	8 8s   C''C0c                     t        dgt        j                  d      gd      } t        ddgi      }|j                  | j                        }d}t        j                  t        |      5  t        | |gd	
      }d d d        t        ddgt        j                  d      t        j                  gd      x}} t        j                  |       y # 1 sw Y   UxY w)Nr/   z
2012-01-01rG  r   r   r[   r  r   Tr   )r
   r   r   reindexr\   r`   r  r  r   r   ra   )r   rS   alignedr   r%   rd   s         r&   %test_concat_ignore_empty_from_reindexr  G  s     1#R\\,%?$@A
BC
S1#J
Ckk#++k.G
PC		#	#M	= ;gT:;aV2<<3Mrvv2VWXXHs&(+; ;s   +CCc                     t        t        d            } t        d      D cg c]  }| |z   	 }}g d}d}t        j                  t        |      5  t        ||d       d d d        t        j                  t        |      5  t        ||d       d d d        t        j                  t        |      5  t        d	 |D        d
 |D        d       d d d        t        j                  t        |      5  t        d |D        d |D        d       d d d        y c c}w # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   gxY w# 1 sw Y   y xY w)Nr0   r,   ro  zGThe behavior of pd.concat with len\(keys\) != len\(objs\) is deprecatedr   r/   rZ   r   c              3       K   | ]  }|  y wr6   r  r:   r;   s     r&   r>   z5test_concat_mismatched_keys_length.<locals>.<genexpr>b        a r  c              3       K   | ]  }|  y wr6   r  r:   r<   s     r&   r>   z5test_concat_mismatched_keys_length.<locals>.<genexpr>b       '8a'8r  c              3       K   | ]  }|  y wr6   r  r  s     r&   r>   z5test_concat_mismatched_keys_length.<locals>.<genexpr>d  r  r  c              3       K   | ]  }|  y wr6   r  r  s     r&   r>   z5test_concat_mismatched_keys_length.<locals>.<genexpr>d  r  r  )r   rJ   r`   r  r  r   )sernsersrY   r   s        r&   "test_concat_mismatched_keys_lengthr  V  s$   
q
C"1X&C!G&D&D
TC		#	#M	= (t$Q'(		#	#M	= (t$Q'(		#	#M	= B 4 '84'8qAB		#	#M	= B 4 '84'8qAB B '( (( (B BB Bs5   DD D,5D85E D),D58EEc                  H   t        t        t        d      d      t        t        d      d      t        g d      d      } | j                  ddg      } t        t        t        d      d      t        t        d      d      t        g d	      d      }|j                  ddg      }t	        | |g      }t        t        t        d
      d      t        t        d      d      t        g d      d      }|j                  ddg      }t        j                  ||       y )Nr   categoryr   eeer   )c1c2i2r  r  r   abcabceeeeeer  )r
   r   r~   	set_indexr   r`   ra   rV  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S#JFhz:hz:+,	
H !!4,/H&(+r(   c                      t        dgd      } t        dgd      }t        | |g      }t        ddgddg      }t        j                  ||       y )Nr   stringr   r/   r"  r   r2   r   rV  s       r&   test_concat_ea_upcastr    sP    
SE
*C
QCw
'CS#JF#q!Q0H&(+r(   c                  T   t        dd ig      } t        dt        j                  d      ig      }d}t        j                  t
        |      5  t        | |gd      }d d d        t        dd t        j                  d      gi      }t        j                  |       y # 1 sw Y   BxY w)Nr   z1990-12-20 00:00:00+00:00r  r   Tr   )r
   r   r   r`   r  r  r   ra   )r   rS   r   r%   rd   s        r&   (test_concat_none_with_timezone_timestampr    s    
c4[M
"C
c2<<(CDEF
GC
PC		#	#M	= 7c
67#bll3N&OPQRH&(+7 7s   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_testingr`   pandas.core.arraysr   pandas.tests.extension.decimalr   r   r5  r*  r,  r9  r;  rA  rE  rN  rP  filterwarningsSubclassedDataFramer   SubclassedSeriesrT  rW  r[  rd  rm  rs  rw  rD  r|  r~  skip_array_manager_invalid_testr  r  r  r  r  r  r  r  r(   r&   <module>r     sj   %     - + ) )     * 5}' }'@   34	' 5	',,- /?!CD, E,
, S 	YRYYq"%567IBIIa,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(   