
    Pi/                        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d Zej                            dd d g          d             Zd Zej                            dd dfd dfg          d             Zd Zd Zd Zej                            dedg          d             Zd Z dS )    N)	DataFrameIndexSeriesconcatmerge)	get_arrayc                     t          ddgdz  it                    } t          ddgdz  it                    }|                                 }t          | |gd          }t	          j        t          |d          t          | d                    sJ t	          j        t          |d          t          |d                    sJ d|j        d<   t	          j        t          |d          t          | d                    rJ t	          j        t          |d          t          |d                    sJ d|j        d	<   t	          j        t          |d          t          |d                    rJ t          j	        | |           d S )
Nba   dtype   axisdr   r   r   r   )
r   objectcopyr   npshares_memoryr   iloctmassert_frame_equal)dfdf2df_origresults       y/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/copy_view/test_functions.pytest_concat_framesr!      sq   	C##6	2	2	2B
S3%!)$F
3
3
3CggiiGRIA&&&FIfc22Ib#4F4FGGGGGIfc22Ic34G4GHHHHHFK	&# 6 6	"c8J8JKKKKKIfc22Ic34G4GHHHHHFK	&# 6 6	#s8K8KLLLLL"g&&&&&    c                     t          ddgdz  it                    } t          ddgdz  it                    }t          | |gd          }t          j        t          |d          t          | d                    sJ t          j        t          |d          t          |d                    sJ |                                }d| j        d<   t          j        t          |d          t          | d                    rJ t          j        t          |d          t          |d                    sJ d|j        d<   t          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   r   expecteds       r    !test_concat_frames_updating_inputr%   !   so   	C##6	2	2	2B
S3%!)$F
3
3
3CRIA&&&FIfc22Ib#4F4FGGGGGIfc22Ic34G4GHHHHH{{}}HBGDM	&# 6 6	"c8J8JKKKKKIfc22Ic34G4GHHHHHCHTN	&# 6 6	#s8K8KLLLLL&(+++++r"   c                     t          ddgd          } t          ddgd          }|                                 }|                                }t          | |gd          }t          j        t          |d          | j                  sJ t          j        t          |d          |j                  sJ d	|j        d
<   t          j        t          |d          | j                  rJ t          j        t          |d          |j                  sJ d|j        d<   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)serser2ser_orig	ser2_origr   s        r    test_concat_seriesr3   3   s[   
!Qc
"
"
"C1a&s###DxxzzH		IS$Ka(((FIfc22CJ?????Ifc22DK@@@@@FK	&# 6 6
CCCCCIfc22DK@@@@@FK	&# 6 6DDDDD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          }|                                }t          j        t          |d	          t          | d	                    sJ t          j        t          |d          t          |d                    sJ t          j        t          |d          t          |d                    sJ d
| j        d<   t          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   )df1r   df3r   r$   s        r    test_concat_frames_chainedr=   G   sX   
)))///::
;
;C
S)))$
%
%C
S)))$
%
%CVS#JQ///5A>>>F{{}}HIfc22Ic34G4GHHHHHIfc22Ic34G4GHHHHHIfc22Ic34G4GHHHHHCHTN	&# 6 6	#s8K8KLLLLL&(+++++r"   c                     t          g dd          } t          g dd          }t          g dd          }t          t          | |gd          |gd          }|                                }t          j        t          |d          t          | d                    sJ t          j        t          |d          t          |d                    sJ t          j        t          |d          t          |d                    sJ d	| j        d
<   t          j        t          |d          t          | d                    rJ t          j        ||           d S )Nr5   r   r(   r8   r7   r   r   r   r+   r   )	r   r   r   r   r   r   r   r   r   )ser1r0   ser3r   r$   s        r    test_concat_series_chainedrA   X   sQ   )))#&&&D)))#&&&D)))#&&&DVT4Lq11148qAAAF{{}}HIfc22IdC4H4HIIIIIIfc22IdC4H4HIIIIIIfc22IdC4H4HIIIIIDIaL	&# 6 6	$8L8LMMMMM&(+++++r"   c                     t          ddgd          } t          ddgd          }t          ddgddgd          }t          | |gd	          }t          j        t          |d          t          | d                    sJ t          j        t          |d          t          |d                    sJ d
| j        d<   t          j        t          |d          t          | d                    rJ t          j        t          |d          t          |d                    sJ t          j        ||           d|j        d<   t          j        t          |d          t          |d                    rJ t          j        ||           d S )Nr   r'   r   r(   r   r*   r
   r6   r   r+   r   r,   )	r   r   r   r   r   r   r   r   r   )r/   r0   r$   r   s       r    !test_concat_series_updating_inputrC   i   s   
!Qc
"
"
"C1a&s###D1vQF3344HS$Ka(((FIfc22Ic34G4GHHHHHIfc22IdC4H4HIIIIICHQK	&# 6 6	#s8K8KLLLLLIfc22IdC4H4HIIIII&(+++DIaL	&# 6 6	$8L8LMMMMM&(+++++r"   c                     t          g ddd          } t          g dd          }t          | |gd          }|                                }t	          j        t          |d          t          | d                    sJ t	          j        t          |d	          t          | d	                    sJ t	          j        t          |d          t          |d                    sJ d
|j        d<   t	          j        t          |d          t          |d                    rJ d
| j        d<   t	          j        t          |d          t          | d                    rJ t          j	        ||           d S )Nr5   r   r   r7   r8   r   r(   r   r   r7   r+   r   r   )
r   r   r   r   r   r   r   r   r   r   )r   r/   r   r$   s       r    test_concat_mixed_series_framerF   |   sd   	++	,	,B

%
%
%CRIA&&&F{{}}HIfc22Ib#4F4FGGGGGIfc22Ib#4F4FGGGGGIfc22Ic34G4GHHHHHCHQK	&# 6 6	#s8K8KLLLLLBGDM	&# 6 6	"c8J8JKKKKK&(+++++r"   c                  D   t          dddgi          } t          dddgi          }t          | |gd          }t          j        t	          | d          t	          |d                    sJ t          j        t	          |d          t	          |d                    sJ d S )Nr   r   r'   r
   g      ?g      @r   )r   r   r   r   r   r   r   r   s      r    test_concat_copy_keywordrI      s    	C!Q=	!	!B
S3*%
&
&CRIA&&&FIb#..	&#0F0FGGGGGIc3//631G1GHHHHHHHr"   funcc                      | j         |fi |S Nr   r;   r   kwargss      r    <lambda>rP      s    939S#;#;F#;#; r"   c                     t          | |fi |S rL   rM   rN   s      r    rP   rP      s    5c#<#<V#<#< r"   c                 `   t          t          g dt                    g dd          }t          t          g dt                    g dd          }|                                }|                                } | ||d          }t	          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 d|j        d<   t	          j        t          |d	          t          |d	                    rJ t	          j        t          |d
          t          |d
                    sJ d|j        d<   t	          j        t          |d
          t          |d
                    rJ t          j	        ||           t          j	        ||           d S )Nr   r
   r7   r   r5   keyr   r8   rU   r
   rU   onr   r
   r   r   r   r'   )
r   r   r   r   r   r   r   r   r   r   )rJ   r;   r   df1_origdf2_origr   s         r    test_merge_on_keyr\      s    F???&AAA			RR
S
SC
F???&AAA			RR
S
SCxxzzHxxzzHT#su%%%FIfc22Ic34G4GHHHHHIfc22Ic34G4GHHHHHIfe44iU6K6KLLLLL	&% 8 8)C:O:OPPPPPFK	&# 6 6	#s8K8KLLLLLIfc22Ic34G4GHHHHHFK	&# 6 6	#s8K8KLLLLL#x(((#x(((((r"   c                  B   t          dg di          } t          dg di          }|                                 }|                                }t          | |dd          }t          j        t          |d          t          | d                    sJ t          j        t          |d          t          |d                    sJ d|j        d<   t          j        t          |d          t          | d                    rJ t          j        t          |d          t          |d                    sJ d|j        d	<   t          j        t          |d          t          |d                    rJ t          j        | |           t          j        ||           d S )
Nr   r5   r
   r8   T
left_indexright_indexr   r   r   )	r   r   r   r   r   r   r   r   r   )r;   r   rZ   r[   r   s        r    test_merge_on_indexra      s   
S)))$
%
%C
S)))$
%
%CxxzzHxxzzH3$???FIfc22Ic34G4GHHHHHIfc22Ic34G4GHHHHHFK	&# 6 6	#s8K8KLLLLLIfc22Ic34G4GHHHHHFK	&# 6 6	#s8K8KLLLLL#x(((#x(((((r"   z	func, howc                 "    t          || fddi|S NrX   rU   rM   rN   s      r    rP   rP          E#s$G$Gu$G$G$G r"   rightc                 "    t          | |fddi|S rc   rM   rN   s      r    rP   rP      rd   r"   leftc                    t          t          g dt                    g dd          }t          t          ddgt                    ddgd	          }|                                }|                                } | |||
          }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 |dk    rd|j	        d<   n
d|j	        d<   t	          j        t          |d          t          |d                    rJ t          j        ||           t          j        ||           d S )NrS   r   r5   rT   r   r
   r*   r9   rV   )howr   r   rU   rg   r   rY   )r   r   r   r   r   r   r   _mgr_has_no_referencer   r   r   )rJ   ri   r;   r   rZ   r[   r   s          r    test_merge_on_key_enlarging_onerl      s    F???&AAA			RR
S
SC
FC:V<<<Aq6JJ
K
KCxxzzHxxzzHT#s$$$FIfc22Ic34G4GHHHHH	&# 6 6	#s8K8KLLLLL8%%a(((((8%%a(((((Ife44iU6K6KLLv    	&% 8 8)C:O:OPPPPP
f}}DD	&# 6 6	#s8K8KLLLLL#x(((#x(((((r"   c                  N   t          dddgi          } t          dddgi          }|                     |dd          }t          j        t	          | d          t	          |d                    sJ t          j        t	          |d          t	          |d                    sJ d S )	Nr   r   r'   r
   r   g      @Tr^   r   r   r   r   r   rH   s      r    test_merge_copy_keywordro      s    	C!Q=	!	!B
S1c(O
$
$CXXcdX==FIb#..	&#0F0FGGGGGIc3//631G1GHHHHHHHr"   c                     t          g dg dd          } |                                 }t          g dg ddt                    }t          | |d          }t	          j        t          |d	          t          | d	                    sJ t	          j        t          |d          t          | d                    rJ t          j        | |           t          || d          }t	          j        t          |d	          t          | d	                    sJ t	          j        t          |d          t          | d                    rJ t          j        | |           d S )
Nr5   r8   r6         	   rE   r   r   rW   r
   )	r   r   r   r   r   r   r   r   r   )rg   	left_copyre   r   s       r    test_merge_upcasting_no_copyrv      sV   9999995566D		IIIIIII66fEEEE43'''FIfc22IdC4H4HIIIII	&# 6 6	$8L8LMMMMM$	***5$3'''FIfc22IdC4H4HIIIII	&# 6 6	$8L8LMMMMM$	*****r"   c                  P   t          g dg dd          } t          g dg dd          }t          | |dd          }t          j        t	          |d	          t	          | d	                    sJ t          j        t	          |d
          t	          |d
                    sJ d S )Nr5   r8   r6   rq   rE   r   T)rX   	indicatorr
   r7   rn   )rg   re   r   s      r    !test_merge_indicator_no_deep_copyry     s    9999995566DIIIIII6677E43$777FIfc22IdC4H4HIIIIIIfc22IeS4I4IJJJJJJJr"   r   strc                    t          g dd|           }t          dg di|                    d                    }t          d	g d
i|                    d                    }|                                }|                                }|                    |d          }t	          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 d|j	        d<   t	          j        t          |d          t          |d                    rJ t	          j        t          |d	          t          |d	                    sJ d|j	        d<   t	          j        t          |d	          t          |d	                    rJ t          j
        ||           t          j
        ||           d S )NrS   rU   r)   r   r   r5   Tdeepindexr
   r8   rW   r   r   r   )r   r   r   joinr   r   r   r   r   r   r   )r   df_indexr;   r   rZ   r[   r   s          r    test_join_on_keyr     s   ___5>>>H
S)))$HMMtM,D,D
E
E
EC
S)))$HMMtM,D,D
E
E
ECxxzzHxxzzHXXceX$$FIfc22Ic34G4GHHHHHIfc22Ic34G4GHHHHHIfl33Ysy5I5IJJJJJ	&, 7 7399M9MNNNNNFK	&# 6 6	#s8K8KLLLLLIfc22Ic34G4GHHHHHFK	&# 6 6	#s8K8KLLLLL#x(((#x(((((r"   c                     t          g ddt                    } t          dg di|                     d                    }t          d	g d
i|                     d                    t          dg di|                     d                    g}|                                }d |D             }|                    |          }t          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 d|j	        d<   t          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<   t          j        t          |d	          t          |d         d	                    rJ t          j        t          |d          t          |d         d                    sJ d|j	        d<   t          j        t          |d          t          |d         d                    rJ t          j        ||           t          ||d          D ]\  }}t          j        ||           d S )NrS   rU   r|   r   r5   Tr}   r   r
   r8   r7   rq   c                 6    g | ]}|                                 S  )r   ).0r   s     r    
<listcomp>z8test_join_multiple_dataframes_on_key.<locals>.<listcomp>3  s     2222RWWYY222r"   r   r   r   r   rY   )strict)r   r   r   r   r   r   r   r   r   r   r   r   zip)r   r;   dfs_listrZ   dfs_list_origr   r   r   s           r    $test_join_multiple_dataframes_on_keyr   )  s   ___5???H
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Ifc22Ic34G4GHHHHHIfc22Ihqk34O4OPPPPPIfc22Ihqk34O4OPPPPPIfl33Ysy5I5IJJJJJ	&, 7 78A;CT9U9UVVVVV	&, 7 78A;CT9U9UVVVVVFK	&# 6 6	#s8K8KLLLLLIfc22Ihqk34O4OPPPPPIfc22Ihqk34O4OPPPPPFK	&# 6 6	(1+s8S8STTTTTIfc22Ihqk34O4OPPPPPFK	&# 6 6	(1+s8S8STTTTT#x(((8]4@@@ + +G
b'****+ +r"   )!numpyr   pytestpandasr   r   r   r   r   pandas._testing_testingr   pandas.tests.copy_view.utilr   r!   r%   r3   r=   rA   rC   rF   rI   markparametrizer\   ra   rl   ro   rv   ry   r   r   r   r   r"   r    <module>r      s                            1 1 1 1 1 1' ' '$, , ,$, , ,(, , ,", , ,", , ,&, , ,$I I I 
;;<< ) ) ).) ) )* 	G	GQ	G	GP ) ) )4I I I+ + +K K K 65/22) ) 32)6#+ #+ #+ #+ #+r"   