
    ,iE              
          d dl Zd dlZd dlmZ d dlmZmZmZ d dl	m
Z d dlmZ ej                  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                  j                  dddgg g      d        Zej                  j                  dddgg      d        Zej                  j                  dddg      d        Zej                  j                  dddgg      ej                  j                  dddg      d               Zej                  j                  dddg      d        Zej                  j                  dddg      d        Zej                  j                  d d!d"g      d#        Zd$ Z ej                  j                  d%d&dg      d'        Z!d( Z"d) Z#d* Z$d+ Z%d, Z&d- Z'd. Z(d/ Z)y)0    N)WARNING_CHECK_DISABLED)Categorical	DataFrameoption_context)	get_arrayreplace_kwargs      ab
to_replacevaluer   r   r   c                    t        g dg dg dd      }|j                         } |j                  di |}| rq|d   |d   k(  j                         r,t	        j
                  t        |d      t        |d            sJ t        j
                  t        |d      t        |d            sJ d|j                  d<   | r,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                  ||       y )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)using_copy_on_writer   dfdf_origdf_replacedarrs         r/var/www/system.tvplus.app.br/jogos/scrap/venv/lib/python3.12/site-packages/pandas/tests/copy_view/test_replace.pytest_replacer+      s#     
I	JBggiG"**.~.K3',,.##Ik3$?2sASTTT	+s ;Yr3=OPPP !KOOF##Ik3$?2sASTTT
n\**S)"%	+s ;SAAA"g&    c                    t        dddgi      }|j                         }|d d  }t        |d      }t        j                  |      5  |j                  dddd       d d d        | rVt        j                  |t        |d            rJ |j                  j                  d      sJ t        j                  ||       y t        j                  |t        |d            sJ y # 1 sw Y   xY w)	Nr   aaabbb^a.*$newTr   r   inplaceregexr   )r   r   r   r"   assert_cow_warningr   r!   _mgr_has_no_referencer$   r    )r%   warn_copy_on_writer&   r'   viewr)   s         r*   test_replace_regex_inplace_refsr:   5   s    	C%(	)BggiGa5D
B
C			1	2 O


heT
NO##C2s);<<<ww((+++
dG,Yr3%7888O O   CC(c                    t        dddgi      }t        |d      }|j                  dddd       | r|j                  j	                  d      sJ t        j                  |t        |d            sJ |j                         }|j                  d	dd
      }t        j                  ||       t        j                  t        |d      t        |d            rJ y )Nr   r.   r/   r0   r1   Tr2   r   z^b.*$r   r   r4   )	r   r   r   r6   r7   r"   r!   r   r$   r%   r&   r)   r'   df2s        r*   test_replace_regex_inplacer@   D   s    	C%(	)B
B
CJJ(%TJJww((+++C2s!3444ggiG
**T*
BC'2&	#s 3Yr35GHHHHr,   c                    t        dddgi      }t        |d      }|j                  dddd       | r|j                  j	                  d      sJ t        j                  |t        |d            sJ |j                         }|j                  d	dd
      }t        j                  ||       | r-t        j                  t        |d      t        |d            sJ y t        j                  t        |d      t        |d            rJ y )Nr   r	   r   z^a.$r1   Tr2   r   z^x.$r=   )
r   r   r   r6   r7   r    r!   r   r"   r$   r>   s        r*    test_replace_regex_inplace_no_oprB   R   s    	C!Q=	!B
B
CJJ'DJIww((+++C2s!3444ggiG
**uD*
AC'2&	#s 3Yr35GHHH##Ic3$72s9KLLLLr,   c                 z   t        g ddddd      }|j                         }|j                  dd      }| rXt        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<   t        j                  ||       | r-t        j                  t        |d	      t        |d	            rJ y y )N      ?r   r         Y@r	   r   )r   r   r   drE   g     K@r   r   r   r   	r   r   r   r    r!   r   r#   r"   r$   r%   r&   r'   r?   s       r*   (test_replace_mask_all_false_second_blockrJ   c   s   	5qqA	BBggiG
**4*
0C	"c 2Ic34GHHH##Ib#$6	#s8KLLL ##Ib#$6	#s8KLLL##Ib#$6	#s8KLLLCGGFO"g&##Ib#$6	#s8KLLLL r,   c                 z   t        g ddd      }|j                         }|j                  dd      }| rXt        j                  t        |d      t        |d            sJ t        j                  t        |d      t        |d            r\J |sXt        j                  t        |d      t        |d            sJ t        j                  t        |d      t        |d            rJ | rRd|j                  d	<   t        j                  ||       t        j                  t        |d      t        |d            rJ y y )
NrD   rF   r   rE   r   r   r         ?r   r   rH   )r%   using_array_managerr&   r'   r?   s        r*   !test_replace_coerce_single_columnrO   {   s   	51	2BggiG
**3*
/C	"c 2Ic34GHHH##Ib#$6	#s8KLLL 	"c 2Ic34GHHH##Ib#$6	#s8KLLL
b'*##Ib#$6	#s8KLLLL r,   c                 v   t        g ddd      }|j                         }|j                  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
<   t        j                  ||       | r-t        j                  t        |d      t        |d            rJ y y )NrD   rF   r   xxxrE   r   r   r   rL   rM   rH   rI   s       r*   #test_replace_to_replace_wrong_dtyperR      s   	51	2BggiG
**S*
1C	"c 2Ic34GHHH	"c 2Ic34GHHH ##Ib#$6	#s8KLLL##Ib#$6	#s8KLLLCGGFO"g&##Ib#$6	#s8KLLLL r,   c                    t        dg did      }t        |d      }d}t        j                  t        |      5  |j                  dgdd	       d d d        t        j                  |j                  t        |d      j                        sJ | r|j                  j                  d
      sJ |j                         }t        j                  t        |      5  |j                  dgd      }d d d        t        j                  |j                  t        d      j                        rJ t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   bxY w)Nr   r   categorydtypeOThe behavior of Series\.replace \(and DataFrame.replace\) with CategoricalDtypematchr   Tr   r3   r   r   r   )r   r   r"   assert_produces_warningFutureWarningr   r    r!   codesr6   r7   r   r$   )r%   r&   r)   msgr'   r?   s         r*   test_replace_list_categoricalr`      s!   	C)	<B
B
C	   
	#	#M	= 3


C5T
23CIIyS'9'?'?@@@ww((+++ggiG		#	#M	= +jj#cj*+		9S#+>+D+DEEE"g&3 3+ +s   EEEEc                    t        dg did      }|d d  }|j                         }d}t        j                  t        |      5  |j                  dgdd	       d d d        | rWt        j                  t        |d      j                  t        |d      j                        rJ t        j                  ||       y t        j                  t        |d      j                  t        |d      j                        rJ y # 1 sw Y   xY w)
Nr   r   rT   rU   rW   rX   r   TrZ   )r   r   r"   r\   r]   r   r    r!   r   r^   r$   )r%   r&   r9   r'   r_   s        r*   *test_replace_list_inplace_refs_categoricalrb      s    	C)	<Ba5DggiG	   
	#	#M	= 3


C5T
23##dC &&	"c(:(@(@
 	
 
 	gt, ##dC &&	"c(:(@(@
 	
 
 
3 3s   C<<DrE   c                     t        dg di      }t        |d      }|j                  ddd       t        j                  t        |d      |      sJ | r|j
                  j                  d      sJ y y )Nr   rD   rE         /@Tr   r   r3   r   r   r   r   r    r!   r6   r7   )r%   r   r&   arr_as       r*   test_replace_inplacerh      sl    	C%	&Bb#EJJ#T4J8Ib#.666ww((+++ r,   c                    t        dg di      }t        |d      }|d d  }t        j                  |      5  |j	                  |dd       d d d        | r]t        j                  t        |d      |      rJ |j                  j                  d      sJ |j                  j                  d      sJ y t        j                  t        |d      |      sJ y # 1 sw Y   xY wNr   rD   rd   Tre   r   )	r   r   r"   r5   r   r    r!   r6   r7   )r%   r   r8   r&   rg   r9   s         r*   test_replace_inplace_referencerk      s    	C%	&Bb#Ea5D			1	2 D


jd
CD ##Ib#$6>>>ww((+++yy**1---	"c 2E:::D Ds   CCrF   c                 *   t        dg di      }t        |d      }|d d  }|j                  |dd       t        j                  t        |d      |      sJ | r;|j
                  j                  d      rJ |j
                  j                  d      rJ y y rj   rf   )r%   r   r&   rg   r9   s        r*   $test_replace_inplace_reference_no_oprm      s    	C%	&Bb#Ea5DJJ*D$J?Ib#.66677,,Q///99..q1111 r,   valc                    t        dt        g d      i      }|j                         }t        |d      }|d d  }d}|dk(  rt        nd }t        j                  ||      5  |j                  ||d       d d d        | rt        j                  t        |d      j                  |j                        rJ |j                  j                  d      sJ |j                  j                  d      sJ t        j                  ||       y t        j                  t        |d      j                  |j                        sJ y # 1 sw Y   xY w)	Nr   r   rW   rE   rX   Tre   r   )r   r   r   r   r]   r"   r\   r   r    r!   r^   r6   r7   r$   )	r%   rn   r   r&   r'   rg   r9   r_   warns	            r*   *test_replace_categorical_inplace_referencerq      s    
CY/0	1BggiGb#Ea5D	    3J=DD		#	#D	4 C


jT
BC ##Ib#$6$<$<ekkJJJww((+++yy**1---
dG,	"c 2 8 8%++FFFC Cs    D==Ec                    t        dt        g d      i      }t        |d      }d}|dk(  rt        nd }t	        j
                  ||      5  |j                  d|d       d d d        t        j                  t        |d      j                  |j                        sJ | r|j                  j                  d	      sJ t        dt        |d
dg      i      }t	        j                  ||       y # 1 sw Y   xY w)Nr   r   rW   rE   rX   r	   Tre   r   r   r   )r   r   r   r]   r"   r\   r   r    r!   r^   r6   r7   r$   )r%   rn   r&   rg   r_   rp   expecteds          r*    test_replace_categorical_inplacert     s    	CY/0	1Bb#E	    3J=DD		#	#D	4 :


asD
9: Ib#.44ekkBBBww((+++#{CA;789H"h': :s   C--C6c                    t        dt        g d      i      }|j                         }d}|dk(  rt        nd }t	        j
                  ||      5  |j                  d|      }d d d        | r:|j                  j                  d      sJ 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 y # 1 sw Y   xY w)Nr   r   rW   rE   rX   r	   r   r   g       @r   r   )r   r   r   r]   r"   r\   r   r6   r7   r    r!   r   r^   r$   iloc)r%   rn   r&   r'   r_   rp   r?   rg   s           r*   test_replace_categoricalrx   #  s(   	CY/0	1BggiG	    3J=DD		#	#D	4 2jjASj12 ww((+++xx))!,,,	"c 2 8 8)C:M:S:STTT"g&c3%%ECHHTNIc3/55u===2 2s   EEmethodwheremaskc                 F   t        dg di      }|j                         }t        |d      }|d d  }t        ||      }|r/t	        j
                         5   ||d   dkD  dd       d d d        n ||d   dkD  dd       | rst        j                  t        |d      |      rJ |j                  j                  d      sJ |j                  j                  d      sJ t	        j                  ||       y t        j                  t        |d      |      sJ y # 1 sw Y   xY w)Nr   rD   g?r   Tr3   r   )r   r   r   getattrr"   r5   r    r!   r6   r7   r$   )r%   ry   r8   r&   r'   rg   r9   s          r*   test_masking_inplacer   :  s   	C%	&BggiGb#Ea5DR F""$ 	42c7S="d3	4 	4 	r#w}b$/##Ib#$6>>>ww((+++yy**1---
dG,	"c 2E:::	4 	4s   DD c                 .   t        dddgi      }|j                  g g       }| rIt        j                  t	        |d      t	        |d            sJ |j
                  j                  d      r.J t        j                  t	        |d      t	        |d            rJ t	        |d      }|j                  g g        | r]t        j                  t	        |d      |      sJ |j
                  j                  d      rJ |j
                  j                  d      rJ y y )Nr   r	   r   r   )r   r   r    r!   r   r6   r7   )r%   r&   r?   rg   s       r*   test_replace_empty_listr   Q  s    	C!Q=	!B
**R
C	#s 3Yr35GHHH77,,Q///##Ic3$72s9KLLLb#EJJr2	"c 2E:::77,,Q///88--a0000 r,   r   rG   c                 @   t        dg dit              }t        |d      }|j                  dg|d       | s|"t	        j
                  |t        |d            s$J t        j
                  |t        |d            rJ | r|j                  j                  d      sJ y y )Nr   r   rU   r   Tr}   r   )	r   objectr   r   r"   r!   r    r6   r7   )r%   r   r&   r)   s       r*    test_replace_object_list_inplacer   c  s    	C)	8B
B
CJJueTJ*emYr3%7888 ##C2s);<<<ww((+++ r,   c                 .   t        dg di      }t        |d      }|j                  ddgdd       | r@t        j                  |t        |d            sJ |j
                  j                  d      sJ y t        j                  |t        |d            sJ y )	Nr   r   r	   r   r
   Tr}   r   rf   )r%   r&   r)   s      r*   +test_replace_list_multiple_elements_inplacer   q  s    	C#	$B
B
CJJ1vq$J'Yr3%7888ww((+++Yr3%7888r,   c                    t        dg di      }|j                         }|j                  dgd       }t        j                  ||       t        j                  t        |d      t        |d            rJ |j                  g dd       }t        j                  ||       | r-t        j                  t        |d      t        |d            sJ y t        j                  t        |d      t        |d            rJ y )Nr   r   r   r[   )rG   ef)r   r   r   r"   r$   r    r!   r   )r%   r&   r'   r?   df3s        r*   test_replace_list_noner   |  s    	C)	*BggiG
**cU$*
'C"g&	"c 2Ic34GHHH **_D*
1C#w'	"c 2Ic34GHHH##Ib#$6	#s8KLLLLr,   c                    t        dg di      }t        |d      }|j                         }|d d  }t        j                  |      5  |j                  dgd d       d d d        | rV|j                  j                  d      sJ t        j                  |t        |d            rJ t        j                  ||       y t        j                  |t        |d            sJ y # 1 sw Y   xY w)Nr   r   TrZ   r   )r   r   r   r"   r5   r   r6   r7   r    r!   r$   )r%   r8   r&   r)   r'   r9   s         r*   #test_replace_list_none_inplace_refsr     s    	C)	*B
B
CggiGa5D			1	2 4


C5d
34ww((+++##C2s);<<<
gt,Yr3%78884 4r;   c                 &   t        g dg dd      }|d d  }|j                         }|j                  ddidd       | rRt        j                  t        |d      t        |d            sJ d|j                  d<   t        j                  ||       y y )	Nr   r   r   
   r   Tr}   rv   	r   r   r   r    r!   r   rw   r"   r$   )r%   r&   r9   r'   s       r*   %test_replace_columnwise_no_op_inplacer     s    	3	4Ba5DggiGJJRy#tJ,	$ 4iC6HIII
dG, r,   c                    t        g dg dd      }|j                         }|j                  ddid      }| r,t        j                  t        |d      t        |d            sJ d|j                  d<   t        j                  ||       y )Nr   r   r   r   r   rv   r   rI   s       r*   test_replace_columnwise_no_opr     st    	3	4BggiG
**c2Y
$C	#s 3Yr35GHHHCHHTN"g&r,   c                    t        dt        j                  dgdd      }|j                         }| rt	        j
                         5  |d   j                  ddd       d d d        t	        j                  ||       t	        j
                         5  |dg   j                  ddd       d d d        t	        j                  ||       y t	        j                  d       5  t        dd       5  |dg   j                  ddd       d d d        d d d        t	        j                  d       5  t        dd       5  ||j                  d	kD     j                  ddd       d d d        d d d        t	        j                  t        st        nd d
      5  |d   j                  ddd       d d d        y # 1 sw Y   RxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nr	   r   r   r   r   Tr}   zmode.chained_assignmentr   zinplace methodrX   )r   r    nanr   r"   raises_chained_assignment_errorr   r$   r\   r   r   r   r]   )r%   r&   r'   s      r*   test_replace_chained_assignmentr     s   	!RVVQa0	1BggiG//1 	2sGOOAsDO1	2
b'*//1 	4uIad3	4
b'*''- 	8 94@ 8C5	!!!S$!78	8 ''- 	; 94@ ;244!8$$QT$:;	; ''!7MT"
 	2 sGOOAsDO1		2 	2!	2 	2	4 	4
8 8	8 	8
; ;	; 	;	2 	2sl   F.F;G*GG(G,5%G G,G8.F8;GG	GG G)	%G,,G58Hc                 "   t        g dg dd      }|j                         }|j                  ddgddg      }| r,t        j                  t        |d      t        |d            s.J t        j                  t        |d      t        |d            rJ d|j                  d<   t        j                  ||       |j                  dd	gd
d
g      }t        j                  t        |d      t        |d            rJ t        j                  ||       y )Nr   r            r   r   rv   r   r   r   )r%   r&   r'   results       r*   test_replace_listliker     s    	3	4BggiGZZc
RH-F	&# 6	"c8JKKK##Ifc$:Ib#<NOOOFKK"b!ZZa2r(+F	"c 2Ifc4JKKK"g&r,   c                 H   t        g dg dd      }t        |d      }|j                  ddgddgd	       t        j                  t        |d      |      sJ |d d  }|j                         }t        j                  |      5  |j                  dd
gddgd	       d d d        | r9t        j                  t        |d      |      rJ t        j                  ||       y t        j                  t        |d      |      sJ t        j                  ||       y # 1 sw Y   }xY w)Nr   r   r   r   r   r   r   Tr}   r   )	r   r   r   r    r!   r   r"   r5   r$   )r%   r8   r&   r)   r9   r'   s         r*   test_replace_listlike_inplacer     s   	3	4B
B
CJJQx"b4J0Ib#.444a5DggiG			1	2 5


C8b"Xt
45##Ib#$6<<<
dG,	"c 2C888
b$'5 5s   DD!)*numpyr    pytestpandas.compatr   pandasr   r   r   pandas._testing_testingr"   pandas.tests.copy_view.utilr   markparametrizer+   r:   r@   rB   rJ   rO   rR   r`   rb   rh   rk   rm   rq   rt   rx   r   r   r   r   r   r   r   r   r   r   r   r   r,   r*   <module>r      sL     0 
  1 Q'"5Qx"-Qx"-	aV}%''.9IM"M0M(M*'*
, cUB'78, 9, cU|4; 5; U|4	2 5	2 A3x0C)G * 1G, C)( *(& C)> *>, GV#45; 6;,1$ 3+.
, /
,9M&9-'26'$(r,   