o
    �¨Êhƒ;  ã                	   @   sþ  d dl Zd dlZd dlmZmZmZmZmZm	Z	m
Z
mZmZ d dlmZ d dlmZ ej dg d¢¡dd„ ƒZej dd	d
g¡dd„ ƒZej dd	d
g¡ej ddejdge
dƒee
dƒgg¡dd„ ƒƒZej ddejdge
dƒee
dƒgg¡dd„ ƒZej ddejdge
dƒee
dƒgg¡dd„ ƒZej dd	d
g¡ej ddd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!ej d+dd,g¡d-d.„ ƒZ"d/d0„ Z#d1d2„ Z$d3d4„ Z%d5d6„ Z&d7d8„ Z'd9d:„ Z(d;d<„ Z)ej dg d=¢¡d>d?„ ƒZ*dS )@é    N)	ÚNAÚ
ArrowDtypeÚ	DataFrameÚIntervalÚNaTÚSeriesÚ	TimestampÚinterval_rangeÚoption_context)Ú	get_arrayÚmethod)ÚpadÚnearestÚlinearc                 C   sÞ   t dddgiƒ}| ¡ }d }|dkrt}d}tj||d�� |j|d�}W d   ƒ n1 s.w   Y  | rDt t|dƒt|dƒ¡sCJ ‚nt t|dƒt|dƒ¡rRJ ‚d|j	d	< | rgt t|dƒt|dƒ¡rgJ ‚t 
||¡ d S )
NÚaé   é   r   ú3DataFrame.interpolate with method=pad is deprecated©Úmatch©r   éd   ©r   r   )r   ÚcopyÚFutureWarningÚtmÚassert_produces_warningÚinterpolateÚnpÚshares_memoryr   ÚilocÚassert_frame_equal)Úusing_copy_on_writer   ÚdfÚdf_origÚwarnÚmsgÚresult© r(   ú[/var/www/html/env/lib/python3.10/site-packages/pandas/tests/copy_view/test_interp_fillna.pyÚtest_interpolate_no_op   s    ÿ
r*   ÚfuncÚffillÚbfillc                 C   sœ   t dddgiƒ}| ¡ }t||ƒƒ }| r#t t|dƒt|dƒ¡s"J ‚nt t|dƒt|dƒ¡r1J ‚d|jd< | rFt t|dƒt|dƒ¡rFJ ‚t ||¡ d S )Nr   r   r   r   r   )	r   r   Úgetattrr   r   r   r    r   r!   )r"   r+   r#   r$   r'   r(   r(   r)   Útest_interp_fill_functions+   s   
r/   Úvalsr   r   z
2019-12-31z
2020-12-31c                 C   sP   t d|iƒ}t||ƒƒ }t t|dƒt|dƒ¡rJ ‚| r$|j d¡s&J ‚d S d S )Nr   r   )r   r.   r   r   r   Ú_mgrÚ_has_no_reference)r"   r0   r+   r#   r'   r(   r(   r)   Útest_interpolate_triggers_copy?   s   þr3   c                 C   sV   t d|iƒ}t|dƒ}|jddd� t |t|dƒ¡sJ ‚| r'|j d¡s)J ‚d S d S )Nr   r   T©r   Úinplacer   )r   r   r   r   r   r1   r2   )r"   r0   r#   Úarrr(   r(   r)   Ú-test_interpolate_inplace_no_reference_no_copyM   s   
þr7   c                 C   sÎ   t ddtjdgiƒ}| ¡ }t|dƒ}|d d … }t |¡� |jddd� W d   ƒ n1 s0w   Y  | rZt |t|dƒ¡rBJ ‚t 	||¡ |j
 d¡sPJ ‚|j
 d¡sXJ ‚d S t |t|dƒ¡seJ ‚d S )Nr   r   r   r   Tr4   r   )r   r   Únanr   r   r   Úassert_cow_warningr   r   r!   r1   r2   )r"   r0   Úwarn_copy_on_writer#   r$   r6   Úviewr(   r(   r)   Ú"test_interpolate_inplace_with_refs[   s   
ÿr<   ÚdtypeÚfloat64ÚFloat64c                 C   sä   t ddtjdgi|d�}| ¡ }t|dƒ}|d d … }t |o"|dk¡� t||ƒdd� W d   ƒ n1 s7w   Y  | rat |t|dƒ¡rIJ ‚t 	||¡ |j
 d¡sWJ ‚|j
 d¡s_J ‚d S t |t|dƒ¡|dku spJ ‚d S )	Nr   r   r   ©r=   r>   T©r5   r   )r   r   r8   r   r   r   r9   r.   r   r!   r1   r2   )r"   r+   r:   r=   r#   r$   r6   r;   r(   r(   r)   Ú"test_interp_fill_functions_inplaceq   s   
ÿ"rB   c                 C   sØ   t dtjdgddœƒ}| ¡ }d}tjt|d�� |jdd�}W d   ƒ n1 s)w   Y  | r?t t	|dƒt	|dƒ¡s>J ‚nt t	|dƒt	|dƒ¡rMJ ‚t
d	ƒ|jd
< | rdt t	|dƒt	|dƒ¡rdJ ‚t ||¡ d S )Nr   Úcr   ©r   Úbz'DataFrame.interpolate with object dtyper   r   r   z
2021-12-31r   )r   r   r8   r   r   r   r   r   r   r   r   r    r!   )r"   r#   r$   r&   r'   r(   r(   r)   Ú$test_interpolate_cleaned_fill_methodŠ   s   ÿrF   c                 C   sŽ   t g d¢ddœƒ}t|dƒ}d}tjt|d�� |jddd	� W d   ƒ n1 s)w   Y  | rC|j d
¡s8J ‚t 	|t|dƒ¡sEJ ‚d S d S )N)r   rE   rC   r   rD   r   r   r   r   Tr4   r   )
r   r   r   r   r   r   r1   r2   r   r   ©r"   r#   Úarr_ar&   r(   r(   r)   Ú%test_interpolate_object_convert_no_opŸ   s   
ÿþrI   c                 C   s–   t tddgtd�ddœƒ}t|dƒ}d}tjt|d�� |jdd	d
� W d   ƒ n1 s-w   Y  | rG|j 	d¡s<J ‚t
 |t|dƒ¡rIJ ‚d S d S )Nr   r   r@   rD   r   r   r   r   Tr4   r   )r   r   Úobjectr   r   r   r   r   r1   r2   r   r   rG   r(   r(   r)   Ú&test_interpolate_object_convert_copies¬   s   
ÿþrK   c                 C   s�   t dtjdgddœƒ}t|dƒ}d}tjt|d�� |jddd	d
� W d   ƒ n1 s,w   Y  | r;|j 	d¡s;J ‚t 
|t|dƒ¡sFJ ‚d S ©Nr   g      @rD   r   r   r   r   TÚinfer)r   r5   Údowncastr   )r   r   r8   r   r   r   r   r   r1   r2   r   rG   r(   r(   r)   Útest_interpolate_downcast¸   s   
ÿrO   c                 C   sÀ   t dtjdgddœƒ}| ¡ }t|dƒ}|d d … }d}tjt|d�� |jddd	d
� W d   ƒ n1 s6w   Y  | rX|j	 
d¡sEJ ‚t |t|dƒ¡rPJ ‚t ||¡ d S t ||¡ d S rL   )r   r   r8   r   r   r   r   r   r   r1   r2   r   r!   )r"   r#   r$   rH   r;   r&   r(   r(   r)   Ú1test_interpolate_downcast_reference_triggers_copyÄ   s   
ÿrP   c                 C   s~   t dtjgddœƒ}| ¡ }| d¡}| r$t t|dƒt|dƒ¡s#J ‚nt t|dƒt|dƒ¡r2J ‚d|jd< t 	||¡ d S )Nç      ø?r   rD   ç      @rE   r   ©r   r   ©
r   r   r8   r   Úfillnar   r   r    r   r!   ©r"   r#   r$   Údf2r(   r(   r)   Útest_fillnaÕ   s   

rX   c                 C   sž   t dtjgddœƒ}| ¡ }| ddi¡}| r4t t|dƒt|dƒ¡s%J ‚t t|dƒt|dƒ¡r3J ‚nt t|dƒt|dƒ¡rBJ ‚d|jd< t 	||¡ d S )	NrQ   r   rD   r   ç      Y@rE   r   rS   rT   rV   r(   r(   r)   Útest_fillna_dictã   s   
rZ   rN   Fc                 C   sÂ   t dtjgddœƒ}t|dƒ}t|dƒ}d}tjt|d�� |jdd	|d
� W d   ƒ n1 s0w   Y  t t|dƒ|¡s@J ‚t t|dƒ|¡sKJ ‚| r]|j	 
d¡sUJ ‚|j	 
d¡s_J ‚d S d S )NrQ   r   rD   r   rE   z.The 'downcast' keyword in fillna is deprecatedr   rR   T)r5   rN   r   )r   r   r8   r   r   r   r   rU   r   r1   r2   )r"   rN   r#   rH   Úarr_br&   r(   r(   r)   Útest_fillna_inplaceò   s   

ÿþr\   c                 C   s   t dtjgddœƒ}| ¡ }t|dƒ}t|dƒ}|d d … }t |¡� |jddd� W d   ƒ n1 s5w   Y  | rit t|dƒ|¡rGJ ‚t t|dƒ|¡sRJ ‚|j	 
d	¡sZJ ‚|j	 
d	¡sbJ ‚t ||¡ nt t|dƒ|¡stJ ‚t t|dƒ|¡sJ ‚t ddgddœƒ}t ||¡ d S )
NrQ   r   rD   r   rE   rR   TrA   r   )r   r   r8   r   r   r   r9   rU   r   r1   r2   r!   )r"   r:   r#   r$   rH   r[   r;   Úexpectedr(   r(   r)   Útest_fillna_inplace_reference  s$   

ÿr^   c                 C   sÖ   t tddd�ddd�}tj|jd< | ¡ }|d d … }t |¡� |jt	ddd�d	d
� W d   ƒ n1 s6w   Y  | rWt 
t|dƒjjt|dƒjj¡rOJ ‚t ||¡ d S t 
t|dƒjjt|dƒjj¡siJ ‚d S )Nr   é   )ÚstartÚendr   zinterval[float64, right])Únamer=   r   )ÚleftÚrightT)Úvaluer5   )r   r	   r   r8   r    r   r   r9   rU   r   r   r   rc   ÚvaluesÚassert_series_equal)r"   r:   ÚserÚser_origr;   r(   r(   r)   Ú&test_fillna_interval_inplace_reference  s"   ÿÿÿÿrj   c                 C   sr   t dtjdgƒ}| ¡ }| i ¡}| r t t|ƒt|ƒ¡sJ ‚nt t|ƒt|ƒ¡r,J ‚d|jd< t 	||¡ d S )Nr   r   rY   r   )
r   r   r8   r   rU   r   r   r    r   rg   )r"   rh   ri   r'   r(   r(   r)   Útest_fillna_series_empty_arg/  s   

rk   c                 C   sV   t dtjdgƒ}t|ƒ}|ji dd� t t|ƒ|¡sJ ‚| r'|j d¡s)J ‚d S d S )Nr   r   TrA   r   )r   r   r8   r   rU   r   r1   r2   )r"   rh   r6   r(   r(   r)   Ú$test_fillna_series_empty_arg_inplace=  s   ÿrl   c                 C   s*  t dtdgddœ|d�}| ¡ }| d¡}t t|dƒt|dƒ¡r#J ‚| r<t t|dƒt|dƒ¡s3J ‚|j d¡r;J ‚n&t	|j
jd tƒrTt t|dƒt|dƒ¡sSJ ‚nt t|dƒt|dƒ¡rbJ ‚t ||¡ d|jd	< | r�t t|dƒt|dƒ¡r}J ‚|j d¡s…J ‚|j d¡s�J ‚t ||¡ d S )
Nr   é   rD   r@   r   r   rE   r   rS   )r   r   r   rU   r   r   r   r1   r2   Ú
isinstanceÚdtypesr    r   r   r!   )r"   Úany_numeric_ea_and_arrow_dtyper#   r$   rW   r(   r(   r)   Ú!test_fillna_ea_noop_shares_memoryG  s"   

rq   c                 C   sb  t dtdgddœ|d�}| ¡ }|d d … }t |¡� |jddd� W d   ƒ n1 s-w   Y  t|d jtƒs<| rKt	 
t|dƒt|dƒ¡rJJ ‚nt	 
t|dƒt|dƒ¡sYJ ‚t	 
t|d	ƒt|d	ƒ¡sgJ ‚| ry|j d¡rqJ ‚|j d¡ryJ ‚t |o€d
|v¡� d|jd< W d   ƒ n1 s’w   Y  t|d jtƒs¡| r©t ||¡ d S t ||¡ d S )Nr   rm   rD   r@   r   TrA   r   rE   ÚpyarrowrS   )r   r   r   r   r9   rU   rn   r=   r   r   r   r   r1   r2   r    r!   )r"   r:   rp   r#   r$   r;   r(   r(   r)   Ú)test_fillna_inplace_ea_noop_shares_memoryc  s*   ÿ
ÿýrs   c              	   C   sÎ  t dtjdgddœƒ}| ¡ }| rZt ¡ � |d jddd� W d   ƒ n1 s)w   Y  t ||¡ t ¡ � |dg jddd� W d   ƒ n1 sMw   Y  t ||¡ d S t d ¡�' t	dd ƒ� |dg jddd� W d   ƒ n1 szw   Y  W d   ƒ n1 s‰w   Y  t d ¡�) t	dd ƒ� ||j
d	k jddd� W d   ƒ n1 s°w   Y  W d   ƒ n1 s¿w   Y  tjtd
d�� |d jddd� W d   ƒ d S 1 sàw   Y  d S )Nr   r   rD   r   r   TrA   úmode.chained_assignmentr_   úinplace methodr   )r   r   r8   r   r   Úraises_chained_assignment_errorrU   r!   r   r
   r   r   )r"   r#   r$   r(   r(   r)   Útest_fillna_chained_assignment‚  s4   
ÿ
ÿÿ€ÿÿ€ÿ"ÿrw   )r   r,   r-   c              	   C   sê  t dtjdgddœƒ}| ¡ }| r\t ¡ � t|d |ƒdd� W d   ƒ n1 s*w   Y  t ||¡ t ¡ � t|dg |ƒdd� W d   ƒ n1 sOw   Y  t ||¡ d S tjt	dd�� t|d |ƒdd� W d   ƒ n1 sxw   Y  t d ¡�( t
d	d ƒ� t|dg |ƒdd� W d   ƒ n1 sžw   Y  W d   ƒ n1 s­w   Y  t d ¡�4 t
d	d ƒ� t||d dk |ƒdd� W d   ƒ n1 sÖw   Y  W d   ƒ d S W d   ƒ d S 1 sîw   Y  d S )
Nr   r   rD   r   TrA   ru   r   rt   )r   r   r8   r   r   rv   r.   r!   r   r   r
   )r"   r+   r#   r$   r(   r(   r)   Ú#test_interpolate_chained_assignmentš  s6   
ÿ
ÿÿÿ€ÿÿÿ"ÿrx   )+Únumpyr   ÚpytestÚpandasr   r   r   r   r   r   r   r	   r
   Úpandas._testingÚ_testingr   Úpandas.tests.copy_view.utilr   ÚmarkÚparametrizer*   r/   r8   r3   r7   r<   rB   rF   rI   rK   rO   rP   rX   rZ   r\   r^   rj   rk   rl   rq   rs   rw   rx   r(   r(   r(   r)   Ú<module>   sV    ,

ÿ
ÿ
ÿ


