o
    dK                     @   s  d dl mZ d dlZd dlZd dlmZ d dlmZ d dl	Z
d dl	mZmZmZmZmZ d dlmZ d dlmZ edgd d	gd
  dgd  eddedddddZe dd Zdd Zdd Zdd Zdd Zdd Zdd  Zejd!g d"d#d$ Z d%d& Z!ejd!d'd(gd)d* Z"d+d, Z#d-d. Z$d/d0 Z%d1d2 Z&d3d4 Z'd5d6 Z(d7d8 Z)d9d: Z*d;d< Z+ejd=d>gd>d?ggd@dA Z,ejdBdCdDgdEdF Z-dGdH Z.ejd=d>gd>d?ggdIdJ Z/dKdL Z0dMdN Z1dOdP Z2dQdR Z3dSdT Z4dS )U    )dedentN)is_platform_windows)
async_mark)	DataFrameIndexSeriesTimedeltaIndex	Timestamp)
date_range                  (   AB1/1/2000sfreqperiodsindexc              	      s   ddl m} td}| |I d H  td . |d t| jdd W d    n1 s1w   Y  W d    d S W d    d S 1 sIw   Y  d S )Nr   )provisionalcompleterzZ    import pandas._testing as tm
    s = tm.makeTimeSeries()
    rs = s.resample("D")
    ignorezrs.r   )	IPython.core.completerr   r   run_codetmassert_produces_warninglist	Completercompletions)ipr   code r'   q/var/www/html/visualizacion-main/env/lib/python3.10/site-packages/pandas/tests/resample/test_resampler_grouper.py"test_tab_complete_ipython6_warning   s   
"r)   c                  C   s   g dg dg dg dg dg dg dg dg d	g d
g
} t | g dd}t|j|_dd }|d|}|ddd }t	
|| t tddddg dg ddd}dd }|d|}|dd }t	
|| d S )N)
2010-01-01r   r   )z
2010-01-02r   r   )z
2010-01-05r   r   )z
2010-01-10r      )z
2010-01-13r   r   )r*   r      )z
2010-01-03r   r   )z
2010-01-04r   r   )z
2010-01-11r   r+   )z
2010-01-14r   r   )dateidscorecolumnsc                 S   s   |  dd S )Nr-   D)	set_indexresampleasfreqxr'   r'   r(   f_0A      z'test_deferred_with_groupby.<locals>.f_0r.   r-   r2   
2016-01-01   W)startr   r   )r   r   r   r   )r,      r+   r   r-   groupvalc                 S      |  d S )N1D)r4   ffillr6   r'   r'   r(   f_1P      z'test_deferred_with_groupby.<locals>.f_1r@   rC   )r   pdto_datetimer-   groupbyapplyr3   r4   r5   r    assert_frame_equalr
   rD   )datadfr8   expectedresultrE   r'   r'   r(   test_deferred_with_groupby.   s:   rP   c                  C   sr   t d} | jdd }| dj }t|| | jd }t|| | d j}t|| d S )Nr   c                 S   rB   N2s)r4   meanr6   r'   r'   r(   <lambda>[       ztest_getitem.<locals>.<lambda>rR   )
test_framerI   r   rJ   r4   rS   r    assert_series_equal)grN   rO   r'   r'   r(   test_getitemX   s   
rY   c                  C   s   ddddddg} t | tdddd}|d	d
}|d  }tddgtjjdt	dfdt	dfgd	d gddd}t
|| |d  }t
|| d S )Nr   r   )r.   buyerr   r   r:   r   r   r.   rC   rZ   z
2016-01-02names)r   name)r   r
   rI   r4   countr   rG   
MultiIndexfrom_tuplesr	   r    rW   )rL   rM   rrO   rN   r'   r'   r(   test_getitem_multipleg   s   rc   c                  C   sf   t tdtddddd} | ddd	d
  }| djd	ddd
  }t|| d S )Naabbbz1-1-2016r,   r[   r   )r.   r-   rL   r-   r.   2DrL   on)	r   r"   r
   r3   rI   r4   sumr    rW   )rM   exprO   r'   r'   r(   )test_groupby_resample_on_api_with_getitem|   s   rj   c                  C   sr  d} d\}}d}t ||dd}ttjt||d}||| }tj| d}||	d}||| }||	d}	t
jtdd	 t|j|	j W d    n1 sWw   Y  td
}
tj| |
d}||	d}||| }||	d}t|| td
tdd  }tj| |d}||	d}||| }||	d}t|| t|| d S )N1399min)z1/1/2000 00:00:00z1/31/2000 00:00z1/15/2000 00:00:001231minr   r   r_   zIndex are differentmatchr   )r   origini0u  )r
   r   nprandomrandnlenrG   GrouperrI   aggpytestraisesAssertionErrorr    assert_index_equalr   r	   rW   	Timedelta)r   r=   endmiddlerngtsts2simple_groupercount_ts	count_ts2rp   adjusted_grouperadjusted_count_tsadjusted_count_ts2origin_futureadjusted_grouper2adjusted2_count_tsadjusted2_count_ts2r'   r'   r(   test_groupby_with_origin   s4   r   c                  C   sX   t dddd} ttd| dd }tg dtjg dd	d
dd}t|| d S )Nr   r   Tr   r   r   20s)r   r   r   r   r   r   r   )z2000-01-01 00:00:00z2000-01-01 00:00:20z2000-01-01 00:00:40z2000-01-01 00:01:00z2000-01-01 00:01:20z2000-01-01 00:01:40z2000-01-01 00:02:00zdatetime64[ns]20S)dtyper   )	r
   r   ranger4   nearestrG   DatetimeIndexr    rW   )r   rO   rN   r'   r'   r(   test_nearest   s   	r   f)firstlastmediansemrh   rS   minmaxsizer_   r   bfillrD   r5   ohlcc                    sB   t d}|d}t|  }| fdd}t|| d S )Nr   rR   c                    s   t | d  S rQ   getattrr4   r6   r   r'   r(   rT      s    ztest_methods.<locals>.<lambda>)rV   rI   r4   r   rJ   r    assert_equalr   rX   rb   rO   rN   r'   r   r(   test_methods   s
   

r   c                  C   s>   t d} | d}|j }| jdd }t|| d S )Nr   rR   c                 S   rB   rQ   )r4   nuniquer6   r'   r'   r(   rT      rU   z&test_methods_nunique.<locals>.<lambda>)rV   rI   r4   r   r   rJ   r    rW   )rX   rb   rO   rN   r'   r'   r(   test_methods_nunique   s
   


r   stdvarc                    sF   t d}|d}t| dd}| fdd}t|| d S )Nr   rR   r   ddofc                    s   t | d ddS )NrR   r   r   r   r6   r   r'   r(   rT      s    z&test_methods_std_var.<locals>.<lambda>)rV   rI   r4   r   rJ   r    rK   r   r'   r   r(   test_methods_std_var   s
   

r   c                  C   sl   t d} | d}| d }dd }||}t|| dd }| |}|d}t|| d S )Nr   rR   c                 S   rB   rQ   )r4   rh   r6   r'   r'   r(   r8      rF   ztest_apply.<locals>.f_0c                 S   s   |  ddd S )NrR   c                 S   s   |   S Nrh   )yr'   r'   r(   rT     s    z)test_apply.<locals>.f_1.<locals>.<lambda>)r4   rJ   r6   r'   r'   r(   rE     r9   ztest_apply.<locals>.f_1int64)rV   rI   r4   rh   rJ   r    rK   astype)rX   rb   rN   r8   rO   rE   r'   r'   r(   
test_apply   s   




r   c                  C   s   t dddd} tdtjt| i| d}dd }|tjd	d	|}|
d		|}t|| |d jtjd	dd
d	|}|d 
d		|}t|| d S )Nz1-1-2015z12-31-15r2   rm   col1rL   r   c                 S   s   t ddgddgd}|S )Nr   r   abr   )r   )r7   r   r'   r'   r(   r     s   z(test_apply_with_mutated_index.<locals>.fMF)
group_keys)r
   r   rq   rr   randrt   rI   rG   ru   rJ   r4   r    rK   rW   )r   rM   r   rN   rO   r'   r'   r(   test_apply_with_mutated_index  s    r   c                     s   t jddg} tdddd}ttdgd dd	|| d
}dd |jD  |	d
 fdd}td	ddgg tddd	dt jddgd
}t|| d S )N)r   r    one)r   r   itwoz
2017-01-0115Minr   )r=   r   r   r      r   r   r1   c                 S   s&   i | ]}||d  dkrt jnt jqS )r   r   )rq   rh   rS   ).0colr'   r'   r(   
<dictcomp>&  s   & z1test_apply_columns_multilevel.<locals>.<dictcomp>Hc                    s    | j  | S r   r^   r6   agg_dictr'   r(   rT   '  rU   z/test_apply_columns_multilevel.<locals>.<lambda>g        1H)rG   r`   ra   r
   r   rq   arrayreshaper1   r4   rJ   r    rK   )colsindrM   rO   rN   r'   r   r(   test_apply_columns_multilevel!  s   "r   c                  C   s   t dddd} t| g dg ddd}|d	jd
dd }tjg dtjdt	tg dg}tj
j|d	d gd}tg dg dd|d}t|| d S )Nz
2000-01-01re   r,   r   )r   r   r   r   r   )r   r   r   r   r   )col0r   )r   rL   r   1Wleft)label)r   r   r   r   r   )z
1999-12-26
2000-01-02r   r   r\   )r   r   r   r   )r   r   r   r   r   )r
   r   rI   r4   rh   rq   r   r   rG   rH   r`   from_arraysr    rK   )r   rM   rO   mimindexrN   r'   r'   r(    test_resample_groupby_with_label2  s   r   c                  C   s   t } tg ddd}| dd }|jjdksJ t|jj	d | | d
d }|jjdks8J t|jj	d | d S )N)r   r   r   r   r   rR   r   r   r   )rV   r   rI   r4   rS   r   nlevelsr    rz   levelsrolling)rM   rN   rO   r'   r'   r(   test_consistency_with_windowF  s   r   c                  C   sl   t tjddtdtddddd} |  }g d|_|d		 }| d		 }|j|_t
|| d S )
Nr   r   aaa
2012-01-01r   r   r1   r   )r   r   c5s)r   rq   rr   rs   r"   r
   copyr1   r4   r   r    rK   )rM   df2rN   rO   r'   r'   r(   test_median_duplicate_columnsS  s   
r   c                  C   s   t tdtdddtddddd} | dd	d
 }tg dtddddd}t|| | ddd
 }t|| d S )N
   r   )r   r   r   20minr   r   r   c                 S   s
   | j  S r   )r   rh   r@   r'   r'   r(   rT   k  s   
 z0test_apply_to_one_column_of_df.<locals>.<lambda>)r   r      	   r;   c                 S   s   | d   S )Nr   r   r   r'   r'   r(   rT   r  s    )r   r   r
   r4   rJ   r   r    rW   rM   rO   rN   r'   r'   r(   test_apply_to_one_column_of_dfc  s   r   c                  C   sn   t g dg dg dd} t| d | d< | djddd}|d	g  }|d	d
i}t|| d S )N)cat_1r   cat_2r   r   r   r   r   )r,   r      r   r;      r   2   )z2019-2-1z
2018-02-03	2020-3-112019-2-2r   z	2018-12-4r   z
2020-12-12)catnumr-   r-   r   Yrf   r   rh   )	r   rG   rH   rI   r4   rh   rv   r    rK   )rM   	resampledrN   rO   r'   r'   r(   test_resample_groupby_aggv  s   
r   c                  C   s   t d} tdgdgdt| gddd}|dd	d
 }|ddg}tddggtjjd| fgddgdddgd}t	
|| d S )Nz2021-02-28 00:00:00betaE   )classvaluer-   r   r   r   r   r   rh   r   r   r\   r   )r	   r   r   rI   r4   rv   rG   r`   ra   r    rK   )r   rM   r   rO   rN   r'   r'   r(   "test_resample_groupby_agg_listlike  s    r   keysr   r   c                 C   s   t g ddgtg d}|| jtdd }t ddgdj| ddjtg d	d
}t| dkr8| d |j	_
t|| d S )Nr   r   r   00:00:01ruler0   FdropT)appendr   r   )r   r   rI   r4   rG   to_timedeltarS   r3   rt   r   r^   r    rK   r   rM   rO   rN   r'   r'   r(   
test_empty  s   
r  consolidateTFc                 C   s   t dddd}td|tddd}td|tdd	}tj||gd
d}| r+| }|dgjddd }tj	j
dgd dgd  tg dd gddgd}tdgd dgd  g dd dgd tjgd  d|d}t|| d S )Nz
2020-01-01   r2   r   r   rA   )keyr-   r   
col_objectr   )r  r-   r   T)ignore_indexr  r<   r-   rf   r   )z
2020-01-05z
2020-01-12z
2020-01-19r   r\   )r   r,   r   )r  r   r	  r   )r
   r   r   rG   concat_consolidaterI   r4   r   r`   r   rH   rq   nanr    rK   )r  datesdf1r   rM   rO   idxrN   r'   r'   r(   .test_resample_groupby_agg_object_dtype_all_nan  s*   
r  c               	   C   s   t tdddg dg ddd} | djd	d
ddg  }t dg ditdtdfdtdfdtdfdtdfgddd}t|| d S )Nr:   r   r=   r   r   r   r   r   r   r   r   r   )r   r+   r,   r   r   r   r,   r   r?   )rL   r@   re   r-   rf   rA   )      @g      @g      @g      @r   
2016-01-03r   
2016-01-05
2016-01-07r@   r-   rL   r^   r   )	r   r
   rI   r4   rS   r   r	   r    rK   r   r'   r'   r(   'test_groupby_resample_with_list_of_keys  s(   




r  c                 C   s   t g g dd}t|d |d< |d}|| jtdd }t g ddj| dd}t|d |d< |jdddd	}t| d
krM| d |j	_
t|| d S )N)r   r   r-   r0   r-   r   r   Fr   T)r  r  r   r   )r   rG   rH   r3   rI   r4   r  rS   rt   r   r^   r    rK   r  r'   r'   r(   test_resample_no_index  s   
r  c                  C   s   t ttg dddd} | g djtdd }tg d}t tjt	j
d	d
gt	jd|gg dg dgd dgdd}tj||t  d d S )N)2018-01-01 00:00:002018-01-01 12:00:002018-01-02 00:00:00r-   r   r   )r   r   r   z06:00:00r   )r  z2018-01-01 06:00:00r  r  r   r   r   )r   r   r   r   )r   r   r   r   )r   codesr]   )check_index_type)r   r   rG   rH   rI   r4   r  rS   r`   rq   r   intpr    rK   r   )rM   rO   r   rN   r'   r'   r(   test_resample_no_columns  s(    	r"  c               	   C   s   t dgd dgd  dgd  dgd  tddtddddd	} | d
d }tdtj	j
dtdfdtdfdtdfdtdfgd
d gdd	}t|| d S )Nr   r   r   r   r   z31/12/2000 18:00r   r   r   r   r2   z
2000-12-31z
2001-01-01r\   )r   rq   aranger
   rI   r4   r   r   rG   r`   ra   r	   r    rW   r   r'   r'   r(   )test_groupby_resample_size_all_index_same   s"   2



r$  c               	   C   s   t g dg ddttdddddd	} | d
ddg  }t dg ditdtdfdtdfdtdfdtdfgddd	}t	|| d S )Nr  r   r   r;   r   r,   r   r   r>   r@   rA   r:   r   r  r-   r   r   r@   re   rA   g       @g      @g      @r  r   r  r   r  r  r  r  
r   r   r
   rI   r4   rS   r   r	   r    rK   r   r'   r'   r(   0test_groupby_resample_on_index_with_list_of_keys6  s.   





r)  c               	   C   s   t g dg dg dg ddttdddd	d
d} | ddddg  }t g dg ddtdtdfdtdfdtdfdtdfgddd}t	|| d S )Nr  r%  )r   r+   r   r   r   r   r   r   )r   r;   r   r;   r   r   r   r,   )r@   	first_val
second_val	third_valr:   r   r  r-   r   r   r@   re   r*  r+  r'  )      @r-  g      @r-  )r*  r+  r   r  r   r  r  r  r  r(  r   r'   r'   r(   >test_groupby_resample_on_index_with_list_of_keys_multi_columnsT  s4   




r.  c                  C   sx   t g dg ddttdddddd	} tjtd
d | dddg   W d    d S 1 s5w   Y  d S )Nr  r%  r&  r:   r   r  r-   r   r   zColumns not foundrn   r@   re   val_not_in_dataframe)	r   r   r
   rw   rx   KeyErrorrI   r4   rS   )rM   r'   r'   r(   ?test_groupby_resample_on_index_with_list_of_keys_missing_columnu  s   

"r1  )5textwrapr   numpyrq   rw   pandas.compatr   pandas.util._test_decoratorsr   pandasrG   r   r   r   r   r	   pandas._testing_testingr    pandas.core.indexes.datetimesr
   r#  rV   r)   rP   rY   rc   rj   r   r   markparametrizer   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r"  r$  r)  r.  r1  r'   r'   r'   r(   <module>   sd    (
*
)
		
$


!