
    [6g<                        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                            dg d          d             Zej                            dd d g          d             Zd Zej                            dd dfd dfg          d             Zej                            dg d          d             Zd Zd ZdS )    N)	DataFrameIndexSeriesconcatmerge)	get_arrayc                    t          ddgdz  i          }t          ddgdz  i          }|                                }t          ||gd          }| rgt          j        t          |d          t          |d                    sJ t          j        t          |d          t          |d                    sJ nft          j        t          |d          t          |d                    rJ t          j        t          |d          t          |d                    rJ d|j        d<   | rft          j        t          |d          t          |d                    rJ t          j        t          |d          t          |d                    sJ d|j        d<   | r3t          j        t          |d          t          |d                    rJ t          j        ||           d S )	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        d/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/pandas/tests/copy_view/test_functions.pytest_concat_framesr      s   	C##	$	$B
S3%!)$
%
%CggiiGRIA&&&F Q	&# 6 6	"c8J8JKKKKK	&# 6 6	#s8K8KLLLLLL#Ifc$:$:Ib#<N<NOOOOO#Ifc$:$:Ic3<O<OPPPPPFK M#Ifc$:$:Ib#<N<NOOOOO	&# 6 6	#s8K8KLLLLLFK Q#Ifc$:$:Ic3<O<OPPPPP"g&&&&&    c                    t          ddgdz  i          }t          ddgdz  i          }t          ||gd          }| rgt          j        t	          |d          t	          |d                    sJ t          j        t	          |d          t	          |d                    sJ nft          j        t	          |d          t	          |d                    rJ t          j        t	          |d          t	          |d                    rJ |                                }d|j        d<   | rft          j        t	          |d          t	          |d                    rJ t          j        t	          |d          t	          |d                    sJ d|j        d<   | r3t          j        t	          |d          t	          |d                    rJ t          j        ||           d S )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#   '   s   	C##	$	$B
S3%!)$
%
%CRIA&&&F Q	&# 6 6	"c8J8JKKKKK	&# 6 6	#s8K8KLLLLLL#Ifc$:$:Ib#<N<NOOOOO#Ifc$:$:Ic3<O<OPPPPP{{}}HBGDM M#Ifc$:$:Ib#<N<NOOOOO	&# 6 6	#s8K8KLLLLLCHTN Q#Ifc$:$:Ic3<O<OPPPPP&(+++++r    c                    t          ddgd          }t          ddgd          }|                                }|                                }t          ||gd          }| rUt          j        t          |d          |j                  sJ t          j        t          |d          |j                  sJ nTt          j        t          |d          |j                  rJ t          j        t          |d          |j                  rJ d	|j        d
<   | rTt          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	        ||           d S )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   ?   s   
!Qc
"
"
"C1a&s###DxxzzH		IS$Ka(((F I	&# 6 6
CCCCC	&# 6 6DDDDDD#Ifc$:$:CJGGGGG#Ifc$:$:DKHHHHHFK E#Ifc$:$:CJGGGGG	&# 6 6DDDDDFK I#Ifc$:$:DKHHHHH3)))4+++++r    c                     t          g dg dd          }t          dg di          }t          dg di          }t          t          ||gd          |g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 nt          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<   | r3t          j        t          |d	          t          |d	                    rJ t          j        ||           d S )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   s   
)))///::
;
;C
S)))$
%
%C
S)))$
%
%CVS#JQ///5A>>>F{{}}H Q	&# 6 6	#s8K8KLLLLL	&# 6 6	#s8K8KLLLLL	&# 6 6	#s8K8KLLLLLL#Ifc$:$:Ic3<O<OPPPPP#Ifc$:$:Ic3<O<OPPPPP#Ifc$:$:Ic3<O<OPPPPPCHTN Q#Ifc$:$:Ic3<O<OPPPPP&(+++++r    c                    t          g dd          }t          g dd          }t          g dd          }t          t          ||gd          |g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 nt          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
<   | r3t          j        t          |d          t          |d                    rJ t          j        ||           d S )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   s   )))#&&&D)))#&&&D)))#&&&DVT4Lq11148qAAAF{{}}H R	&# 6 6	$8L8LMMMMM	&# 6 6	$8L8LMMMMM	&# 6 6	$8L8LMMMMMM#Ifc$:$:IdC<P<PQQQQQ#Ifc$:$:IdC<P<PQQQQQ#Ifc$:$:IdC<P<PQQQQQDIaL R#Ifc$:$:IdC<P<PQQ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	          }| rgt          j        t          |d          t          |d                    sJ t          j        t          |d          t          |d                    sJ nft          j        t          |d          t          |d                    rJ t          j        t          |d          t          |d                    rJ d
|j        d<   | rft          j        t          |d          t          |d                    rJ t          j        t          |d          t          |d                    sJ t          j        ||           d|j        d<   | r3t          j        t          |d          t          |d                    rJ t          j        ||           d S )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344HS$Ka(((F R	&# 6 6	#s8K8KLLLLL	&# 6 6	$8L8LMMMMMM#Ifc$:$:Ic3<O<OPPPPP#Ifc$:$:IdC<P<PQQQQQCHQK N#Ifc$:$:Ic3<O<OPPPPP	&# 6 6	$8L8LMMMMM&(+++DIaL R#Ifc$:$:IdC<P<PQQQQQ&(+++++r    c                 2   t          g ddd          }t          g dd          }t          ||g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 nt	          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<   | r3t	          j        t          |d          t          |d                    rJ d
|j        d<   | r3t	          j        t          |d          t          |d                    rJ t          j	        ||           d S )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 Q	&# 6 6	"c8J8JKKKKK	&# 6 6	"c8J8JKKKKK	&# 6 6	#s8K8KLLLLLL#Ifc$:$:Ib#<N<NOOOOO#Ifc$:$:Ib#<N<NOOOOO#Ifc$:$:Ic3<O<OPPPPPCHQK Q#Ifc$:$:Ic3<O<OPPPPPBGDM P#Ifc$:$:Ib#<N<NOOOOO&(+++++r    r   )TNFc                 "   t          dddgi          }t          dddgi          }t          ||gd|          }| s|du rht          j        t	          |d          t	          |d                    sJ t          j        t	          |d          t	          |d                    sJ d S t          j        t	          |d          t	          |d                    rJ t          j        t	          |d          t	          |d                    rJ d S )	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111F Qdemm	"c 2 2Ifc4J4JKKKKK	#s 3 3Yvs5K5KLLLLLLL#Ib#$6$6	&#8N8NOOOOO#Ic3$7$7639O9OPPPPPPPr    funcc                      | j         |fi |S Nr   r9   r   kwargss      r   <lambda>rM      s    939S#;#;F#;#; r    c                     t          | |fi |S rI   rJ   rK   s      r   rM   rM      s    5c#<#<V#<#< r    c                    t          g dg dd          }t          g dg dd          }|                                }|                                } |||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                    rJ nft          j        t	          |d          t	          |d                    rJ t          j        t	          |d	          t	          |d	                    rJ d
|j        d<   | rft          j        t	          |d          t	          |d                    rJ t          j        t	          |d	          t	          |d	                    sJ d
|j        d<   | r3t          j        t	          |d	          t	          |d	                    rJ t          j        ||           t          j        ||           d S )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      se    OOO)))<<
=
=C
OOO)))<<
=
=CxxzzHxxzzHT#su%%%F Q	&# 6 6	#s8K8KLLLLL	&# 6 6	#s8K8KLLLLL	&% 8 8)C:O:OPPPPP#Ife$<$<iU>S>STTTTTT#Ifc$:$:Ic3<O<OPPPPP#Ifc$:$:Ic3<O<OPPPPPFK M#Ifc$:$:Ic3<O<OPPPPP	&# 6 6	#s8K8KLLLLLFK Q#Ifc$:$:Ic3<O<OPPPPP#x(((#x(((((r    c                    t          dg di          }t          dg di          }|                                }|                                }t          ||dd          }| rgt          j        t          |d          t          |d                    sJ t          j        t          |d          t          |d                    sJ nft          j        t          |d          t          |d                    rJ t          j        t          |d          t          |d                    rJ d|j        d<   | rft          j        t          |d          t          |d                    rJ t          j        t          |d          t          |d                    sJ d|j        d	<   | r3t          j        t          |d          t          |d                    rJ t          j        ||           t          j        ||           d S )
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xxzzHxxzzH3$???F Q	&# 6 6	#s8K8KLLLLL	&# 6 6	#s8K8KLLLLLL#Ifc$:$:Ic3<O<OPPPPP#Ifc$:$:Ic3<O<OPPPPPFK M#Ifc$:$:Ic3<O<OPPPPP	&# 6 6	#s8K8KLLLLLFK Q#Ifc$:$:Ic3<O<OPP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$G$Gu$G$G$G r    rightc                 "    t          | |fddi|S r_   rJ   rK   s      r   rM   rM     r`   r    leftc                    t          g dg dd          }t          ddgddgd          }|                                }|                                } ||||	          }| rt          j        t	          |d          t	          |d                    sJ t          j        t	          |d          t	          |d                    rJ |j                            d
          sJ |j                            d          sJ t          j        t	          |d          t	          |d                    |dk    u sJ t          j        t	          |d          t	          |d                    rJ nft          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<   | r3t          j        t	          |d          t	          |d                    rJ t          j	        ||           t          j	        ||           d S )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     sZ    OOO)))<<
=
=C
S#JaV44
5
5CxxzzHxxzzHT#s$$$F Q	&# 6 6	#s8K8KLLLLL#Ifc$:$:Ic3<O<OPPPPPx))!,,,,,x))!,,,,,	&% 8 8)C:O:OPP6M
 
 
 
 #Ife$<$<iU>S>STTTTTT#Ifc$:$:Ic3<O<OPPPPP#Ifc$:$:Ic3<O<OPPPPP
f}}DD Q#Ifc$:$:Ic3<O<OPPPPP#x(((#x(((((r    c                 ,   t          dddgi          }t          dddgi          }|                    ||dd          }| s|d	u rht          j        t	          |d          t	          |d                    sJ t          j        t	          |d          t	          |d                    sJ d S t          j        t	          |d          t	          |d                    rJ t          j        t	          |d          t	          |d                    rJ d S )
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HHF Qdemm	"c 2 2Ifc4J4JKKKKK	#s 3 3Yvs5K5KLLLLLLL#Ib#$6$6	&#8N8NOOOOO#Ic3$7$7639O9OPPPPPPPr    c                    t          g dd          }t          dg di|                    d                    }t          d	g d
i|                    d                    }|                                }|                                }|                    |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                            rJ nft	          j        t          |d          t          |d                    rJ t	          j        t          |d	          t          |d	                    rJ d|j        d<   | rft	          j        t          |d          t          |d                    rJ t	          j        t          |d	          t          |d	                    sJ d|j        d<   | r3t	          j        t          |d	          t          |d	                    rJ t          j
        ||           t          j
        ||           d S )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111H
S)))$HMMtM,D,D
E
E
EC
S)))$HMMtM,D,D
E
E
ECxxzzHxxzzHXXceX$$F Q	&# 6 6	#s8K8KLLLLL	&# 6 6	#s8K8KLLLLL	&, 7 7399M9MNNNNN#Ifl$;$;Ysy=Q=QRRRRRR#Ifc$:$:Ic3<O<OPPPPP#Ifc$:$:Ic3<O<OPPPPPFK M#Ifc$:$:Ic3<O<OPPPPP	&# 6 6	#s8K8KLLLLLFK Q#Ifc$:$:Ic3<O<OPPPPP#x(((#x(((((r    c                 
	   t          g dd          }t          dg di|                    d                    }t          d	g d
i|                    d                    t          dg di|                    d                    g}|                                }d |D             }|                    |          }| rct	          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                            rJ nt	          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<   | rrt	          j        t          |d	          t          |d         d	                    rJ t	          j        t          |d          t          |d         d                    sJ d|j        d<   | r9t	          j        t          |d          t          |d         d                    rJ t          j
        ||           t          ||          D ]\  }}t          j
        ||           d S )NrP   rR   r&   r   r3   Trl   rn   r
   r6   r5   )      	   c                 6    g | ]}|                                 S  )r   ).0r   s     r   
<listcomp>z8test_join_multiple_dataframes_on_key.<locals>.<listcomp>g  s     2222RWWYY222r    r   r   r   r   rV   )r   r   r   rp   r   r   r   ro   r   r   r   zip)	r   rq   r9   dfs_listrW   dfs_list_origr   r   r   s	            r   $test_join_multiple_dataframes_on_keyr~   ]  sU   ___5111H
S)))$HMMtM,D,D
E
E
EC3			"(--T-*B*BCCC3			"(--T-*B*BCCCH
 xxzzH22222MXXhF Y	&# 6 6	#s8K8KLLLLL	&# 6 6	(1+s8S8STTTTT	&# 6 6	(1+s8S8STTTTT	&, 7 7399M9MNNNNN#fl##Yx{/@%A%A
 
 	
 	
 	
 #fl##Yx{/@%A%A
 
 	
 	
 	
 	
 #Ifc$:$:Ic3<O<OPPPPP#Ifc$:$:IhqkSV<W<WXXXXX#Ifc$:$:IhqkSV<W<WXXXXXFK U#Ifc$:$:Ic3<O<OPPPPP	&# 6 6	(1+s8S8STTTTT	&# 6 6	(1+s8S8STTTTTFK U#Ifc$:$:IhqkSV<W<WXXXXX	&# 6 6	(1+s8S8STTTTTFK Y#Ifc$:$:IhqkSV<W<WXXXXX#x(((8]33 + +G
b'****+ +r    )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   r~   rx   r    r   <module>r      s)                           1 1 1 1 1 1' ' '0, , ,0, , ,4, , ,., , ,., , ,2, , ,2 !4!4!455Q Q 65Q 
;;<< ) ) ):) ) )6 	G	GQ	G	GP ) ) )> !4!4!455Q Q 65Q) ) )B/+ /+ /+ /+ /+r    