
    Owg"                     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d Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zej                  j                  d
ddg      ej                  j                  dddg      ej                  j                  dddg      d                      Zd Zd Zd Zy)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                  ||       y )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        a/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/reshape/concat/test_dataframe.py"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1    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   )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$Z@#s>>*JK (+'*'*'*'* (+'*'*'*'*
$ 	gx0r%   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   皙?皙?)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:sCju-$*B8%$@!" )=>--,,sCj1a&-A%QU,W
 	7HsCjt4%+RH=QVPW%X"
8.I"B8-@$ )=>--,,sCj1a&-A$PT,V
 	/1ABr%   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)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   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   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!H**');<QF + 	
 !Qa9:L!--++HQRTUPV , 
 	fh/r%   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 )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%:&HHc3Z ((A.c


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