
    bMh"                     \    d dl Zd dlZd dlZd dlmZmZmZmZ d dl	m
Z  G d d          ZdS )    N)	DataFrameIndexSeriesconcatc                   .   e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zej                            d
ddg          ej                            dddg          ej                            dddg          d                                     Zd Zd Zd ZdS )TestDataFrameConcatc                    t          t          j        d          ddgt          j                  }t          t          j        d          t          j                  }t          ||fd          j        }t          t          j        d          gd	z  t          j        d
          gd	z  z   g d          }t          j
        ||           d S )N)
      foobar)datacolumnsdtype)r   r      axisfloat64r   float32)r   r   r   r   index)r   nponesr   r   r   dtypesr   r   tmassert_series_equalselfdf1df2resultsexpecteds        j/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/reshape/concat/test_dataframe.py"test_concat_multiple_frames_dtypesz6TestDataFrameConcat.test_concat_multiple_frames_dtypes   s    RWW--u~RZXXXRWW--RZ@@@#s!,,,3Xi  !A%))<)<(=(AA&&&
 
 
 	w11111    c           	      \   t          t          j        d          t          d                    }t          t          j        d          dz  t          d                    }t	          ||fddg          }t          d	d	d
d
d
dd	d	d
d
d
dd          }t          j        ||           d S )N)r   r   ABr   )   r   r   )beebah)r*   bookeys      ?g       @))r*   r+   r   )r*   r+   r   )r*   r,   r   )r*   r,   r   )r*   r,   r   )AB)r   r   r   listr   r   assert_frame_equalr   s        r#   test_concat_tuple_keysz*TestDataFrameConcat.test_concat_tuple_keys   s    d<<<!+T$ZZ@@@#s>>*JKKK (+'*'*'*'*  (+'*'*'*'*  
 
$ 	gx00000r%   c                 n   t          ddgddgd          }t          ddgd	          }t          ||g|
          }t          g dg ddt          j                            ddgddgfdd g                    }t          j        ||           t          ddgd 	          }t          ||g|dg          }t          j        ||           t          ||g|
          }t          g dg ddt          j                            ddgddgfd d g                    }t          j        ||           d S )Nr   r   皙?皙?)r   r   abbaznamer-   )r   r   r   r   )r6   r7   r6   r7   r   namesr   r.   r>   )r   r   r   pd
MultiIndexfrom_productr   r3   )	r   dfr   concatted_named_from_keysexpected_namedindex_no_nameconcatted_named_from_namesconcatted_unnamedexpected_unnameds	            r#   test_concat_named_keysz*TestDataFrameConcat.test_concat_named_keys3   s   1vsCj99::sCju---$*B8%$@$@$@!" LL)=)=)=>>-,,sCj1a&-A%QU,WW
 
 
 	7HHHsCjt444%+RH=QVPW%X%X%X"
8.III"B8-@@@$ LL)=)=)=>>-,,sCj1a&-A$PT,VV
 
 
 	/1ABBBBBr%   c                 H   t          dddgit          d                    }t          dddgit          d                    }t          dg dig d	          }t          ||gd
          }t          j        ||           t          ||gd          }t          j        ||           t          ||gd          }t          j        ||           t          ddgddggddgddg          }t          ||gd          }t          j        ||           t          ||gd          }	t          j        |	|           t          ddg          }
t          ddg          }t          g dg d	          }t          |
|gd
          }t          j        ||           t          |
|gd          }t          j        ||           t          |
|gd          }t          j        ||           t          ddgddggddgddg          }t          |
|gd          }t          j        ||           t          |
|gd          }t          j        ||           t          j        t          d          5  t          |
|gd           d d d            d S # 1 swxY w Y   d S )Nr0   r6   r7   r   r   333333?皙?)r6   r7   rL   rM   )r   r   r   r   r   r   rowsr   r   )r   r   r   zNo axis named)match	something)
r   ranger   r   r3   r   r   pytestraises
ValueError)r   r   r    expected_indexconcatted_indexconcatted_rowconcatted_0expected_columnsconcatted_columnsconcatted_1series1series2expected_index_seriesconcatted_index_seriesconcatted_row_seriesconcatted_0_seriesexpected_columns_seriesconcatted_columns_seriesconcatted_1_seriess                      r#   test_concat_axis_parameterz.TestDataFrameConcat.test_concat_axis_parameterI   sY   sCj)q:::sCj)q::: #C)=)=)=#>lllSSS #s':::
o~>>>Sz777
m^<<<c3Za000
k>::: %3Z#s$QFS#J
 
 
 #C:I>>>
/1ABBBc3Za000
k+;<<<#s$$#s$$ !'';';';<<< P P P!''(:!I!I!I
57LMMM%w&8vFFF
35JKKK#Wg$6Q???
13HIII #,3Z#s$QFQF#
 #
 #
 $*7G*<9#M#M#M 
68OPPP#Wg$6Q???
02IJJJ ]:_=== 	9 	9GW%K8888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9s   6JJJc           	         t          dt          d          idt          j                            g dg dgddg          	          }t          |j        d dd d f         |j        d
d d d f         f          }t          dg didt          j                            g dddg          	          }t          j	        ||           d S )Ncol	   int32)A0A1A2)B0B1B2r   r   r=   )r   r   )r   r         ))rj   rm   )rj   rn   )rl   rn   )rl   ro   )
r   rQ   r@   rA   rB   r   ilocfrom_tuplesr   r3   r   rC   resultr"   s       r#   test_concat_numerical_namesz/TestDataFrameConcat.test_concat_numerical_names   s    E!HH**''');););<QF +  	
 
 
 !QQQaaa9::LLL!-++HHHQRTUPV ,  
 
 
 	fh/////r%   c                 @   t          ddig          }t          ||gd          }|                    d          }t          t          j        ddg                              dd          ddg                              d          }t          j        ||           d S )Nr8   r9   r   r   categoryr   r(   )r   r   astyper   arrayreshaper   r3   ru   s       r#   test_concat_astype_dup_colz.TestDataFrameConcat.test_concat_astype_dup_col   s    c
|$$RH1%%%:&&Hc3Z  ((A..c

 
 

&

 	 	fh/////r%   c           
      8   t          dt          g dt          g dd                    i          }t          dt          ddgt          d	d
gd                    i          }t          ||gdddg|          }t	          |j                  ddgk    sJ d S )Nvaluer   r   r)   )r8   r9   cidr;   r   rq   rr   r8   r9   r   t1t2)r   r.   sort)r   r   )r   r   )r   r   r   r   r2   r   )r   r   r   r   rv   s        r#   test_concat_dataframe_keys_bugz2TestDataFrameConcat.test_concat_dataframe_keys_bug   s    fYYYeOOO$.O.O.OPPPQ
 
 AeS#JT6R6R6R!S!S!STUU Rqd|$GGGFN##'IIIIIIIr%   c                    t          t          g dd                    }t          t          g dd                    }t          ||g          }t          |                    d          |g          }t	          j        ||           d S )N)TFTTbool)r   )r   r   r   int64)r   r   r   rz   r   r3   r   r   r    rv   r"   s        r#   test_concat_bool_with_intz-TestDataFrameConcat.test_concat_bool_with_int   s     888GGGHHyyy88899c
##3::g..455
fh/////r%   c                 h   g d}g d}t          ||          }t          |gdgddg          }t          j                            dg|gddg          }t          ||          }t          j        ||           t          j        |j        j	        d	         t          d	d
gd                     d S )N)r   r   r)   r   )r   r   r0   IDdater?   r=   r   r)   r;   )r   r   r@   rA   rB   r   r3   assert_index_equalr   levelsr   )r   r   r   rC   rv   mir"   s          r#   )test_concat_duplicates_in_index_with_keysz=TestDataFrameConcat.test_concat_duplicates_in_index_with_keys   s    		yyD...C5v???]''#tVn'MM$b111
fh///
fl1!4eQF6P6P6PQQQQQr%   ignore_indexTForderCFr   r   r   c                 "   t          t          j        dt          j        |                    }t	          |gdz  ||d          }|sE|                                D ]2}|                                D ]}t          j        ||          rJ 1d S d S )N)r
      )r   r   r   T)r   r   copy)r   r   zerosr   r   _iter_column_arraysshares_memory)	r   r   r   r   using_copy_on_writerC   resarrarr2s	            r#   test_concat_copiesz&TestDataFrameConcat.test_concat_copies   s    
 rxrzGGGHHbTAXD|$OOO" 	;..00 ; ;2244 ; ;D!/T::::::;	; 	;; ;r%   c                    t          dgdgdd          }t          ddgi          }t          ||gddd          }t          d	t          j        gddgd	t          j        gd
          }t	          j        ||           d S )Nr   r   r0   r1   r   r0   d   Touterr   joinr   r/   )r   r0   r1   )r   r   r   nanr   r3   r   s        r#   test_outer_sort_columnsz+TestDataFrameConcat.test_outer_sort_columns   s    qc2233se%%c
G$OOO#rvaXS"&MRRSS
fh/////r%   c                     t          dgdgdd          }t          dgdd          }t          ||gddd	          }t          ddgddgd
          }t          j        ||           d S )Nr   r   r   r   r   r0   r   Tinnerr   r   r0   r   r   r   r3   r   s        r#   test_inner_sort_columnsz+TestDataFrameConcat.test_inner_sort_columns   s    qc2233se**++c
G$OOO!Qq#h7788
fh/////r%   c                     t          dgdd          }t          |gddd          }t          dgdgd          }t          j        ||           d S )Nr   r   r   Tr   r   r   r   )r   r   rv   r"   s       r#   test_sort_columns_one_dfz,TestDataFrameConcat.test_sort_columns_one_df   sc    se**++DwTJJJ!C51122
fh/////r%   N)__name__
__module____qualname__r$   r4   rJ   re   rw   r}   r   r   r   rR   markparametrizer   r   r   r    r%   r#   r   r      sF       	2 	2 	21 1 12C C C,89 89 89t0 0 0*	0 	0 	0J J J0 0 0
R 
R 
R [^dE];;[WsCj11[VaV,,	; 	; -, 21 <;	;0 0 00 0 00 0 0 0 0r%   r   )numpyr   rR   pandasr@   r   r   r   r   pandas._testing_testingr   r   r   r%   r#   <module>r      s                             X0 X0 X0 X0 X0 X0 X0 X0 X0 X0r%   