o
    $jE                  
   @   s  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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d Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zejdd d gg gd!d" Zejdd d ggd#d$ Zejddd%gd&d' Zejdddggejd(dd gd)d* Zejd(dd gd+d, Zejd(dd gd-d. Zejd/d0d1gd2d3 Zd4d5 Z ejd6d7dgd8d9 Z!d:d; Z"d<d= Z#d>d? Z$d@dA Z%dBdC Z&dDdE Z'dFdG Z(dHdI Z)dS )J    N)WARNING_CHECK_DISABLED)Categorical	DataFrameoption_context)	get_arrayreplace_kwargs      ab
to_replacevaluer   r   r   c                 C   s   t g dg dg dd}| }|jdi |}| rB|d |d k r4tt|dt|ds4J tt|dt|dsBJ d|jd< | rWtt|dt|drWJ d	|d
 v rrt|d	}d|jd< tt|d	|srJ t	|| 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)using_copy_on_writer   dfdf_origZdf_replacedarrr   r   d/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/pandas/tests/copy_view/test_replace.pytest_replace   s   


r(   c                 C   s   t dddgi}| }|d d  }t|d}t| |jddddd W d    n1 s0w   Y  | rRt|t|drBJ |jdsJJ t	|| d S t
|t|ds]J d S )	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&   r   r   r'   test_replace_regex_inplace_refs5   s   
r5   c                 C   s   t dddgi}t|d}|jddddd | r |jds J t|t|ds+J | }|jd	ddd
}t|| tt|dt|drKJ d S )Nr   r)   r*   r+   r,   Tr-   r   z^b.*$r   r   r/   )	r   r   r   r1   r2   r    r   r   r"   r#   r$   r&   r%   df2r   r   r'   test_replace_regex_inplaceD   s   
 r9   c                 C   s   t dddgi}t|d}|jddddd | r |jds J t|t|ds+J | }|jd	ddd
}t	|| | rOtt|dt|dsMJ d S tt|dt|dr]J d S )Nr   r   r   z^a.$r,   Tr-   r   z^x.$r6   )
r   r   r   r1   r2   r   r   r   r    r"   r7   r   r   r'    test_replace_regex_inplace_no_opR   s   
  r:   c                 C   s   t g ddddd}| }|jddd}| r5tt|d	t|d	s&J tt|d
t|d
r4J ntt|d	t|d	rCJ tt|d
t|d
rQJ d|jd< t|| | rltt|d	t|d	rnJ d S d S )N      ?r   r         Y@r   r   )r   r   r   dr<   g     K@r   r   r   r   	r   r   r   r   r   r   r!   r    r"   r#   r$   r%   r8   r   r   r'   (test_replace_mask_all_false_second_blockc   s   
rA   c                 C   s   t g ddd}| }|jddd}| r3tt|dt|ds$J tt|dt|dr2J n|sQtt|dt|dsCJ tt|dt|drQJ | rld|jd	< t|| tt|dt|drnJ d S d S )
Nr;   r=   r
   r<   r   r   r         ?r   r   r?   )r#   Zusing_array_managerr$   r%   r8   r   r   r'   !test_replace_coerce_single_column{   s   
rD   c                 C   s   t g ddd}| }|jddd}| r3tt|dt|ds$J tt|dt|ds2J ntt|dt|drAJ tt|dt|drOJ d	|jd
< t|| | rjtt|dt|drlJ d S d S )Nr;   r=   r
   Zxxxr<   r   r   r   rB   rC   r?   r@   r   r   r'   #test_replace_to_replace_wrong_dtype   s   
rE   c                 C   s   t dg didd}t|d}d}tjt|d |jdgddd	 W d    n1 s,w   Y  t|jt|djs>J | rH|j	
d
sHJ | }tjt|d |jdgdd}W d    n1 sfw   Y  t|jt|djrxJ t|| d S )Nr   r   categoryZdtypeOThe behavior of Series\.replace \(and DataFrame.replace\) with CategoricalDtypematchr   Tr   r.   r   r   r   )r   r   r    assert_produces_warningFutureWarningr   r   r   codesr1   r2   r   r"   )r#   r$   r&   msgr%   r8   r   r   r'   test_replace_list_categorical   s    
rQ   c                 C   s   t dg didd}|d d  }| }d}tjt|d |jdgddd	 W d    n1 s1w   Y  | rPtt|dj	t|dj	rHJ t
|| d S tt|dj	t|dj	r`J d S )
Nr   r   rF   rG   rH   rI   r   TrK   )r   r   r    rM   rN   r   r   r   r   rO   r"   )r#   r$   r4   r%   rP   r   r   r'   *test_replace_list_inplace_refs_categorical   s    rR   r<   c                 C   s\   t dg di}t|d}|jdddd tt|d|s J | r*|jds,J d S d S )Nr   r;   r<         /@Tr   r   r.   r   r   r   r   r   r   r1   r2   )r#   r   r$   arr_ar   r   r'   test_replace_inplace   s   
rW   c                 C   s   t dg di}t|d}|d d  }t| |j|ddd W d    n1 s+w   Y  | rOtt|d|r=J |jdsEJ |jdsMJ d S tt|d|sZJ d S Nr   r;   rS   TrT   r   )	r   r   r    r0   r   r   r   r1   r2   )r#   r   r3   r$   rV   r4   r   r   r'   test_replace_inplace_reference   s   
rY   r=   c                 C   sx   t dg di}t|d}|d d  }|j|ddd tt|d|s&J | r8|jdr0J |jdr:J d S d S rX   rU   )r#   r   r$   rV   r4   r   r   r'   $test_replace_inplace_reference_no_op   s   
rZ   valc           	      C   s   t dtg di}| }t|d}|d d  }d}|dkr!tnd }tj||d |j||dd W d    n1 s=w   Y  | rit	t|dj
|j
rQJ |jdsYJ |jdsaJ t|| d S t	t|dj
|j
svJ d S )	Nr   r   rH   r<   rI   TrT   r   )r   r   r   r   rN   r    rM   r   r   r   rO   r1   r2   r"   )	r#   r[   r   r$   r%   rV   r4   rP   warnr   r   r'   *test_replace_categorical_inplace_reference   s    
r]   c                 C   s   t dtg di}t|d}d}|dkrtnd }tj||d |jd|dd W d    n1 s3w   Y  tt|dj	|j	sEJ | rO|j
d	sOJ t dt|d
dgi}t|| d S )Nr   r   rH   r<   rI   r   TrT   r   r   r   )r   r   r   rN   r    rM   r   r   r   rO   r1   r2   r"   )r#   r[   r$   rV   rP   r\   expectedr   r   r'    test_replace_categorical_inplace  s   
r_   c                 C   s   t dtg di}| }d}|dkrtnd }tj||d |jd|d}W d    n1 s1w   Y  | rH|jds@J |jdsHJ t	
t|djt|djrXJ t|| t|dj}d	|jd
< t	
t|dj|suJ d S )Nr   r   rH   r<   rI   r   r   r   g       @r   r   )r   r   r   rN   r    rM   r   r1   r2   r   r   r   rO   r"   iloc)r#   r[   r$   r%   rP   r\   r8   rV   r   r   r'   test_replace_categorical#  s     
rb   methodwheremaskc                 C   s   t dg di}| }t|d}|d d  }t||}|r>t  ||d dkddd W d    n1 s8w   Y  n||d dkddd | rntt|d|rVJ |j	ds^J |j	dsfJ t
|| d S tt|d|syJ d S )Nr   r;   g?r   Tr.   r   )r   r   r   getattrr    r0   r   r   r1   r2   r"   )r#   rc   r3   r$   r%   rV   r4   r   r   r'   test_masking_inplace:  s"   


rh   c                 C   s   t dddgi}|g g }| r'tt|dt|dsJ |jdr&J ntt|dt|dr5J t|d}|g g  | r]tt|d|sMJ |jdrUJ |jdr_J d S d S )Nr   r   r   r   )r   r   r   r   r   r1   r2   )r#   r$   r8   rV   r   r   r'   test_replace_empty_listQ  s   
ri   r   r>   c                 C   s   t dg ditd}t|d}|jdg|dd | s|d u r*t|t|ds)J nt|t|dr5J | r?|jdsAJ d S d S )Nr   r   rG   r   Trf   r   )	r   objectr   r   r    r   r   r1   r2   )r#   r   r$   r&   r   r   r'    test_replace_object_list_inplacec  s   
rk   c                 C   sv   t dg di}t|d}|jddgddd | r.t|t|ds$J |jds,J d S t|t|ds9J d S )	Nr   r   r   r   r	   Trf   r   rU   )r#   r$   r&   r   r   r'   +test_replace_list_multiple_elements_inplaceq  s   
rl   c                 C   s   t dg di}| }|jdgd d}t|| tt|dt|dr(J |jg dd d}t|| | rItt|dt|dsGJ d S tt|dt|drWJ d S )Nr   r   r   rL   )r>   ef)r   r   r   r    r"   r   r   r   )r#   r$   r%   r8   Zdf3r   r   r'   test_replace_list_none|  s     ro   c                 C   s   t dg di}t|d}| }|d d  }t| |jdgd dd W d    n1 s0w   Y  | rR|jds?J t	|t|drJJ t
|| d S t	|t|ds]J d S )Nr   r   TrK   r   )r   r   r   r    r0   r   r1   r2   r   r   r"   )r#   r3   r$   r&   r%   r4   r   r   r'   #test_replace_list_none_inplace_refs  s   
rp   c                 C   s|   t g dg dd}|d d  }| }|jddiddd | r<tt|dt|ds/J d|jd< t|| d S d S )	Nr   r
   r   
   r   Trf   r`   	r   r   r   r   r   r   ra   r    r"   )r#   r$   r4   r%   r   r   r'   %test_replace_columnwise_no_op_inplace  s   
rs   c                 C   sh   t g dg dd}| }|ddid}| r'tt|dt|ds'J d|jd< t|| d S )Nr   r
   r   rq   r   r`   rr   r@   r   r   r'   test_replace_columnwise_no_op  s   
rt   c              	   C   s  t dtjdgdd}| }| r\t  |d jdddd W d    n1 s*w   Y  t|| t  |dg jdddd W d    n1 sOw   Y  t|| d S td ( t	dd  |dg jdddd W d    n1 s}w   Y  W d    n1 sw   Y  td * t	dd  ||j
d	k jdddd W d    n1 sw   Y  W d    n1 sw   Y  tjtstnd d
d |d jdddd W d    d S 1 sw   Y  d S )Nr   r   r
   r   r   Trf   zmode.chained_assignmentr   zinplace methodrI   )r   r   nanr   r    Zraises_chained_assignment_errorr   r"   rM   r   r   r   rN   )r#   r$   r%   r   r   r'   test_replace_chained_assignment  s:   


"rv   c                 C   s   t g dg dd}| }|ddgddg}| r*tt|dt|ds)J ntt|dt|dr8J d|jd< t|| |dd	gd
d
g}tt|dt|dr[J t|| d S )Nr   r
            r   r   r`   r   rq   rr   )r#   r$   r%   resultr   r   r'   test_replace_listlike  s   
r{   c                 C   s   t g dg dd}t|d}|jddgddgdd	 tt|d|s'J |d d  }| }t| |jdd
gddgdd	 W d    n1 sMw   Y  | rgtt|d|r_J t|| d S tt|d|srJ t|| d S )Nr   r
   r   rw   r   rq   ry   Trf   r   )	r   r   r   r   r   r   r    r0   r"   )r#   r3   r$   r&   r4   r%   r   r   r'   test_replace_listlike_inplace  s   
r|   )*numpyr   ZpytestZpandas.compatr   Zpandasr   r   r   Zpandas._testingZ_testingr    Zpandas.tests.copy_view.utilr   markZparametrizer(   r5   r9   r:   rA   rD   rE   rQ   rR   rW   rY   rZ   r]   r_   rb   rh   ri   rk   rl   ro   rp   rs   rt   rv   r{   r|   r   r   r   r'   <module>   sb    









