
    .i#                     T    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y)    N)	DataFrameIndexSeriesconcatc                       e Zd Zej                  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y)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                  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                  ||       y )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         h/var/www/app/trading-bot/venv/lib/python3.12/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!F8;K
 U34 ]]&&!ugk)6fE
 !uQx4BqE!H~$$$f&EFb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                  ||       y )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    RWWW-u~RZZXRWWW-RZZ@#s!,33XXi !A%))<(=(AA&
 	w1r1   c           	      0   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                  ||       y )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$Z@#s>>*JK (+'*'*'*'* (+'*'*'*'*
$ 	gx0r1   c                 2   t        ddgddgd      }t        ddgd	      }t        ||g|
      }t        g dg ddt        j                  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                  j                  ddgddgfd d g            }t        j                  ||       y )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:sCju-$*B8%$@!" )=>--,,sCj1a&-A%QU,W
 	7HsCjt4%+RH=QVPW%X"
8.I"B8-@$ )=>--,,sCj1a&-A$PT,V
 	/1ABr1   c                    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        y # 1 sw Y   y xY w)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_   sV   sCj)q:sCj)q: #C)=#>lS #s':
o~>Sz7
m^<c3Za0
k>: %3Z#s$QFS#J
 #C:I>
/1ABc3Za0
k+;<#s$#s$ !'';< P!''(:!I
57LM%w&8vF
35JK#Wg$6Q?
13HI #,3Z#s$QFQF#
 $*7G*<9#M 
68OP#Wg$6Q?
02IJ ]]:_= 	9GW%K8	9 	9 	9s   0I		Ic           	         t        dt        d      idt        j                  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                  j                  g dddg      	      }t        j                  ||       y )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!H**');<QF + 	
 !Qa9:L!--++HQRTUPV , 
 	fh/r1   c                    t        ddig      }t        ||gd      }|j                  d      }t        t        j                  ddg      j                  dd      ddg      j                  d      }t        j                  ||       y )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%:&HHc3Z ((A.c


&
 	 	fh/r1   c           
          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 y )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    fYeO$.OPQ
 AeS#JT6R!STU Rqd|$GFNN#'IIIIr1   c                     t        t        g dd            }t        t        g dd            }t        ||g      }t        |j                  d      |g      }t	        j
                  ||       y )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GHy89c
#3::g.45
fh/r1   c                 X   g d}g d}t        ||      }t        |gdgddg      }t        j                  j	                  dg|gddg      }t        ||      }t        j                  ||       t        j                  |j                  j                  d	   t        d	d
gd             y )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    D.C5v?]]''#tVn'M$b1
fh/
fll11!4eQF6P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
                  ||       y )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   sp    qc23se%c
G$O#rvvaXS"&&MR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                  ||       y )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   sc    qc23se*+c
G$O!Qq#h78
fh/r1   c                     t        dgdd      }t        |gddd      }t        dgdgd      }t        j                  ||       y )Nr   r   r   Tr   r   r   r   )r)   r>   r,   r.   s       r/   test_sort_columns_one_dfz,TestDataFrameConcat.test_sort_columns_one_df   sH    se*+DwTJ!C51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      sh    [[HI0 J0*	212C,89t0*	0J0
R000r1   r   )numpyr"   rj   pandasr   r   r   r   r   pandas._testing_testingr'   r   r   r1   r/   <module>r      s)        `0 `0r1   