o
    $j<                  	   @   s
  d dl Zd dlZd dlm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$d0d1 Z%d2d3 Z&d4d5 Z'd6d7 Z(d8d9 Z)d:d; Z*d<d= Z+ejd	g d>d?d@ Z,dS )A    N)WARNING_CHECK_DISABLED)	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)   j/var/www/html/Deteccion_Ine/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   
r0   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#   r1   r,   r$   r(   r)   r)   r*   test_interpolate_triggers_copyA   s   r4   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    r2   r3   )r#   r1   r$   arrr)   r)   r*   -test_interpolate_inplace_no_reference_no_copyO   s   
r8   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   Tr5   r   )r   r   nanr   r   r   assert_cow_warningr   r    r"   r2   r3   )r#   r1   warn_copy_on_writer$   r%   r7   viewr)   r)   r*   "test_interpolate_inplace_with_refs]   s   
r=   dtypefloat64Z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r6   r   )r   r   r9   r   r   r   r:   r/   r    r"   r2   r3   )r#   r,   r;   r>   r$   r%   r7   r<   r)   r)   r*   "test_interp_fill_functions_inplaces   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   r9   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   Tr5   r   )r   rF   rG   r   r   r   r   r   r2   r3   r   r    )r#   Zusing_infer_stringr$   arr_ar'   r)   r)   r*   %test_interpolate_object_convert_no_op   s   
rJ   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   Tr5   r   )r   r   rG   r   r   r   r   r   r2   r3   r   r    r#   r$   rI   r'   r)   r)   r*   &test_interpolate_object_convert_copies   s   
rL   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   TZinfer)r   r6   downcastr   )r   r   r9   r   r   r   r   r   r2   r3   r    rK   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 rM   )r   r   r9   r   r   r   r   r   r   r2   r3   r    r"   )r#   r$   r%   rI   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   r9   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)r6   rN   r   )r   r   r9   r   r   r   r   rU   r    r2   r3   )r#   rN   r$   rI   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   r9   r   r   r   r:   rU   r    r2   r3   r"   )r#   r;   r$   r%   rI   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)valuer6   )r   r
   r   r9   r!   r   r   r:   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   r9   r   rU   r    r   r!   r   rg   )r#   rh   ri   r(   r)   r)   r*   test_fillna_series_empty_arg2  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   r9   r   rU   r    r2   r3   )r#   rh   r7   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	< | rtt|dt|dr}J |jdsJ |jdsJ t|| d S )
Nr      rD   r@   r   r   rE   r   rS   )r   r   r   rU   r   r    r   r2   r3   
isinstanceZdtypesr!   r   r   r"   )r#   any_numeric_ea_and_arrow_dtyper$   r%   rW   r)   r)   r*   !test_fillna_ea_noop_shares_memoryJ  s"   

rp   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   rm   rD   r@   r   TrA   r   rE   ZpyarrowrS   )r   r   r   r   r:   rU   rn   r>   r   r   r    r   r2   r3   r!   r"   )r#   r;   ro   r$   r%   r<   r)   r)   r*   )test_fillna_inplace_ea_noop_shares_memoryf  s*   
rq   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stnd d
d |d jddd W d    d S 1 sw   Y  d S )Nr   r   rD   r   r   TrA   mode.chained_assignmentr_   inplace methodr   )r   r   r9   r   r   raises_chained_assignment_errorrU   r"   r   r   r   r   r   )r#   r$   r%   r)   r)   r*   test_fillna_chained_assignment  s:   


"ru   )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	sbt
nd dd t|d |dd W d    n1 s|w   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   rs   r   rr   )r   r   r9   r   r   rt   r/   r"   r   r   r   r   )r#   r,   r$   r%   r)   r)   r*   #test_interpolate_chained_assignment  s<   


"rv   )-numpyr   ZpytestZpandas.compatr   Zpandasr   r   r   r   r   r   r	   r
   r   Zpandas._testingZ_testingr   Zpandas.tests.copy_view.utilr   markZparametrizer+   r0   r9   r4   r8   r=   rB   rH   rJ   rL   rO   rP   rX   rZ   r\   r^   rj   rk   rl   rp   rq   ru   rv   r)   r)   r)   r*   <module>   sX    ,






