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_origÚdf_replacedÚarrr   r   ú`/var/www/html/CropPilot/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   
ÿr6   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   r0   )	r   r   r   r2   r3   r    r   r   r"   ©r#   r$   r'   r%   Údf2r   r   r(   Útest_replace_regex_inplaceD   s   
 r:   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.$r7   )
r   r   r   r2   r3   r   r   r   r    r"   r8   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%   r9   r   r   r(   Ú(test_replace_mask_all_false_second_blockc   s   
ÿrB   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#   Úusing_array_managerr$   r%   r9   r   r   r(   Ú!test_replace_coerce_single_column{   s   
ýrF   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
   Úxxxr=   r   r   r   rC   rD   r@   rA   r   r   r(   Ú#test_replace_to_replace_wrong_dtype�   s   
ÿrH   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©Ú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   Úcodesr2   r3   r   r"   )r#   r$   r'   Úmsgr%   r9   r   r   r(   Útest_replace_list_categorical¤   s    
ÿÿÿrU   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   rI   rJ   rL   rM   r   TrO   )r   r   r    rQ   rR   r   r   r   r   rS   r"   )r#   r$   r5   r%   rT   r   r   r(   Ú*test_replace_list_inplace_refs_categorical¹   s    ÿÿÿÿrV   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   r2   r3   )r#   r   r$   Úarr_ar   r   r(   Útest_replace_inplaceÏ   s   
ÿr[   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<   rW   TrX   r   )	r   r   r    r1   r   r   r   r2   r3   )r#   r   r4   r$   rZ   r5   r   r   r(   Útest_replace_inplace_referenceÚ   s   
ÿr]   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 r\   rY   )r#   r   r$   rZ   r5   r   r   r(   Ú$test_replace_inplace_reference_no_opê   s   
þr^   Ú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   rL   r=   rM   TrX   r   )r   r   r   r   rR   r    rQ   r   r   r   rS   r2   r3   r"   )	r#   r_   r   r$   r%   rZ   r5   rT   Úwarnr   r   r(   Ú*test_replace_categorical_inplace_reference÷   s    
ÿÿra   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   rL   r=   rM   r   TrX   r   r   r   )r   r   r   rR   r    rQ   r   r   r   rS   r2   r3   r"   )r#   r_   r$   rZ   rT   r`   Úexpectedr   r   r(   Ú test_replace_categorical_inplace  s   
ÿÿrc   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   rL   r=   rM   r   r   r   g       @©r   r   )r   r   r   rR   r    rQ   r   r2   r3   r   r   r   rS   r"   Úiloc)r#   r_   r$   r%   rT   r`   r9   rZ   r   r   r(   Útest_replace_categorical#  s    ÿÿ 
rf   Ú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    r1   r   r   r2   r3   r"   )r#   rg   r4   r$   r%   rZ   r5   r   r   r(   Útest_masking_inplace:  s"   


ÿ€rl   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   r2   r3   )r#   r$   r9   rZ   r   r   r(   Útest_replace_empty_listQ  s   
ýrm   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   rJ   r   Trj   r   )	r   Úobjectr   r   r    r   r   r2   r3   )r#   r   r$   r'   r   r   r(   Ú test_replace_object_list_inplacec  s   
ÿro   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	   Trj   r   rY   )r#   r$   r'   r   r   r(   Ú+test_replace_list_multiple_elements_inplaceq  s   
rp   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   rP   )r?   ÚeÚf)r   r   r   r    r"   r   r   r   )r#   r$   r%   r9   Údf3r   r   r(   Útest_replace_list_none|  s     rt   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   TrO   r   )r   r   r   r    r1   r   r2   r3   r   r   r"   )r#   r4   r$   r'   r%   r5   r   r   r(   Ú#test_replace_list_none_inplace_refs�  s   
ÿru   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   Trj   rd   ©	r   r   r   r   r   r   re   r    r"   )r#   r$   r5   r%   r   r   r(   Ú%test_replace_columnwise_no_op_inplacež  s   
ýrx   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   rv   r   rd   rw   rA   r   r   r(   Útest_replace_columnwise_no_op©  s   
ry   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 sŒw   Y  t d ¡�* t	dd ƒ� ||j
d	k jdddd� W d   ƒ n1 s´w   Y  W d   ƒ n1 sÃw   Y  tjtsÎtnd d
d�� |d jdddd� W d   ƒ d S 1 séw   Y  d S )Nr   r   r
   r   r   Trj   zmode.chained_assignmentr   zinplace methodrM   )r   r   Únanr   r    Úraises_chained_assignment_errorr   r"   rQ   r   r   r   rR   )r#   r$   r%   r   r   r(   Útest_replace_chained_assignment³  s:   
ÿ
ÿÿ€ÿÿ€ÿ
þ"ür|   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   rd   r   rv   rw   )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   r}   r   rv   r   Trj   r   )	r   r   r   r   r   r   r    r1   r"   )r#   r4   r$   r'   r5   r%   r   r   r(   Útest_replace_listlike_inplaceà  s   
ÿr‚   )*Únumpyr   ÚpytestÚpandas.compatr   Úpandasr   r   r   Úpandas._testingÚ_testingr    Úpandas.tests.copy_view.utilr   ÚmarkÚparametrizer)   r6   r:   r;   rB   rF   rH   rU   rV   r[   r]   r^   ra   rc   rf   rl   rm   ro   rp   rt   ru   rx   ry   r|   r�   r‚   r   r   r   r(   Ú<module>   sb    ûþ



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