o
    ҷh]2                  	   @   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 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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*d+ Z!d,d- Z"d.d/ Z#d0d1 Z$d2d3 Z%d4d5 Z&d6d7 Z'ejdg d8d9d: Z(dS );    N)NA
ArrowDtype	DataFrameIntervalNaTSeries	Timestampinterval_range)	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/venv/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!   r/   r*   r"   r&   r'   r'   r(   test_interpolate_triggers_copy>   s   r2   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   r0   r1   )r!   r/   r"   arrr'   r'   r(   -test_interpolate_inplace_no_reference_no_copyL   s   
r6   c                 C   s   t ddtjdgi}| }t|d}|d d  }|jddd | rEt|t|dr-J t|| |j	
ds;J |j	
dsCJ d S t|t|dsPJ d S )Nr   r   r   r   Tr3   r   )r   r   nanr   r
   r   r   r   r    r0   r1   )r!   r/   r"   r#   r5   viewr'   r'   r(   "test_interpolate_inplace_with_refsZ   s   
r9   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   r7   r   r   r   r   r   r   r
   r   r   r    )r!   r"   r#   r%   r&   r'   r'   r(   $test_interpolate_cleaned_fill_methodo   s   r=   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   r<   r:   r   r;   r   r   r   r   Tr3   r   )
r   r
   r   r   r   r   r0   r1   r   r   r!   r"   arr_ar%   r'   r'   r(   %test_interpolate_object_convert_no_op   s   
r@   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   dtyper;   r   r   r   r   Tr3   r   )r   r   objectr
   r   r   r   r   r0   r1   r   r   r>   r'   r'   r(   &test_interpolate_object_convert_copies   s   
rD   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      @r;   r   r   r   r   Tinfer)r   r4   downcastr   )r   r   r7   r
   r   r   r   r   r0   r1   r   r>   r'   r'   r(   test_interpolate_downcast   s   
rH   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 rE   )r   r   r7   r   r
   r   r   r   r   r0   r1   r   r    )r!   r"   r#   r?   r8   r%   r'   r'   r(   1test_interpolate_downcast_reference_triggers_copy   s   
rI   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   r;         @r<   r   r   r   
r   r   r7   r   fillnar   r
   r   r   r    r!   r"   r#   df2r'   r'   r(   test_fillna   s   

rQ   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 )	NrJ   r   r;   r         Y@r<   r   rL   rM   rO   r'   r'   r(   test_fillna_dict   s   
rS   rG   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 )NrJ   r   r;   r   r<   z.The 'downcast' keyword in fillna is deprecatedr   rK   T)r4   rG   r   )r   r   r7   r
   r   r   r   rN   r   r0   r1   )r!   rG   r"   r?   arr_br%   r'   r'   r(   test_fillna_inplace   s   

rU   c                 C   s   t dtjgdd}| }t|d}t|d}|d d  }|jddd | rTtt|d|r2J tt|d|s=J |jd	sEJ |jd	sMJ t	
|| ntt|d|s_J tt|d|sjJ t ddgdd}t	
|| d S )
NrJ   r   r;   r   r<   rK   Tr4   r   )r   r   r7   r   r
   rN   r   r0   r1   r   r    )r!   r"   r#   r?   rT   r8   expectedr'   r'   r(   test_fillna_inplace_reference   s    

rX   c                 C   s   t tdddddd}tj|jd< | }|d d  }|jtdddd	d
 | rBtt	|dj
jt	|dj
jr:J t|| d S tt	|dj
jt	|dj
jsTJ d S )Nr      )startendr   zinterval[float64, right])namerB   r   )leftrightT)valuer4   )r   r	   r   r7   r   r   rN   r   r   r
   r]   valuesr   assert_series_equal)r!   serser_origr8   r'   r'   r(   &test_fillna_interval_inplace_reference   s   rd   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   rR   r   )
r   r   r7   r   rN   r   r
   r   r   ra   )r!   rb   rc   r&   r'   r'   r(   test_fillna_series_empty_arg  s   

re   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   TrV   r   )r   r   r7   r
   rN   r   r0   r1   )r!   rb   r5   r'   r'   r(   $test_fillna_series_empty_arg_inplace   s   rf   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	< | rtt|dt|dr}J |jdsJ |jdsJ t|| d S )
Nr      r;   rA   r   r   r<   r   rL   )r   r   r   rN   r   r   r
   r0   r1   
isinstancedtypesr   r   r   r    )r!   any_numeric_ea_and_arrow_dtyper"   r#   rP   r'   r'   r(   !test_fillna_ea_noop_shares_memory*  s"   

rk   c                 C   s  t dtdgdd|d}| }|d d  }|jddd t|d jts'| r6tt	|dt	|dr5J ntt	|dt	|dsDJ tt	|d	t	|d	sRJ | rd|j
dr\J |j
drdJ d|jd
< t|d jtss| r{t|| d S t|| d S )Nr   rg   r;   rA   r   TrV   r   r<   rL   )r   r   r   rN   rh   rB   r   r   r   r
   r0   r1   r   r   r    )r!   rj   r"   r#   r8   r'   r'   r(   )test_fillna_inplace_ea_noop_shares_memoryF  s   
rl   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 d S )Nr   r   r;   r   r   TrV   )r   r   r7   r   r   raises_chained_assignment_errorrN   r    )r!   r"   r#   r'   r'   r(   test_fillna_chained_assignmenta  s   

rn   )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 d S )Nr   r   r;   r   TrV   )r   r   r7   r   r   rm   r-   r    )r!   r*   r"   r#   r'   r'   r(   #test_interpolate_chained_assignmentn  s   

ro   ))numpyr   pytestpandasr   r   r   r   r   r   r   r	   pandas._testing_testingr   pandas.tests.copy_view.utilr
   markparametrizer)   r.   r7   r2   r6   r9   r=   r@   rD   rH   rI   rQ   rS   rU   rX   rd   re   rf   rk   rl   rn   ro   r'   r'   r'   r(   <module>   sP    (







