o
    Û­j8‡  ã                   @   s*  d dl m Z  d dl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jdd„ ƒZejd	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"g d#¢¡d$d%„ ƒZ"d&d'„ Z#d(d)„ Z$d*d+„ Z%d,d-„ Z&ej d.dd/g¡d0d1„ ƒZ'd2d3„ Z(ejjd4d5d6„ d7d6„ gd8d9gd:�d;d<„ ƒZ)d=d>„ Z*d?d@„ Z+dAdB„ Z,ejdCdD„ ƒZ-ejdEdF„ ƒZ.ejdGdH„ ƒZ/ejdIdJ„ ƒZ0ejdKdL„ ƒZ1ejdMdN„ ƒZ2ejdOdP„ ƒZ3ejdQdR„ ƒZ4ejdSdT„ ƒZ5ejdUdV„ ƒZ6ejdWdX„ ƒZ7ejdYdZ„ ƒZ8ejd[d\„ ƒZ9ejd]d^„ ƒZ:ejg d_¢d`�dadb„ ƒZ;dcdd„ Z<ej ded4ej=ej>dfœidej=fdgej>fdfœedej=ƒedgej>ƒdfœg¡dhdi„ ƒZ?djdk„ Z@ej ded4dldmgidldmdnœg¡dodp„ ƒZAej deddldmdnœidldmdnœdldmdqœdfœg¡drds„ ƒZBdtdu„ ZCej ded4ejDdvd6„ dfœidejDfdgdwd6„ fdfœedejDƒedgdxd6„ ƒdfœg¡dydz„ ƒZEej ded4ejDej=d{œid|ejDfd}ej=fdfœed|ejDƒed}ej=ƒdfœg¡d~d„ ƒZFej d€ddmd�gdld�gdfœgddggdmd�gdld�gdfœgg¡d‚dƒ„ ƒZGej deddmd�gidmd�gdld�gdfœg¡d„d…„ ƒZHd†d‡„ ZIej d4dˆgdld‰gddmidŠd‹dfœg¡dŒd�„ ƒZJdŽd�„ ZKd�d‘„ ZLd’d“„ ZMd”d•„ ZNej d–g d—¢¡d˜d™„ ƒZOdšd›„ ZPej dœd�dždŸg d ¢d¡d¢dg d£¢d¤d¥f
d¦d§d¨d©gdª dŸd¢d«g d¬¢d­d®f
d�dždŸg d ¢d¡d¢d¯g d°¢d±d²f
d�dždŸg d ¢d¡d³dg d´¢dµd¥f
g¡d¶d·„ ƒZQej d¸g dmd¹dºd»gif‘dmd¼d½gd»gd¾œf‘dmejRd½gd»gd¾œf‘dŠd¹dºd¿gif‘dÀ‘dŠejRdÁf‘dˆd¹dºd²gif‘dˆd¼dÂgd²gd¾œf‘dˆejRdÂgd²gd¾œf‘d‰d¹dºdÃgif‘d‰d¼dÄgdÃgd¾œf‘d‰ejRdÄgdÃgd¾œf‘dÅd¹dºd²gif‘dÅd¼dÂgd²gd¾œf‘dÅejRdÂgd²gd¾œf‘dÆd¹dºdÃgif‘dÆd¼dÄgdÃgd¾œf‘dÆejRdÄgdÃgd¾œf‘dld¹dºdÇgif‘dÈ‘dlejRdÉf‘d‹d¹dºdÇgif‘dÊ‘d‹ejRdËf‘d�d¹dºdÌgif‘dÍ‘d�ejRdÎf‘dÏd¹dºdÐgif‘dÑ‘dÏejRdÎf‘dÒd¹dºdÓgif‘dÔ‘dÒejRdÎf‘¡dÕdÖ„ ƒZSej d¸d×dmd¼d½gfdmejRd½gfdØdÙdŠejRdÚfdÛdˆd¼dÂgfdˆejRdÂgfdÜd‰d¼dÄgfd‰ejRdÄgfdÝdÅd¼dÂgfdÅejRdÂgfdÞdÆd¼dÄgfdÆejRdÄgfg¡dßdà„ ƒZTej dág dâ¢¡dãdä„ ƒZUdådæ„ ZVdçdè„ ZWdédê„ ZXdS )ëé    )ÚdatetimeN)Úlib)ÚUnsupportedFunctionCall)Ú	DataFrameÚNamedAggÚSeries)Ú
date_rangec                   C   s   t tdddƒtdddƒdd�S )NéÕ  é   é
   ÚMin)ÚstartÚendÚfreq)r   r   © r   r   úd/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pandas/tests/resample/test_resample_api.pyÚdti   s   r   c                 C   s   t tj d¡ t| ƒ¡| ƒS )Né   )r   ÚnpÚrandomÚdefault_rngÚlen)r   r   r   r   Ú_test_series   s   r   c                 C   s   t ||t t| ƒ¡dœƒS )N©ÚAÚBÚC)r   r   Úaranger   )r   r   r   r   r   Ú
test_frame   s   r   c                 C   s<   |   d¡}dt|ƒv sJ ‚| j ddd�}dt|ƒv sJ ‚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])ÚresampleÚstr)r   Úrr   r   r   Útest_str#   s   
ÿÿr%   c                 C   sh   |   d¡}| ¡ }t|tƒsJ ‚t|ƒdksJ ‚|  ¡   d¡}| ¡ }t|tƒs*J ‚t|ƒdks2J ‚d S )Nr   éÙ   )r"   ÚmeanÚ
isinstancer   r   Úto_framer   )r   r$   Úresultr   r   r   Útest_api1   s   
r+   c                  C   sø   t tdddd�g d¢g d¢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}tjt	|d�� |  
d¡ dd„ ¡dg }W d   ƒ n1 sow   Y  t ||¡ d S )Nú
2016-01-01é   ÚW)r   Úperiodsr   )r
   r
   r   r   )é   é   é   é   )ÚdateÚgroupÚvalr4   z
2016-01-03r3   ©r/   z
2016-01-17r
   r   r5   ©Únamesr6   r0   r2   r1   ©Úindexz7DataFrameGroupBy.apply operated on the grouping columns©Úmatchc                 S   s   |   d¡ ¡ S )NÚ1D)r"   Úffill©Úxr   r   r   Ú<lambda>R   ó    z+test_groupby_resample_api.<locals>.<lambda>)r   r   Ú	set_indexÚtolistÚpdÚ
MultiIndexÚfrom_arraysÚtmÚassert_produces_warningÚFutureWarningÚgroupbyÚapplyÚassert_frame_equal)ÚdfÚir;   ÚexpectedÚmsgr*   r   r   r   Útest_groupby_resample_api=   s&   ýÿú
ÿÿ(,ÿrS   c                  C   sp   t ddgd tddd�tj d¡ d¡dœƒ} |  d	¡ d
¡ d¡ 	¡ }|  d
¡jdd	d� 	¡ }t
 ||¡ d S )Nr   r   r0   r,   r   r7   r   )ÚkeyÚdatesÚvaluesrU   rT   ÚD©Úon)r   r   r   r   r   Ústandard_normalrD   rL   r"   r'   rI   rN   ©rO   rQ   r*   r   r   r   Útest_groupby_resample_on_apiV   s   

ýÿr\   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¡ d¡|jg¡|_| jddd
�}| dd„ ¡}t ||¡ d S )Nr
   r   ©r   r   Ú2000r   r7   r:   Ú5DF©Ú
group_keysc                 S   ó   | S ©Nr   r@   r   r   r   rB   m   ó    z*test_resample_group_keys.<locals>.<lambda>c                 S   rb   rc   r   r@   r   r   r   rB   r   rd   r    z
2000-01-06Únsr0   Tc                 S   rb   rc   r   r@   r   r   r   rB   }   rd   )r   r   Úcopyr"   rM   rI   rN   rF   rG   rH   Úto_datetimeÚas_unitÚrepeatr;   )rO   rQ   Úgr*   r   r   r   Útest_resample_group_keysg   s    
þÿrk   c                 C   sl   |  d¡}| ¡ | ¡  }| dd„ ¡}t ||¡ |   d¡}| ¡ | ¡  }| dd„ ¡}t ||¡ d S )Nr   c                 S   ó   |   ¡ |  ¡  S rc   ©Úmaxr'   r@   r   r   r   rB   ‡   ó    ztest_pipe.<locals>.<lambda>c                 S   rl   rc   rm   r@   r   r   r   rB   �   ro   )r"   rn   r'   ÚpiperI   Úassert_series_equalrN   )r   r   r$   rQ   r*   r   r   r   Ú	test_pipe�   s   

rr   c                 C   s”   |   d¡}t |jj| j¡ |   d¡d }|jj| jd ks J ‚|   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"   rI   Úassert_index_equalÚ_selected_objÚcolumnsÚname©r   r$   r   r   r   Útest_getitem‘   s   
rx   rT   rW   r   c                 C   sJ   |  d¡}d}tjt|d�� ||   W d   ƒ d S 1 sw   Y  d S )Nr   z^\"Columns not found: 'D'\"$r<   )r"   ÚpytestÚraisesÚKeyError)rT   r   rj   rR   r   r   r   Útest_select_bad_cols    s
   

"ÿr|   c                 C   s(   |   d¡}t |j ¡ |d  ¡ ¡ d S )Nr   r   )r"   rI   rq   r   Úsumrw   r   r   r   Útest_attribute_accessª   s   
r~   Úattr)ÚgroupsÚ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   r:   Ú30s)r   r   r   r   r   r"   Úgetattrr'   )r   Ú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 ||¡ |g d¢  ¡ }t 	d	¡}|r9d
}t
jt|d�� | ¡  W d   ƒ n1 sOw   Y  |jdd�}t ||¡ d S )NÚfoorW   r   r   r   r
   ©Úaxisr   z&agg function failed [how->mean,dtype->z-dtype 'str' does not support operation 'mean'r<   T©Únumeric_only)r"   r'   rF   Úconcatr   r   rI   rN   ÚreÚescapery   rz   Ú	TypeError)r   Úusing_infer_stringrO   r$   r*   rQ   rR   r   r   r   Útests_raises_on_nuisance¿   s   


ÿr—   c                  C   s`   t dddd�} ttjt| ƒdd�| d�}| d¡ ¡ }tg d	¢t d
ddd�d�}t ||¡ d S )Nrƒ   r„   r…   r†   Úint64©Údtyper:   Ú20s)r   é   é(   é<   éP   ú2012-01-01 00:00:00r0   ©r   r/   )	r   r   r   r   r   r"   ÚasfreqrI   rq   )r‰   rŠ   r*   rQ   r   r   r   Ú'test_downsample_but_actually_upsamplingÑ   s   þr£   c                  C   st   t dddd�} tt t| ƒ¡| d�}|jg d¢ }| d¡ ¡  ¡ }tg d¢t	j
g d	¢d
dd�d�}t ||¡ d S )Nrƒ   r„   r…   r†   r:   )r   r
   r   é   r0   r2   é   é   é   é   é   Ú2s)g      à?g      @g      @ç      @r«   ç      &@r¬   g      .@ç      0@r­   r­   r­   ç      9@r®   r®   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])rš   r   )r   r   r   r   r   Úilocr"   r'   r?   rF   ÚDatetimeIndexrI   rq   )r‰   rŠ   Úts2r*   rQ   r   r   r   Ú*test_combined_up_downsampling_of_irregularÝ   s   ìí*r²   c                 C   s<   |   d¡}|  tjdd�¡ d¡}| d¡}t ||¡ d S )NÚ20min©r   r'   )r"   rL   rF   ÚGrouperÚ	transformrI   rq   )r   r$   rQ   r*   r   r   r   Útest_transform_series  s   

r·   rY   r4   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r<|jdd�}| ¡ }|jd| d�}| d¡}t ||¡ d S )Nr	   r
   r   rW   r´   r4   r   ©r   r   ÚAB©ru   r;   r³   r'   T)ÚdroprX   )r   r   rv   r   r   r   r   ÚlistrL   rF   rµ   r¶   Úreset_indexr"   rI   rN   )rY   r;   rO   rQ   r$   r*   r   r   r   Útest_transform_frame  s   ÿ
r¾   c               	   C   sR  t dddd�} ttjt| ƒdd�| d�}| d¡}| ¡ }d	}tjt	|d
�� |j
dd�}W d   ƒ n1 s7w   Y  t ||¡ | ¡ }tjt	|d
�� |j
dd�}W d   ƒ n1 s^w   Y  t ||¡ d}tjt|d
��- tjt	|d
�� | 
d¡ W d   ƒ n1 sŠw   Y  W d   ƒ d S W d   ƒ d S 1 s¢w   Y  d S )Nrƒ   r   rª   r†   r˜   r™   r:   r…   z+DatetimeIndexResampler.fillna is deprecatedr<   r?   )ÚmethodÚbfillzTInvalid fill method\. Expecting pad \(ffill\), backfill \(bfill\) or nearest\. Got 0r   )r   r   r   r   r   r"   r?   rI   rJ   rK   Úfillnarq   rÀ   ry   rz   Ú
ValueError)r‰   rŠ   r$   rQ   rR   r*   Úmsg2r   r   r   Útest_fillna.  s.   
ÿÿÿÿÿ"ÿrÄ   Úfuncc                 C   ó   | j ddd�S )Nr³   Fr`   ©r"   r@   r   r   r   rB   K  rC   rB   c                 C   s   | j tjdd�dd�S )Nr³   r´   Fr`   ©rL   rF   rµ   r@   r   r   r   rB   L  s    r"   rL   )Úidsc                 C   s&   | |ƒ}|  dd„ ¡}t ||¡ d S )Nc                 S   rb   rc   r   r@   r   r   r   rB   S  rd   z0test_apply_without_aggregation.<locals>.<lambda>)rM   rI   rq   )rÅ   r   Útr*   r   r   r   Útest_apply_without_aggregationH  s   
rË   c                 C   s>   | j dd�jddd�}|d  dd„ ¡}t ||  d¡¡ d S )Nr�   )rv   r³   Fr`   c                 S   rb   rc   r   r@   r   r   r   rB   Y  rd   z1test_apply_without_aggregation2.<locals>.<lambda>)r)   r"   rM   rI   rq   Úrename)r   Úgroupedr*   r   r   r   Útest_apply_without_aggregation2W  s   rÎ   c                  C   s|   t tj d¡ d¡tdddd�g d¢d�} |  d	¡}d
}tjt	|d�� | 
dddœ¡ W d   ƒ d S 1 s7w   Y  d S )Nr   )éè  r¤   rƒ   r…   rÏ   r¡   r   ©r;   ru   Ú3minz'Column\(s\) \['r1', 'r2'\] do not existr<   r'   r}   ©Úr1Úr2©r   r   r   r   rZ   r   r"   ry   rz   r{   Úagg©rO   r$   rR   r   r   r   Útest_agg_consistency]  s   ý
"ÿrØ   c                  C   s|   t tj d¡ d¡tdddd�ddgd	�} |  d
¡}d}tjt	|d�� | 
dddœ¡ W d   ƒ d S 1 s7w   Y  d S )Nr   )rÏ   r   rƒ   r…   rÏ   r¡   r
   ÚarÐ   rÑ   z#Column\(s\) \[2, 'b'\] do not existr<   r'   r}   )r   ÚbrÕ   r×   r   r   r   Ú'test_agg_consistency_int_str_column_mixm  s   ý
"ÿrÛ   c                  C   s(   t tdddƒtdddƒdd�} d| _| S )Nr	   r
   r   rW   r´   r4   )r   r   rv   r:   r   r   r   r;   €  s   r;   c                 C   s$   t tj d¡ d¡tdƒ| d�}|S )Nr   r¸   r¹   rº   )r   r   r   r   r¼   )r;   Úframer   r   r   rO   ‡  s   ÿrO   c                 C   s   |   ¡ S rc   )r½   ©rO   r   r   r   Údf_col�  s   rÞ   c                 C   s*   |   ¡ }tjjtdƒ|gddgd�|_|S )Nr   r;   r4   r8   )rf   rF   rG   rH   Úranger;   )rÞ   r;   Údf_multr   r   r   rà   ”  s
   ÿrà   c                 C   ó   |   d¡d  ¡ S ©NÚ2Dr   ©r"   r'   rÝ   r   r   r   Úa_mean�  ó   rå   c                 C   rá   râ   ©r"   ÚstdrÝ   r   r   r   Úa_std¢  ræ   ré   c                 C   rá   râ   ©r"   r}   rÝ   r   r   r   Úa_sum§  ræ   rë   c                 C   rá   ©Nrã   r   rä   rÝ   r   r   r   Úb_mean¬  ræ   rí   c                 C   rá   rì   rç   rÝ   r   r   r   Úb_std±  ræ   rî   c                 C   rá   rì   rê   rÝ   r   r   r   Úb_sum¶  ræ   rï   c                 C   s
   |   d¡S )Nrã   rÇ   rÝ   r   r   r   Údf_resample»  s   
rð   c                 C   rÆ   )Nrã   r4   rX   rÇ   )rÞ   r   r   r   Údf_col_resampleÀ  ó   rñ   c                 C   rÆ   )Nrã   r4   ©ÚlevelrÇ   )rà   r   r   r   Údf_mult_resampleÅ  rò   rõ   c                 C   s   |   tjdd�¡S )Nrã   r´   rÈ   rÝ   r   r   r   Údf_grouper_resampleÊ  ræ   rö   )rð   rñ   rõ   rö   )Úparamsc                 C   s   |   | j¡S rc   )ÚgetfixturevalueÚparam)Úrequestr   r   r   ÚcasesÏ  s   rû   c                 C   sØ   t j||||gdd�}t j ddgddgg¡|_d}d|jjjv rD| d	  ¡ }| d	  	¡ }	t j||	|gdd�}t j g d
¢ddgg¡|_t
jt|d�� |  tjtj	g¡}
W d   ƒ n1 s_w   Y  t
 |
|¡ d S )Nr
   rŽ   r   r   r'   rè   úusing SeriesGroupBy.[mean|std]rà   r4   )r4   r   r   r<   )rF   r’   rG   Úfrom_productru   ÚnodeÚcallspecÚidr'   rè   rI   rJ   rK   Ú	aggregater   rN   )rû   rå   ré   rí   rî   rú   rQ   rR   Ú	date_meanÚdate_stdr*   r   r   r   Ú!test_agg_mixed_column_aggregationÖ  s   ÿÿr  rÖ   r]   r   c                 C   sh   d}t j||gdd�}tjt|d�� | jdi |¤Ž}W d   ƒ n1 s%w   Y  tj||dd� d S )Nrü   r
   rŽ   r<   T©Ú
check_liker   )rF   r’   rI   rJ   rK   r  rN   )rû   rå   rî   rÖ   rR   rQ   r*   r   r   r   Ú#test_agg_both_mean_std_named_resultç  s   	ÿr  c                 C   sF   t j||gdd�}t j ddg¡|_|  dddgi¡}t ||¡ d S )Nr
   rŽ   ©r   r'   ©r   rè   r   r'   rè   ©rF   r’   rG   Úfrom_tuplesru   r  rI   rN   )rû   rå   ré   rQ   r*   r   r   r   Ú#test_agg_both_mean_std_dict_of_list÷  s   r  r'   r}   )r'   r}   c                 C   s@   t j||gdd�}ddg|_| d jdi |¤Ž}t ||¡ d S )Nr
   rŽ   r'   r}   r   r   )rF   r’   ru   r  rI   rN   )rû   rå   rë   rÖ   rQ   r*   r   r   r   Útest_agg_both_mean_sumþ  s   
r  )Úmean2Úsum2c                 C   sF   d}t jtjj|d�� |  |¡ W d   ƒ d S 1 sw   Y  d S )Núnested renamer is not supportedr<   )ry   rz   rF   ÚerrorsÚSpecificationErrorr  ©rû   rÖ   rR   r   r   r   Ú(test_agg_dict_of_dict_specificationerror  s   "ÿr  c                 C   sT   t j||||gdd�}t j g d¢¡|_|  ddgddgdœ¡}tj||dd� d S )	Nr
   rŽ   )r  r	  ©r   r'   ©r   rè   r'   rè   r]   Tr  r
  )rû   rå   ré   rí   rî   rQ   r*   r   r   r   Útest_agg_dict_of_lists  s   ÿr  c                 C   ó   t j| dd�S ©Nr
   )Úddof©r   rè   r@   r   r   r   rB   $  rC   c                 C   r  r  r  r@   r   r   r   rB   %  rC   c                 C   r  r  r  r@   r   r   r   rB   &  rC   c                 C   s‚   d}| d   dd„ ¡}tj| d  ¡ |gdd�}tjt|d�� | jdi |¤Ž}W d   ƒ n1 s2w   Y  tj||d	d
� d S )Nzusing SeriesGroupBy.sumr   c                 S   r  r  r  r@   r   r   r   rB   ,  rC   z&test_agg_with_lambda.<locals>.<lambda>r   r
   rŽ   r<   Tr  r   )	rM   rF   r’   r}   rI   rJ   rK   rÖ   rN   )rû   rÖ   rR   ÚrcustomrQ   r*   r   r   r   Útest_agg_with_lambda!  s   
ÿr  )Úresult1Úresult2r  r  c                 C   sP   d}t jt|d�� | ddg jdi |¤Ž W d   ƒ d S 1 s!w   Y  d S )Nz1Column\(s\) \['result1', 'result2'\] do not existr<   r   r   r   ©ry   rz   r{   rÖ   r  r   r   r   Útest_agg_no_column3  s   	"ÿr!  z	cols, aggrè   c           
      C   s\   t j||||gdd�}t j g d¢¡|_|d ur| | }n| }| |¡}	tj|	|dd� d S )Nr
   rŽ   ))r   r}   r	  r  r  Tr  )rF   r’   rG   r  ru   rÖ   rI   rN   )
rû   ÚcolsrÖ   rë   ré   rí   rî   rQ   Úobjr*   r   r   r   Ú"test_agg_specificationerror_nestedA  s   ÿ

r$  c                 C   sJ   d}t jtjj|d�� | d  |¡ W d   ƒ d S 1 sw   Y  d S )Nr  r<   r   )ry   rz   rF   r  r  rÖ   r  r   r   r   Ú"test_agg_specificationerror_series^  s   "ÿr%  c                 C   sV   d}t jt|d�� | dg  ddgddgdœ¡ W d   ƒ d S 1 s$w   Y  d S )Nz Column\(s\) \['B'\] do not existr<   r   r}   rè   r'   r]   r   )rû   rR   r   r   r   Ú)test_agg_specificationerror_invalid_namesi  s    "ÿr&  Úminrn   ÚprodÚmedianc              	   C   sÔ   t tdddƒtdddƒdd�}d|_ttj d¡ d¡td	ƒ|d
�j}d}t	j
t|d��4 |jddd�}tjtdd�� | | ¡ W d   ƒ n1 sKw   Y  W d   ƒ d S W d   ƒ d S 1 scw   Y  d S )Nr	   r
   r   rW   r´   r4   r   r¸   r¹   rº   ú-DataFrame.resample with axis=1 is deprecated.r<   ÚMErŽ   z"axis other than 0 is not supported)r   r   rv   r   r   r   r   r¼   ÚTrI   rJ   rK   r"   ry   rz   ÚNotImplementedErrorrÖ   )rÅ   r;   rO   Úwarning_msgÚresr   r   r   Útest_multi_agg_axis_1_raisesq  s$   ÿþÿýþ"þ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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 ]+}tjt
jj|d�� | dddgidddgidœ¡ W d   ƒ n1 s€w   Y  qZ|D ]X}tjt
jj|d�� |ddg  dddgidddgidœ¡ W d   ƒ n1 s²w   Y  tjt
jj|d�� | dddgidddgidœ¡ W d   ƒ n1 sÛw   Y  qˆd S )Nr	   r
   r   rW   r´   r4   r   r¸   r¹   rº   r;   r8   rã   rX   ró   r  r<   r   r'   r}   r   rÒ   Úrarè   Úrbr]   )r   r   rv   r   r   r   r   r¼   r½   rf   rF   rG   rH   rß   r;   r"   rL   rµ   ry   rz   r  r  r  rÖ   )r;   rO   rÞ   rà   r$   rû   rR   rÊ   r   r   r   Útest_agg_nested_dicts…  sB   ÿÿ
ü"ÿ€ÿÿ"ÿ€úr3  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 d   ƒ d S 1 sKw   Y  d S )Niá  r1   r
   r   g      ð?g       @)ÚdtrA   Úyr   g      @g      ø?r4  z Column\(s\) \['z'\] do not existr<   Ú30minr'   r)  r}   )rA   r5  Úz)r   r   rD   ry   rz   r{   r"   rÖ   )ÚdatarO   rR   r   r   r   Ú&test_try_aggregate_non_existing_column§  s   ý "ÿr9  c                  C   sà   t dg d¢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 d   ƒ n1 s;w   Y  |  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 )NrA   )r
   r   r¤   ú
2020-01-01r¤   rW   r†   r:   r
   r   c                 S   ó   | | | S rc   r   )rA   rÙ   Úcr   r   r   Úfoo1¼  ó   z/test_agg_list_like_func_with_args.<locals>.foo1r   c                 S   r;  rc   r   )rA   rÚ   r<  r   r   r   Úfoo2¿  r>  z/test_agg_list_like_func_with_args.<locals>.foo2z/foo1\(\) got an unexpected keyword argument 'b'r<   r-   )rÚ   r<  )r<  r3   é	   r   )rA   r=  )rA   r?  rÐ   )r
   r   )r   r   )r   r   ry   rz   r•   r"   rÖ   rF   rG   r  rI   rN   )rO   r=  r?  rR   r*   rQ   r   r   r   Ú!test_agg_list_like_func_with_args¶  s    ÿ

ÿýrA  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 d   ƒ n1 sOw   Y  d}t
jt|d�� |jddd	d� W d   ƒ n1 spw   Y  d}t
jt|d�� |jdddgd� W d   ƒ n1 s’w   Y  d}t
jt|d�� |jdddgd� W d   ƒ n1 s´w   Y  d}t
jt|d�� |jdd	d� ¡  W d   ƒ n1 sÖw   Y  t
jt|d�� |jddd� ¡  W d   ƒ n1 söw   Y  | d¡ ¡ }d|j_|jddd� ¡ }t ||¡ d	|j_t
jtdd�� |jdd	d� ¡  W d   ƒ n	1 �s5w   Y  |jdd	d�jdd�}t ||¡ d S )Nr	   r
   r   rW   r´   r™   )r4   rÙ   ÚvÚdr8   r:   rÙ   z\Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'Index'r<   rã   ró   z2The Grouper cannot specify both a key and a level!r4   )rY   rô   zunhashable type: 'list'rX   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   r   r   r   r˜   r   rF   rG   rH   ry   rz   r•   r"   rÂ   r{   r¢   r}   r;   rv   rI   rN   )r;   r‰   rO   Údf_exprR   Úexpr*   r   r   r   Útest_selection_api_validationÏ  sT   þÿÿÿÿÿÿÿÿÿrF  Úcol_name)Út2Út2xÚt2qÚT_2MÚt2pÚt2mÚt2m1ÚT2Mc                 C   s~   t ttdƒƒtddddd�| gd�}| d¡ dg¡}t g d	¢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-01Ú15minzEurope/Berlin)r   r   r/   ÚtzrÐ   Ú1dr'   )g     ÀG@g     ða@g     ph@rW   r¤   r   )ÚlevelsÚcodes)
r   r¼   rß   r   r"   r  rF   rG   rI   rN   )rG  rO   r*   rQ   r   r   r   Ú*test_agg_with_datetime_index_list_agg_func  s   	
ÿûýrV  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-02Ú1hr´   F)Úwriter:   r>   r   é   ÚlastÚfirstrn   r'  )r   r   Ú
zeros_likeÚsetflagsr   r"   rF   Ú	TimestamprÖ   rI   rq   )r;   ÚarrÚserr‹   rQ   r*   r   r   r   Útest_resample_agg_readonly  s   

&



ra  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:00Ú7min)	r   r¤   r1   r@  é   r¦   é   é   rY  Ú17minr   )r   rd  é   é?   z20001002 00:26:00r-   z20200101 8:26:35z20200101 9:31:58Ú77sr
   é3   Úright)
r
   r1   r0   r1   r0   r1   r0   r1   r0   r1   z2020-01-01 09:30:45r   Úleft)r   rd  rg  é'   rY  z20001002 00:43:00r0   Úend_day)r¤   r¦   é-   ro  z2000-10-02 00:29:00c
                 C   sT   t | ||d�}
t||
d�}|j|||d� ¡ }t|t |||	d�d�}t ||¡ d S )Nr´   r:   )r!   Úclosed)r   r   r/   )r   r   r"   r}   rI   rq   )r   r   r   r8  Úresample_freqr!   rp  Úexp_dataÚexp_endÚexp_periodsr‰   rŠ   r/  rQ   r   r   r   Útest_end_and_end_day_origin5  s   Aþru  z#method, numeric_only, expected_dataTÚnumr¨   FÚ
cat_1cat_2©Úcatrv  r„   )r(  Fúcan't multiply sequencerz  Úcat_1rœ   Úcat_2r[  rZ  g      )@)r'   FúCould not convertr}  )r)  Fú-Cannot convert \['cat_1' 'cat_2'\] to numericr~  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u r(i }nd|i}t|| ƒ}	t|tƒr‚| dv rNt}
t	 
d| › d�¡}|rMd| › d�}n| dv r]|r]t}
d| › d�}nt}
|}tj|
|d�� |	di |¤Ž}W d   ƒ d S 1 s{w   Y  d S |	di |¤Ž}t||d�}t ||¡ d S )Nú
2018-01-01r   rW   r†   ú
2018-12-31r
   ÚYEr{  r|  r0   rœ   rx  r:   r‘   )r€  r'   r)  r(  zagg function failed [how->z,dtype->z(dtype 'str' does not support operation 'ú')r}   rè   r�  r<   r   )r   r   r"   r   Ú
no_defaultrˆ   r(   r#   r•   r“   r”   rÂ   ry   rz   rI   rN   )r¿   r‘   Úexpected_datar–   r;   Úexpected_indexrO   Ú	resampledÚkwargsrÅ   ÚklassrR   Ú_r*   rQ   r   r   r   Útest_frame_downsample_method‚  s4   ,



€"ÿr�  )r}   Tr   )r(  Tr   )r(  Fr   r   )r'  Tr   )rn   Tr   )r[  Tr   )rZ  Tr   c                 C   s6  t dddd�}t dddd�}tdd	g|d
�}| d¡}|tju r"i nd|i}t|| ƒ}	|rX|tjurXd| › �}
tjt|
d�� |	di |¤Ž W d   ƒ d S 1 sQw   Y  d S | dkr†t	 
d¡}
|red}
tjt|
d�� |	di |¤Ž W d   ƒ d S 1 sw   Y  d S |	di |¤Ž}t||d
�}t ||¡ d S )Nr‚  r   rW   r†   rƒ  r
   r„  r{  r|  r:   r‘   z1Cannot use numeric_only=True with SeriesGroupBy\.r<   r(  z&agg function failed [how->prod,dtype->z-dtype 'str' does not support operation 'prod'r   )r   r   r"   r   r†  rˆ   ry   rz   r•   r“   r”   rI   rq   )r¿   r‘   r‡  r–   r;   rˆ  rO   r‰  rŠ  rÅ   rR   r*   rQ   r   r   r   Útest_series_downsample_methodÌ  s*   


"ÿ
"ÿrŽ  zmethod, raises))r}   T)r(  T)r'  T)rn   T)r[  F)rZ  F)r)  F)r'   T)rè   T)r€  T)r�  F)ÚohlcF)ÚnuniqueFc           
   	   C   sl  t dddd�}tg d¢|d�}| d¡}d}t|| ƒ}d	}d
}d| › �}	|rntjt|	d��7 tjt	|d�� |g |¢d‘d‘d‘d‘R Ž  W d   ƒ n1 sOw   Y  W d   ƒ d S W d   ƒ d S 1 sgw   Y  d S tjt|	d��7 tjt
|d�� |g |¢d‘d‘d‘d‘R Ž  W d   ƒ n1 s—w   Y  W d   ƒ d S W d   ƒ d S 1 s¯w   Y  d S )NÚ20180101r¤   r   r†   )r   r-   r1   r:   r6  r   z-numpy operations are not valid with resample.ztoo many arguments passed inz2Passing additional args to DatetimeIndexResampler.r<   r
   r   r-   )r   r   r"   rˆ   rI   rJ   rK   ry   rz   r   r•   )
r¿   rz   r;   rO   r‰  ÚargsrÅ   Ú	error_msgÚerror_msg_typeÚwarn_msgr   r   r   Útest_args_kwargs_depr   s.   


 ÿÿ"ÿ ÿÿ"ÿr–  c                  C   sÒ   t tdddƒtdddƒdd�} d| _ttj d¡ d¡td	ƒ| d
�j}d}t	j
t|d�� |jddd� W d   ƒ n1 s>w   Y  |j}d}t	j
t|d�� |jddd� W d   ƒ d S 1 sbw   Y  d S )Nr	   r
   r   rW   r´   r4   r   r¸   r¹   rº   r*  r<   r+  rŽ   z_The 'axis' keyword in DataFrame.resample is deprecated and will be removed in a future version.r   )r   r   rv   r   r   r   r   r¼   r,  rI   rJ   rK   r"   )r;   rO   r.  r   r   r   Útest_df_axis_param_depr(  s"   ÿþÿÿ"ÿr—  c                 C   sF   d}t jt|d�� | jddd� W d   ƒ d S 1 sw   Y  d S )Nz\The 'axis' keyword in Series.resample is deprecated and will be removed in a future version.r<   r   r   rŽ   )rI   rJ   rK   r"   )r   r.  r   r   r   Útest_series_axis_param_depr>  s
   ÿ"ÿr˜  c                  C   sF   t t g d¢¡d�} t t g d¢¡d�}|  d¡ ¡ }t ||¡ d S )N)ú2018-01-01 00:00:00z2018-01-01 12:00:00ú2018-01-02 00:00:00r:   )r™  z2018-01-01 08:00:00z2018-01-01 16:00:00rš  Ú8h)r   rF   rg   r"   r'   rI   rN   r[   r   r   r   Útest_resample_emptyG  s   ÿÿÿÿ
rœ  )Yr   r“   Únumpyr   ry   Úpandas._libsr   Úpandas.errorsr   ÚpandasrF   r   r   r   Úpandas._testingÚ_testingrI   Úpandas.core.indexes.datetimesr   Úfixturer   r   r   r%   r+   rS   r\   rk   rr   rx   ÚmarkÚparametrizer|   r~   rŒ   r—   r£   r²   r·   r¾   rÄ   rË   rÎ   rØ   rÛ   r;   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&  r0  r3  r9  rA  rF  rV  ra  ru  r†  r�  rŽ  r–  r—  r˜  rœ  r   r   r   r   Ú<module>   sT   



	
7
þú














ÿ
ýþ
ÿ
þþþ

	ýþ

ýþ
þûþþ
ÿ
ÿ
"5ÿ
ööööÛþ
5ÿþýüû
úùø	÷
öõôóòñðïîíì
ëêé
èçæ
åäã
âá à
!ßý
'#





îþ
þ
	