
    bMh                     h   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
j%        &                    deeg          d             Z'd Z(d Z)d Z*e
j%        &                    dg dg dg          d             Z+d Z,e
j%        -                    d          e
j%        &                    d ej.        d e	j/        d d          i           ej0         e	j/        d d          d          g          d                         Z1d Z2d Z3e
j%        &                    d g d!          d"             Z4e
j%        &                    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
j%        &                    d, ed-d.g/           ed0d-d.gi/           ee81           ee81          g          d2             Z9e
j%        &                    d, ed-d.g/           ed0d-d.gi/           ee81           ee81          g          d3             Z:ej;        e
j%        &                    d4g d5          e
j%        &                    d6g d7          d8                                     Z<ej;        e
j%        &                    d4g d5          e
j%        &                    d6g d7          d9                                     Z=ej;        d:             Z>d; Z?d< Z@d= ZAd> ZBdS )?    )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                             e            d          d             Zd Z	d Z
e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 dS )TestConcatenatec                 4   t          ddd          }t          ddd          }t          t          j                            d                              d          |          }t          t          j                            d                              d          |          }|                                }|                                }t          ||g          }t          |j	        t                    sJ |j	        d	         |j	        d	         k    sJ d S )
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/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/reshape/concat/test_concat.pytest_append_concatz"TestConcatenate.test_append_concat!   s    lBBBlBBBBI))!,,<<R@@"EEBI))!,,<<R@@"EE\\^^\\^^ R!!&,44444|A"(1+------    zTODO(infer_string))reasonc                    t          t          j                            d                              d                    }t          t          j                            d                              ddd                              dd                    }t          dd	it          d          
          }t          |||gdd          }|s0|j	        j
        D ]"t          fd|||fD                       rJ #n|j	        j
        D ]j        J t          |||gdd          }|j	        j
        D ]j        j        dk    r!j        |j	        j
        d         j        u sJ 3j        j        dv r!j        |j	        j
        d         j        u sJ bj        t          k    r+|r|j	        j
        d         u sJ n	j        J j        J t          t          j                            d                              d                    }t          ||||gdd          }|j	        j
        D ]j        j        dk    rC|s|r5t          fd|j	        j
        |j	        j
        z   D                       sJ Kj        J Uj        j        dv r!j        |j	        j
        d         j        u sJ j        t          k    r't          fd|j	        j
        D                       sJ d S )Nr         r   r   r,   )size      foor   T)axiscopyc              3   `   K   | ](}|j         j        D ]}t          j        |          V  )d S N)_mgrarraysr   shares_memory).0xyarrs      r&   	<genexpr>z3TestConcatenate.test_concat_copy.<locals>.<genexpr>=   s_        V]   $S!,,      r(   Ff)iu)r,   r/   c              3   B   K   | ]}t          j        |          V  d S r6   r   r9   r:   otherr=   s     r&   r>   z3TestConcatenate.test_concat_copy.<locals>.<genexpr>]   sD        ! (e44     r(   c              3   B   K   | ]}t          j        |          V  d S r6   rC   rD   s     r&   r>   z3TestConcatenate.test_concat_copy.<locals>.<genexpr>h   s0      UUE2+C77UUUUUUr(   )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~   ry,,Q//??GGHH	--a0099!Ra9HHPPQRTUVVWWE
%((333 S#QT:::" 		,{)       #s^         {) , ,x++++ S#QU;;;;% 	, 	,Cy~$$x27>!#4#999999:--x38?1#5#::::::f$$& 0#(/!"4444448///x+++ 	--a00@@HHIIS#s+!%@@@;% 	V 	VCy~$$& ,*= ,    %'W^cho%E         8++++:--x38?1#5#::::::f$$UUUUSX_UUUUUUUU	V 	Vr(   c                 "   t          t          j                            d                              d                    }t          t          j                            d                              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                            d                              d                    }t          t          j                            d                              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        ||           d S )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+   rX   r3   columns)r
   r   r   r   r   r   r   from_arraysr_valuestmassert_frame_equalc_)r    rQ   rR   r%   	exp_indexexpected
exp_index2s          r&   test_concat_with_group_keysz+TestConcatenate.test_concat_with_group_keysj   sB   ry,,Q//??GGHH	--a00@@HHIIS	A///*"""$9$9$9:
 
	 RU29cj#89KKK
fh///R1v...+-?-?-?ASASAS,TUU
RU29bi#78
KKK
fh/// ry,,Q//??GGHH	--a00@@HHIIS	AQ777RU29cj#899MMM
fh///R1vA666RU29bi#78*MMM
fh/////r(   c                     t          t          j                            d                              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 d S )Nr   r   r,   r   r/   r-   )threetwoonezero)rj   ri   rh   	group_key)r3   rX   levelsnamesname)r   r/   r   r-   )r
   r   r   r   r   ilocr   r_   assert_index_equalr[   rm   r   rn   )r    rQ   pieceslevelr%   s        r&    test_concat_keys_specific_levelsz0TestConcatenate.test_concat_keys_specific_levels   s   ry,,Q//??HHII'!!!aV)$bgaaa!forwqqq1#vG///(((7-
 
 
 	fn3A6e+8V8V8VWWW
fn3A6lll8K8KLLL~#T':::::::r(   mappingdictc           
         |dk    rt           n|} |t          t          j                            d                              d                    t          t          j                            d                              d                    t          t          j                            d                              d                    t          t          j                            d                              d                    d          t                                                    }t                    }t          fd|D             |          }t          j
        ||           t          d          }t          fd	|D             |d
          }t          j
        ||           g d}t          |          }t          fd|D             |          }t          j
        ||           d S )Nrw   r   r+   )r1   barbazquxc                      g | ]
}|         S  r}   r:   kframess     r&   
<listcomp>z7TestConcatenate.test_concat_mapping.<locals>.<listcomp>       :::6!9:::r(   rW   r/   r3   c                      g | ]
}|         S r}   r}   r~   s     r&   r   z7TestConcatenate.test_concat_mapping.<locals>.<listcomp>   r   r(   rY   )rz   r1   ry   c                      g | ]
}|         S r}   r}   r~   s     r&   r   z7TestConcatenate.test_concat_mapping.<locals>.<listcomp>   s    3336!9333r(   )rw   r
   r   r   r   r   listrX   r   r_   r`   )	r    rv   non_dict_mapping_subclassconstructorsorted_keysr%   rc   rX   r   s	           @r&   test_concat_mappingz#TestConcatenate.test_concat_mapping   s   %//dd5N !6!6q!9!9!I!I&!Q!QRR !6!6q!9!9!I!I&!Q!QRR !6!6q!9!9!I!I&!Q!QRR !6!6q!9!9!I!I&!Q!QRR	 
 
 6;;==))::::k:::MMM
fh///Q'''::::k:::STUUU
fh///$$$T***3333d333$???
fh/////r(   c                 
   t          t          j                            d                              d                    }t          t          j                            d                              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                     d S )Nr   r/   r-   r/   r,   r1   rz   rj   ri   firstsecond))r1   rj   )r1   ri   )rz   rj   )rz   ri   )rX   rm   rn   r   )r   r   r/   r/   )r   r/   r   r/   r   r   r   r   )rm   codesrn   rX   rm   )NNNrX   rn   )r   r   Nro   )r
   r   r   r   r   r   r   r   r_   r`   rn   rr   rm   r   )r    rQ   rR   rm   rn   r%   rc   rb   s           r&   test_concat_keys_and_levelsz+TestConcatenate.test_concat_keys_and_levels   s   ry,,Q//??GGHH	--a00@@HHII%.5%.1(#b#QQQ	
 
 
 2sB,--aSE><<|||<4&.
 
 
	
 #
fh/// b#QQQ
 
 

 |![0000 b#QQQH%
 
 

 |!%>>>>>
L"E5%.w$G$G$G	
 	
 	
 	
 	
r(   c                 H   t          t          j                            d                              d          dg          }t          t          j                            d                              d          dg          }d}t          j        t          |          5  t          ||gd	d
gg dg           d d d            n# 1 swxY w Y   d}t          j        t          |          5  t          ||gd	d
gg dg           d d d            d S # 1 swxY w Y   d S )Nr   r   ar2   r   bz Values not found in passed levelmatchrj   ri   )r1   ry   rz   r   zKey one not in level)	r
   r   r   r   r   pytestraises
ValueErrorr   )r    rQ   rR   msgs       r&   "test_concat_keys_levels_no_overlapz2TestConcatenate.test_concat_keys_levels_no_overlap   s   ry,,Q//??GGPSuUUU	--a00@@HHQTPUVVV0]:S111 	R 	RB85%.:O:O:O9PQQQQ	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R %]:S111 	S 	SB9E5>;P;P;P:QRRRR	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	Ss$   "CCC0DD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        	                    d          
                    d          dg          }t          t          j        	                    d          
                    d          dg          }t          ||gddgddg          }|j        j        dk    sJ d S )N)ABCDr/   r   r-   r,   f8rL   i8rZ   Tignore_indexr   r   r   r   r   r2   r   r   rj   ri   r   r   r   )r   r   )r
   r   arrayr   concatenater^   r_   r`   r   r   r   r   rn   )r    r[   df1rR   appendedrc   rQ   r%   s           r&    test_crossed_dtypes_weird_cornerz0TestConcatenate.test_crossed_dtypes_weird_corner   s   &&&Xlll$777Xlll$777Xlll$777Xlll$777	  
 
 
 Xlll$777Xlll$777Xlll$777Xlll$777	  
 
 
 3*4888NCJ
3!<<<g
 
 
 	h111ry,,Q//??GGPSuUUU	--a00@@HHQTPUVVVS	w>QRRR|!%8888888r(   c                     t          dddt          d                    }t          dddt          d                    }t          ||g|           d S )Nr1   ry   )r   r   r/   r   r2   )r   r   sort)r
   rI   r   )r    r   r   rR   s       r&   test_with_mixed_tuplesz&TestConcatenate.test_with_mixed_tuples
  sc     eu55U1XXFFFeu55U1XXFFF 	Sz%%%%%%r(   c                 z   t          ddd          }t          j        dd          }t          ||          }t          ||          }t	          |                    dd	          |          }t	          t          j        |d
                              dd
          |ddg          }t          ||gd	          }t          j	        ||           t	          t          j        |d
                              dd
          |dd	g          }t          ||gd	          }t          j	        ||           t	          t          j        |d                              dd          |g d          }t          |||gd	          }t          j	        ||           t	          t          j        |d                              dd          |g d          }t          |||||gd	          }t          j	        ||           d|_
        t	          t          j        |d                              dd          |g d          }t          |||gd	          }t          j	        ||           d|_
        t	          t          j        |d                              dd          |g d          }t          |||gd	          }t          j	        ||           t	          t          j        |d                              dd          |g d          }t          |||gd	d          }t          j	        ||           d S )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   ry   r1   r   ry   T)r3   r   )r   r   aranger   r
   rH   repeatr   r_   r`   rp   r    r   r=   r#   r$   rQ   rc   r%   s           r&   test_concat_mixed_objs_columnsz.TestConcatenate.test_concat_mixed_objs_columns  sf    ="3???i'***Cu%%%Cu%%%s{{2q))777Ic1%%b!,,EAq6
 
 
 Rq)))
fh///Ic1%%b!,,EAq6
 
 
 Rq)))
fh///Ic1%%b!,,E999
 
 
 R1---
fh///Ic1%%b!,,E???
 
 
 RR,1555
fh/// Ic1%%b!,,E===
 
 
 R1---
fh///Ic1%%b!,,ECTCTCT
 
 
 R1---
fh/// Ic1%%b!,,E999
 
 
 R14@@@
fh/////r(   c                    t          ddd          }t          j        dd          }t          ||          }t          ||          }t	          |                    dd	          |          }t	          t          j        |d
                              dd	          |                                d
z  dg          }t          |||g          }t          j
        ||           d S )Nr   r   r   r   r   r   r2   r   r/   r-   r   r   )r   r   r   r   r
   rH   tiletolistr   r_   r`   r   s           r&   test_concat_mixed_objs_indexz,TestConcatenate.test_concat_mixed_objs_indexK  s     ="3???i'***Cu%%%Cu%%%s{{2q))777GCOO##B**%,,..12Dqc
 
 
 R%%
fh/////r(   c           	         t          ddd          }t          j        dd          }t          ||d          }t          ||d	          }t	          |                    d
d          |          }t	          t          j        t          j        t          j        d          dk    dt          j	                  |          j
        |                                dz  g d          }t          |||g          }t          j        ||           t	          t          j        |d                              d
d          dg          }t          |||gd          }t          j        ||           d S )Nr   r   r   r   r   r   r1   )r   rp   ry   r   r/   r2   r-   r   r   r   rZ   Tr   )r   r   r   r   r
   rH   kronwhereidentitynanTr   r   r_   r`   r   r   s           r&   "test_concat_mixed_objs_index_namesz2TestConcatenate.test_concat_mixed_objs_index_names[  sY    ="3???i'***Cu5111Cu5111s{{2q))777GBHR[^^q0!RV<<cBBD,,..1$%%%
 
 

 R%%
fh/// RWS!__44R;;aSIIIR4888
fh/////r(   c           	         t          dt          j        d                              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	                   d S )Ndate20130101UTCr   r/   i  i  r   textz
some words	   )r
   pd	Timestamptz_localizeNaTr   rq   r_   assert_series_equaldtypesr   )r    rQ   r%   s      r&   test_dtype_coercionz#TestConcatenate.test_dtype_coercionr  s6   j!9!9!E!Ee!L!Lbf UVWW!rws|455
v}bi888 $1!5!5xa7K7K LMNN!rws|455
v}bi888 $! ;<==!rws|455
v}bi88888r(   c                    t          t          j                            d                              d                    }t          |gdg          }t          ||gddg          }t          j        ||d d                    d S )Nr   rg   r1   rW   ry   r   )r
   r   r   r   r   r   r_   r`   )r    rQ   r%   rc   s       r&   test_concat_single_with_keyz+TestConcatenate.test_concat_single_with_key  s~    ry,,Q//??HHIIE7+++2r(%888
fhssm44444r(   c                     t          j        t          d          5  t          g            d d d            d S # 1 swxY w Y   d S )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II 	 	2JJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   9= =c                    t          t          j                            d                              d                    }|d d         d d |dd          g}t          |          }t          j        ||           t          j	        t          d          5  t          d d g           d d d            d S # 1 swxY w Y   d S )Nr   rg   r0   zAll objects passed were Noner   )r
   r   r   r   r   r   r_   r`   r   r   r   )r    rQ   rs   r%   s       r&   test_concat_exclude_nonez(TestConcatenate.test_concat_exclude_none  s    ry,,Q//??HHIIRaR&$bf-
fb)))]:-KLLL 	! 	!D$<   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s   B44B8;B8c                    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        ||           d S )N)r         r   r/   )r   r   cde)r   r   r   r   rW   r
   r   r_   r`   )r    df0r%   rc   s       r&   test_concat_keys_with_nonez*TestConcatenate.test_concat_keys_with_none  s   |||\\\BCCd3rr7RaRsSSTT#bqb'BQBcJJKK
fh///3BQBRaR#.5N5N5N
 
 
 3BQBRaR#6=Q=Q=QRRR
fh/////r(   c                 P   t          t          j        dt          j                  t	          dd                    }|                                d d d         }t          ||gdd	          }t          ||gdd	          }t          |          t          |          k    sJ d S )
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  s    Ib
+++:lTV3W3W3W
 
 
 hhjj1o sCjwQ777Sza8884yyCJJ&&&&&&r(   c                 ,   t          t          j        d                    }t          t          j        d                    }dx|_        |_        t          ||gd          }t          ||d          }ddg|_        t          j	        ||           d S )Nr0   z	same namer/   r   r   r/   )
r   r   zerosonesrp   r   r
   r[   r_   r`   )r    ts0r   r%   rc   s        r&   test_concat_bug_2972z$TestConcatenate.test_concat_bug_2972  s    RXa[[!!RWQZZ  ))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        ||           d S )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_   r`   )r    r   rR   rc   r%   s        r&   test_concat_bug_3602z$TestConcatenate.test_concat_bug_3602  s    &,,#||999 
 
 !//<<<MM
 
 &&&'''''''''	
 
 NMMc
+++
fh/////r(   c                    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          |           d S )Nr/   r   r-   r,   r0   r   r/   r   r-   r,   r0   r   Tr   c              3      K   | ]}|V  d S r6   r}   )r:   rQ   s     r&   r>   z8TestConcatenate.test_concat_iterables.<locals>.<genexpr>  s"      ,,2B,,,,,,r(   c                   (    e Zd ZdefdZ fdZdS )>TestConcatenate.test_concat_iterables.<locals>.CustomIterator1returnc                     dS )Nr   r}   r   s    r&   __len__zFTestConcatenate.test_concat_iterables.<locals>.CustomIterator1.__len__  s    qr(   c                 P    	 d|         S # t           $ r}t          |d }~ww xY w)Nr   )KeyError
IndexError)r    r   errr   rR   s      r&   __getitem__zJTestConcatenate.test_concat_iterables.<locals>.CustomIterator1.__getitem__  sB    ."s++E22 . . .$#-.s   
 
% %N)__name__
__module____qualname__intr  r  r   rR   s   r&   CustomIterator1r
    sN            . . . . . . . .r(   r  c                   "    e Zd Zdef fdZdS )>TestConcatenate.test_concat_iterables.<locals>.CustomIterator2r  c              3      K   V  V  d S r6   r}   )r    r   rR   s    r&   __iter__zGTestConcatenate.test_concat_iterables.<locals>.CustomIterator2.__iter__  s      								r(   N)r  r  r  r   r  r  s   r&   CustomIterator2r    s?        (         r(   r  )r
   r_   r`   r   r   r   Iterable)r    rc   r  r  r   rR   s       @@r&   test_concat_iterablesz%TestConcatenate.test_concat_iterables  s    			""			""///00
fc3ZdCCCXNNN
fc3ZdCCCXNNN
,,#s,,,4@@@(	
 	
 	
 	fUC:%6%6TJJJHUUU	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	f__%6%6TJJJHUUU	 	 	 	 	 	 	 	cl 	 	 	
 	f__%6%6TJJJHUUUUUr(   c                     t          t          d          g d          g}|d t          d          D             z  }t          |d          j        }t	          g d          }t          j        ||           d S )	Nr-   )r   r/   Nr   c                 N    g | ]"}t          t          d           g d          #S )r-   )Nr/   r   r   )r
   rI   )r:   _s     r&   r   z5TestConcatenate.test_concat_order.<locals>.<listcomp>  s/    VVVa	a...AAAVVVr(   d   Tr   )r/   r   N)r
   rI   r   r[   r   r_   rr   )r    dfsr%   rc   s       r&   test_concat_orderz!TestConcatenate.test_concat_order  s    uQxx@@@AVV5QT::VVVV$'''/((
fh/////r(   c                 D   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        ||           d S )Nr/   r   Int64r   Tr   )	r   r   r   r   r   r   rN   r_   r   )r    r   r   r%   rc   s        r&   .test_concat_different_extension_dtypes_upcastsz>TestConcatenate.test_concat_different_extension_dtypes_upcasts  s    28QF'22233:q!f%%&&AT2221aWQZZ8GGG
vx00000r(   c                 N   t          t          t          d                    t          t          d                    gddg          }t          t          t          d                    t          t          d                    d          }t          j        ||           d S )Nr-   r,   FirstAnotherrW   )r*  r+  )r   r   rI   r_   r   )r    rc   r%   s      r&   test_concat_ordered_dictz(TestConcatenate.test_concat_ordered_dict  s    E!HHveAhh//07K
 
 
 &q"2"2veAhh?O?OPPQQ
vx00000r(   c                    t          t          j                            d                              d          g ddg          }t          t          j                            d                              d          g ddg          }d}t          j        t          |	          5  t          ||gd
           d d d            d S # 1 swxY w Y   d S )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   rR   r   s       r&   #test_concat_duplicate_indices_raisez3TestConcatenate.test_concat_duplicate_indices_raise  s!    I!!!$$44Q77!//E
 
 

 I!!!$$44Q77!//E
 
 

 I],C888 	' 	'C:A&&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's   (C		CCN)!r  r  r  r'   r   markxfailr   rU   re   ru   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I5V 5V JI5Vn0 0 0:; ; ;" [YF(;<<0 0 =<04'
 '
 '
RS S S9 9 9B& & &60 60 60p0 0 0 0 0 0.9 9 9"5 5 5  ! ! !0 0 0' ' '0 0 00 0 02V V V@0 0 01 1 11 1 1' ' ' ' 'r(   r   c           	      P    |t                     j        }| } |t          j        dg||                     |t          j        t          j        g||                     |t          j        dg||                    g}t          |          }|j        j        |k    sJ d S )Nr   r/   rL   ndminr0   )rN   ndimr   r   r   r   r^   rL   )float_numpy_dtypeframe_or_seriesdimsdtr$  r;   s         r&   !test_concat_no_unnecessary_upcastr:     s    ?(((-D	B 	!Bd;;;<<"&4@@@AA!Bd;;;<<C
 	sA8>Rr(   pdtc           	      @   |} |             j         } | t          j        dg||                     | t          j        t          j        g|                     | t          j        dg||                    g}t	          |          }|j        j        dk    sJ d S )Nr/   r3  )r4  r0   r   )r5  r   r   r   r   r^   rL   )r;  any_signed_int_numpy_dtyper9  r8  r$  r;   s         r&   test_concat_will_upcastr>  .  s    	#B355:DBHaS$///00BHbfXT***++BHaS$///00C
 	sA8>Y&&&&&&r(   c                      t          ddgi          } t          dg i          }t          ddgi          }t          | |g          }t          j        ||           d S )Nr1   r/   g      ?r   )r   rR   rc   r%   s       r&   0test_concat_empty_and_non_empty_frame_regressionr@  ;  sc    
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                              t	          j        t          j        d                    }t          | | gd          }t          j
        ||           d S )Nr   r   r/   r   datar   )r   r   r
   astyper   SparseDtyper   r   r   r_   r`   )r   rc   r%   s      r&   test_concat_sparserF  D  s    {999%%&&A1v1v1v6777>>
rx## H QF###F&(+++++r(   c                  r   t          j        t          j        d           } t	          t           j                            dd g          |           }t	          dgt                    }t	          g dg d                              |           }t          ||gd          }t          j        ||           d S )Nr/   r   )r/   Nr/   )r   r/   r   rC  r   r   r   )r   rE  r   r   r   r8   r   floatrD  r   r_   r   )rL   r   r   rc   r%   s        r&   test_concat_dense_sparserJ  N  s    N2:t,,Ery$$aY//u===As%   A<<<yyy999@@GGHQF###F68,,,,,r(   rX   )r   r?   r?   )r?   r   r?   c                 z   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        ||           d S )Nr  r  r   r   )      r   r   ro   )r   r   r  r   r/   r3   rX   )r/   r,   rM  r   )r   r0   rN  r   )r-   r   r   r  r   r   r   r   rZ   )r
   r   r   r   from_tuplesr_   r`   )rX   rQ   r#   r$   r%   expected_valuesexpected_columnsrc   s           r&   test_duplicate_keysrS  X  s     
33	4	4B					$	$	$B	3	'	'	'BRRLqt444F$}}mmm]]]CO!-
q'3$q'3$q'3$q'3H  2BCCCH&(+++++r(   c                  4   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        ||           d S )Nr   r  r  rL  r/   rO  )r/   r,   r/   r,   )r   r0   r   r0   )r-   r   r-   r   r   r   r   rZ   )r
   r   r   rP  r_   r`   )rX   rQ   r%   rQ  rR  rc   s         r&   test_duplicate_keys_same_framerU  g  s    :D	33	4	4BRH14000F#||\\\<<<@O!-
q'3$q'3$q'3$q'3H  2BCCCH&(+++++r(   zMignore:Passing a BlockManager|Passing a SingleBlockManager:DeprecationWarningobjr   r   ro   c                 f    t          | | g          }t          |t          |                     sJ d S r6   )r   r   type)rV  r%   s     r&   test_concat_preserves_subclassrY  t  s7     S#JFfd3ii(((((((r(   c                     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        ||           d S )
Nr   r  r'  r   r  Tr   r  )r,   r0   r   r/   r   r-   )r
   r   r   r   r   r_   r`   r   rR   r%   rc   s       r&   (test_concat_frame_axis0_extension_dtypesr\    s    
S"(999G<<<=
>
>C
S"(999--.
/
/CS#JT222F#1112'BBBH&(+++S#JT222F#1112'BB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        ||           d S )
Nr   r   r'  r   r   r/   Tr   rL  r   )df_adf_br%   rc   s       r&   +test_concat_preserves_extension_int64_dtyper`    s    cB4[000DcA3Zw///DT4Lt444FDzq	::'JJJH&(+++++r(   zdtype1,dtype2,expected_dtype))boolra  ra  )booleanra  rb  )ra  rb  rb  )rb  rb  rb  c                     t          ddg|           }t          ddg|          }t          ||gd          }t          g d|          }t          j        ||           d S )NTFr   r   )TFFT)r   r   r_   r   )dtype1dtype2expected_dtypeser1ser2r%   rc   s          r&   test_concat_bool_typesri    sx     4-v...D5$-v...DT4Lt444F000GGGH68,,,,,r(   )rX   	integrityredr-   TF)rk  bluerk  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        ||           d S )Nr   r/   r   r   r   r-   )rX   verify_integrity)r   r   r   r  r2   )r   r   r   zipr   rP  r_   r   )rX   rj  series_listr%   tuplesrc   s         r&   test_concat_repeated_keysrr    s     3(##VS!H%5%5vsAh7G7GHKKdYGGGF#dOOO,,--Fiiiz'=f'E'EFF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
        ||           d S )Nz2021-04-08 21:21:14+00:00zdatetime64[ns, UTC]z
Time (UTC))rL   rp   r   g!u?rH  rN   zMaybe Time (UTC))r   r   r[   r   r   r   r   r   r   r2   )r   DatetimeIndexr
   r   r   r   r   rN   r   r_   r`   )dtir   idxr   r%   rb   rc   s          r&    test_concat_null_object_with_dtirx    s   

	$%-B  C C&?#666E
h-?
@
@
@CbfX66cBBBDT5M	222FtSVnF333I4.777&"&!&&!	
 	

   H &(+++++r(   c                  D   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	        ||           d S )Nr   )r   r/   r/   r   rZ   r   r   )
r   rP  r
   r   
RangeIndexr   r   r   r_   r`   )mir   rR   r%   rc   s        r&   ,test_concat_multiindex_with_empty_rangeindexr|    s    		8 4	5	5B
aVHb
)
)
)C
1#r}Q'7'7
8
8
8CS#JF1a&2626"23R@@@H&(+++++r(   rC  r/   r   rB  col1r   c                     |                                  }ddi|_        |                                  }ddi|_        t          ||g          }t          |j                  dk    sJ d S )Nr/   r   r   )r4   attrsr   r   rC  r   rR   rQ   s       r&   test_concat_drop_attrsr    sd     ))++CACI
))++CACI	c
		Brx==Ar(   c                     |                                  }ddi|_        |                                  }ddi|_        t          ||g          }|j        d         dk    sJ d S )Nr/   )r4   r  r   r  s       r&   test_concat_retain_attrsr    sb     ))++CACI
))++CACI	c
		B8A;!r(   df_dtype)r   r   datetime64[ns]empty_dtype)Nr   rN   c                    t          ddgddgd|          }t          ddg|           }d}d }|d	k    s|d
k    r| d
k    rt          }t          j        ||          5  t	          ||g          }d d d            n# 1 swxY w Y   |}|dk    r1| d
k    r|                    d
          }n|                    d          }t          j        ||           d S )Nr/   r   r1   ry   r   r1   ry   )r[   rL   DThe behavior of DataFrame concatenation with empty or all-NA entriesr  r   r   r   rN   )r
   FutureWarningr_   assert_produces_warningr   rD  r`   r  r  rQ   emptyr   warnr%   rc   s           r&   %test_concat_ignore_empty_object_floatr    s@   
 
Aq61a&11	B	B	BBuenK@@@E
PCD###I+":":		#D	4	4	4 % %$$% % % % % % % % % % % % % % %H7)##yy++HHyy**H&(+++++s   A==BB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 }| |k    r
| t          }n|d	k    rt          }t	          j        ||
          5  t          ||gd          }d d d            n# 1 swxY w Y   t          t          j        ddgt          j        ddgd|          }t	          j        ||           d S )Nr/   r   r  r   r   rN   r   r  r  r   Tr   )r
   r   r   r  r_   r  r   r`   r  s           r&   &test_concat_ignore_all_na_object_floatr  +  sb    
Aq61a&11	B	B	BBrvhx88LLLE7(""HH H
PCDh;#:	%	%	%		#D	4	4	4 8 8$7778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 "&!QAGGxXXXH&(+++++s   B++B/2B/c                     t          dgt          j        d          gd          } t          ddgi          }|                    | j                  }d}t          j        t          |          5  t          | |gd	
          }d d d            n# 1 swxY w Y   t          ddgt          j        d          t          j	        gd          x}} t          j
        ||           d S )Nr/   z
2012-01-01rL  r   r   rZ   r  r   Tr   )r
   r   r   reindexr[   r_   r  r  r   r   r`   )r   rR   alignedr   r%   rc   s         r&   %test_concat_ignore_empty_from_reindexr  G  s    1#R\,%?%?$@AA
B
BC
S1#J

Ckk#+k..G
PC		#M	=	=	= ; ;gT:::; ; ; ; ; ; ; ; ; ; ; ; ; ; ;aV2<3M3Mrv2VWWXXXHs&(+++++s   1BBBc                     t          t          d                    fdt          d          D             } g d}d}t          j        t          |          5  t          | |d           d d d            n# 1 swxY w Y   t          j        t          |          5  t          | |d	           d d d            n# 1 swxY w Y   t          j        t          |          5  t          d
 | D             d |D             d           d d d            n# 1 swxY w Y   t          j        t          |          5  t          d | D             d |D             d	           d d d            d S # 1 swxY w Y   d S )Nr0   c                     g | ]}|z   S r}   r}   )r:   nsers     r&   r   z6test_concat_mismatched_keys_length.<locals>.<listcomp>Y  s    &&&C!G&&&r(   r,   rt  zGThe behavior of pd.concat with len\(keys\) != len\(objs\) is deprecatedr   r/   rY   r   c              3      K   | ]}|V  d S r6   r}   r:   r;   s     r&   r>   z5test_concat_mismatched_keys_length.<locals>.<genexpr>b  "        a      r(   c              3      K   | ]}|V  d S r6   r}   r:   r<   s     r&   r>   z5test_concat_mismatched_keys_length.<locals>.<genexpr>b  "      '8'8a'8'8'8'8'8'8r(   c              3      K   | ]}|V  d S r6   r}   r  s     r&   r>   z5test_concat_mismatched_keys_length.<locals>.<genexpr>d  r  r(   c              3      K   | ]}|V  d S r6   r}   r  s     r&   r>   z5test_concat_mismatched_keys_length.<locals>.<genexpr>d  r  r(   )r   rI   r_   r  r  r   )sersrX   r   r  s      @r&   "test_concat_mismatched_keys_lengthr  V  s   
q

C&&&&U1XX&&&D??D
TC		#M	=	=	= ( (t$Q''''( ( ( ( ( ( ( ( ( ( ( ( ( ( (		#M	=	=	= ( (t$Q''''( ( ( ( ( ( ( ( ( ( ( ( ( ( (		#M	=	=	= B B  4   '8'84'8'8'8qAAAAB B B B B B B B B B B B B B B		#M	=	=	= B B  4   '8'84'8'8'8qAAAAB B B B B B B B B B B B B B B B B BsH   A99A= A=B>>CC$'DDD='E11E58E5c                     t          t          t          d          d          t          t          d          d          t          g d          d          } |                     ddg          } t          t          t          d          d          t          t          d          d          t          g d	          d          }|                    ddg          }t	          | |g          }t          t          t          d
          d          t          t          d          d          t          g d          d          }|                    ddg          }t          j        ||           d S )Nr   categoryr   eeer  )c1c2i2r  r  r  abcabceeeeeer  )r
   r   r   	set_indexr   r_   r`   r[  s       r&   $test_concat_multiindex_with_categoryr  g  sr   
eJ777eJ777##	
 	
 C --t
%
%C
eJ777eJ77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        ||           d S )Nr   stringr   r/   r'  r   r2   r   r[  s       r&   test_concat_ea_upcastr    sn    
SE
*
*
*C
QCw
'
'
'CS#JF#q!Q000H&(+++++r(   c                  v   t          dd ig          } t          dt          j        d          ig          }d}t          j        t
          |          5  t          | |gd          }d d d            n# 1 swxY w Y   t          dd t          j        d          gi          }t          j        ||           d S )Nr   z1990-12-20 00:00:00+00:00r  r   Tr   )r
   r   r   r_   r  r  r   r`   )r   rR   r   r%   rc   s        r&   (test_concat_none_with_timezone_timestampr    s    
c4[M
"
"C
c2<(CDDEF
G
GC
PC		#M	=	=	= 7 7c
6667 7 7 7 7 7 7 7 7 7 7 7 7 7 7#bl3N&O&OPQRRH&(+++++s   A44A8;A8)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   r:  r/  r1  r>  r@  rF  rJ  rS  rU  filterwarningsSubclassedDataFramer   SubclassedSeriesrY  r\  r`  ri  rr  rx  r|  rI  r  r  skip_array_manager_invalid_testr  r  r  r  r  r  r  r}   r(   r&   <module>r     s,          % $ $ $ $ $                  - - - - - - + + + + + + ) ) ) ) ) ) ) ) )                            * * * * * * 5 5 5 5 5 5}' }' }' }' }' }' }' }'@       344	' 	' 54	', , ,, , ,- - - ///???!CDD, , ED,
, 
, 
, S  	YRYq"%5%5677IBIa,,3777 ) )  ), , ,, , , "   - - - 
1d
1e			'			&	 - - -, , ,0, , , 
QF	A	
 	
 	

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

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