
    Pi#                     \    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ej                            d          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 )TestDataFrameConcatz(GH#62888 the `mi[2][1] is 1` check fails)reasonc                    t          ddgdgddg          }t          g ddgg d          }t          ||d	          }t          j                            d
gdz  dgdz  z   t          j        g dt                    g          }|d         d         du sJ t          |d         d                   t          u sJ t          dg di|          }t          j        ||           d S )N{     dataTF)columnsindex)7     E   p   r   )            c   )OneTwor   r   r      )TFr   r   r   r   r   dtyper   r   )r   r   r   r   r   r   r   r   )r   r   pd
MultiIndexfrom_arraysnparrayobjecttypeinttmassert_frame_equal)selfleftrightresultmiexpecteds         ~/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/reshape/concat/test_dataframe.py-test_concat_multiindex_level_bool_and_numericzATestDataFrameConcat.test_concat_multiindex_level_bool_and_numeric   s    #sfXdE]KKK!!!F8;K;K;K
 
 
 U3344 ]&&!ugk)666fEEE
 
 !uQx4BqE!H~~$$$$f&E&E&EFbQQQ
fh/////    c                    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)
   r   foobar)r   r   r   )r   r   r   axisfloat64r   float32)r4   r5   r   r   r   )r   r"   onesr8   r9   r   dtypesr   r   r'   assert_series_equalr)   df1df2resultsr.   s        r/   "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1r1   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   r   )beebah)rE   bookeys      ?g       @))rE   rF   r   )rE   rF   r   )rE   rG   r   )rE   rG   r   )rE   rG   r   )AB)r   r"   r:   listr   r'   r(   r=   s        r/   test_concat_tuple_keysz*TestDataFrameConcat.test_concat_tuple_keys0   s    d<<<!+T$ZZ@@@#s>>*JKKK (+'*'*'*'*  (+'*'*'*'*  
 
$ 	gx00000r1   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   皙?皙?)r4   r5   abbaznamerH   )r   r   r   r   )rP   rQ   rP   rQ   r   namesr   rI   rX   )r   r   r   r   r    from_productr'   r(   )	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_keysI   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Br1   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 )NrK   rP   rQ   r   r   333333?皙?)rP   rQ   rd   re   )r   r   r   r   r   r6   rowsr   r   )r   r   r   zNo axis named)match	something)
r   ranger   r'   r(   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_parameter_   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   rW   )r   r   )r   r         ))r   r   )r   r   )r   r   )r   r   )
r   ri   r   r    rZ   r   ilocfrom_tuplesr'   r(   r)   r[   r,   r.   s       r/   test_concat_numerical_namesz/TestDataFrameConcat.test_concat_numerical_names   s    E!HH**''');););<QF +  	
 
 
 !QQQaaa9::LLL!-++HHHQRTUPV ,  
 
 
 	fh/////r1   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 )NrR   rS   r   r6   categoryr   rD   )r   r   astyper"   r#   reshaper'   r(   r   s       r/   test_concat_astype_dup_colz.TestDataFrameConcat.test_concat_astype_dup_col   s    c
|$$RH1%%%:&&Hc3Z  ((A..c

 
 

&

 	 	fh/////r1   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   )rR   rS   cidrU   r   r   r   rR   rS   r   t1t2)r7   rI   sort)r   r   )r   r   )r   r   r   r   rM   r   )r)   r   r   r   r,   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Ir1   c                    t          t          g dd                    }t          t          g dd                    }t          ||g          }t          |                    d          |g          }t	          j        ||           d S )N)TFTTboolr   )r   r   r   int64)r   r   r   r   r'   r(   r)   r>   r?   r,   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/////r1   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   rK   IDdaterY   rW   r   r   rU   )r   r   r   r    rZ   r'   r(   assert_index_equalr   levelsr   )r)   r   r   r[   r,   r-   r.   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Qr1   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   rK   rL   r   rK   d   Touterignore_indexjoinr   rJ   )r   rK   rL   )r   r   r"   nanr'   r(   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/////r1   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   rK   r   Tinnerr   r   rK   r   r   r'   r(   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/////r1   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>   r,   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/////r1   N)__name__
__module____qualname__rj   markxfailr0   rA   rN   rb   r}   r   r   r   r   r   r   r   r    r1   r/   r   r      s       [HII0 0 JI0*	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0 0 00 0 00 0 0 0 0r1   r   )numpyr"   rj   pandasr   r   r   r   r   pandas._testing_testingr'   r   r   r1   r/   <module>r      s                             `0 `0 `0 `0 `0 `0 `0 `0 `0 `0r1   