
    Owg<                        d dl Zd dlZd dlmZmZmZmZmZ d dl	m
Z d dlmZ d Zd Zd Zd Zd Zd	 Zd
 Zej*                  j-                  dg d      d        Zej*                  j-                  dd d g      d        Zd Zej*                  j-                  dd dfd dfg      d        Zej*                  j-                  dg d      d        Zd Zd Zy)    N)	DataFrameIndexSeriesconcatmerge)	get_arrayc                 b   t        ddgdz  i      }t        ddgdz  i      }|j                         }t        ||gd      }| rXt        j                  t        |d      t        |d            sJ t        j                  t        |d      t        |d            sZJ t        j                  t        |d      t        |d            rJ t        j                  t        |d      t        |d            rJ d|j                  d<   | rXt        j                  t        |d      t        |d            rJ t        j                  t        |d      t        |d            sJ d|j                  d<   | r,t        j                  t        |d      t        |d            rJ t        j                  ||       y )	Nba      axisdr   r   r   r   )	r   copyr   npshares_memoryr   iloctmassert_frame_equal)using_copy_on_writedfdf2df_origresults        \/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/copy_view/test_functions.pytest_concat_framesr      sx   	C##	$B
S3%!)$
%CggiGRIA&F	&# 6	"c8JKKK	&# 6	#s8KLLL##Ifc$:Ib#<NOOO##Ifc$:Ic3<OPPPFKK##Ifc$:Ib#<NOOO	&# 6	#s8KLLLFKK##Ifc$:Ic3<OPPP"g&    c                 b   t        ddgdz  i      }t        ddgdz  i      }t        ||gd      }| rXt        j                  t	        |d      t	        |d            sJ t        j                  t	        |d      t	        |d            sZJ t        j                  t	        |d      t	        |d            rJ t        j                  t	        |d      t	        |d            rJ |j                         }d|j                  d<   | rXt        j                  t	        |d      t	        |d            rJ t        j                  t	        |d      t	        |d            sJ d|j                  d<   | r,t        j                  t	        |d      t	        |d            rJ t        j                  ||       y )Nr
   r   r   r   r   r   r   )	r   r   r   r   r   r   r   r   r   )r   r   r   r   expecteds        r   !test_concat_frames_updating_inputr#   '   sv   	C##	$B
S3%!)$
%CRIA&F	&# 6	"c8JKKK	&# 6	#s8KLLL##Ifc$:Ib#<NOOO##Ifc$:Ic3<OPPP{{}HBGGDM##Ifc$:Ib#<NOOO	&# 6	#s8KLLLCHHTN##Ifc$:Ic3<OPPP&(+r    c                    t        ddgd      }t        ddgd      }|j                         }|j                         }t        ||gd      }| rXt        j                  t        |d      |j                        sJ t        j                  t        |d      |j                        sZJ t        j                  t        |d      |j                        rJ t        j                  t        |d      |j                        rJ d	|j                  d
<   | rXt        j                  t        |d      |j                        rJ t        j                  t        |d      |j                        sJ d|j                  d<   | r,t        j                  t        |d      |j                        rJ t        j                  ||       t        j                  ||       y )Nr      r   namer      r
   r   d   r     r   )
r   r   r   r   r   r   valuesr   r   assert_series_equal)r   serser2ser_orig	ser2_origr   s         r   test_concat_seriesr1   ?   st   
!Qc
"C1a&s#DxxzH		IS$Ka(F	&# 6

CCC	&# 6DDD##Ifc$:CJJGGG##Ifc$:DKKHHHFKK##Ifc$:CJJGGG	&# 6DDDFKK##Ifc$:DKKHHH3)4+r    c                 v   t        g dg dd      }t        dg di      }t        dg di      }t        t        ||gd      |gd      }|j                         }| rt        j                  t        |d	      t        |d	            sJ t        j                  t        |d      t        |d            sJ t        j                  t        |d      t        |d            sJ t        j                  t        |d	      t        |d	            rJ t        j                  t        |d      t        |d            rJ t        j                  t        |d      t        |d            rJ d
|j                  d<   | r,t        j                  t        |d	      t        |d	            rJ t        j                  ||       y )Nr   r%   r   )g?g?g333333?r   r
   cr(         r   r   r   r   r)   r   )	r   r   r   r   r   r   r   r   r   )r   df1r   df3r   r"   s         r   test_concat_frames_chainedr;   Y   su   
)/:
;C
S)$
%C
S)$
%CVS#JQ/5A>F{{}H	&# 6	#s8KLLL	&# 6	#s8KLLL	&# 6	#s8KLLL##Ifc$:Ic3<OPPP##Ifc$:Ic3<OPPP##Ifc$:Ic3<OPPPCHHTN##Ifc$:Ic3<OPPP&(+r    c                 p   t        g dd      }t        g dd      }t        g dd      }t        t        ||gd      |gd      }|j                         }| rt        j                  t        |d      t        |d            sJ t        j                  t        |d      t        |d            sJ t        j                  t        |d      t        |d            sJ t        j                  t        |d      t        |d            rJ t        j                  t        |d      t        |d            rJ t        j                  t        |d      t        |d            rJ d	|j                  d
<   | r,t        j                  t        |d      t        |d            rJ t        j                  ||       y )Nr3   r   r&   r6   r5   r   r   r   r)   r   )	r   r   r   r   r   r   r   r   r   )r   ser1r.   ser3r   r"   s         r   test_concat_series_chainedr?   p   sl   )#&D)#&D)#&DVT4Lq148qAF{{}H	&# 6	$8LMMM	&# 6	$8LMMM	&# 6	$8LMMM##Ifc$:IdC<PQQQ##Ifc$:IdC<PQQQ##Ifc$:IdC<PQQQDIIaL##Ifc$:IdC<PQQQ&(+r    c                    t        ddgd      }t        ddgd      }t        ddgddgd      }t        ||gd	      }| rXt        j                  t        |d      t        |d            sJ t        j                  t        |d      t        |d            sZJ t        j                  t        |d      t        |d            rJ t        j                  t        |d      t        |d            rJ d
|j                  d<   | rXt        j                  t        |d      t        |d            rJ t        j                  t        |d      t        |d            sJ t        j                  ||       d|j                  d<   | r,t        j                  t        |d      t        |d            rJ t        j                  ||       y )Nr   r%   r   r&   r   r(   r
   r4   r   r)   r   r*   )	r   r   r   r   r   r   r   r   r   )r   r-   r.   r"   r   s        r   !test_concat_series_updating_inputrA      s   
!Qc
"C1a&s#D1vQF34HS$Ka(F	&# 6	#s8KLLL	&# 6	$8LMMM##Ifc$:Ic3<OPPP##Ifc$:IdC<PQQQCHHQK##Ifc$:Ic3<OPPP	&# 6	$8LMMM&(+DIIaL##Ifc$:IdC<PQQQ&(+r    c                    t        g ddd      }t        g dd      }t        ||gd      }|j                         }| rt	        j
                  t        |d      t        |d            sJ t	        j
                  t        |d	      t        |d	            sJ t	        j
                  t        |d      t        |d            sJ t	        j
                  t        |d      t        |d            rJ t	        j
                  t        |d	      t        |d	            rJ t	        j
                  t        |d      t        |d            rJ d
|j                  d<   | r,t	        j
                  t        |d      t        |d            rJ d
|j                  d<   | r,t	        j
                  t        |d      t        |d            rJ t        j                  ||       y )Nr3   r   )r   r5   r6   r   r&   r   r   r5   r)   r   r   )
r   r   r   r   r   r   r   r   r   r   )r   r   r-   r   r"   s        r   test_concat_mixed_series_framerC      s   	+	,B

%CRIA&F{{}H	&# 6	"c8JKKK	&# 6	"c8JKKK	&# 6	#s8KLLL##Ifc$:Ib#<NOOO##Ifc$:Ib#<NOOO##Ifc$:Ic3<OPPPCHHQK##Ifc$:Ic3<OPPPBGGDM##Ifc$:Ib#<NOOO&(+r    r   )TNFc                    t        dddgi      }t        dddgi      }t        ||gd|      }| s|du rYt        j                  t	        |d      t	        |d            sJ t        j                  t	        |d      t	        |d            sJ y t        j                  t	        |d      t	        |d            rJ t        j                  t	        |d      t	        |d            rJ y )	Nr   r   r%   r
   g      ?g      @)r   r   F)r   r   r   r   r   r   r   r   r   r   s        r   test_concat_copy_keywordrF      s    	C!Q=	!B
S3*%
&CRIAD1Fdem	"c 2Ifc4JKKK	#s 3Yvs5KLLL##Ib#$6	&#8NOOO##Ic3$7639OPPPPr    funcc                 (     | j                   |fi |S Nr   r9   r   kwargss      r   <lambda>rM      s    9399S#;F#; r    c                     t        | |fi |S rI   rJ   rK   s      r   rM   rM      s    5c#<V#< r    c                 Z   t        g dg dd      }t        g dg dd      }|j                         }|j                         } |||d      }| rt        j                  t	        |d      t	        |d            sJ t        j                  t	        |d	      t	        |d	            sJ t        j                  t	        |d      t	        |d            sJ t        j                  t	        |d      t	        |d            rZJ t        j                  t	        |d      t	        |d            rJ t        j                  t	        |d	      t	        |d	            rJ d
|j
                  d<   | rXt        j                  t	        |d      t	        |d            rJ t        j                  t	        |d	      t	        |d	            sJ d
|j
                  d<   | r,t        j                  t	        |d	      t	        |d	            rJ t        j                  ||       t        j                  ||       y )Nr   r
   r5   r3   keyr   r6   rR   r
   rR   onr   r
   r   r   r   r%   )r   r   r   r   r   r   r   r   )r   rG   r9   r   df1_origdf2_origr   s          r   test_merge_on_keyrY      s    O)<
=C
O)<
=CxxzHxxzH#su%F	&# 6	#s8KLLL	&# 6	#s8KLLL	&% 8)C:OPPP##Ife$<iU>STTT##Ifc$:Ic3<OPPP##Ifc$:Ic3<OPPPFKK##Ifc$:Ic3<OPPP	&# 6	#s8KLLLFKK##Ifc$:Ic3<OPPP#x(#x(r    c                    t        dg di      }t        dg di      }|j                         }|j                         }t        ||dd      }| rXt        j                  t        |d      t        |d            sJ t        j                  t        |d      t        |d            sZJ t        j                  t        |d      t        |d            rJ t        j                  t        |d      t        |d            rJ d|j                  d<   | rXt        j                  t        |d      t        |d            rJ t        j                  t        |d      t        |d            sJ d|j                  d	<   | r,t        j                  t        |d      t        |d            rJ t        j                  ||       t        j                  ||       y )
Nr   r3   r
   r6   T)
left_indexright_indexr   r   r   )	r   r   r   r   r   r   r   r   r   )r   r9   r   rW   rX   r   s         r   test_merge_on_indexr]      s   
S)$
%C
S)$
%CxxzHxxzH3$?F	&# 6	#s8KLLL	&# 6	#s8KLLL##Ifc$:Ic3<OPPP##Ifc$:Ic3<OPPPFKK##Ifc$:Ic3<OPPP	&# 6	#s8KLLLFKK##Ifc$:Ic3<OPPP#x(#x(r    z	func, howc                      t        || fddi|S NrU   rR   rJ   rK   s      r   rM   rM   
      E#s$Gu$G$G r    rightc                      t        | |fddi|S r_   rJ   rK   s      r   rM   rM     r`   r    leftc                 0   t        g dg dd      }t        ddgddgd      }|j                         }|j                         } ||||	      }| rt        j                  t	        |d      t	        |d            sJ t        j                  t	        |d      t	        |d            rJ |j
                  j                  d
      sJ |j
                  j                  d      sJ t        j                  t	        |d      t	        |d            |dk(  u sJ t        j                  t	        |d      t	        |d            rZJ t        j                  t	        |d      t	        |d            rJ t        j                  t	        |d      t	        |d            rJ |dk(  rd|j                  d<   nd|j                  d<   | r,t        j                  t	        |d      t	        |d            rJ t        j                  ||       t        j                  ||       y )NrP   r3   rQ   r   r
   r(   r7   rS   )howr   r   rR   rc   r   rV   )
r   r   r   r   r   _mgr_has_no_referencer   r   r   )r   rG   re   r9   r   rW   rX   r   s           r   test_merge_on_key_enlarging_onerh     s    O)<
=C
S#JaV4
5CxxzHxxzH#s$F	&# 6	#s8KLLL##Ifc$:Ic3<OPPPxx))!,,,xx))!,,,	&% 8)C:OP6M
 	
 
 ##Ife$<iU>STTT##Ifc$:Ic3<OPPP##Ifc$:Ic3<OPPP
f}DD##Ifc$:Ic3<OPPP#x(#x(r    c                    t        dddgi      }t        dddgi      }|j                  ||dd      }| s|d	u rYt        j                  t	        |d      t	        |d            sJ t        j                  t	        |d      t	        |d            sJ y t        j                  t	        |d      t	        |d            rJ t        j                  t	        |d      t	        |d            rJ y )
Nr   r   r%   r
   r   g      @T)r   r[   r\   F)r   r   r   r   r   rE   s        r   test_merge_copy_keywordrj   -  s    	C!Q=	!B
S1c(O
$CXXc4XHFdem	"c 2Ifc4JKKK	#s 3Yvs5KLLL##Ib#$6	&#8NOOO##Ic3$7639OPPPPr    c                    t        g dd      }t        dg di|j                  d            }t        d	g d
i|j                  d            }|j                         }|j                         }|j                  |d      }| rt	        j
                  t        |d      t        |d            sJ t	        j
                  t        |d	      t        |d	            sJ t	        j
                  t        |j                        t        |j                              sJ t	        j
                  t        |j                        t        |j                              rZJ t	        j
                  t        |d      t        |d            rJ t	        j
                  t        |d	      t        |d	            rJ d|j                  d<   | rXt	        j
                  t        |d      t        |d            rJ t	        j
                  t        |d	      t        |d	            sJ d|j                  d<   | r,t	        j
                  t        |d	      t        |d	            rJ t        j                  ||       t        j                  ||       y )NrP   rR   r&   r   r3   Tdeepindexr
   r6   rT   r   r   r   )r   r   r   joinr   r   r   ro   r   r   r   )r   df_indexr9   r   rW   rX   r   s          r   test_join_on_keyrr   <  s   _51H
S)$HMMtM,D
EC
S)$HMMtM,D
ECxxzHxxzHXXceX$F	&# 6	#s8KLLL	&# 6	#s8KLLL	&,, 73999MNNN##Ifll$;Ysyy=QRRR##Ifc$:Ic3<OPPP##Ifc$:Ic3<OPPPFKK##Ifc$:Ic3<OPPP	&# 6	#s8KLLLFKK##Ifc$:Ic3<OPPP#x(#x(r    c                 0   t        g dd      }t        dg di|j                  d            }t        d	g d
i|j                  d            t        dg di|j                  d            g}|j                         }|D cg c]  }|j                          }}|j                  |      }| rJt	        j
                  t        |d      t        |d            sJ t	        j
                  t        |d	      t        |d   d	            sJ t	        j
                  t        |d      t        |d   d            sJ t	        j
                  t        |j                        t        |j                              sJ t	        j
                  t        |j                        t        |d   j                              rJ t	        j
                  t        |j                        t        |d   j                              rJ t	        j
                  t        |d      t        |d            rJ t	        j
                  t        |d	      t        |d   d	            rJ t	        j
                  t        |d      t        |d   d            rJ d|j                  d<   | rt	        j
                  t        |d      t        |d            rJ t	        j
                  t        |d	      t        |d   d	            sJ t	        j
                  t        |d      t        |d   d            sJ d|j                  d<   | r^t	        j
                  t        |d	      t        |d   d	            rJ t	        j
                  t        |d      t        |d   d            sJ d|j                  d<   | r/t	        j
                  t        |d      t        |d   d            rJ t        j                  ||       t        ||      D ]  \  }}t        j                  ||        y c c}w )NrP   rR   r&   r   r3   Trl   rn   r
   r6   r5   )      	   r   r   r   r   rV   )r   r   r   rp   r   r   r   ro   r   r   r   zip)	r   rq   r9   dfs_listrW   r   dfs_list_origr   r   s	            r   $test_join_multiple_dataframes_on_keyrz   ]  s}   _51H
S)$HMMtM,D
EC3	"(--T-*BC3	"(--T-*BCH
 xxzH)122RWWY2M2XXhF	&# 6	#s8KLLL	&# 6	(1+s8STTT	&# 6	(1+s8STTT	&,, 73999MNNN##fll#Yx{/@/@%A
 	
 
 ##fll#Yx{/@/@%A
 	
 
 ##Ifc$:Ic3<OPPP##Ifc$:IhqkSV<WXXX##Ifc$:IhqkSV<WXXXFKK##Ifc$:Ic3<OPPP	&# 6	(1+s8STTT	&# 6	(1+s8STTTFKK##Ifc$:IhqkSV<WXXX	&# 6	(1+s8STTTFKK##Ifc$:IhqkSV<WXXX#x(8]3 +G
b'*+I 3s   P)numpyr   pytestpandasr   r   r   r   r   pandas._testing_testingr   pandas.tests.copy_view.utilr   r   r#   r1   r;   r?   rA   rC   markparametrizerF   rY   r]   rh   rj   rr   rz    r    r   <module>r      s       1'0,0,4,.,.,2,2 !45Q 6Q 
;<)):)6 	GQ	GP))> !45Q 6Q)B/+r    