U
    `»{jþu  ã                '   @   s®  d dl m Z  d dlZd dl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'd/d0„ Z(ej  !d1dd2g¡d3d4„ ƒZ)d5d6„ Z*ej j!d7d8d9„ d:d9„ gd;d<gd=�d>d?„ ƒZ+d@dA„ Z,dBdC„ Z-dDdE„ Z.dFdG„ Z/dHdI„ Z0ej  !d7dJgdKdLgddMidNdOdPœg¡dQdR„ ƒZ1dSdT„ Z2dUdV„ Z3dWdX„ Z4ej  !dYdZd[d\d]d^d_d`dag¡dbdc„ ƒZ5ddde„ Z6ej  !dfdgdhdid djdkdldmdndodpdqg	drdsdd dodtdugdvdwf
dxdydzdgd{ didsd|ddkd}dkd}dkd}dkd}dkg
d~df
dgdhdid djdkdldmdndodpdqg	drdsdd dodtd€dqgd�d}f
dgdhdid djdkdldmdndodpdqg	drd‚ddjdndƒdƒgd„dwf
g¡d…d†„ ƒZ7ej  !d‡dMdˆd‰dŠgifdMd‹dŒgdŠgd�œfdMej8d‰dŠgifdNdˆd‰dŽgifdNd‹d‰dŽgifdNej8d‰dŽgifdJdˆd‰d}gifdJd‹d�gd}gd�œfdJej8d�gd}gd�œfdLdˆd‰d�gifdLd‹d‘gd�gd�œfdLej8d‘gd�gd�œfd’dˆd‰d}gifd’d‹d�gd}gd�œfd’ej8d�gd}gd�œfd“dˆd‰d�gifd“d‹d‘gd�gd�œfd“ej8d‘gd�gd�œfdKdˆd‰d”gifdKd‹d‰d”gifdKej8d‰d”gifdOdˆd‰d”gifdOd‹d‰d”gifdOej8d‰d”gifd•dˆd‰d–gifd—d•ej8d‰d–gifd˜dˆd‰d™gifdšd˜ej8d‰d™gifd›dˆd‰dœgifd�d›ej8d‰dœgifg!¡dždŸ„ ƒZ9ej  !d‡d dMd‹dŒgfdMej8dŒgfd¡d¢dNej8d£fd¤dJd‹d�gfdJej8d�gfd¥dLd‹d‘gfdLej8d‘gfd¦d’d‹d�gfd’ej8d�gfd§d“d‹d‘gfd“ej8d‘gfg¡d¨d©„ ƒZ:dS )ªé    )ÚdatetimeN)Úlib)Ú	DataFrameÚNamedAggÚSeries)Ú
date_rangeéÕ  é   é
   ZMin)ÚstartÚendÚfreq)ÚAÚBÚCc                   C   s   t  ¡ S ©N)Ú_test_frameÚcopy© r   r   úf/var/www/html/bwave/python/venv/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Úvalr0   z
2016-01-03©r*   z
2016-01-17r1   ©Únamesr2   ©Úindexc                 S   s   |   d¡ ¡ S )NÚ1D)r   Úffill©Úxr   r   r   Ú<lambda>L   ó    z+test_groupby_resample_api.<locals>.<lambda>)r   r   Ú	set_indexÚtolistÚpdÚ
MultiIndexÚfrom_arraysÚgroupbyÚapplyÚtmÚassert_frame_equal)ÚdfÚir7   Úexpectedr%   r   r   r   Útest_groupby_resample_api8   s     

ýÿú
ÿÿ(,rJ   c               	   C   sˆ   t ddgd tddd�tj d¡dœƒ} d}tjt|d	��8 |  d
¡ 	d¡ 
d¡ ¡ }|  	d¡j
dd
d� ¡ }W 5 Q R X t ||¡ d S )Nr   r   r,   r'   r
   r3   )ÚkeyÚdatesÚvaluesú!The default value of numeric_only©ÚmatchrL   rK   ÚD©Úon)r   r   ÚnpÚrandomÚrandnrE   Úassert_produces_warningÚFutureWarningr>   rC   r   r!   rF   )rG   ÚmsgrI   r%   r   r   r   Útest_groupby_resample_on_apiP   s    


ýÿ"rZ   c               	   C   s  t dddœtddd�d�} |  d¡}|  ¡ }tjtd	d
�� | dd„ ¡}W 5 Q R X t ||¡ | jddd�}t d ¡� | dd„ ¡}W 5 Q R X t ||¡ t	j
 t	 ddg¡ d¡|jg¡|_| jddd�}t d ¡� | dd„ ¡}W 5 Q R X t ||¡ d S )Nr	   r+   ©r   r   Ú2000r
   r3   r6   Z5DzNot prepending group keysrO   c                 S   s   | S r   r   r:   r   r   r   r<   i   r=   z*test_resample_group_keys.<locals>.<lambda>F©Z
group_keysc                 S   s   | S r   r   r:   r   r   r   r<   o   r=   r   z
2000-01-06r,   Tc                 S   s   | S r   r   r:   r   r   r   r<   y   r=   )r   r   r   r   rE   rW   rX   rD   rF   r@   rA   rB   Úto_datetimeÚrepeatr7   )rG   ÚgrI   r%   r   r   r   Útest_resample_group_keysd   s"    
ÿra   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   rb   r:   r   r   r   r<   ‰   r=   )r   r   rc   r!   ÚpiperE   Úassert_series_equalrF   )r   r   rI   r%   r   r   r   Ú	test_pipe}   s    

rf   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	   r[   r   )r   rE   Zassert_index_equalZ_selected_objÚcolumnsÚnamer   ©r   r   r   r   r   Útest_getitem�   s    
rj   rK   rQ   r   c              	   C   s4   |  d¡}d}tjt|d�� ||   W 5 Q R X d S )Nr   z^\"Columns not found: 'D'\"$rO   )r   ÚpytestÚraisesÚKeyError)rK   r   r`   rY   r   r   r   Útest_select_bad_cols�   s    
rn   c                 C   s(   |   d¡}t |j ¡ |d  ¡ ¡ d S )Nr   r   )r   rE   re   r   Úsumri   r   r   r   Útest_attribute_access§   s    
rp   Ú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   r6   Z30s)r   r   rT   Úaranger#   r   Úgetattrr!   )rq   Ú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  ¡ }d	}tjt	|d
�� | ¡ }W 5 Q R X t ||¡ d S )NÚfoorQ   r   r   r   r	   ©Zaxisr   rN   rO   )
r   ro   r@   Úconcatr   r   rE   rF   rW   rX   )r   rG   r   r%   rI   rY   r   r   r   Útests_skip_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 )Nrt   ru   rv   rw   Úint64©Údtyper6   Z20sr   é   é(   é<   éP   ú2012-01-01 00:00:00r,   ©r   r*   )	r   r   rT   rx   r#   r   ÚasfreqrE   re   )rz   r{   r%   rI   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 ).Nrt   ru   rv   rw   r6   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   rT   rx   r#   Zilocr   r!   r9   r@   ZDatetimeIndexrE   re   )rz   r{   Zts2r%   rI   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   rC   r@   ÚGrouperÚ	transformrE   re   )r   rI   r%   r   r   r   Útest_transform_series  s    

r™   rS   r0   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
   rQ   r–   r0   r+   ÚAB©rg   r7   r•   r!   T)ZdroprR   )r   r   rh   r   rT   rU   ÚrandÚlistrC   r@   r—   r˜   Úreset_indexr   rE   rF   )rS   r7   rG   rI   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 )Nrt   r
   r“   rw   r‚   rƒ   r6   Úsr9   )ÚmethodÚbfillzTInvalid fill method\. Expecting pad \(ffill\), backfill \(bfill\) or nearest\. Got 0rO   r   )r   r   rT   rx   r#   r   r9   ZfillnarE   re   r¢   rk   rl   Ú
ValueError)rz   r{   r   rI   r%   rY   r   r   r   Útest_fillna+  s    
ÿr¤   Úfuncc                 C   s   | j ddd�S )Nr•   Fr]   )r   r:   r   r   r   r<   E  r=   r<   c                 C   s   | j tjdd�dd�S )Nr•   r–   Fr]   )rC   r@   r—   r:   r   r   r   r<   F  r=   r   rC   )Zidsc                 C   s&   | t ƒ}| dd„ ¡}t |t ¡ d S )Nc                 S   s   | S r   r   r:   r   r   r   r<   M  r=   z0test_apply_without_aggregation.<locals>.<lambda>)r   rD   rE   re   )r¥   Útr%   r   r   r   Útest_apply_without_aggregationB  s    
r§   c                  C   s>   t jdd�jddd�} | d  dd„ ¡}t |t  d¡¡ d S )Nr~   )rh   r•   Fr]   c                 S   s   | S r   r   r:   r   r   r   r<   S  r=   z1test_apply_without_aggregation2.<locals>.<lambda>)r   r$   r   rD   rE   re   Úrename)Úgroupedr%   r   r   r   Útest_apply_without_aggregation2Q  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�   rt   rv   rŠ   r   r   r   ©r7   rg   Ú3Tz'Column\(s\) \['r1', 'r2'\] do not existrO   r!   ro   ©Úr1Úr2©
r   rT   rU   rV   r   r   rk   rl   rm   Úagg©rG   r   rY   r   r   r   Útest_agg_consistencyW  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+   rt   rv   rŠ   r	   Úar¬   r­   z#Column\(s\) \[2, 'b'\] do not existrO   r!   ro   )r+   Úbr±   r³   r   r   r   Ú'test_agg_consistency_int_str_column_mixh  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 ]T}||d k�rFtnd }tj|dd�� | t jt jg¡}W 5 Q R X 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 ||¡ �qHt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 �qDt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
   rQ   r–   r0   r+   rš   r›   r7   r4   Ú2DrR   ©Úlevelr   r   r   r!   Ústdz)\['date'\] did not aggregate successfullyrO   r[   T©Z
check_like)r   r!   ©r   r¼   ro   )r!   ro   únested renamer is not supported©r   ro   )r   Úmean2)r   Úsum2)rÁ   rÂ   ©r   r!   ©r   r¼   )r¯   r   r!   )r¯   r   ro   )r°   r   r!   )r°   r   ro   )$rT   rU   Úseedr   r   rh   r   rœ   r�   rž   r   r@   rA   rB   Úranger7   r   rC   r—   r!   r¼   ro   r€   Zfrom_productrg   rX   rE   rW   Ú	aggregaterF   r   Úfrom_tuplesrk   rl   ÚerrorsÚSpecificationError)r7   rG   Údf_colÚdf_multr   ÚcasesZa_meanZa_stdZa_sumZb_meanZb_stdZb_sumrI   r¦   Úwarnr%   rY   r   r   r   Útest_agg{  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
   rQ   r–   r0   r+   rš   r›   r7   r4   r¹   rR   rº   c                 S   s   t j| dd�S ©Nr	   )Zddof©rT   r¼   r:   r   r   r   r<   ù  r=   ztest_agg_misc.<locals>.<lambda>r[   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 existrO   )rÒ   rÓ   rÒ   rÓ   rÀ   r¾   rÃ   rÄ   ro   r¼   r!   r¿   z Column\(s\) \['B'\] do not exist)#rT   rU   rÅ   r   r   rh   r   rœ   r�   rž   r   r@   rA   rB   rÆ   r7   r   rC   r—   r²   ro   rD   r€   rE   rF   r   r!   rÈ   rg   rk   rl   rm   r¼   rÉ   rÊ   )r7   rG   rË   rÌ   r   rÍ   r¦   r%   ZrcustomrI   rY   r   r   r   Útest_agg_miscâ  sŠ     ÿ
ü
 ÿ* ÿ
ÿ&,
 
ÿ* ÿ
ÿ  *rÔ   Úminr!   rc   ro   ÚprodÚmedianr[   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
   rQ   r–   r0   r+   rš   r›   ÚMr   z"axis other than 0 is not supportedrO   )rT   rU   rÅ   r   r   rh   r   rœ   r�   ÚTr   rk   rl   ÚNotImplementedErrorr²   )r¥   r7   rG   Úresr   r   r   Útest_multi_agg_axis_1_raises=  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
   rQ   r–   r0   r+   rš   r›   r7   r4   r¹   rR   rº   r¿   rO   r   r!   ro   r   r®   Úrar¼   Úrbr[   )rT   rU   rÅ   r   r   rh   r   rœ   r�   rž   r   r@   rA   rB   rÆ   r7   r   rC   r—   rk   rl   rÉ   rÊ   rÇ   r²   )r7   rG   rË   rÌ   r   rÍ   rY   r¦   r   r   r   Útest_agg_nested_dictsK  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 existrO   Z30Tr!   r×   ro   )r;   rá   Úz)r   r   r>   rk   rl   rm   r   r²   )ÚdatarG   rY   r   r   r   Ú&test_try_aggregate_non_existing_columnn  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_d}tjt|d�� |jdd	d� ¡ }W 5 Q R X t ||¡ d S )Nr   r	   r
   rQ   r–   rƒ   )r0   rµ   ÚvÚdr4   r6   rµ   zaOnly valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'Int64Index'rO   r¹   rº   z2The Grouper cannot specify both a key and a level!r0   )rS   r»   zunhashable type: 'list'rR   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-likerN   )r   r   rT   rx   r#   r‚   r   r@   rA   rB   rk   rl   Ú	TypeErrorr   r£   rm   r‹   ro   r7   rh   rE   rF   rW   rX   )r7   rz   rG   Zdf_exprY   Úexpr%   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@rQ   r�   r   )ZlevelsÚcodes)
r   r�   rÆ   r   r   rÇ   r@   rA   rE   rF   )rê   rG   r%   rI   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 )Nz
2020-01-01z
2020-01-02Z1hr–   F)Úwriter6   r8   r   é   ÚlastÚfirstrc   rÕ   )r   rT   Z
zeros_likeZsetflagsr   r   r@   Ú	Timestampr²   rE   re   )r7   ZarrZserr|   rI   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ñ   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–   r6   )r   Úclosed)r   r   r*   )r   r   r   ro   rE   re   )r   r   r   rã   Zresample_freqr   r  Zexp_dataZexp_endZexp_periodsrz   r{   rÛ   rI   r   r   r   Útest_end_and_end_day_originã  s    Aþr  z#method, numeric_only, expected_dataTÚnumr‘   FZ
cat_1cat_2©Úcatr  ru   Úcat_1r…   Úcat_2ró   rò   g      )@r¼   gH€”6%@)r¼   Fú!could not convert string to floatÚvarg      \@)r	  Fr  Úsemg      @)r
  Fr  c              
   C   s2  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jkr†| dkr†t}	d| › d�}
n*| dkr¨|dk	r¨t}	d| › d�}
nd }	d}
tj|	|
d��j t	|t
ƒ�r| dkrØtnt}tj||d�� |f |Ž}W 5 Q R X n"|f |Ž}t||d�}t ||¡ W 5 Q R X d S )Nú
2018-01-01r+   rQ   rw   ú
2018-12-31r	   ÚYr  r  r,   r…   r  r6   Únumeric_only)rÕ   rc   ró   rò   rÖ   z2default value of numeric_only in DataFrameGroupBy.z is deprecated)rÖ   r!   r×   Tz-Dropping invalid columns in DataFrameGroupBy.Ú rO   r	  )r   r   r   r   Ú
no_defaultry   rX   rE   rW   r"   r   rç   r£   rk   rl   rF   )r¡   r  Úexpected_datar7   Úexpected_indexrG   Ú	resampledÚkwargsr¥   rÎ   rY   ÚklassÚ_r%   rI   r   r   r   Útest_frame_downsample_method0  s2    *



ÿ
r  )ro   Tr   )rÖ   Tr   )rÖ   Fr   r   )rÕ   Tr   )rc   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|| ƒ}|rŽ|tjk	rŽtjtdd��* t	j
tdd�� ||d� W 5 Q R X W 5 Q R X nP| dkr¼t	j
tdd�� ||d� W 5 Q R X n"||d�}t||d
�}	t ||	¡ d S )Nr  r+   rQ   rw   r  r	   r  r  r  r6   zThis will raise a TypeErrorrO   znot implement numeric_only)r  rÖ   z"can't multiply sequence by non-int)r   r   r   ry   r   r  rE   rW   rX   rk   rl   rÚ   rç   re   )
r¡   r  r  r7   r  rG   r  r¥   r%   rI   r   r   r   Útest_series_downsample_method€  s$    

 ÿ 
r  );r   ÚnumpyrT   rk   Zpandas._libsr   Zpandasr@   r   r   r   Zpandas._testingZ_testingrE   Zpandas.core.indexes.datetimesr   ZdtirU   rœ   r#   r   rx   r   Zfixturer   r   r&   rJ   rZ   ra   rf   rj   ÚmarkZparametrizern   rp   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>   sP  

	
8
þú
g[ ÿ
#5 ÿ

ööö
öÛþ5
ßý'
)





îþ