a
    oÝEbl8  ã                   @   s�  d dl mZ d dlZd dlZd dlm  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 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	ƒ ejdd„ ƒƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Z dd „ Z!d!d"„ Z"d#d$„ Z#d%d&„ Z$d'd(„ Z%d)d*„ Z&d+d,„ Z'd-d.„ Z(d/d0„ Z)d1d2„ Z*d3d4„ Z+ej, -d5d6gd6d7gg¡d8d9„ ƒZ.ej, -d:d;d<g¡d=d>„ ƒZ/dS )?é    )ÚdedentN)Ú
async_mark)Ú	DataFrameÚIndexÚSeriesÚTimedeltaIndexÚ	Timestamp)Ú
Int64Index)Ú
date_rangeé   é   é   é   é   é   é(   )ÚAÚBú1/1/2000Ús©ÚfreqÚperiods©Úindexc              	   Ã   sŒ   ddl m} tdƒ}|  |¡I d H  t d ¡�J |dƒ�" t| j dd¡ƒ W d   ƒ n1 s`0    Y  W d   ƒ n1 s~0    Y  d S )Nr   )ÚprovisionalcompleterzZ    import pandas._testing as tm
    s = tm.makeTimeSeries()
    rs = s.resample("D")
    Úignorezrs.r   )	ZIPython.core.completerr   r   Zrun_codeÚtmZassert_produces_warningÚlistZ	CompleterZcompletions)Úipr   Úcode© r!   úl/home/ja/django-apps/lartica_env/lib/python3.9/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ÚidZscore©Úcolumnsc                 S   s   |   d¡ d¡ ¡ S )Nr'   ÚD)Ú	set_indexÚresampleÚasfreq©Úxr!   r!   r"   ÚfD   s    z%test_deferred_with_groupby.<locals>.fr(   r'   r+   ú
2016-01-01é   ÚW)Ústartr   r   )r   r   r   r   )r&   é   r%   r   )r'   ÚgroupÚvalc                 S   s   |   d¡ ¡ S )NÚ1D)r-   Úffillr/   r!   r!   r"   r1   S   s    r7   r9   )r   ÚpdÚto_datetimer'   ÚgroupbyÚapplyr,   r-   r.   r   Úassert_frame_equalr
   r:   )ÚdataÚdfr1   ÚexpectedÚresultr!   r!   r"   Útest_deferred_with_groupby0   s:    öýÿúrD   c                  C   sr   t  d¡} | j dd„ ¡}|  d¡j ¡ }t ||¡ | j d¡ ¡ }t ||¡ |  d¡ ¡ j}t ||¡ d S )Nr   c                 S   s   |   d¡ ¡ S ©NÚ2s)r-   Úmeanr/   r!   r!   r"   Ú<lambda>^   ó    ztest_getitem.<locals>.<lambda>rF   )Ú
test_framer=   r   r>   r-   rG   r   Úassert_series_equal)ÚgrB   rC   r!   r!   r"   Útest_getitem[   s    
rM   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   r2   ©r   r   r(   r9   rN   z
2016-01-02©Únames)r   Úname)r   r
   r=   r-   Úcountr   r;   Ú
MultiIndexÚfrom_tuplesr   r   rK   )r@   rA   ÚrrC   rB   r!   r!   r"   Útest_getitem_multiplej   s    þúrW   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 )NZaabbbz1-1-2016r&   rO   r   )r(   r'   r@   r'   r(   Ú2Dr@   ©Úon)	r   r   r
   r,   r=   r-   Úsumr   rK   )rA   ÚexprC   r!   r!   r"   Ú)test_groupby_resample_on_api_with_getitem€   s    ÿr]   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 s®0    Y  td
ƒ}
tj| |
d�}| |¡ 	d¡}|||… }| |¡ 	d¡}t ||¡ td
ƒt d¡d  }tj| |d�}| |¡ 	d¡}|||… }| |¡ 	d¡}t ||¡ t ||¡ d S )NZ1399min)z1/1/2000 00:00:00z1/31/2000 00:00z1/15/2000 00:00:00Z1231min©r   r   rS   zIndex are different)Úmatchr   )r   Úorigini0u  )r
   r   ÚnpÚrandomÚrandnÚlenr;   ÚGrouperr=   ÚaggÚpytestZraisesÚAssertionErrorr   Úassert_index_equalr   r   rK   Z	Timedelta)r   r5   ÚendÚmiddleÚrngÚtsZts2Zsimple_grouperZcount_tsZ	count_ts2r`   Zadjusted_grouperZadjusted_count_tsZadjusted_count_ts2Zorigin_futureZadjusted_grouper2Zadjusted2_count_tsZadjusted2_count_ts2r!   r!   r"   Útest_groupby_with_originŠ   s2    .rn   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   Z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]Z20S)Zdtyper   )	r
   r   Úranger-   Únearestr;   ZDatetimeIndexr   rK   )r   rC   rB   r!   r!   r"   Útest_nearest³   s    	õþrs   c                     s|  t  d¡} |  d¡}dD ].‰ t|ˆ ƒƒ }|  ‡ fdd„¡}t ||¡ qdD ].‰ t|ˆ ƒƒ }|  ‡ fdd„¡}t ||¡ qLdD ].‰ t|ˆ ƒƒ }|  ‡ fd	d„¡}t ||¡ q€d
D ]2‰ t|jˆ ƒƒ }| j ‡ fdd„¡}t ||¡ q´dD ].‰ t|ˆ ƒƒ }|  ‡ fdd„¡}t ||¡ qì| 	¡ }|  dd„ ¡}t ||¡ dD ]4‰ t|ˆ ƒdd�}|  ‡ fdd„¡}t ||¡ �qBd S )Nr   rF   )ÚfirstÚlastÚmedianZsemr[   rG   ÚminÚmaxc                    s   t |  d¡ˆ ƒƒ S rE   ©Úgetattrr-   r/   ©r1   r!   r"   rH   Ó   rI   ztest_methods.<locals>.<lambda>)Úsizec                    s   t |  d¡ˆ ƒƒ S rE   ry   r/   r{   r!   r"   rH   Ø   rI   )rS   c                    s   t |  d¡ˆ ƒƒ S rE   ry   r/   r{   r!   r"   rH   Ý   rI   )Znuniquec                    s   t |  d¡ˆ ƒƒ S rE   ry   r/   r{   r!   r"   rH   ã   rI   )rr   Zbfillr:   r.   c                    s   t |  d¡ˆ ƒƒ S rE   ry   r/   r{   r!   r"   rH   è   rI   c                 S   s   |   d¡ ¡ S rE   )r-   Úohlcr/   r!   r!   r"   rH   ì   rI   )ZstdÚvarr   ©Zddofc                    s   t |  d¡ˆ ƒdd�S )NrF   r   r   ry   r/   r{   r!   r"   rH   ñ   rI   )
rJ   r=   r-   rz   r>   r   r?   rK   r   r}   )rL   rV   rC   rB   r!   r{   r"   Útest_methodsÍ   s:    

r€   c                  C   sl   t  d¡} |  d¡}|  d¡ ¡ }dd„ }| |¡}t ||¡ dd„ }|  |¡}| d¡}t ||¡ d S )Nr   rF   c                 S   s   |   d¡ ¡ S rE   )r-   r[   r/   r!   r!   r"   r1   ý   s    ztest_apply.<locals>.fc                 S   s   |   d¡ dd„ ¡S )NrF   c                 S   s   |   ¡ S ©N©r[   )Úyr!   r!   r"   rH     rI   z'test_apply.<locals>.f.<locals>.<lambda>)r-   r>   r/   r!   r!   r"   r1     s    Zint64)rJ   r=   r-   r[   r>   r   r?   Zastype)rL   rV   rB   r1   rC   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  tjd	d�¡ 	|¡}|d  
d	¡ 	|¡}t ||¡ d S )
Nz1-1-2015z12-31-15r+   r^   Úcol1©r@   r   c                 S   s   t ddgddgd�}|S )Nr   r   ÚaÚbr   )r   )r0   r   r!   r!   r"   r1     s    z(test_apply_with_mutated_index.<locals>.fÚM)r
   r   ra   rb   Zrandrd   r=   r;   re   r>   r-   r   r?   rK   )r   rA   r1   rB   rC   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-01Z15Minr   )r5   r   r   r   é   r   ©r   r*   c                 S   s&   i | ]}||d  dkrt jnt j“qS )r   rŒ   )ra   r[   rG   )Ú.0Úcolr!   r!   r"   Ú
<dictcomp>%  rI   z1test_apply_columns_multilevel.<locals>.<dictcomp>ÚHc                    s   ˆ | j  | ƒS r�   ©rR   r/   ©Zagg_dictr!   r"   rH   &  rI   z/test_apply_columns_multilevel.<locals>.<lambda>g        Z1H)r;   rT   rU   r
   r   ra   ÚarrayZreshaper*   r-   r>   r   r?   )ÚcolsÚindrA   rC   rB   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 g 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-01rX   r&   r   )r   r   r   r   r   )r   r   r   r   r   )Úcol0r…   )r   r@   r›   Z1WÚleft)Úlabel)r   r   r   r   )z
1999-12-26ú
2000-01-02rž   rž   rP   )r   r   r   r   )r   r   r   r   r†   )r
   r   r=   r-   r[   ra   r—   r;   r<   rT   Úfrom_arraysr   r?   )r   rA   rC   ÚmiZmindexrB   r!   r!   r"   Ú test_resample_groupby_with_label1  s    ÿþÿr¡   c                  C   sˆ   t } tg d¢dd�}|  d¡ d¡ ¡ }|jjdks8J ‚t |jj	d |¡ |  d¡ 
d¡ ¡ }|jjdkspJ ‚t |jj	d |¡ d S )N)r   r   r   r   r•   rF   r   r   r   )rJ   r	   r=   r-   rG   r   Znlevelsr   ri   ZlevelsZrolling)rA   rB   rC   r!   r!   r"   Útest_consistency_with_windowE  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   Zaaaú
2012-01-01r   rp   ©r*   r   )r‡   rˆ   ÚcZ5s)r   ra   rb   rc   r   r
   Úcopyr*   r-   rv   r   r?   )rA   Údf2rB   rC   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£   Z20minrp   r   r”   c                 S   s
   | j  ¡ S r�   )r’   r[   ©r7   r!   r!   r"   rH   k  rI   z0test_apply_to_one_column_of_df.<locals>.<lambda>)r   r   é   é	   r3   c                 S   s   | d   ¡ S )Nr’   r‚   rª   r!   r!   r"   rH   r  rI   )r   rq   r
   r-   r>   r   r   rK   )rA   rC   rB   r!   r!   r"   Útest_apply_to_one_column_of_dfc  s    þÿr­   c                  C   sh   t g d¢g d¢g d¢dœƒ} t | d ¡| d< |  d¡jddd�}| ¡ }| d	d
i¡}t ||¡ d S )N)Úcat_1r®   Úcat_2r®   r¯   r®   r¯   r®   )r&   r   é   r   r3   é   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µ   ÚYrY   r¶   r[   )	r   r;   r<   r=   r-   r[   rf   r   r?   )rA   Ú	resampledrB   rC   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ÚbetaéE   )ÚclassÚvaluer'   r•   r   r¼   r‰   r½   r[   r|   r   rP   r�   )r   r   r   r=   r-   rf   r;   rT   rU   r   r?   )rm   rA   r¸   rC   rB   r!   r!   r"   Ú"test_resample_groupby_agg_listlikeš  s     ýr¾   Úkeysr‡   rˆ   c                 C   sr   t g ddgtg ƒd�}| | ¡jt d¡d� ¡ }t ddgd�j| dd�}t| ƒd	krb| d
 |j	_
t ||¡ d S )Nr‡   rˆ   r¤   z00:00:01)Úruler)   F)Zdropr   r   )r   r   r=   r-   r;   Zto_timedeltarG   r,   rd   r   rR   r   r?   )r¿   rA   rC   rB   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�}| rV| ¡ }| 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  t g d¢d ¡g d¢d dgd tjgd  dœ|d�}t ||¡ d S )Nú
2020-01-01é   r+   rp   r   r8   )Úkeyr'   r…   Z
col_objectr   )rÅ   r'   r…   T)Zignore_indexrÅ   r4   r'   rY   r   )z
2020-01-05z
2020-01-12z
2020-01-19r   rP   )rÃ   z
2020-01-06z
2020-01-13)r   r&   r   r   )r
   r   rq   r;   ÚconcatZ_consolidater=   r-   rw   rT   rŸ   r<   ra   Únanr   r?   )rÂ   ÚdatesZdf1r§   rA   rC   ÚidxrB   r!   r!   r"   Ú.test_resample_groupby_agg_object_dtype_all_nan´  s,    þû
üù	rÊ   )0Útextwrapr   Únumpyra   rg   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdr   Zpandasr;   r   r   r   r   r   Zpandas._testingZ_testingr   Zpandas.core.apir	   Zpandas.core.indexes.datetimesr
   ZarangerJ   Zcheck_file_leaksr#   rD   rM   rW   r]   rn   rs   r€   r„   rŠ   rš   r¡   r¢   r¨   r­   r¹   r¾   ÚmarkZparametrizerÁ   rÊ   r!   r!   r!   r"   Ú<module>   sH   (þ+
)($
