
    Pi.              
          d dl Zd dlZd dlmZmZ d dlmZ d dl	m
Z
 ej                            dddddd	d
didd	ddidd	ddddiiig          d             Zd Zd Zd Zd Zd Zd Zd Zd Zej                            dddgg g          d             Zej                            dddgg          d             Zej                            dd
dg          d             Zej                            dddgg          d             Zd Zd Zej                            ddd g          d!             Zd" Zej                            d#d$dg          d%             Zd& Zd' Z d( Z!d) Z"d* Z#d+ Z$d, Z%d- Z&dS ).    N)Categorical	DataFrame)	get_arrayreplace_kwargs      ab
to_replacevaluer
   r   r   c                    t          g dg dg dd          }|                                } |j        di | }|d         |d         k                                    r3t	          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	| d
         v r?t          |d	          }d|j        d<   t	          j        t          |d	          |          sJ t          j	        ||           d S )Nr         )r         )g?g?g333333?r
   r   cr   r   r   r   r   r
   r   d   )r   r
    )
r   copyreplaceallnpshares_memoryr   tmlocassert_frame_equal)r   dfdf_origdf_replacedarrs        w/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/copy_view/test_replace.pytest_replacer(      sj     
II	J	JBggiiG"*..~..KCBsG#((** Q	+s ; ;Yr3=O=OPPPPPIk3772s9K9KLLLLL !KOF	+s ; ;Yr3=O=OPPPPP
n\***S))"%	+s ; ;SAAAAA"g&&&&&    c                  f   t          dddgi          } |                                 }| d d          }t          | d          }|                     dddd           t	          j        |t          | d                    rJ | j                            d          sJ t          j	        ||           d S )	Nr
   aaabbb^a.*$newTr   r   inplaceregexr   )
r   r   r   r   r   r   _mgr_has_no_referencer    r"   )r#   r$   viewr&   s       r'   test_replace_regex_inplace_refsr5   0   s    	C%(	)	)BggiiGaaa5D
B

CJJ(%TJJJJYr3%7%7888887$$Q'''''$(((((r)   c                     t          dddgi          } t          | d          }|                     dddd           | j                            d          sJ t          j        |t          | d                    sJ |                                 }|                     d	dd
          }t          j        ||            t          j        t          |d          t          | d                    rJ d S )Nr
   r+   r,   r-   r.   Tr/   r   z^b.*$r   r   r1   )	r   r   r   r2   r3   r    r   r   r"   r#   r&   r$   df2s       r'   test_replace_regex_inplacer:   ;   s    	C%(	)	)B
B

CJJ(%TJJJJ7$$Q'''''C2s!3!344444ggiiG
**T*
B
BC'2&&&	#s 3 3Yr35G5GHHHHHHHr)   c                     t          dddgi          } t          | d          }|                     dddd           | j                            d          sJ t          j        |t          | d                    sJ |                                 }|                     d	dd
          }t          j	        ||            t          j        t          |d          t          | d                    sJ d S )Nr
   r   r   z^a.$r.   Tr/   r   z^x.$r7   )
r   r   r   r2   r3   r   r   r   r    r"   r8   s       r'    test_replace_regex_inplace_no_opr<   H   s    	C!Q=	!	!B
B

CJJ'DJIII7$$Q'''''C2s!3!344444ggiiG
**uD*
A
AC'2&&&Ic3//2s1C1CDDDDDDDr)   c                  ^   t          g ddddd          } |                                 }|                     dd          }t          j        t          | d	          t          |d	                    sJ t          j        t          | d
          t          |d
                    rJ d|j        d<   t          j        | |           t          j        t          | d	          t          |d	                    rJ t          j        t          | d          t          |d                    sJ d S )N      ?r   r         Y@r   r   )r
   r   r   dr?   g     K@r   r   r
   r   rA   	r   r   r   r   r   r   r!   r    r"   r#   r$   r9   s      r'   (test_replace_mask_all_false_second_blockrD   U   s   	5qqAA	B	BBggiiG
**4*
0
0C Ib#..	#s0C0CDDDDD	"c 2 2Ic34G4GHHHHHCGFO"g&&&	"c 2 2Ic34G4GHHHHHIb#..	#s0C0CDDDDDDDr)   c                     t          g ddd          } |                                 }|                     dd          }t          j        t          | d          t          |d                    sJ t          j        t          | d          t          |d                    rJ d|j        d	<   t          j        | |           t          j        t          | d          t          |d                    rJ d S )
Nr>   r@   r	   r?   r
   r   r         ?r   r   rB   rC   s      r'   !test_replace_coerce_single_columnrH   f   s    	511	2	2BggiiG
**3*
/
/CIb#..	#s0C0CDDDDD	"c 2 2Ic34G4GHHHHHCGFO"g&&&	"c 2 2Ic34G4GHHHHHHHr)   c                     t          g ddd          } |                                 }|                     dd          }t          j        t          | d          t          |d                    sJ t          j        t          | d          t          |d                    sJ d	|j        d
<   t          j        | |           t          j        t          | d          t          |d                    rJ d S )Nr>   r@   r	   xxxr?   r   r   r
   rF   rG   rB   rC   s      r'   #test_replace_to_replace_wrong_dtyperK   s   s    	511	2	2BggiiG
**S*
1
1CIb#..	#s0C0CDDDDDIb#..	#s0C0CDDDDDCGFO"g&&&	"c 2 2Ic34G4GHHHHHHHr)   c                  $   t          dg did          } t          | d          }|                     dgdd           t          j        |j        t          | d          j                  sJ | j                            d          sJ |                                 }|                     d	gd
           | 	                    d           }t          j        |j        t          |d          j                  rJ t          j        | |           d S )Nr
   r   categorydtyper   Tr   r0   r   r   r   c                 :    | j                             ddi          S )Nr   rA   )catrename_categories)xs    r'   <lambda>z/test_replace_list_categorical.<locals>.<lambda>   s    QU44c3Z@@ r)   )r   r   r   r   r   codesr2   r3   r   applyr    r"   r8   s       r'   test_replace_list_categoricalrY      s   	C)	<	<	<B
B

CJJuCJ...CIyS'9'9'?@@@@@7$$Q'''''ggiiGJJuCJ   
((@@
A
AC	9S#+>+>+DEEEEE"g&&&&&r)   c                      t          dg did          } | d d          }|                                 }|                     dgdd           t          j        ||           d S )Nr
   r   rM   rN   r   TrP   )r   r   r   r    r"   r#   r4   r$   s      r'   *test_replace_list_inplace_refs_categoricalr\      sj    	C)	<	<	<Baaa5DggiiGJJuCJ...'4(((((r)   r?   c                     t          dg di          }t          |d          }|                    ddd           t          j        t          |d          |          sJ |j                            d          sJ d S )Nr
   r>   r?         /@Tr   r   r0   r   r   r   r   r   r   r2   r3   )r   r#   arr_as      r'   test_replace_inplacerb      s    	C%	&	&Bb#EJJ#T4J888Ib#..666667$$Q'''''''r)   c                 J   t          dg di          }t          |d          }|d d          }|                    | dd           t          j        t          |d          |          rJ |j                            d          sJ |j                            d          sJ d S Nr
   r>   r^   Tr_   r   r`   r   r#   ra   r4   s       r'   test_replace_inplace_referencerf      s    	C%	&	&Bb#Eaaa5DJJ*D$J???	"c 2 2E:::::7$$Q'''''9&&q)))))))r)   r@   c                 J   t          dg di          }t          |d          }|d d          }|                    | dd           t          j        t          |d          |          sJ |j                            d          rJ |j                            d          rJ d S rd   r`   re   s       r'   $test_replace_inplace_reference_no_oprh      s    	C%	&	&Bb#Eaaa5DJJ*D$J???Ib#..66666w((+++++y**1-------r)   c                    t          dt          g d          i          }|                                }t          |d          }|d d          }|                    | dd           t          j        t          |d          j        |j                  rJ |j        	                    d          sJ |j        	                    d          sJ t          j        ||           d S Nr
   r   r   Tr_   r   )r   r   r   r   r   r   r   rW   r2   r3   r    r"   )r   r#   r$   ra   r4   s        r'   *test_replace_categorical_inplace_referencerk      s    	CYYY//0	1	1BggiiGb#Eaaa5DJJ*AtJ<<<	"c 2 2 8%+FFFFF7$$Q'''''9&&q)))))$(((((r)   c                     t          dt          g d          i          } t          | d          }|                     ddd           t	          j        t          | d          j        |j                  sJ | j                            d          sJ t          dt          g d          i          }t          j
        | |           d S rj   )r   r   r   r   r   r   rW   r2   r3   r    r"   )r#   ra   expecteds      r'    test_replace_categorical_inplacern      s    	CYYY//0	1	1Bb#EJJ!1dJ333Ib#..4ekBBBBB7$$Q'''''#{99955677H"h'''''r)   c                  B   t          dt          g d          i          } |                                 }|                     dd          }| j                            d          sJ |j                            d          sJ t          j        t          | d          j	        t          |d          j	                  rJ t          j        | |           t          |d          j	        }d|j        d<   t          j        t          |d          j	        |          sJ d S )Nr
   r   r   r   r   g       @r   r   )r   r   r   r   r2   r3   r   r   r   rW   r    r"   iloc)r#   r$   r9   ra   s       r'   test_replace_categoricalrr      s	   	CYYY//0	1	1BggiiG
***
+
+C7$$Q'''''8%%a(((((	"c 2 2 8)C:M:M:STTTTT"g&&&c3%ECHTNIc3//5u=======r)   methodwheremaskc                    t          dg di          }|                                }t          |d          }|d d          }t          ||           }  | |d         dk    dd           t	          j        t          |d          |          rJ |j                            d          sJ |j                            d          sJ t          j	        ||           d S )Nr
   r>   g?r   Tr0   r   )
r   r   r   getattrr   r   r2   r3   r    r"   )rs   r#   r$   ra   r4   s        r'   test_masking_inplacery      s    	C%	&	&BggiiGb#Eaaa5DR  F
F2c7S="d++++	"c 2 2E:::::7$$Q'''''9&&q)))))$(((((r)   c                     t          dddgi          } |                     g g           }t          j        t	          |d          t	          | d                    sJ | j                            d          rJ t	          | d          }|                     g g            t          j        t	          | d          |          sJ | j                            d          rJ |j                            d          rJ d S )Nr
   r   r   r   )r   r   r   r   r   r2   r3   )r#   r9   ra   s      r'   test_replace_empty_listr{      s    	C!Q=	!	!B
**R

CIc3//2s1C1CDDDDDw((+++++b#EJJr2Ib#..66666w((+++++x))!,,,,,,,r)   r   rA   c                    t          dg dit                    }t          |d          }|                    dg| d           t	          j        |t          |d                    sJ |j                            d          sJ d S )Nr
   r   rN   r   Trw   r   )r   objectr   r   r   r   r2   r3   )r   r#   r&   s      r'    test_replace_object_list_inplacer~      s    	C)	8	8	8B
B

CJJueTJ***C2s!3!3444447$$Q'''''''r)   c                     t          dg di          } t          | d          }|                     ddgdd           t          j        |t          | d                    sJ | j                            d          sJ d S )	Nr
   r   r   r   r   Trw   r   r`   )r#   r&   s     r'   +test_replace_list_multiple_elements_inplacer   	  s    	C#	$	$B
B

CJJ1vq$J'''C2s!3!3444447$$Q'''''''r)   c                     t          dg di          } |                                 }|                     dgd           }t          j        | |           t          j        t          | d          t          |d                    rJ |                     g dd           }t          j        ||           t          j        t          | d          t          |d                    sJ d S )Nr
   r   r   rQ   )rA   ef)r   r   r   r    r"   r   r   r   )r#   r$   r9   df3s       r'   test_replace_list_noner     s    	C)	*	*BggiiG
**cU$*
'
'C"g&&&	"c 2 2Ic34G4GHHHHH **___D*
1
1C#w'''Ib#..	#s0C0CDDDDDDDr)   c                  f   t          dg di          } t          | d          }|                                 }| d d          }|                     dgd d           | j                            d          sJ t          j        |t          | d                    rJ t          j	        ||           d S )Nr
   r   TrP   r   )
r   r   r   r   r2   r3   r   r   r    r"   )r#   r&   r$   r4   s       r'   #test_replace_list_none_inplace_refsr   !  s    	C)	*	*B
B

CggiiGaaa5DJJuD$J///7$$Q'''''Yr3%7%788888'4(((((r)   c                  F   t          g dg dd          } | d d          }|                                 }|                     ddidd           t          j        t          |d          t          | d                    sJ d| j        d<   t          j        ||           d S )	Nr   r	   r
   
   r   Trw   rp   	r   r   r   r   r   r   rq   r    r"   r[   s      r'   %test_replace_columnwise_no_op_inplacer   ,  s    	33	4	4Baaa5DggiiGJJRy#tJ,,,IdC00)B2D2DEEEEEBGDM$(((((r)   c                  .   t          g dg dd          } |                                 }|                     ddid          }t          j        t          |d          t          | d                    sJ d|j        d<   t          j        | |           d S )Nr   r	   r
   r   r   rp   r   rC   s      r'   test_replace_columnwise_no_opr   6  s    	33	4	4BggiiG
**c2Y
$
$CIc3//2s1C1CDDDDDCHTN"g&&&&&r)   c                     t          dt          j        dgdd          } |                                 }t	          j                    5  | d                             ddd           d d d            n# 1 swxY w Y   t	          j        | |           t	          j                    5  | dg                             ddd           d d d            n# 1 swxY w Y   t	          j        | |           d S )Nr   r   r	   r
   r   Trw   )r   r   nanr   r    raises_chained_assignment_errorr   r"   )r#   r$   s     r'   test_replace_chained_assignmentr   ?  s]   	!RVQa00	1	1BggiiG		+	-	- . .
33---. . . . . . . . . . . . . . ."g&&&		+	-	- 0 0
C5	!S$///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"g&&&&&s$   A22A69A6% CCCc                     t          g dg dd          } |                                 }|                     ddgddg          }t          j        t          |d          t          | d                    sJ d|j        d<   t          j        | |            |                     dd	gd
d
g          }t          j        t          | d          t          |d                    rJ t          j        | |           d S )Nr   r	            r
   r   rp   r   r   r   )r#   r$   results      r'   test_replace_listliker   K  s    	33	4	4BggiiGZZc
RH--FIfc22Ib#4F4FGGGGGFK"b!!!ZZa2r(++F	"c 2 2Ifc4J4JKKKKK"g&&&&&r)   c                     t          g dg dd          } t          | d          }|                     ddgddgd	           t          j        t          | d          |          sJ | d d          }|                                 }|                     dd
gddgd	           t          j        t          | d          |          rJ t          j        ||           d S )Nr   r	   r
   r   r   r   r   Trw   r   )r   r   r   r   r   r   r    r"   )r#   r&   r4   r$   s       r'   test_replace_listlike_inplacer   Z  s    	33	4	4B
B

CJJQx"b4J000Ib#..44444aaa5DggiiGJJQx"b4J000	"c 2 2C88888$(((((r)   )'numpyr   pytestpandasr   r   pandas._testing_testingr    pandas.tests.copy_view.utilr   markparametrizer(   r5   r:   r<   rD   rH   rK   rY   r\   rb   rf   rh   rk   rn   rr   ry   r{   r~   r   r   r   r   r   r   r   r   r   r)   r'   <module>r      sP                     1 1 1 1 1 1 Q''"55Qx"--Qx"--	aV}% ' ' '*) ) )
I 
I 
I
E 
E 
EE E E"
I 
I 
II I I' ' ' ) ) ) cUB'788( ( 98( cU|44* * 54* U|44. . 54. A3x00	) 	) 10	)	( 	( 	(> > > GV#455) ) 65)
- 
- 
- 3+..( ( /.(( ( (E E E ) ) )) ) )' ' '	' 	' 	'' ' '
) 
) 
) 
) 
)r)   