a
    é´«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f i |¤Ž}| r„|d |d k ¡ rht t|dƒt|dƒ¡shJ ‚t t|dƒt|dƒ¡s„J ‚d|jd< | r®t t|dƒt|dƒ¡r®J ‚d	|d
 v rät|d	ƒ}d|jd< t t|d	ƒ|¡säJ ‚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Úarr© r&   úb/var/www/html/laksyashrimp/venv/lib/python3.9/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 s`0    Y  | r¢t |t|dƒ¡r„J ‚|j d¡s”J ‚t 	||¡ n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    
0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ƒ¡sVJ ‚| ¡ }|jd	ddd
�}t ||¡ t t|dƒt|dƒ¡r–J ‚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ƒ¡sVJ ‚| ¡ }|jd	ddd
�}t 	||¡ | rœt t|dƒt|dƒ¡s¸J ‚n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�}| rjt t|d	ƒt|d	ƒ¡sLJ ‚t t|d
ƒt|d
ƒ¡r¢J ‚n8t t|d	ƒt|d	ƒ¡r†J ‚t t|d
ƒt|d
ƒ¡r¢J ‚d|jd< t ||¡ | rØt t|d	ƒt|d	ƒ¡rØJ ‚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�}| rft t|dƒt|dƒ¡sHJ ‚t t|dƒt|dƒ¡r¢J ‚n<|s¢t t|dƒt|dƒ¡s†J ‚t t|dƒt|dƒ¡r¢J ‚| rØd|jd	< t ||¡ t t|dƒt|dƒ¡rØJ ‚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�}| rft t|dƒt|dƒ¡sHJ ‚t t|dƒt|dƒ¡sžJ ‚n8t t|dƒt|dƒ¡r‚J ‚t t|dƒt|dƒ¡ržJ ‚d	|jd
< t ||¡ | rÔt t|dƒt|dƒ¡rÔJ ‚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 sX0    Y  t |jt|dƒj¡s|J ‚| r�|j	 
d
¡s�J ‚| ¡ }tjt|d��  |jdgdd�}W d   ƒ n1 sÌ0    Y  t |jt|dƒj¡rðJ ‚t ||¡ d S )Nr   r   Úcategory©ZdtypeúOThe 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    
ÿ0.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 sb0    Y  | ržt t|dƒj	t|dƒj	¡r�J ‚t 
||¡ n 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    ÿ0ÿÿrR   r<   c                 C   sX   t dg d¢iƒ}t|dƒ}|jdddd� t t|dƒ|¡s@J ‚| rT|j d¡sTJ ‚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 sV0    Y  | rœt t|dƒ|¡rzJ ‚|j d¡sŠJ ‚|j d¡s²J ‚nt t|dƒ|¡s²J ‚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   st   t dg d¢iƒ}t|dƒ}|d d … }|j|ddd� t t|dƒ|¡sLJ ‚| rp|j d¡r`J ‚|j d¡rpJ ‚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rBtnd }tj||d��  |j||dd� W d   ƒ n1 sz0    Y  | rÐt 	t|dƒj
|j
¡r¢J ‚|j d¡s²J ‚|j d¡sÂJ ‚t ||¡ nt 	t|dƒj
|j
¡sêJ ‚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 sf0    Y  t t|dƒj	|j	¡sŠJ ‚| rž|j
 d	¡sžJ ‚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 sb0    Y  | r�|j d¡s€J ‚|j d¡s�J ‚t	 
t|dƒjt|dƒj¡r°J ‚t ||¡ t|dƒj}d	|jd
< t	 
t|dƒj|¡sêJ ‚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   ƒ q’1 sp0    Y  n||d dkddd� | rÚt t|dƒ|¡r¬J ‚|j 	d¡s¼J ‚|j 	d¡sÌJ ‚t 
||¡ nt t|dƒ|¡sðJ ‚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    


6rh   c                 C   s¾   t dddgiƒ}| g g ¡}| rNt t|dƒt|dƒ¡s<J ‚|j d¡rjJ ‚nt t|dƒt|dƒ¡rjJ ‚t|dƒ}| g g ¡ | rºt t|dƒ|¡sšJ ‚|j d¡rªJ ‚|j d¡rºJ ‚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 rTt |t|dƒ¡sjJ ‚nt |t|dƒ¡rjJ ‚| r~|j d¡s~J ‚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   st   t dg d¢iƒ}t|dƒ}|jddgddd� | rZt |t|dƒ¡sHJ ‚|j d¡spJ ‚nt |t|dƒ¡spJ ‚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ƒ¡rPJ ‚|jg d¢d d�}t ||¡ | r�t t|dƒt|dƒ¡s¬J ‚nt t|dƒt|dƒ¡r¬J ‚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 s`0    Y  | r¢|j d¡s~J ‚t 	|t|dƒ¡r”J ‚t 
||¡ n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    
0rp   c                 C   sx   t g d¢g d¢dœƒ}|d d … }| ¡ }|jddiddd� | rtt t|dƒt|dƒ¡s^J ‚d|jd< t ||¡ 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¡}| rNt t|dƒt|dƒ¡sNJ ‚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 sT0    Y  t ||¡ t ¡ �& |dg jdddd� W d   ƒ n1 sž0    Y  t ||¡ �n,t d ¡�P t	dd ƒ�& |dg jdddd� W d   ƒ n1 sú0    Y  W d   ƒ n1 �s0    Y  t d ¡�V t	dd ƒ�* ||j
d	k jdddd� W d   ƒ n1 �sl0    Y  W d   ƒ n1 �sŒ0    Y  tjt�s¤tnd d
d��$ |d jdddd� W d   ƒ n1 �sÚ0    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(    
2
4TZþrv   c                 C   sÆ   t g d¢g d¢dœƒ}| ¡ }| ddgddg¡}| rTt t|dƒt|dƒ¡spJ ‚nt t|dƒt|dƒ¡rpJ ‚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ƒ|¡sNJ ‚|d d … }| ¡ }t |¡�( |jdd
gddgdd	� W d   ƒ n1 sš0    Y  | rÌt t|dƒ|¡r¾J ‚t ||¡ n"t t|dƒ|¡sâJ ‚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    
6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>   s`   ûþ


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