o
    Ch;                  	   @   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/myvaluetrips/my_value_trip_new/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"   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|d< | }d}tjt|d |j	dd}W d    n1 s2w   Y  | rHt
t|dt|dsGJ nt
t|dt|drVJ td	|jd
< | rmt
t|dt|drmJ t|| d S )Nr   cr   r   bz'DataFrame.interpolate with object dtyper   r   r   z
2021-12-31r   )r   r   r8   astypeobjectr   r   r   r   r   r   r   r   r    r!   )r"   r#   r$   r&   r'   r(   r(   r)   )test_interpolate_cannot_with_object_dtype   s   rH   c                 C   s   t g ddd}|d t|d< t|d}d}tjt|d |jddd	 W d    n1 s2w   Y  | rN|sP|j	d
sCJ t
|t|dsRJ d S d S d S )N)r   rE   rC   r   rD   r   r   r   r   Tr4   r   )r   rF   rG   r   r   r   r   r   r1   r2   r   r   )r"   using_infer_stringr#   arr_ar&   r(   r(   r)   %test_interpolate_object_convert_no_op   s   
rK   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   rG   r   r   r   r   r   r1   r2   r   r   r"   r#   rJ   r&   r(   r(   r)   &test_interpolate_object_convert_copies   s   
rM   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   rL   r(   r(   r)   test_interpolate_downcast   s   
rQ   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 rN   )r   r   r8   r   r   r   r   r   r   r1   r2   r   r!   )r"   r#   r$   rJ   r;   r&   r(   r(   r)   1test_interpolate_downcast_reference_triggers_copy   s   
rR   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   

rZ   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 )	NrS   r   rD   r         Y@rE   r   rU   rV   rX   r(   r(   r)   test_fillna_dict   s   
r\   rP   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 )NrS   r   rD   r   rE   z.The 'downcast' keyword in fillna is deprecatedr   rT   T)r5   rP   r   )r   r   r8   r   r   r   r   rW   r   r1   r2   )r"   rP   r#   rJ   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 )
NrS   r   rD   r   rE   rT   TrA   r   )r   r   r8   r   r   r   r9   rW   r   r1   r2   r!   )r"   r:   r#   r$   rJ   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   rW   r   r   r   re   valuesassert_series_equal)r"   r:   serser_origr;   r(   r(   r)   &test_fillna_interval_inplace_reference  s"   rl   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   r[   r   )
r   r   r8   r   rW   r   r   r    r   ri   )r"   rj   rk   r'   r(   r(   r)   test_fillna_series_empty_arg0  s   

rm   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   rW   r   r1   r2   )r"   rj   r6   r(   r(   r)   $test_fillna_series_empty_arg_inplace>  s   rn   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      rD   r@   r   r   rE   r   rU   )r   r   r   rW   r   r   r   r1   r2   
isinstancedtypesr    r   r   r!   )r"   any_numeric_ea_and_arrow_dtyper#   r$   rY   r(   r(   r)   !test_fillna_ea_noop_shares_memoryH  s"   

rs   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|od
|v d|jd< W d    n1 sw   Y  t|d jts| rt|| d S t|| d S )Nr   ro   rD   r@   r   TrA   r   rE   pyarrowrU   )r   r   r   r   r9   rW   rp   r=   r   r   r   r   r1   r2   r    r!   )r"   r:   rr   r#   r$   r;   r(   r(   r)   )test_fillna_inplace_ea_noop_shares_memoryd  s*   
ru   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 sw   Y  td ) t	dd  ||j
d	k jddd W d    n1 sw   Y  W d    n1 sw   Y  tjtd
d |d jddd W d    d S 1 sw   Y  d S )Nr   r   rD   r   r   TrA   mode.chained_assignmentra   inplace methodr   )r   r   r8   r   r   raises_chained_assignment_errorrW   r!   r   r
   r   r   )r"   r#   r$   r(   r(   r)   test_fillna_chained_assignment  s4   

"ry   )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 sw   Y  W d    n1 sw   Y  td 4 t
d	d  t||d dk |dd W d    n1 sw   Y  W d    d S W d    d S 1 sw   Y  d S )
Nr   r   rD   r   TrA   rw   r   rv   )r   r   r8   r   r   rx   r.   r!   r   r   r
   )r"   r+   r#   r$   r(   r(   r)   #test_interpolate_chained_assignment  s6   

"rz   )+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   rH   rK   rM   rQ   rR   rZ   r\   r^   r`   rl   rm   rn   rs   ru   ry   rz   r(   r(   r(   r)   <module>   sV    ,






