U
    ¾mœdZ}  ã                &   @   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 d dlmZ d dlmZ ee dddƒe ddd	ƒd
d�Zeej eeƒ¡eƒZe
eee eeƒ¡dœƒZ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!ej" #ddgddgg¡d d!„ ƒZ$d"d#„ Z%ej" #d$d%d&d'g¡d(d)„ ƒZ&d*d+„ Z'd,d-„ Z(d.d/„ Z)d0d1„ Z*ej" #d2dd3g¡d4d5„ ƒZ+d6d7„ Z,ej"j#d8d9d:„ d;d:„ gd<d=gd>�d?d@„ ƒZ-dAdB„ Z.dCdD„ Z/dEdF„ Z0dGdH„ Z1dIdJ„ Z2ej" #d8dKgdLdMgddNidOdPdQœg¡dRdS„ ƒZ3dTdU„ Z4dVdW„ Z5dXdY„ Z6dZd[„ Z7ej" #d\d]d^d_d`dadbdcddg¡dedf„ ƒZ8dgdh„ Z9ej" #didjdkdld dmdndodpdqdrdsdtg	dudvdd drdwdxgdydzf
d{d|d}dgd~ dldvdddnd€dnd€dnd€dnd€dng
d�d	f
djdkdld dmdndodpdqdrdsdtg	dudvd‚d drdwdƒdtgd„d€f
djdkdld dmdndodpdqdrdsdtg	dud…ddmdqd†d†gd‡dzf
g¡dˆd‰„ ƒZ:ej" #dŠdNd‹dŒd�gifdNdŽd�gd�gd�œfdNej;d�gd�gd�œfdOd‹dŒd‘gifd’dOej;d“fdKd‹dŒd€gifdKdŽd”gd€gd�œfdKej;d”gd€gd�œfdMd‹dŒd•gifdMdŽd–gd•gd�œfdMej;d–gd•gd�œfd—d‹dŒd€gifd—dŽd”gd€gd�œfd—ej;d”gd€gd�œfd˜d‹dŒd•gifd˜dŽd–gd•gd�œfd˜ej;d–gd•gd�œfdLd‹dŒd™gifdšdLej;d›fdPd‹dŒd™gifdœdPej;d�fdžd‹dŒdŸgifd džej;d¡fd¢d‹dŒd£gifd¤d¢ej;d¡fd¥d‹dŒd¦gifd§d¥ej;d¡fg!¡d¨d©„ ƒZ<ej" #dŠdªdNdŽd�gfdNej;d�gfd«d¬dOej;d­fd®dKdŽd”gfdKej;d”gfd¯dMdŽd–gfdMej;d–gfd°d—dŽd”gfd—ej;d”gfd±d˜dŽd–gfd˜ej;d–gfg¡d²d³„ ƒZ=ej" #d´dµd¶d·d¸d¹dºd»d¼d½d¾d¿dÀdÁg¡dÂdÃ„ ƒZ>dÄdÅ„ Z?dS )Æé    )ÚdatetimeN)Úlib)ÚUnsupportedFunctionCall)Ú	DataFrameÚNamedAggÚSeries)Ú
date_rangeéÕ  é   é
   ZMin)ÚstartÚendÚfreq)ÚAÚBÚCc                   C   s   t  ¡ S ©N)Ú_test_frameÚcopy© r   r   ú`/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/pandas/tests/resample/test_resample_api.pyÚ
test_frame   s    r   c                  C   s<   t  d¡} dt| ƒkst‚t jddd�} dt| ƒks8t‚d S )NÚHziDatetimeIndexResampler [freq=<Hour>, axis=0, closed=left, label=left, convention=start, origin=start_day]ú
2000-01-01)ÚoriginzsDatetimeIndexResampler [freq=<Hour>, axis=0, closed=left, label=left, convention=start, origin=2000-01-01 00:00:00])Útest_seriesÚresampleÚstrÚAssertionError)Úrr   r   r   Útest_str   s    
ÿÿÿÿr    c                  C   sh   t  d¡} |  ¡ }t|tƒs t‚t|ƒdks0t‚t  ¡  d¡} |  ¡ }t|tƒsTt‚t|ƒdksdt‚d S )Nr   éÙ   )	r   r   ÚmeanÚ
isinstancer   r   ÚlenÚto_framer   )r   Úresultr   r   r   Útest_api+   s    
r'   c                  C   sÎ   t tdddd�ddddgddd	d
gdœƒ d¡} tdd
d� ¡ tdd
d� ¡  }tjjdgd
 dgd
  |gddgd�}t ddgd	 dg d	gd	  d
g i|d�}|  d¡ dd„ ¡dg }t	 
||¡ d S )Nú
2016-01-01é   ÚW)r   Úperiodsr   r
   é   é   é   é   é   )ÚdateÚgroupÚvalr1   z
2016-01-03©r+   z
2016-01-17r2   ©Únamesr3   ©Úindexc                 S   s   |   d¡ ¡ S )NÚ1D)r   Úffill©Úxr   r   r   Ú<lambda>J   ó    z+test_groupby_resample_api.<locals>.<lambda>)r   r   Ú	set_indexÚtolistÚpdÚ
MultiIndexÚfrom_arraysÚgroupbyÚapplyÚtmÚassert_frame_equal)ÚdfÚir8   Úexpectedr&   r   r   r   Útest_groupby_resample_api7   s     

ýÿú
ÿÿ(,rK   c                  C   sj   t ddgd tddd�tj d¡dœƒ} |  d¡ d	¡ d
¡ ¡ }|  d	¡jd
dd� ¡ }t	 
||¡ d S )Nr   r   r-   r(   r   r4   )ÚkeyÚdatesÚvaluesrM   rL   ÚD©Úon)r   r   ÚnpÚrandomÚrandnr?   rD   r   r"   rF   rG   ©rH   rJ   r&   r   r   r   Útest_groupby_resample_on_apiN   s    


ýÿrV   c                  C   s¾   t dddœtddd�d�} |  ¡ }| jdd	d
�}| dd„ ¡}t ||¡ |  d¡}| dd„ ¡}t ||¡ tj 	t 
ddg¡ d¡|jg¡|_| jddd
�}| dd„ ¡}t ||¡ d S )Nr
   r,   ©r   r   Ú2000r   r4   r7   Z5DF©Z
group_keysc                 S   s   | S r   r   r;   r   r   r   r=   e   r>   z*test_resample_group_keys.<locals>.<lambda>c                 S   s   | S r   r   r;   r   r   r   r=   j   r>   r   z
2000-01-06r-   Tc                 S   s   | S r   r   r;   r   r   r   r=   r   r>   )r   r   r   r   rE   rF   rG   rA   rB   rC   Úto_datetimeÚrepeatr8   )rH   rJ   Úgr&   r   r   r   Útest_resample_group_keys_   s    
ÿr]   c                 C   sl   t  d¡}| ¡ | ¡  }| dd„ ¡}t ||¡ |  d¡}| ¡ | ¡  }| dd„ ¡}t ||¡ d S )Nr   c                 S   s   |   ¡ |  ¡  S r   ©Úmaxr"   r;   r   r   r   r=   |   r>   ztest_pipe.<locals>.<lambda>c                 S   s   |   ¡ |  ¡  S r   r^   r;   r   r   r   r=   ‚   r>   )r   r   r_   r"   ÚpiperF   Úassert_series_equalrG   )r   r   rJ   r&   r   r   r   Ú	test_pipev   s    

rb   c                 C   s”   |   d¡}t |jj| j¡ |   d¡d }|jj| jd ks@t‚|   d¡d }t |jj| jddg ¡ |   d¡d }t |jj| jddg ¡ d S )Nr   r   r
   rW   r   )r   rF   Zassert_index_equalZ_selected_objÚcolumnsÚnamer   ©r   r   r   r   r   Útest_getitem†   s    
rf   rL   rO   r   c              	   C   s4   |  d¡}d}tjt|d�� ||   W 5 Q R X d S )Nr   z^\"Columns not found: 'D'\"$©Úmatch)r   ÚpytestÚraisesÚKeyError)rL   r   r\   Úmsgr   r   r   Útest_select_bad_cols•   s    
rm   c                 C   s(   |   d¡}t |j ¡ |d  ¡ ¡ d S )Nr   r   )r   rF   ra   r   Úsumre   r   r   r   Útest_attribute_accessŸ   s    
ro   ÚattrÚgroupsZngroupsÚindicesc                 C   sN   t dddd�}tt t|ƒ¡|d�}| d¡}t|| ƒ | ¡  t|| ƒ d S )Nú1/1/2012éd   ÚS©r+   r   r7   Z30s)r   r   rR   Úaranger$   r   Úgetattrr"   )rp   ÚrngÚtsÚrsr   r   r   Útest_api_compat_before_use¤   s    

r|   c              	   C   s    | }d|d< |  d¡}|ddg  ¡ }tj|j ¡ |j ¡ gdd�}t ||¡ |dddg  ¡ }tj	t
d	d
�� | ¡  W 5 Q R X |jdd�}t ||¡ d S )NÚfoorO   r   r   r   r
   ©Zaxisr   úCould not convertrg   T©Únumeric_only)r   r"   rA   Úconcatr   r   rF   rG   ri   rj   Ú	TypeError)r   rH   r   r&   rJ   r   r   r   Útests_raises_on_nuisance´   s    
r„   c                  C   sf   t dddd�} ttjt| ƒdd�| d�}| d¡ ¡ }td	d
dddgt dddd�d�}t ||¡ d S )Nrs   rt   ru   rv   Úint64©Údtyper7   Z20sr   é   é(   é<   éP   ú2012-01-01 00:00:00r-   ©r   r+   )	r   r   rR   rw   r$   r   ÚasfreqrF   ra   )ry   rz   r&   rJ   r   r   r   Ú'test_downsample_but_actually_upsamplingÃ   s    þr�   c                  C   s¾   t dddd�} tt t| ƒ¡| d�}|jdddd	d
ddddddg }| d¡ ¡  ¡ }tddddddddddddddddgt	j
dddddd d!d"d#d$d%d&d'd(d)d*gd+d,d-�d�}t ||¡ d S ).Nrs   rt   ru   rv   r7   r   r
   r,   é   r-   r/   é   é   é   é   é   Z2sg      à?g      @g      @g      @g      &@g      .@g      0@g      9@g      >@rŒ   z2012-01-01 00:00:02z2012-01-01 00:00:04z2012-01-01 00:00:06z2012-01-01 00:00:08z2012-01-01 00:00:10z2012-01-01 00:00:12z2012-01-01 00:00:14z2012-01-01 00:00:16z2012-01-01 00:00:18z2012-01-01 00:00:20z2012-01-01 00:00:22z2012-01-01 00:00:24z2012-01-01 00:00:26z2012-01-01 00:00:28z2012-01-01 00:00:30zdatetime64[ns]Ú2S)r‡   r   )r   r   rR   rw   r$   Zilocr   r"   r:   rA   ZDatetimeIndexrF   ra   )ry   rz   Zts2r&   rJ   r   r   r   Ú*test_combined_up_downsampling_of_irregularÏ   sZ     ððìí*r—   c                  C   s<   t  d¡} t  tjdd�¡ d¡}|  d¡}t ||¡ d S )NÚ20min©r   r"   )r   r   rD   rA   ÚGrouperÚ	transformrF   ra   )r   rJ   r&   r   r   r   Útest_transform_series  s    

rœ   rQ   r1   c                 C   sœ   t tdddƒtdddƒdd�}d|_ttj dd¡tdƒ|d	�}| t	j
d
d�¡ d¡}| dkrt|jdd�}| ¡ }|jd
| d�}| d¡}t ||¡ d S )Nr	   r
   r   rO   r™   r1   r,   ÚAB©rc   r8   r˜   r"   T)ZdroprP   )r   r   rd   r   rR   rS   ÚrandÚlistrD   rA   rš   r›   Úreset_indexr   rF   rG   )rQ   r8   rH   rJ   r   r&   r   r   r   Útest_transform_frame  s    
r¢   c               	   C   sž   t dddd�} ttjt| ƒdd�| d�}| d¡}| ¡ }|jd	d
�}t 	||¡ | 
¡ }|jdd
�}t 	||¡ d}tjt|d�� | d¡ W 5 Q R X d S )Nrs   r   r–   rv   r…   r†   r7   Úsr:   )ÚmethodÚbfillzTInvalid fill method\. Expecting pad \(ffill\), backfill \(bfill\) or nearest\. Got 0rg   r   )r   r   rR   rw   r$   r   r:   ZfillnarF   ra   r¥   ri   rj   Ú
ValueError)ry   rz   r   rJ   r&   rl   r   r   r   Útest_fillna  s    
ÿr§   Úfuncc                 C   s   | j ddd�S )Nr˜   FrY   )r   r;   r   r   r   r=   7  r>   r=   c                 C   s   | j tjdd�dd�S )Nr˜   r™   FrY   )rD   rA   rš   r;   r   r   r   r=   8  r>   r   rD   )Zidsc                 C   s&   | t ƒ}| dd„ ¡}t |t ¡ d S )Nc                 S   s   | S r   r   r;   r   r   r   r=   ?  r>   z0test_apply_without_aggregation.<locals>.<lambda>)r   rE   rF   ra   )r¨   Útr&   r   r   r   Útest_apply_without_aggregation4  s    
rª   c                  C   s>   t jdd�jddd�} | d  dd„ ¡}t |t  d¡¡ d S )Nr}   )rd   r˜   FrY   c                 S   s   | S r   r   r;   r   r   r   r=   E  r>   z1test_apply_without_aggregation2.<locals>.<lambda>)r   r%   r   rE   rF   ra   Úrename)Úgroupedr&   r   r   r   Útest_apply_without_aggregation2C  s    r­   c               	   C   sd   t tj dd¡tdddd�dddgd	�} |  d
¡}d}tjt|d�� | 	dddœ¡ W 5 Q R X d S )Néè  r�   rs   ru   r�   r   r   r   ©r8   rc   Ú3Tz'Column\(s\) \['r1', 'r2'\] do not existrg   r"   rn   ©Úr1Úr2©
r   rR   rS   rT   r   r   ri   rj   rk   Úagg©rH   r   rl   r   r   r   Útest_agg_consistencyI  s    ý
r·   c               	   C   sb   t tj dd¡tdddd�ddgd�} |  d	¡}d
}tjt|d�� | 	dddœ¡ W 5 Q R X d S )Nr®   r,   rs   ru   r�   r
   Úar¯   r°   z#Column\(s\) \[2, 'b'\] do not existrg   r"   rn   )r,   Úbr´   r¶   r   r   r   Ú'test_agg_consistency_int_str_column_mixY  s    ý
rº   c               
   C   s\  t j d¡ ttdddƒtdddƒdd�} d| _tt j dd¡td	ƒ| d
�}| 	¡ }| 
¡ }tjjtdƒ|jgddgd�|_| d¡}||jddd�|jddd�| tjdd�¡g}|d  ¡ }|d  ¡ }|d  ¡ }|d  ¡ }	|d  ¡ }
|d  ¡ }tj|||	|
gdd�}tj ddgddgg¡|_|D ]š}||d k�rª|d  ¡ }|d  ¡ }tj|||gdd�}tj dddgddgg¡|_| t jt jg¡}t ||¡ n| t jt jg¡}t ||¡ �q0tj||
gdd�}|D ]‚}| t jt jdœ¡}tj||dd� |jdt jfdt jfd�}tj||dd� |jtdt jƒtdt jƒd�}tj||dd� �qâtj||gdd�}tj ddg¡|_|D ]$}| dddgi¡}t ||¡ �qŽtj||gdd�}ddg|_|D ]B}|d  ddg¡}t ||¡ |d jddd�}t ||¡ �qÔd}|D ]8}tjtj j!|d�� | ddddœi¡ W 5 Q R X �q tj|||	|gdd�}tj dddd g¡|_|D ]@}tjtj j!|d��" | dddœddd!œdœ¡ W 5 Q R X �qŠtj|||	|
gdd�}tj ddd"d#g¡|_|D ].}| ddgddgdœ¡}tj||dd� �qütj|||	|gdd�}tj d$d%d&d'g¡|_d S )(NéÒ  r	   r
   r   rO   r™   r1   r,   r�   rž   r8   r5   Ú2DrP   ©Úlevelr   r   r~   r"   ÚstdrW   T©Z
check_like)r   r"   ©r   r¿   rn   )r"   rn   únested renamer is not supportedrg   ©r   rn   )r   Úmean2)r   Úsum2)rÄ   rÅ   ©r   r"   ©r   r¿   )r²   r   r"   )r²   r   rn   )r³   r   r"   )r³   r   rn   )"rR   rS   Úseedr   r   rd   r   rŸ   r    r¡   r   rA   rB   rC   Úranger8   r   rD   rš   r"   r¿   rn   r‚   Zfrom_productrc   Ú	aggregaterF   rG   r   Úfrom_tuplesri   rj   ÚerrorsÚSpecificationError)r8   rH   Údf_colÚdf_multr   ÚcasesZa_meanZa_stdZa_sumZb_meanZb_stdZb_sumrJ   r©   Z	date_meanZdate_stdÚexpr&   rl   r   r   r   Útest_aggl  s¬     ÿ
üÿ
"
ÿþÿ
ÿüÿrÒ   c               
   C   s   t j d¡ ttdddƒtdddƒdd�} d| _tt j dd¡td	ƒ| d
�}| 	¡ }| 
¡ }tjjtdƒ|jgddgd�|_| d¡}||jddd�|jddd�| tjdd�¡g}|D ]²}| t jdd„ dœ¡}|d  dd„ ¡}tj|d  ¡ |gdd�}	tj||	dd� |jdt jfddd„ fd�}tj||	dd� |jtdt jƒtddd„ ƒd�}tj||	dd� q¸tj|d  ¡ |d  ¡ |d  ¡ |d  ¡ gdd�}	tj ddddg¡|	_d}
|D ]¸}tjt|
d ��" |ddg  t jt jd!œ¡ W 5 Q R X tjt|
d ��( |ddg jd"t jfd#t jfd� W 5 Q R X tjt|
d ��, |ddg jtd"t jƒtd#t jƒd� W 5 Q R X �qÀtj|d  ¡ |d   ¡ |d  ¡ |d   ¡ gdd�}	tj d$d%d&d'g¡|	_|D ].}| d(d)gd*d)gdœ¡}tj||	dd� �qÊ|D ]6}|ddg  d(d)gd*d)gdœ¡}tj||	dd� �qþd+}
|D ]t}tjtj!j"|
d �� |d  dd(d)gi¡ W 5 Q R X tjtj!j"|
d ��" |d  d(d)gd*d)gdœ¡ W 5 Q R X �q>d,}
|D ]>}tjt|
d ��$ |dg  d(d)gd*d)gdœ¡ W 5 Q R X �q¼d S )-Nr»   r	   r
   r   rO   r™   r1   r,   r�   rž   r8   r5   r¼   rP   r½   c                 S   s   t j| dd�S ©Nr
   )Zddof©rR   r¿   r;   r   r   r   r=   î  r>   ztest_agg_misc.<locals>.<lambda>rW   r   c                 S   s   t j| dd�S rÓ   rÔ   r;   r   r   r   r=   ï  r>   r   r~   TrÀ   c                 S   s   t j| dd�S rÓ   rÔ   r;   r   r   r   r=   ó  r>   c                 S   s   t j| dd�S rÓ   rÔ   r;   r   r   r   r=   ÷  r>   )Úresult1r   )rÕ   r   )Úresult2r   )rÖ   r   z1Column\(s\) \['result1', 'result2'\] do not existrg   )rÕ   rÖ   rÕ   rÖ   rÃ   rÁ   rÆ   rÇ   rn   r¿   r"   rÂ   z Column\(s\) \['B'\] do not exist)#rR   rS   rÈ   r   r   rd   r   rŸ   r    r¡   r   rA   rB   rC   rÉ   r8   r   rD   rš   rµ   rn   rE   r‚   rF   rG   r   r"   rË   rc   ri   rj   rk   r¿   rÌ   rÍ   )r8   rH   rÎ   rÏ   r   rÐ   r©   r&   ZrcustomrJ   rl   r   r   r   Útest_agg_misc×  sŠ     ÿ
ü
 ÿ* ÿ
ÿ&,
 
ÿ* ÿ
ÿ  *r×   Úminr"   r_   rn   ÚprodÚmedianrW   c              	   C   s„   t j d¡ ttdddƒtdddƒdd�}d|_tt j dd¡td	ƒ|d
�j	}|j
ddd�}tjtdd�� | | ¡ W 5 Q R X d S )Nr»   r	   r
   r   rO   r™   r1   r,   r�   rž   ÚMr~   z"axis other than 0 is not supportedrg   )rR   rS   rÈ   r   r   rd   r   rŸ   r    ÚTr   ri   rj   ÚNotImplementedErrorrµ   )r¨   r8   rH   Úresr   r   r   Útest_multi_agg_axis_1_raises2  s    rß   c               
   C   s”  t j d¡ ttdddƒtdddƒdd�} d| _tt j dd¡td	ƒ| d
�}| 	¡ }| 
¡ }tjjtdƒ|jgddgd�|_| d¡}||jddd�|jddd�| tjdd�¡g}d}|D ]B}tjtjj|d��& | dddgidddgidœ¡ W 5 Q R X q¼|D ]Š}tjtjj|d��. |ddg  dddgidddgidœ¡ W 5 Q R X tjtjj|d��& | dddgidddgidœ¡ W 5 Q R X �qd S )Nr»   r	   r
   r   rO   r™   r1   r,   r�   rž   r8   r5   r¼   rP   r½   rÂ   rg   r   r"   rn   r   r±   Úrar¿   ÚrbrW   )rR   rS   rÈ   r   r   rd   r   rŸ   r    r¡   r   rA   rB   rC   rÉ   r8   r   rD   rš   ri   rj   rÌ   rÍ   rÊ   rµ   )r8   rH   rÎ   rÏ   r   rÐ   rl   r©   r   r   r   Útest_agg_nested_dicts@  s6     ÿ
ü,ÿrâ   c               	   C   sŽ   t ddddƒdddœt ddddƒdddœt ddddƒd	d
dœg} t| ƒ d¡}d}tjt|d��$ | d¡ dgdgdgdœ¡ W 5 Q R X d S )Niá  r.   r
   r   g      ð?g       @)Údtr<   Úyr,   g      @g      ø?rã   z Column\(s\) \['z'\] do not existrg   Z30Tr"   rÚ   rn   )r<   rä   Úz)r   r   r?   ri   rj   rk   r   rµ   )ÚdatarH   rl   r   r   r   Ú&test_try_aggregate_non_existing_columna  s    ýrç   c               	   C   sÎ   t ddddgitdddd�d�} dd
d„}ddd„}d}tjt|d��" |  d¡j||gdddd� W 5 Q R X |  d¡j||gddd�}t ddgddgddggtdddd�tj 	ddg¡d�}t
 ||¡ d S )Nr<   r
   r,   r�   ú
2020-01-01rO   rv   r7   r   c                 S   s   | | | S r   r   )r<   r¸   Úcr   r   r   Úfoo1v  s    z/test_agg_list_like_func_with_args.<locals>.foo1c                 S   s   | | | S r   r   )r<   r¹   ré   r   r   r   Úfoo2y  s    z/test_agg_list_like_func_with_args.<locals>.foo2z/foo1\(\) got an unexpected keyword argument 'b'rg   r)   )r¹   ré   )ré   r0   é	   r   )r<   rê   )r<   rë   r¯   )r
   r   )r,   r   )r   r   ri   rj   rƒ   r   rµ   rA   rB   rË   rF   rG   )rH   rê   rë   rl   r&   rJ   r   r   r   Ú!test_agg_list_like_func_with_argsp  s      ÿ

&ýrí   c               	   C   s  t tdddƒtdddƒdd�} tjt| ƒtjd�}t| |dœtjj	|| gdd	gd
�d�}td|i| d�}d}t
jt|d�� |jddd� W 5 Q R X d}t
jt|d�� |jddd	d� W 5 Q R X d}t
jt|d�� |jdddgd� W 5 Q R X d}t
jt|d�� |jdddgd� W 5 Q R X d}t
jt|d�� |jdd	d� ¡  W 5 Q R X t
jt|d�� |jddd� ¡  W 5 Q R X | d¡ ¡ }d|j_|jddd� ¡ }t ||¡ d	|j_t
jtdd�� |jdd	d� ¡  W 5 Q R X |jdd	d�jdd�}t ||¡ d S )Nr	   r
   r   rO   r™   r†   )r1   r¸   ÚvÚdr5   r7   r¸   z\Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'Index'rg   r¼   r½   z2The Grouper cannot specify both a key and a level!r1   )rQ   r¾   zunhashable type: 'list'rP   z#\"Level \['a', 'date'\] not found\"z|Upsampling from level= or on= selection is not supported, use \.set_index\(\.\.\.\) to explicitly set index to datetime-likez$datetime64 type does not support sumTr€   )r   r   rR   rw   r$   r…   r   rA   rB   rC   ri   rj   rƒ   r   r¦   rk   rŽ   rn   r8   rd   rF   rG   )r8   ry   rH   Zdf_exprl   rÑ   r&   r   r   r   Útest_selection_api_validation‰  sF    þÿÿrð   Úcol_nameÚt2Zt2xZt2qZT_2MZt2pZt2mZt2m1ZT2Mc                 C   s€   t ttdƒƒtddddd�| gd�}| d¡ dg¡}t d	d
dgtddddd�tj| gdggdgdggd�d�}t 	||¡ d S )NéÈ   z
2017-01-01Z15minzEurope/Berlin)r   r   r+   Útzr¯   Z1dr"   g     ÀG@g     ða@g     ph@rO   r�   r   )ZlevelsÚcodes)
r   r    rÉ   r   r   rÊ   rA   rB   rF   rG   )rñ   rH   r&   rJ   r   r   r   Ú*test_agg_with_datetime_index_list_agg_func¾  s"    	
   ÿûýrö   c                  C   s¼   t dddd�} t | ¡}|jdd� t|| d�}| d¡}tt d	¡t d	¡g| d d d
… d�}| d¡}t	 
||¡ | d¡}t	 
||¡ | d¡}t	 
||¡ | d¡}t	 
||¡ d S )Nrè   z
2020-01-02Z1hr™   F)Úwriter7   r9   r   é   ÚlastÚfirstr_   rØ   )r   rR   Z
zeros_likeZsetflagsr   r   rA   Ú	Timestamprµ   rF   ra   )r8   ZarrZserr{   rJ   r&   r   r   r   Útest_resample_agg_readonly×  s    

&



rü   zLstart,end,freq,data,resample_freq,origin,closed,exp_data,exp_end,exp_periodsz2000-10-01 23:30:00z2000-10-02 00:26:00Z7minr�   r.   rì   é   r’   é   é   rø   Z17minr   é   é?   z20001002 00:26:00r)   z20200101 8:26:35z20200101 9:31:58Z77sé3   Úrightr-   z2020-01-01 09:30:45Úlefté'   z20001002 00:43:00Zend_dayé-   z2000-10-02 00:29:00c
                 C   sT   t | ||d�}
t||
d�}|j|||d� ¡ }t|t |||	d�d�}t ||¡ d S )Nr™   r7   )r   Úclosed)r   r   r+   )r   r   r   rn   rF   ra   )r   r   r   ræ   Zresample_freqr   r  Zexp_dataZexp_endZexp_periodsry   rz   rÞ   rJ   r   r   r   Útest_end_and_end_day_originï  s    Aþr  z#method, numeric_only, expected_dataTÚnumr”   FZ
cat_1cat_2©Úcatr	  rt   )rÙ   Fúcan't multiply sequencer  Úcat_1rˆ   Úcat_2rú   rù   g      )@)r"   Fr   r   )rÚ   Fúcould not convertr  r¿   gH€”6%@)r¿   Fú!could not convert string to floatr  Úvarg      \@)r  Fr  Úsemg      @)r  Fr  c              	   C   sÈ   t dddd�}t dddd�}tdd	gd
dgdœ|d�}| d¡}|tjkrPi }nd|i}t|| ƒ}t|tƒr¢| dkrxtnt	}	t
j|	|d�� |f |Ž}
W 5 Q R X n"|f |Ž}t||d�}t ||¡ d S )Nú
2018-01-01r,   rO   rv   ú
2018-12-31r
   ÚYr  r  r-   rˆ   r
  r7   r�   )r  r"   rÚ   rÙ   rg   )r   r   r   r   Ú
no_defaultrx   r#   r   rƒ   r¦   ri   rj   rF   rG   )r¤   r�   Úexpected_datar8   Úexpected_indexrH   Ú	resampledÚkwargsr¨   ÚklassÚ_r&   rJ   r   r   r   Útest_frame_downsample_method<  s    *




r  )rn   Tr   )rÙ   Tr   )rÙ   Fr   r   )rØ   Tr   )r_   Tr   )rú   Tr   )rù   Tr   c              	   C   sè   t dddd�}t dddd�}tdd	g|d
�}| d¡}|tjkrDi nd|i}t|| ƒ}|r”|tjk	r”d| › �}	tjt|	d�� |f |Ž W 5 Q R X nP| dkrÂtjtdd�� |f |Ž W 5 Q R X n"|f |Ž}
t||d
�}t	 
|
|¡ d S )Nr  r,   rO   rv   r  r
   r  r  r  r7   r�   z1Cannot use numeric_only=True with SeriesGroupBy\.rg   rÙ   z"can't multiply sequence by non-int)r   r   r   r   r  rx   ri   rj   rƒ   rF   ra   )r¤   r�   r  r8   r  rH   r  r  r¨   rl   r&   rJ   r   r   r   Útest_series_downsample_methodz  s     



r  zmethod, raises)rn   T)rÙ   T)rØ   T)r_   T)rú   F)rù   F)rÚ   F)r"   T)r¿   T)r  T)r  F)ZohlcF)ZnuniqueFc           
   
   C   sÔ   t dddd�}tdddg|d�}| d	¡}d
}t|| ƒ}d}d}d| › �}	|r�tjt|	d��, tjt	|d�� ||džŽ  W 5 Q R X W 5 Q R X n@tjt|	d��, tjt
|d�� ||džŽ  W 5 Q R X W 5 Q R X d S )NZ20180101r�   Úhrv   r,   r)   r.   r7   Z30minr   z-numpy operations are not valid with resample.ztoo many arguments passed inz2Passing additional args to DatetimeIndexResampler.rg   r
   )r
   r,   r�   )r
   r,   r�   )r   r   r   rx   rF   Zassert_produces_warningÚFutureWarningri   rj   r   rƒ   )
r¤   rj   r8   rH   r  Úargsr¨   Ú	error_msgZerror_msg_typeZwarn_msgr   r   r   Útest_args_kwargs_depr¨  s    


"r#  c                  C   sL   t t dddg¡d�} t t ddddg¡d�}|  d¡ ¡ }t ||¡ d S )Nz2018-01-01 00:00:00z2018-01-01 12:00:00z2018-01-02 00:00:00r7   z2018-01-01 08:00:00z2018-01-01 16:00:00Z8H)r   rA   rZ   r   r"   rF   rG   rU   r   r   r   Útest_resample_emptyÐ  s     ÿÿüÿÿ
r$  )@r   ÚnumpyrR   ri   Zpandas._libsr   Zpandas.errorsr   ZpandasrA   r   r   r   Zpandas._testingZ_testingrF   Zpandas.core.indexes.datetimesr   ZdtirS   rŸ   r$   r   rw   r   Zfixturer   r    r'   rK   rV   r]   rb   rf   ÚmarkZparametrizerm   ro   r|   r„   r�   r—   rœ   r¢   r§   rª   r­   r·   rº   rÒ   r×   rß   râ   rç   rí   rð   rö   rü   r  r  r  r  r#  r$  r   r   r   r   Ú<module>   sz  

	
7
þú
k[ ÿ
!5 ÿ

ööö
öÛþ5






ßý'






îþ
óþ
