a
    é´«jú! ã                   @   sÒ  U d dl m Z  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mZ d dlm  mZ d dlZd dlmZmZ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  d d
l!m"Z"m#Z# d dl$m%Z%m&Z& d dl'm(Z( d dl)m*Z* e +¡ dd„ ƒZ,ej+dd„ ƒZ-ej+dd„ ƒZ.ej+g d¢d�dd„ ƒZ/ej+dd„ ƒZ0dd„ Z1dd„ Z2ej3 4ddg¡ej3 4d d!d"d#„ fd$d%d#„ fg¡d&d'„ ƒƒZ5d(d)„ Z6d*d+„ Z7ej3 4ddg¡ej3 4d,g d-¢¡d.d/„ ƒƒZ8ej3 4ddg¡d0d1„ ƒZ9ej3 4ddg¡d2d3„ ƒZ:d4d5„ Z;d6d7„ Z<d8d9„ Z=d:d;„ Z>ej3 4d<g d=¢¡d>d?„ ƒZ?ej3 4d@dAdBg¡dCdD„ ƒZ@ej3 4d@dEdBg¡dFdG„ ƒZAdHdI„ ZBdJdK„ ZCdLdM„ ZDdNdO„ ZEej3 4d@g dP¢¡ej3 4dQg dR¢¡dSdT„ ƒƒZFdUdV„ ZGdWdX„ ZHdYdZ„ ZId[d\„ ZJd]d^„ ZKd_d`„ ZLej3 4dadbdcdddedfœgdgdcdddhdfœgdBdidjdkdfœgg¡dldm„ ƒZMdndo„ ZNdpdq„ ZOdrds„ ZPdtdu„ ZQej3 4d@g dv¢¡dwdx„ ƒZRej3 4dydzd{g¡d|d}„ ƒZSd~d„ ZTd€d�„ ZUej3 4d‚dƒd„idƒed…ƒid†d‡dˆœdƒd‰idŠd‹ig¡dŒd�„ ƒZVej3 4dƒdŽd�d�d‘d’eWƒ g¡d“d”„ ƒZXej3 4dŠdŽd•d’eWƒ g¡d–d—„ ƒZYd˜d™„ ZZdšd›„ Z[dœd�„ Z\dždŸ„ Z]d d¡„ Z^d¢d£„ Z_d¤d¥„ Z`d¦d§„ Zad¨d©„ Zbdªd«„ Zcd¬d­„ Zdd®d¯„ Zed°d±„ Zfd²d³„ Zgd´dµ„ Zhd¶d·„ Ziej3 4d@g d¸¢¡d¹dº„ ƒZjej3 4d»dd¼gd!d½gg¡d¾d¿„ ƒZkdÀdÁ„ ZldÂdÃ„ ZmdÄdÅ„ ZndÆdÇ„ ZodÈdÉ„ Zpej3 4dÊdËdÌdÍejqdÎej3jrdÏdÐ�dÑ�g¡dÒdÓ„ ƒZsdÔdÕ„ ZtdÖd×„ ZudØdÙ„ Zve dÚdÛdzƒe dÚdÜdÝƒe dÚdÞdßƒe dÚdÜdßƒe dÚdÛdàƒe dÚdádâƒgZwexe
 eydã< ewdd{… ejzg ewd{dä…  ejzg ewdäd…  Z{exe
 eydå< ejzgew ejzg Z|ej3 4dæewe{e|g¡dçdè„ ƒZ}ej3 4dæewe{e|g¡dédê„ ƒZ~dëdì„ Zdídî„ Z€ej3j4dïdðd#„ dñd#„ dòd#„ gg dó¢dô�dõdö„ ƒZ�ej3 4d÷dødùg¡ej3 4dúg dû¢¡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�ej3 4dúg �d¢¡ej3 4�dg �d¢¡�d�d„ ƒƒZ�ej3 4�dg �d¢¡�d�d „ ƒZ‘ej3 4�d!�d"�d#g¡�d$�d%„ ƒZ’ej3 4�d&g �d'¢¡e“e“e“e“e“�d(œ�d)�d*„ƒZ”ej3 4dïg �d+¢¡�d,�d-„ ƒZ•�d.�d/„ Z–�d0�d1„ Z—�d2�d3„ Z˜ej3 4�d4g �d5¢¡�d6�d7„ ƒZ™ej3 4�d4g �d8¢¡�d9�d:„ ƒZš�d;�d<„ Z›ej3 4d@�d=�d>g¡e“�d?œ�d@�dA„ƒZœ�dB�dC„ Z�e ž�dD¡ej3 4�dEdejq�dFej3jreƒ �dG�dH�dÑ�g¡�dI�dJ„ ƒƒZŸdS (K  é    ©Údatetime)ÚpartialN)Úlib)ÚDatetimeNaTType)Úis_platform_windows)Ú	DataFrameÚIndexÚSeriesÚ	TimedeltaÚ	TimestampÚisnaÚnotna)ÚGrouper©Ú
date_range)ÚPeriodÚperiod_range)ÚDatetimeIndexÚ_get_timestamp_range_edges)Úoffsets)ÚMinutec                   C   s   t S ©Nr   © r   r   úh/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/resample/test_datetime_index.pyÚ_index_factory'   s    r   c                   C   s   dS )NÚMinr   r   r   r   r   Ú_index_freq,   s    r   c                 C   s   t j d¡ t| ƒ¡S )Né   )ÚnpÚrandomÚdefault_rngÚlen©Úindexr   r   r   Ú_static_values1   s    r%   )ÚsÚmsÚusÚns)Úparamsc                 C   s   | j S r   )Úparam)Úrequestr   r   r   Úunit6   s    r-   c                  C   s   ddd„} | S )zI
    Series with date range index and random data for test purposes.
    ÚDc                 S   s,   t | ||d�}ttj d¡ t|ƒ¡|d�S )N©Úfreqr   r#   )r   r
   r   r    r!   Ústandard_normalr"   )ÚstartÚendr0   Úrngr   r   r   Ú_simple_date_range_seriesA   s    z;simple_date_range_series.<locals>._simple_date_range_series)r.   r   )r5   r   r   r   Úsimple_date_range_series;   s    
r6   c                 C   s:  |   |¡}tt dgt|ƒ ¡|dd�}ttdƒd�}| |¡}| ¡  g d¢}|D ]}|j	|d dd� qTttdƒd	d	d
�}| |¡}| ¡  g d¢}|D ]}|j	|d dd� qš|j
dks¾J ‚t| ¡ ƒ ¡ sÒJ ‚dgdgd  }|ddd… }	|	 |dd … ¡}	t|	dd�  |¡}	t||	d�}
| d¡}t ||
¡ d S )Né   Úint64©r$   Údtypeé   r/   ©ÚsumÚmeanÚprodÚminÚmaxÚvarT©ZaltZnumeric_onlyÚright©r0   ÚclosedÚlabelé!
  i 
  r   éÿÿÿÿÚ5minr#   r=   )Úas_unitr
   r   Úarrayr"   r   r   ÚgroupbyÚohlcÚ_cython_agg_generalZngroupsr   r>   ÚallÚappendr   ÚaggÚtmÚassert_series_equal)r$   r-   Údtir&   ÚbÚgÚfuncsÚfÚarrÚidxÚexpectÚresultr   r   r   Útest_custom_grouperH   s.    



r^   c                 C   sx   t tdƒddd�}|  |¡}ttj d¡ t|ƒdf¡|dd�}| |¡ 	d¡}t|j
ƒdksbJ ‚t|jƒd	kstJ ‚d S )
Nr;   rD   rE   r   é
   Úfloat64r9   r=   rH   )r   r   rK   r   r   r    r!   r"   rM   rR   Úcolumnsr$   )r$   r-   rV   rU   ÚdfÚrr   r   r   Útest_custom_grouper_dfl   s    
ÿrd   z#_index_start,_index_end,_index_name)ú1/1/2000 00:00:00z1/1/2000 00:13:00r$   zclosed, expectedrD   c                 C   sJ   t | jd | dd…  ¡ | dd…  ¡ | dd …  ¡ gtddddd	�d
�S )Nr   r7   é   é   ú1/1/2000é   rJ   r$   ©Úperiodsr0   Únamer#   )r
   Úilocr>   r   ©r&   r   r   r   Ú<lambda>�   s   4þro   Úleftc                 C   sB   t | d d…  ¡ | dd…  ¡ | dd …  ¡ gtddddd�d�S )	Nr;   r_   ú1/1/2000 00:05é   rJ   r$   rj   r#   )r
   r>   r   rn   r   r   r   ro   ˆ   s
   ,ÿþc                 C   sL   | }|j  |¡|_ ||ƒ}|j  |¡|_ |jd|dd� ¡ }t ||¡ d S )NrJ   rD   ©rF   rG   )r$   rK   Úresampler>   rS   rT   )ÚseriesrF   Úexpectedr-   r&   r]   r   r   r   Útest_resample_basicx   s    rw   c                 C   sž   t tdƒtdddd� | ¡dd�}| d¡ ¡ }t g d¢tdd	dd� | ¡dd�}t ||¡ | d¡ ¡ }t g d
¢tdd	dd� | ¡dd�}t ||¡ d S )Né	   rh   r@   ©rk   r0   ZInt64r9   Z3min)rr   é   é   rr   )r7   ri   é   ZFloat64)	r
   Úranger   rK   rt   r=   rS   rT   r>   )r-   Útsr]   rv   r   r   r   Útest_resample_integerarrayš   s&    ýýýr   c                 C   sV   | }|j  |¡|_ | d¡ ¡ }ttdƒddd�}| |¡ dd„ ¡}t 	||¡ d S )NÚ5Minr;   rp   rE   c                 S   s
   | j d S ©NrI   ©rm   ©Úxr   r   r   ro   ·   ó    z-test_resample_basic_grouper.<locals>.<lambda>)
r$   rK   rt   Úlastr   r   rM   rR   rS   rT   )ru   r-   r&   r]   Úgrouperrv   r   r   r   Útest_resample_basic_grouper²   s    rˆ   zkeyword,value))rG   Úrighttt)rF   r‰   )Z
conventionZstartttc                 C   sf   | j  |¡| _ d|› d|› d�}tjt|d��$ | jdi ||i¤Ž W d   ƒ n1 sX0    Y  d S )NzUnsupported value z for `ú`©ÚmatchrJ   )rJ   )r$   rK   ÚpytestÚraisesÚ
ValueErrorrt   )ru   ÚkeywordÚvaluer-   Úmsgr   r   r   Útest_resample_string_kwargs»   s    r“   c                 C   sª   |dkrt  d¡ | }|j |¡|_t |¡}d|d< d|dd…< d|dd…< d|dd …< | |¡ |¡}td	d
ddd� |¡|_t	|j
dddd�|ƒƒ }t ||¡ d S )NrN   z!covered by test_resample_how_ohlcr   r7   rf   r   rg   rr   rh   ri   rJ   r$   rj   rD   rs   )r�   Úskipr$   rK   r   Ú	ones_likerM   rR   r   Úgetattrrt   rS   rT   )ru   Zdownsample_methodr-   r&   Ú	grouplistrv   r]   r   r   r   Útest_resample_howÌ   s&    

ÿþÿr˜   c                 C   sª   | }|j  |¡|_ t |¡}d|d< d|dd…< d|dd…< d|dd …< dd„ }t| |¡ |¡j ¡ t	d	d
ddd� |¡g d¢d�}|j
dddd� ¡ }t ||¡ d S )Nr   r7   rf   r   rg   rr   c                 S   s:   t | ƒ ¡ rt tjd¡S | jd |  ¡ |  ¡ | jd gS ©Nri   r   rI   ©r   rP   r   ÚrepeatÚnanrm   rA   r@   ©Úgroupr   r   r   Ú_ohlcó   s    z%test_resample_how_ohlc.<locals>._ohlcrh   ri   rJ   r$   rj   )ÚopenÚhighÚlowÚclose©r$   ra   rD   rs   )r$   rK   r   r•   r   rM   rR   ÚvaluesÚtolistr   rt   rN   rS   Úassert_frame_equal)ru   r-   r&   r—   rŸ   rv   r]   r   r   r   Útest_resample_how_ohlcæ   s"    
ÿûr¨   c                 C   sè   t jdt jd�}tdt|ƒdd� | ¡}t||dœ|d�}dd	d
„}G dd„ dƒ}| d¡ |¡}| d¡ dd„ ¡}| d¡ t	|ƒ¡}| d¡ t	|dd�¡}	| d¡ |ƒ ¡}
t
 ||¡ t
 ||¡ t
 ||	¡ t
 ||
¡ d S )Nr;   ©r:   ú
2014-01-01Úd©r2   rk   r0   ©ÚAÚBr#   r7   c                 S   s   t t| ƒƒS r   ©ÚstrÚtype)r„   Úar   r   r   Úfn
  s    z'test_resample_how_callables.<locals>.fnc                   @   s   e Zd Zdd„ ZdS )z,test_resample_how_callables.<locals>.FnClassc                 S   s   t t|ƒƒS r   r°   )Úselfr„   r   r   r   Ú__call__  s    z5test_resample_how_callables.<locals>.FnClass.__call__N)Ú__name__Ú
__module__Ú__qualname__r¶   r   r   r   r   ÚFnClass  s   rº   ÚMEc                 S   s   t t| ƒƒS r   r°   rƒ   r   r   r   ro     r…   z-test_resample_how_callables.<locals>.<lambda>r   )r³   )r7   )r   Úaranger8   r   r"   rK   r   rt   Úapplyr   rS   r§   )r-   ÚdataÚindrb   r´   rº   Zdf_standardZ	df_lambdaZ
df_partialZdf_partial2Zdf_classr   r   r   Útest_resample_how_callables  s    
rÀ   c                 C   sl  g d¢}t ddgd it |¡d�}|j | ¡|_| d¡ ¡ }t dg d¢itddd	d
� | ¡d�}t 	||¡ | d¡ ¡ }t dg d¢itddd	d
� | ¡d�}t 	||¡ | d¡ ¡ }t dddgitdddd
� | ¡d�}t 	||¡ | d¡ ¡ }t dddgitdddd
� | ¡d�}t 	||¡ | d¡ ¡ }t dddgitdddd
� | ¡d�}t 	||¡ d S )N)z2014-11-08 00:00:01ú2014-11-08 00:00:02rÁ   z2014-11-08 00:00:03ú2014-11-08 00:00:07rÂ   ú2014-11-08 00:00:08rÃ   rÃ   z2014-11-08 00:00:09z2014-11-08 00:00:10ú2014-11-08 00:00:11rÄ   z2014-11-08 00:00:13z2014-11-08 00:00:14z2014-11-08 00:00:15z2014-11-08 00:00:17z2014-11-08 00:00:20z2014-11-08 00:00:21r‘   r7   é   r#   Z6s)ri   rx   ri   r   z
2014-11-08ri   ©r0   rk   Z7s)ri   r_   ri   r7   Z11srg   é   r   Z13sé   rf   Z17sé   rr   )
r   ÚpdÚto_datetimer$   rK   rt   r=   r   rS   r§   )r-   r~   rb   r]   rv   r   r   r   Útest_resample_rounding  sB    
þ
þ
þ
þ
þrÌ   c                 C   sb  t tdddƒtdddƒddd� | ¡}ttj d¡ t|ƒ¡|ƒ}| d¡ 	¡ }t|ƒd	ks`J ‚|j
jg d
¢k ¡ sxJ ‚|jd |d ksŽJ ‚|jd |d ks¤J ‚|jd |jd ks¼J ‚| d¡ 	¡ }t|ƒdksÚJ ‚|j
jddgk ¡ sòJ ‚|jd |d k�s
J ‚|jd |d k�s"J ‚| d¡ 	¡ }t|ƒdk�sBJ ‚|j
jddgk ¡ �s\J ‚|jd |d k�stJ ‚|jd |d k�sŒJ ‚| d¡ 	¡ }t|ƒdk�s¬J ‚|j
jddgk ¡ �sÆJ ‚|jd |d k�sÞJ ‚|jd |d k�söJ ‚| d¡ 	¡ }t|ƒdk�sJ ‚|j
jd	d	gk ¡ �s0J ‚|jd |d k�sHJ ‚|jd |d k�s`J ‚| d¡ 	¡ }t|ƒdk�s€J ‚|j
jddgk ¡ �sšJ ‚|jd |d k�s²J ‚|jd |d k�sÊJ ‚| d¡ 	¡ }t|ƒdk�sêJ ‚|j
jg d¢k ¡ �sJ ‚|jd |d k�sJ ‚|jd |d k�s4J ‚|jd |d k�sLJ ‚|j
jdk�s^J ‚d S )NéÕ  r7   r_   r.   r$   ©r2   r3   r0   rl   r   zw-sunrr   )rf   rf   rf   r   z1/2/2005z1/9/2005rI   úW-MONz1/3/2005z	1/10/2005zW-TUEz1/4/2005úW-WEDz1/5/2005zW-THUz1/6/2005zW-FRIri   z1/7/2005r¯   r|   )ri   r   r7   r   rr   ri   r   r;   )r   r   rK   r
   r   r    r!   r"   rt   r†   r$   Z	dayofweekrP   rm   rl   ©r-   rU   r&   r]   r   r   r   Útest_resample_basic_from_daily]  sX    ÿþrÒ   c                 C   sö   t dddd� | ¡}td|d�}| d¡ ¡ }|jd |d ksDJ ‚tt dd	¡d
d„ tdd	ƒD ƒd�}|j | ¡|_tt dd	¡t dddd� | ¡d�}| d¡ 	¡ }t
 |td|jd�¡ | d¡ ¡ }| d¡ ¡ }t
 ||¡ t
 ||¡ d S )Nz01-Jan-2014z05-Jan-2014r.   r/   r7   r#   r   ç      ð?rf   c                 S   s   g | ]}t d d|ddƒ‘qS )i·  r7   rz   r   r   ©Ú.0Úir   r   r   Ú
<listcomp>¤  r…   zCtest_resample_upsampling_picked_but_not_correct.<locals>.<listcomp>Z19750101r;   ry   )r   rK   r
   rt   r>   r$   r   r¼   r}   ÚcountrS   rT   r=   )r-   Údatesru   r]   r&   rv   Úresult1Úresult2r   r   r   Ú/test_resample_upsampling_picked_but_not_correct—  s$    ÿ
þrÜ   rY   r<   c                 C   sh   t tj d¡ d¡ttdƒtd�tdddd�d	�}|j	 
|¡|_	td
d�}| |¡}|j| d dd� d S )Nr   ©é2   ri   ÚABCDr©   ú
2000-01-01rÞ   r¯   ry   ©ra   r$   r»   r/   TrC   )r   r   r    r!   r1   r	   ÚlistÚobjectr   r$   rK   r   rM   rO   )rY   r-   rb   rV   rW   r   r   r   Ú"test_resample_frame_basic_cy_funcsµ  s    ý

rä   r0   ÚYEr»   c                 C   sp   t tj d¡ d¡ttdƒtd�tdddd�d	�}|j	 
|¡|_	| | ¡ ¡ }t |d
 |d
  | ¡ ¡ ¡ d S )Nr   rÝ   rß   r©   rà   rÞ   r¯   ry   rá   r®   )r   r   r    r!   r1   r	   râ   rã   r   r$   rK   rt   r>   rS   rT   )r0   r-   rb   r]   r   r   r   Útest_resample_frame_basic_M_AÅ  s    ýræ   rÐ   c                 C   sˆ   t tj d¡ d¡ttdƒtd�tdddd�d	�}|j	 
|¡|_	d
}tjt|d��" |j| dd� ¡  W d   ƒ n1 sz0    Y  d S )Nr   )r_   ri   rß   r©   rà   r_   r¯   ry   rá   ú6The 'kind' keyword in DataFrame.resample is deprecatedr‹   Úperiod©Úkind)r   r   r    r!   r1   r	   râ   rã   r   r$   rK   rS   Úassert_produces_warningÚFutureWarningrt   r>   )r0   r-   rb   r’   r   r   r   Útest_resample_frame_basic_kindÑ  s    ýrí   c                 C   s¤   t tdddƒtdddƒddd� | ¡}ttj d¡ t|ƒ¡|ƒ}| d¡ 	¡ }t|ƒd	ks`J ‚|j
d
 |j
d
 ksxJ ‚|j
d |j
d ks�J ‚|jjdks J ‚d S )NrÍ   r7   r_   r.   r$   rÎ   r   r   i¡2  r   rI   )r   r   rK   r
   r   r    r!   r"   rt   Úffillrm   r$   rl   rÑ   r   r   r   Útest_resample_upsampleÞ  s    ÿþrï   c                 C   s¨   t ddgtdƒtdƒgd�}|j | ¡|_t dtjtjtjtjtjdgttdƒtdƒtdƒtd	ƒtd
ƒtdƒtdƒgdd�d�}|j | ¡|_t | 	d¡ 
¡ |¡ d S )Nrg   é   z2015-03-31 21:48:52.672000z2015-03-31 21:49:52.739000r#   z2015-03-31 21:48:50z2015-03-31 21:49:00z2015-03-31 21:49:10z2015-03-31 21:49:20z2015-03-31 21:49:30z2015-03-31 21:49:40z2015-03-31 21:49:50Ú10sr/   )r
   r   r$   rK   r   rœ   r   rS   rT   rt   r>   )r-   r&   rv   r   r   r   Útest_resample_how_methodï  s.    þþù	öþrò   c                 C   s~   t dddd� | ¡}tdtg d¢|d�iƒ}t dddd� | ¡}tdttt|ƒƒ|d�id	d
�}| d¡ ¡ }t 	||¡ d S )NZ20150101Z20150331ZBME©r2   r3   r0   r®   )r{   é)   é?   r#   r¯   r8   r©   )
r   rK   r   r
   r}   r"   rt   r†   rS   r§   )r-   r$   rv   rb   r]   r   r   r   Útest_resample_extra_index_point  s     rö   c                 C   sd   t dddd� | ¡}ttj d¡ t|ƒ¡|ƒ}| d¡j	dd�}|j
|jddd	�}t ||¡ d S )
Nrh   rr   rJ   ry   r   r@   ©Úlimitrî   ©Úmethodrø   )r   rK   r
   r   r    r!   r1   r"   rt   rî   Úreindexr$   rS   rT   ©r-   r4   r~   r]   rv   r   r   r   Útest_upsample_with_limit  s
    rý   )Ú1DZ10hr€   rñ   Úrule)rå   Z3MEZ15DZ30hZ15MinZ30sc                 C   sf   t dd|| d� |¡}ttj d¡ t|ƒ¡|ƒ}| |¡j	dd�}|j
|jddd�}t ||¡ d S )Nrh   rr   )rk   r0   Útzr   r÷   Únearestrù   )r   rK   r
   r   r    r!   r1   r"   rt   r  rû   r$   rS   rT   )Ztz_aware_fixturer0   rÿ   r-   r4   r~   r]   rv   r   r   r   Ú test_nearest_upsample_with_limit   s    ÿr  c                 C   sN  | }|j  |¡|_ ttdƒd�}| |¡ dd„ ¡}| d¡ ¡ }t|ƒt|ƒksVJ ‚t|j	ƒdkshJ ‚|j
d }|d |j
d	 ksˆJ ‚|d
 |d	d…  ¡ ks¤J ‚|d |d	d…  ¡ ksÀJ ‚|d |j
d ksÖJ ‚|j
d }|d |j
d ksöJ ‚|d
 |d d…  ¡ k�sJ ‚|d |d d…  ¡ k�s2J ‚|d |j
d k�sJJ ‚d S )Nr;   r/   c                 S   s
   | j d S r�   r‚   rƒ   r   r   r   ro   3  r…   z$test_resample_ohlc.<locals>.<lambda>r€   ri   éþÿÿÿr    iúÿÿÿr¡   rI   r¢   r£   r   )r$   rK   r   r   rM   rR   rt   rN   r"   ra   rm   rA   r@   )ru   r-   r&   r‡   r\   r]   Úxsr   r   r   Útest_resample_ohlc.  s"    

r  c                 C   s’   t dddd� | ¡}| t dddd� | ¡¡}ttt|ƒƒ|d�}|jd d…  d¡ ¡ }t	|t
ƒshJ ‚|jd d	…  d¡ ¡ }t	|t
ƒsŽJ ‚d S )
Nú1-1-2000ú	2-15-2000Úhr/   ú	4-15-2000ú	5-15-2000r#   Ú30minz	4-14-2000)r   rK   Úunionr
   r}   r"   Úlocrt   rN   Ú
isinstancer   )r-   r$   r&   r³   rV   r   r   r   Útest_resample_ohlc_resultF  s    r  c                 C   sŠ   t ddƒ | ¡}| tdƒtdƒtdƒtdƒg¡}tt t|ƒ¡|d�}| d¡ 	¡ }|j
t |d	 |d
 dd� | ¡d�}t ||¡ d S )Nz
2013-12-30z
2014-01-07rª   z
2013-12-31z
2014-01-04z
2014-01-05)r¾   r$   r¯   r   rI   r/   r#   )r   rK   Zdropr   r   r   r¼   r"   rt   r>   rû   rS   r§   )r-   r4   r$   rb   r]   rv   r   r   r   Ú$test_resample_ohlc_result_odd_periodS  s    üÿ$r  c              
   C   s  t tdd d�dtdd d�dtdd d�ditdd d�dtdd d�dtdd d�d	id
œƒjddgdd�}|j | ¡|_d|j_| d¡ ¡ }t	j
|d  d¡ ¡ |d  d¡ ¡ gd|jd�}|jjd dksÎJ ‚t ||¡ ddgddgg|_| d¡ ¡ }t	j g d¢¡|_t ||¡ d S )Nz2011-01-06 10:59:05©r   iža  z2011-01-06 12:43:33i›c  z2011-01-06 12:54:09i /hYl    rT i áõ)ÚPRICEÚVOLUMEr  r  r7   ©ÚaxisZColsr  )r  Úkeysr   r³   rV   Úcr«   ))r³   r  r    )r³   r  r¡   )r³   r  r¢   )r³   r  r£   )rV   r«   r    )rV   r«   r¡   )rV   r«   r¢   )rV   r«   r£   )r   r   rû   r$   rK   ra   rl   rt   rN   rÊ   ÚconcatÚnamesrS   r§   Ú
MultiIndexÚfrom_tuples)r-   rb   ÚresÚexpr   r   r   Útest_resample_ohlc_dataframee  s<    ýýúÿÿñ"ýÿr  c                  C   sò   t tj d¡ d¡g d¢dd„ tdƒD ƒd�} tj| jdd d …f< d	}tj	t
|d
��" | jddd� ¡ }W d   ƒ n1 s|0    Y  d}tj	t
|d
��& | jdd„ dd� ¡ }W d   ƒ n1 sÄ0    Y  dd„ tdƒD ƒ|_t ||¡ d S )Nr   )ri   rz   )éÐ  r  r  r  c                 S   s   g | ]}t d |d dd�‘qS )r  r7   ÚM)ÚyearÚmonthr0   ©r   rÔ   r   r   r   r×   ›  r…   z+test_resample_dup_index.<locals>.<listcomp>rz   r¤   rr   ú-DataFrame.resample with axis=1 is deprecated.r‹   ÚQEr7   r  z+DataFrame.groupby with axis=1 is deprecatedc                 S   s   t | jd d ƒS )Nr7   rr   )Úintr"  rƒ   r   r   r   ro   ¤  r…   z)test_resample_dup_index.<locals>.<lambda>c                 S   s   g | ]}t d |d dd�‘qS )r  r7   ÚQ)r!  Zquarterr0   r#  rÔ   r   r   r   r×   ¥  r…   ri   )r   r   r    r!   r1   r}   rœ   rm   rS   rë   rì   rt   r>   rM   ra   r§   )rb   Úwarning_msgr]   r’   rv   r   r   r   Útest_resample_dup_index•  s    ý04r)  c                 C   s    t tdddƒtdddƒdd� | ¡}ttj d¡ t|ƒ¡|ƒ}|jdddd	� 	¡ }| d
¡ 	¡ }t|ƒdksrJ ‚t
|jjtjƒs†J ‚|jjt d¡ksœJ ‚d S )NrÍ   r7   r_   r.   ró   r   r¯   rD   rs   Z8hé   rÇ   )r   r   rK   r
   r   r    r!   r"   rt   r>   r  r$   r0   r   Z
DateOffsetZHour)r-   rU   r&   Úbsr]   r   r   r   Útest_resample_reresample©  s    ÿþr,  zfreq, expected_kwargszYE-DECZ1990Ú2000zY-DECró   zYE-JUNzY-JUNz1990-01z2000-01r   c                 C   sŠ   | ddƒ}|j  |¡|_ d}tjt|d��" |j|dd� ¡ }W d   ƒ n1 sR0    Y  | |¡ ¡ }tf i |¤Ž|_ t ||¡ d S )Nz1/1/1990rh   ú3The 'kind' keyword in Series.resample is deprecatedr‹   rè   ré   )	r$   rK   rS   rë   rì   rt   r>   r   rT   )r6   r0   Zexpected_kwargsr-   r~   r’   r]   rv   r   r   r   Ú!test_resample_timestamp_to_periodµ  s    
0r/  c                 C   sº   dd„ }t dddd� | ¡}ttj d¡ t|ƒ¡|d�}|jd	d
d
d� 	¡ }|j
d |jd k ¡ sjJ ‚||dd… ƒ}|j
d |k ¡ s�J ‚||dd … ƒ}|j
d |k ¡ s¶J ‚d S )Nc                 S   s:   t | ƒ ¡ rt tjd¡S | jd |  ¡ |  ¡ | jd gS r™   rš   r�   r   r   r   rŸ   Ì  s    ztest_ohlc_5min.<locals>._ohlcre   z1/1/2000 5:59:50rñ   r/   r   r#   rJ   rD   rs   z1/1/2000 00:00r   r7   é   rq   z1/1/2000 5:55:01z1/1/2000 6:00:00)r   rK   r
   r   r    r!   r1   r"   rt   rN   r  rm   rP   )r-   rŸ   r4   r~   Ú	resampledr  r   r   r   Útest_ohlc_5minË  s    r2  c                 C   sš   t ddƒ | ¡}| d¡j}ttj d¡ t	|ƒ¡|d�}| 
d¡ ¡ }| dd„ ¡ ¡ }t	|ƒdksjJ ‚t |jd	 |d
 ¡ t |jd
 |d ¡ d S )Nrh   ú	2/29/2000r;   r   r#   r»   c                 S   s   | j S r   )r"  rƒ   r   r   r   ro   æ  r…   z,test_downsample_non_unique.<locals>.<lambda>r   r7   )r   rK   r›   r¥   r
   r   r    r!   r1   r"   rt   r>   rM   rS   Zassert_almost_equalrm   )r-   r4   Úrng2r~   r]   rv   r   r   r   Útest_downsample_non_uniqueß  s    r5  c                 C   sz   t ddƒ | ¡}| d¡j}ttj d¡ t	|ƒ¡|d�}d}t
jt|d�� | d¡ W d   ƒ n1 sl0    Y  d S )Nrh   r3  r   r#   z/cannot reindex on an axis with duplicate labelsr‹   r¯   )r   rK   r›   r¥   r
   r   r    r!   r1   r"   r�   rŽ   r�   Úasfreq)r-   r4   r4  r~   r’   r   r   r   Útest_asfreq_non_uniqueì  s    r7  c                 C   sž   t ddƒ | ¡}ttj d¡ dt|ƒf¡|g d¢d�}d}tj	t
|d��" |jd	d
d� ¡ }W d   ƒ n1 sr0    Y  |j d	¡ ¡ j}t ||¡ d S )Nrh   r3  r   rr   ©r³   rV   r  rá   r$  r‹   r»   r7   r  )r   rK   r   r   r    r!   r1   r"   rS   rë   rì   rt   r>   ÚTr§   )r-   r4   rb   r(  r]   rv   r   r   r   Útest_resample_axis1÷  s    ý0r:  )r@   rJ   Z15minr  Z4hÚ12hc                 C   s€   t dddd� |¡}ttj d¡ t|ƒ¡|d�}tj|d d…< |dd … j	| ddd� 
¡ }|j	| ddd� 
¡ }t ||¡ d S )	Nz1/1/2000 04:00:00é€Q r&   ry   r   r#   rp   rs   ©r   rK   r
   r   r    r!   r1   r"   rœ   rt   r>   rS   rT   )r0   r-   r4   r~   r]   rv   r   r   r   Útest_resample_anchored_ticks  s    r>  r3   r7   r   c                 C   sh   dd„ }t dd| › d�dd� |¡}ttj d¡ t|ƒ¡|d	�}t 	| 
d
¡ ¡ | 
d
¡ |¡¡ d S )Nc                 S   s   |   ¡ S r   )r=   rƒ   r   r   r   ro     r…   z,test_resample_single_group.<locals>.<lambda>z2000-1-1z2000-z-10r.   r/   r   r#   r»   )r   rK   r
   r   r    r!   r1   r"   rS   rT   rt   r=   r½   )r3   r-   Zmysumr4   r~   r   r   r   Útest_resample_single_group  s    r?  c                 C   sp   t ddgtdƒtdƒgd�}|j | ¡|_t dgttdƒgdd	� | ¡d�}| d¡ d
d„ ¡}t ||¡ d S )Ngš™™™™>@gš™™™™™?@z20070915 15:30:00z20070915 15:40:00r#   g      è?Z20070915r.   r/   c                 S   s
   t  | ¡S r   )r   Ústdrƒ   r   r   r   ro   (  r…   z0test_resample_single_group_std.<locals>.<lambda>)	r
   r   r$   rK   r   rt   r½   rS   rT   )r-   r&   rv   r]   r   r   r   Útest_resample_single_group_std  s    þÿrA  c                 C   sj   t dddd� | ¡}ttj d¡ t|ƒ¡|d�}|jddd	� 	¡ }t d
ddd� | ¡}t
 |j|¡ d S )Nre   z1/1/2000 02:00r&   r/   r   r#   rJ   Z2min©Úoffsetú12/31/1999 23:57:00z1/1/2000 01:57©r   rK   r
   r   r    r!   r1   r"   rt   r>   rS   Úassert_index_equalr$   )r-   r4   r~   r1  Úexp_rngr   r   r   Útest_resample_offset,  s    ÿrH  ÚkwargsÚoriginú1999-12-31 23:57:00z1970-01-01 00:02:00ÚepochÚ2m©rJ  rC  z1999-12-31 12:02:00rC  z-3mc                 C   sl   t dddd� |¡}ttj d¡ t|ƒ¡|d�}t ddd	d� |¡}|jd
i | ¤Ž 	¡ }t
 |j|¡ d S )Nú2000-01-01 00:00:00ú2000-01-01 02:00r&   r/   r   r#   rK  ú2000-01-01 01:57rJ   )rJ   rE  )rI  r-   r4   r~   rG  r1  r   r   r   Útest_resample_origin9  s    ÿþrR  Zinvalid_valueZepchZstartdayZstarttz
2000-30-30c                 C   s~   t dddd� |¡}ttj d¡ t|ƒ¡|d�}d| › d�}tj	t
|d	�� |jd
| d� W d   ƒ n1 sp0    Y  d S )NrO  rP  r&   r/   r   r#   z|'origin' should be equal to 'epoch', 'start', 'start_day', 'end', 'end_day' or should be a Timestamp convertible type. Got 'ú
' instead.r‹   rJ   ©rJ  ©r   rK   r
   r   r    r!   r1   r"   r�   rŽ   r�   rt   )rJ  r-   r4   r~   r’   r   r   r   Útest_resample_bad_originQ  s    þÿrV  Z12dayysc                 C   s~   t dddd� |¡}ttj d¡ t|ƒ¡|d�}d| › d�}tj	t
|d	�� |jd
| d� W d   ƒ n1 sp0    Y  d S )NrO  rP  r&   r/   r   r#   z6'offset' should be a Timedelta convertible type. Got 'rS  r‹   rJ   rB  rU  )rC  r-   r4   r~   r’   r   r   r   Útest_resample_bad_offset`  s
    rW  c                 C   sl  d\}}t ||dd� | ¡}ttj d¡ t|ƒ¡|d�}t dddd� | ¡}| d¡ 	¡ }t
 |j|¡ |jdd	d
� 	¡ }t
 |j|¡ t dddd� | ¡}|jddd
� 	¡ }t
 |j|¡ |jddd� 	¡ }t
 |j|¡ |jdd	dd� 	¡ }t
 |j|¡ t dddd� | ¡}|jddd
� 	¡ }t
 |j|¡ t dddd� | ¡}|jddd
� 	¡ }t
 |j|¡ d S )N)ú2000-10-01 23:30:00z2000-10-02 00:30:00Ú7minr/   r   r#   z2000-10-01 23:14:00z2000-10-02 00:22:00Z17minÚ	start_dayrT  rX  z2000-10-02 00:21:00r2   Z23h30minrB  rN  z2000-10-01 23:18:00z2000-10-02 00:26:00rL  z2000-10-01 23:24:00z2000-10-02 00:15:00rà   rE  )r-   r2   r3   r4   r~   rG  r1  r   r   r   Útest_resample_origin_prime_freqi  sJ    ÿþÿþÿþÿþr[  c                 C   sl  d}d}t ddd|d� | ¡}ttj d¡ t|ƒ¡|d�}t d	d
d|d� | ¡}|jddd� 	¡ }t
 |j|¡ |jddd� 	¡ }t
 |j|¡ |jdddd� 	¡ }t
 |j|¡ tjt|d��" |jddd� 	¡  W d   ƒ n1 sê0    Y  t dddd� | ¡}ttj d¡ t|ƒ¡|d�}tjt|d��" |jddd� 	¡  W d   ƒ n1 �s^0    Y  d S )Nz4The origin must have the same timezone as the index.úEurope/ParisrO  rP  r&   ©r0   r   r   r#   rK  rQ  rJ   z1999-12-31 23:57:00+00:00rT  z1999-12-31 12:02:00+03:00rL  rM  rN  r‹   rD  r/   z12/31/1999 23:57:00+03:00)r   rK   r
   r   r    r!   r1   r"   rt   r>   rS   rF  r$   r�   rŽ   r�   )r-   r’   r   r4   r~   rG  r1  r   r   r   Útest_resample_origin_with_tzŽ  s2    ÿþÿþ0r^  c                 C   sL  d\}}t ||dd� | ¡}tj d¡ t|ƒ¡}t||d�}|jddd� 	¡ }|jd	dd� 	¡ }t
 ||¡ | d ¡}|jddd� 	¡ }	|jd	dd� 	¡ }
t
j||	 |j¡d
d� t
j||
 |j¡d
d� d\}}t ||dd� | ¡}t||d�}|jddd� 	¡ }|jd	dd� 	¡ }t
 | d ¡| d ¡¡ t
 | d ¡| d ¡¡ d S )N)z2000-10-01 23:30:00+0500z2000-12-02 00:30:00+0500rY  r/   r   r#   r.   rL  rT  Ú24hF)Z
check_freq)z2000-10-01 23:30:00+0200z2000-12-02 00:30:00+0200)r   rK   r   r    r!   r1   r"   r
   rt   r>   rS   rT   Útz_localizer   )r-   r2   r3   r4   Zrandom_valuesZts_1Zresult_1Zresult_2Zts_no_tzZresult_3Zresult_4Zts_2Zresult_5Zresult_6r   r   r   Ú-test_resample_origin_epoch_with_tz_day_vs_24h¯  s&    
ra  c           
         sò  d‰ d%‡ ‡fdd„	}t dˆ d�}t dˆ d�}t||dd	� ˆ¡}tt t|ƒ¡|d
�}|ddgddgƒ}ddd|d fD ]"}|jd|d� ¡ }t	 
||¡ qvt dˆ d�}t dˆ d�}t||dd	� ˆ¡}tt t|ƒ¡|d
�}ddg}	|ddg|	ƒ}|jdddd� ¡ }t	 
||¡ ddg}	|ddg|	dd	�}|jdddd� ¡ }t	 
||¡ ddg}	|ddg|	ƒ}|jdddd� ¡ }t	 
||¡ dd g}	|dd!g|	ƒ}|jddd"d� ¡ }t	 
||¡ d#d$g}	|d!dg|	ƒ}|jdddd� ¡ }t	 
||¡ d S )&NúAmerica/Chicagor.   c                    s*   t | t‡ fdd„|D ƒ|dd� ˆ¡d�S )Nc                    s   g | ]}t |ˆ d �‘qS )r  )r   )rÕ   Útr  r   r   r×   Ó  r…   zUtest_resample_origin_with_day_freq_on_dst.<locals>._create_series.<locals>.<listcomp>T)r0   Ú	ambiguousr#   )r
   r   rK   )r¥   Z
timestampsr0   ©r   r-   r   r   Ú_create_seriesÏ  s    ÿþþzAtest_resample_origin_with_day_freq_on_dst.<locals>._create_seriesú
2013-11-02r  z2013-11-03 23:59Ú1hr/   r#   g      8@g      9@z
2013-11-03rL  r2   rZ  rT  z2013-11-02 22:00-05:00z2013-11-03 22:00-06:00g      7@ç       @z-2hrN  z2013-11-03 21:00-06:00g      6@ç      @r_  z2013-11-02 02:00-05:00z2013-11-03 02:00-06:00Ú2hz2013-11-02 23:00-05:00z2013-11-03 23:00-06:00rÓ   z-1hz2013-11-02 01:00-05:00z2013-11-03 01:00:00-0500)r.   )r   r   rK   r
   r   Zonesr"   rt   r=   rS   rT   )
r-   rf  r2   r3   r4   r~   rv   rJ  r]   Zexpected_tsr   re  r   Ú)test_resample_origin_with_day_freq_on_dstË  sD    	rl  c                 C   s€   t dddd� | ¡}ttj d¡ t|ƒ¡|d�}tj|d d…< |dd … j	dddd	� 
¡ }|j	dddd	� 
¡ }t ||¡ d S )
Nz1/1/2000 0:00:00é'  r@   ry   r   r#   r.   rp   rs   r=  rü   r   r   r   Útest_resample_daily_anchored  s    rn  c                 C   s’   t ddƒ | ¡}ttj d¡ t|ƒ¡|d�}d}tj	t
|d��" |jddd	� ¡ }W d   ƒ n1 sh0    Y  td
ddd�}t |j|¡ d S )Nrh   z
12/31/2000r   r#   r.  r‹   r»   rè   ré   zJan-2000zDec-2000r   r/   )r   rK   r
   r   r    r!   r1   r"   rS   rë   rì   rt   r>   r   rF  r$   )r-   r4   r~   r’   r]   Z	exp_indexr   r   r   Ú&test_resample_to_period_monthly_buglet  s    0ro  c                  C   sd   t tj d¡ ddd¡tdddd�dd	�} |  ¡  d
¡ ¡  	¡ }|  d
¡ 
dd„ ¡}t ||¡ d S )Nr   r   r;   rÞ   z
2012-01-01r  rÆ   r`   r9   r.   c                 S   s   |   ¡ S r   ©r>   rƒ   r   r   r   ro   "  r…   z&test_period_with_agg.<locals>.<lambda>)r
   r   r    r!   Úintegersr   Úto_timestamprt   r>   Z	to_periodrR   rS   rT   )Ús2rv   r]   r   r   r   Útest_period_with_agg  s    ýrt  c                 C   s  dt dddddƒddfdt dddddƒddfdt ddddd	ƒddfdt dddddd
ƒddfg}tj|dd� d¡}|j | ¡|_d}tjt|d��$ | 	d¡ 
d¡ ¡ }W d   ƒ n1 s¼0    Y  d}tjt|d��$ | 	d¡ dd„ ¡}W d   ƒ n1 �s0    Y  t ||¡ d S )Nr7   iÝ  r_   rÉ   é   r   r   é   é   r0  )ÚIDÚ	timestampr®   r¯   ©ra   ry  ú:DataFrameGroupBy.resample operated on the grouping columnsr‹   rx  rJ   z7DataFrameGroupBy.apply operated on the grouping columnsc                 S   s   |   d¡ ¡ S )NrJ   )rt   r=   rƒ   r   r   r   ro   9  r…   z(test_resample_segfault.<locals>.<lambda>)r   r   Zfrom_recordsÚ	set_indexr$   rK   rS   rë   rì   rM   rt   r=   r½   r§   )r-   Zall_wins_and_wagersrb   r’   r]   rv   r   r   r   Útest_resample_segfault&  s$    üÿþ24r}  c                 C   s²   t tdddd� | ¡g d¢tg d¢dd�d	œƒ d
¡}| d¡ ¡ }|jjt	j
ksVJ ‚d}tjt|d��$ | d¡ d¡ ¡ }W d   ƒ n1 s’0    Y  |jjt	j
ks®J ‚d S )Nz
2016-01-01ri   ÚWr¬   )r7   r7   r   r   )r;   rf   r|   rÇ   Úint32r©   )Údaterž   Úvalr€  rþ   r{  r‹   rž   )r   r   rK   r
   r|  rt   rî   r�  r:   r   r  rS   rë   rì   rM   )r-   rb   r]   r’   r   r   r   Ú test_resample_dtype_preservation=  s    ýÿú2r‚  c                 C   s˜   t  d¡ dg d¢i}t|tddƒ | ¡d�}| d¡ d¡ ¡ d  d	¡}| d¡d  ¡  d	¡}t	 
||¡ | d¡ ¡ d  d	¡}t	 
||¡ d S )
Nzscipy.interpolater³   )r7   rr   r7   ri   z
2017-01-01z
2017-01-04r#   r`   r  Zcubic)r�   Zimportorskipr   r   rK   Úastypert   r>   ZinterpolaterS   rT   )r-   rb   rv   r]   r   r   r   Útest_resample_dtype_coercionR  s    
r„  c                 C   s^   t dddd� | ¡}ttj d¡ t|ƒ¡|d�}| d¡ 	¡ }| d¡ 	¡ }t
 ||¡ d S )	Nrh   r¯   ru  rÆ   r   r#   r~  zW-SUN)r   rK   r
   r   r    r!   r1   r"   rt   r>   rS   rT   )r-   r4   r~   r1  rv   r   r   r   Útest_weekly_resample_bugletb  s
    r…  c                 C   s@   t dddd� | ¡}ttj d¡ t|ƒ¡|d�}| d¡ d S )Nú4/16/2012 20:00iˆ  r  ry   r   r#   r»   )	r   rK   r
   r   r    r!   r1   r"   rt   ©r-   rÙ   r~   r   r   r   Útest_monthly_resample_errorl  s    rˆ  c                  C   sˆ   d} d}t t | ¡ddd�}ttt|ƒƒ|d�}| tjj 	d¡¡}| 
d¡}t t |¡ddd�}ttt|ƒƒ|td	�}t ||¡ d S )
Nl   û*dG@l   à*dG@r_   Z100nsr¬   r#   éd   r>   r9   )r   rÊ   rË   r
   r}   r"   rt   Útseriesr   ZNanorR   ÚfloatrS   rT   )r2   Z	exp_startZindxr~   rc   r]   Zexp_indxr  r   r   r   Útest_nanosecond_resample_errort  s    
rŒ  c                 C   sŠ  t dddd� | ¡}t|j|d�}| d¡ ¡ }d}tjt|d��* |jdd	d
� ¡ j	dd�}W d   ƒ n1 sr0    Y  | j
tddƒtddƒ 7  _
|j
 | ¡ d¡|_
|j
jdks¾J ‚t ||¡ |jddd� ¡ }d}tjt|d��, |jddd�jdd	d
� ¡ }W d   ƒ n1 �s"0    Y  |j	dd�}|j
tddƒ tddƒ |_
|j
 | ¡ d¡|_
|j
jdk�szJ ‚t ||¡ d S )Nú1/1/2012ú4/1/2012Ú100minr/   r#   r»   rç   r‹   rè   ré   r3   ©Úhowr7   r)   r.   Zinferrp   ©rF   )r   rK   r   r"  rt   r>   rS   rë   rì   rr  r$   r   Ú
_with_freqr0   r§   Úshift)r-   r4   rb   r]   r’   rv   r  r   r   r   Útest_resample_anchored_intraday„  s&    8<r•  c                 C   sˆ  t dddd� | ¡}t|j|d�}| d¡ ¡ }d}tjt|d��* |jdd	d
� ¡ j	dd�}W d   ƒ n1 sr0    Y  | j
tddƒtddƒ 7  _
d|j
j_tj|j
_|j
 | ¡|_
t ||¡ |jddd� ¡ }d}tjt|d��. |jddd�jdd	dd� ¡ }W d   ƒ n1 �s"0    Y  |j	dd�}| j
tddƒtddƒ 7  _
d|j
j_tj|j
_|j
 | ¡|_
t ||¡ d S )Nr�  rŽ  r�  r/   r#   r%  rç   r‹   rè   ré   r3   r�  r7   r)   r.   rp   r’  )rê   rF   )r   rK   r   r"  rt   r>   rS   rë   rì   rr  r$   r   Ú_datar0   r   Z
no_defaultZ_freqr§   r”  )r-   r4   rb   r]   r’   rv   r   r   r   Ú test_resample_anchored_intraday2Ÿ  s,    8

ÿ"

r—  c                 C   s>   | dddd�}|j  |¡|_ | d¡ ¡ }t|ƒdks:J ‚d S )Nz2012-04-29 23:00z2012-04-30 5:00r  r/   r»   r7   )r$   rK   rt   r>   r"   )r6   r-   r~   r1  r   r   r   Ú test_resample_anchored_intraday3»  s    r˜  )ÚMSZBMSzQS-MARzYS-DECzYS-JUNc                 C   s*   | ddƒ}|j  |¡|_ | |¡ ¡  d S )Nrh   z
12/31/2002)r$   rK   rt   r>   )r6   r0   r-   r~   r   r   r   Ú!test_resample_anchored_monthstartÂ  s    
rš  z
label, secri  z4.2c                 C   st   t dddd�}t dddd�}| |¡}ttj d¡ d¡|d	�}|jd| d
� ¡ }|j	d t
d|› d�ƒkspJ ‚d S )Nz2014-10-14 23:06:23.206rr   Z400msry   z2014-10-15 23:00:00r   Z2200msr;   r#   )rG   rI   z2014-10-15 23:00:Z00)r   r  r
   r   r    r!   r1   rt   r>   r$   r   )rG   ÚsecZindex1Úindex2r$   r&   r]   r   r   r   Útest_resample_anchored_multidayÉ  s    
r�  c                 C   sl   t dddd� | ¡}ttj d¡ t|ƒ¡|d�}|jddd	d
� 	¡ }t dddd� | ¡}t
 |j|¡ d S )Nrh   rz   r@   ry   r   r#   rJ   rD   rp   rs   z1999-12-31 23:55ri   rE  )r-   r4   r~   r]   Zex_indexr   r   r   Útest_corner_casesÜ  s
    rž  c                 C   sŽ   | dddd�}|j  |¡|_ d}tjt|d��" |jddd	� ¡ }W d   ƒ n1 sV0    Y  t|ƒd
kspJ ‚|j d tddd�ksŠJ ‚d S )Nz
2000-04-28z2000-04-30 11:00r  r/   r.  r‹   r»   rè   ré   r7   r   z2000-04r   )	r$   rK   rS   rë   rì   rt   r>   r"   r   )r6   r-   r~   r’   r]   r   r   r   Útest_corner_cases_dateç  s    0rŸ  c                 C   sD   t dddd� | ¡}ttj d¡ t|ƒ¡|d�}| d¡ 	¡  d S )Nr†  iPÃ  r&   ry   r   r#   r«   )
r   rK   r
   r   r    r!   r1   r"   rt   r>   r‡  r   r   r   Útest_anchored_lowercase_bugletò  s    r   c                 C   sX   t dddd� | ¡}ttj d¡ t|ƒ¡|d�}| d¡ 	dd	g¡}t
|tƒsTJ ‚d S )
Nú
2012-06-12ri   r  ry   r   r#   Z20minr>   r=   )r   rK   r
   r   r    r!   r1   r"   rt   Ú	aggregater  r   )r-   r4   r~   r]   r   r   r   Útest_upsample_apply_functionsù  s    r£  c                 C   s~   t dddd� | ¡}ttj d¡ t|ƒ¡|d�}| tj d¡ 	t|ƒ¡¡}| 
d¡ ¡ }| ¡  
d¡ ¡ }t ||¡ d S )Nr¡  éÈ   r  ry   r   r#   r.   )r   rK   r
   r   r    r!   r1   r"   ZtakeZpermutationrt   r=   Z
sort_indexrS   rT   )r-   r4   r~   r]   r  r   r   r   Útest_resample_not_monotonic  s    r¥  r:   r8   r  r`   Zfloat32z-Empty groups cause x.mean() to return float64)Úreason)Zmarksc              	   C   s’   t tddddddƒtddddddƒgƒ |¡}tddg|| d�}| d¡ dd	„ ¡}| d¡}t ||¡ | d¡ 	¡ }| d¡}t ||¡ d S )
NéÜ  r7   r   r;   r   r9   r@   c                 S   s   |   ¡ S r   rp  rƒ   r   r   r   ro   '  r…   z/test_resample_median_bug_1688.<locals>.<lambda>)
r   r   rK   r   rt   r½   r6  rS   r§   Zmedian)r:   r-   rU   rb   r]   r  r   r   r   Útest_resample_median_bug_1688  s     "ÿþý

r¨  c                 C   sþ   | ddƒ}|j  |¡|_ | d¡ dd„ ¡}| d¡ ¡ }t ||¡ | d¡ ¡ }d|_| d¡ ¡ }d|_| d¡ dd„ d	d„ g¡}ddg|_	t |d |¡ t |d |¡ | d¡ 
d
d„ dd„ dœ¡}tj|d |dd� tj|d |dd� d S )Nrh   z4/1/2000r»   c                 S   s   |   ¡ S r   rp  rƒ   r   r   r   ro   4  r…   z+test_how_lambda_functions.<locals>.<lambda>ÚfooÚbarc                 S   s   |   ¡ S r   rp  rƒ   r   r   r   ro   =  r…   c                 S   s   | j dd�S ©Nr7   )Zddof©r@  rƒ   r   r   r   ro   =  r…   c                 S   s   |   ¡ S r   rp  rƒ   r   r   r   ro   E  r…   c                 S   s   | j dd�S r«  r¬  rƒ   r   r   r   ro   E  r…   )r©  rª  F)Zcheck_names)r$   rK   rt   r½   r>   rS   rT   rl   r@  ra   r¢  )r6   r-   r~   r]   r  Zfoo_expZbar_expr   r   r   Útest_how_lambda_functions0  s$    


ÿr­  c                 C   sR   t ddddƒ}t ddddƒ}t||d	d
� | ¡}tddi|d�}| d¡ ¡  d S )NiÏ  rr   r7   r;   r§  r|   r0  ri   r  r/   r£   r#   ZYS)r   r   rK   r   rt   r=   )r-   r2   r3   Zbad_indrb   r   r   r   Útest_resample_unequal_timesK  s
    r®  c           	      C   sÄ   t dddd� | ¡}tt d¡|d�}tj|jd< t |d |d	 d
d� | ¡}|j|dd�}|j|ddd�}|j|ddd�}| 	d¡j
dd�}| 	d¡ 
¡ }t ||¡ t ||¡ t ||¡ d S )Nz
2002-02-02ri   r  ry   ç      @r#   r   r   rI   Z10minr/   Úbfill)r$   rú   )r$   rú   rø   rù   Z10Minr÷   )r   rK   r
   r   r¼   rœ   rm   rû   Zreindex_likert   r°  rS   rT   )	r-   Zi30r&   Zi10Zs10Zs10_2ZrlZr10_2Zr10r   r   r   Útest_resample_consistencyW  s    r±  éÞ  r_   rx   rr   rg   r;   rÇ   r|   rw  Údates1ri   Údates2rÙ   c                 C   s¶   t | ƒ |¡} t| t t| ƒ¡dœƒ}| d¡ d¡ ¡ }t g d¢ddd� |¡}tdg d¢i|d�}|d  	¡  
¡ r„|j d ¡|_t ||¡ | tddd	�¡ ¡ }t ||¡ d S )
Nr­   r®   r»   ©z
2014-07-31z
2014-08-31z
2014-09-30z
2014-10-31z
2014-11-30©r0   rl   r¯   ©r7   r   r   r   r7   r#   ©r0   Úkey©r   rK   r   r   r¼   r"   r|  rt   rØ   r   Úanyr$   r“  rS   r§   rM   r   ©rÙ   r-   rb   r]   Zexp_idxrv   r   r   r   Útest_resample_timegrouper}  s     ýür½  c                 C   sÎ   t | ƒ |¡} t| t t| ƒ¡t t| ƒ¡dœƒ}| d¡ d¡ ¡ }t g d¢ddd� |¡}tg d¢g d¢dœ|dd	gd
�}|d  	¡  
¡ rœ|j d ¡|_t ||¡ | tddd�¡ ¡ }t ||¡ d S )N)r®   r¯   ÚCr®   r»   rµ  r¶  r·  )r¯   r¾  r¯   r¾  r¤   r¸  rº  r¼  r   r   r   Útest_resample_timegrouper2‘  s(    $ýüýr¿  c                 C   sæ   t tdƒdtdƒditdƒdtdƒdidœƒ}|j | ¡|_| d¡}| tdd	�¡}| tdd	�¡j d
d„ ¡}|j	dks€J ‚||fD ]}|j 
¡ }t ||¡ qˆ|j d¡ 
¡ }t ||¡ |j tdd	�¡ 
¡ }t ||¡ d S )Nz2015-06-05 00:00:00Z
0010100903z2015-06-08 00:00:00Z
0010150847z
2015-06-05z
2015-06-08)rx  ZDATEr.   r/   c                 S   s   |   ¡ S r   ©Únuniquerƒ   r   r   r   ro   »  r…   z'test_resample_nunique.<locals>.<lambda>rx  )r   r   r$   rK   rt   rM   r   rx  r½   rl   rÁ  rS   rT   )r-   rb   rc   rW   rv   rc  r]   r   r   r   Útest_resample_nuniqueª  s*    þþûÿ

rÂ  c                 C   sˆ   t tj d¡ d¡ttdƒtd�tdddd�d	� 	¡ }|j
 | ¡|_
tjj|j ¡ gd d
dgd�|_| d¡ ¡ }t |j|j¡ d S )Nr   )r;   ri   rß   r©   rà   r;   r.   ry   rá   Zlev0Zlev1)r  rh  )r   r   r    r!   r1   r	   râ   rã   r   Úabsr$   rK   rÊ   r  Zfrom_arraysra   r¦   rt   rÁ  rS   rF  )r-   rb   r]   r   r   r   Ú2test_resample_nunique_preserves_column_level_namesÉ  s    ý
ÿrÄ  Úfuncc                 C   s   |   ¡ S r   rÀ  rƒ   r   r   r   ro   Û  r…   c                 C   s   |   tj¡S r   )rR   r
   rÁ  rƒ   r   r   r   ro   Ü  r…   c                 C   s
   |   d¡S )NrÁ  )rR   rƒ   r   r   r   ro   Ý  r…   )rÁ  Zseries_nuniqueZnunique_str)Úidsc           	      C   sr   t dddd� |¡}t dddd� |¡}| |¡}ttt|ƒƒ|dd�}| d	¡}| ¡ }| |ƒ}t 	||¡ d S )
Nr  r  r  r/   r	  r
  r8   r9   r»   )
r   rK   rQ   r
   r}   r"   rt   rØ   rS   rT   )	rÅ  r-   r$   rœ  Zindex3r&   rc   r]   rv   r   r   r   Ú#test_resample_nunique_with_date_gapØ  s    

rÇ  Únrm  i † Úk)r_   r‰  iè  c                 C   s<  t j d¡}td| d dd� |¡}t| d| | | ¡ d¡| || ¡d�}| 	d	¡ 
¡ }t|j ¡ |j ¡ d	d
� |¡}|j}t j|j|jdd�}	t  ||	f¡}
||
 |	|
  }}	t jd|dd … |d d… kf }|t jd|	dd … |	d d… kf O }t j|	| d t|ƒd�jddd�}t||d�}t ||¡ d S )Nr   z
2015-08-27r_   r@   r¬   r   r8   r#   r  ró   rD   ©ZsideTr7   rI   ©Z	minlengthF©Úcopy)r   r    r!   r   rK   r
   rq  rƒ  Úchoicert   rÁ  r$   r@   rA   r¥   ÚsearchsortedZlexsortZr_Úbincountr"   rS   rT   )rÈ  rÉ  r-   ZprngÚdrr~   rp   ÚixÚvalsÚbinsZsorterÚmaskrZ   rD   r   r   r   Útest_resample_group_infoî  s     (ÿ"&$rÖ  c           	      C   sÊ   d}t d|dd� | ¡}ttj d¡ |¡tj d¡ ||¡d�}| d¡ 	¡ }t |j
 ¡ |j
 ¡ dd� | ¡}tj|j|j
jd	d
�}tj|t|ƒd d�dd … jddd�}t||d�}t ||¡ d S )Nrm  z
2015-09-19r@   ry   r   r#   rY  ró   rD   rÊ  r7   rË  r8   FrÌ  )r   rK   r
   r   r    r!   r1   rÎ  rt   Úsizer$   r@   rA   rÏ  r¥   rÐ  r"   rƒ  rS   rT   )	r-   rÈ  rÑ  r~   rp   rÒ  rÔ  r�  rD   r   r   r   Útest_resample_size  s    þÿ(rØ  c                  C   s°   t ddgdgd�} ttj| jdd�j d¡j d¡ƒ}t d	d
gdgd�}ttj|jdd�j d¡j d¡dd�}t ddg|d�}|jdd� 	¡ }t ddg|d�}t
 ||¡ d S )Nid=XitKXr~   rz  r&   ©r-   ÚUTCzEurope/Madridi 8XiFXr  r/   r;   r#   ©rÿ   )r   r   rÊ   rË   r~   Údtr`  Ú
tz_convertrt   r=   rS   r§   )Zdf1Zdti1Zdf2Zdti2rb   r]   rv   r   r   r   Útest_resample_across_dst!  s*    ÿþÿÿþürÞ  c                 C   sŽ   t ddgdd� d¡ | ¡}tddg|d�}| td	d
�¡ ¡ }tddddd� | ¡}t |ƒ}tdgtj	gd  dg |d�}t
 ||¡ d S )Nl   @jÈ$ l   ÀS*~«Q$ rÚ  r  rb  r7   r   r#   Z1dr/   z
2016-11-02z
2016-11-24r«   r]  rÓ   r{   ri  )r   rÝ  rK   r   rM   r   r†   r   r   rœ   rS   r§   )r-   r$   rb   r]   Zexpected_index_valuesrv   r   r   r   Ú!test_groupby_with_dst_time_changeA  s     ÿþÿÿþ rß  c              
   C   sº   t tddddƒgdd� | ¡}tdg|d�}t |j ¡ d	d
� | ¡}tdg|d�}t |jd	d� 	¡ |¡ |jdd� 	¡  t |jdd� 	¡ tdgt tdddƒgddd� | ¡d�¡ d S )Nr§  rg   ri   é   z
US/Easternr  r;   r#   r.   r/   rÛ  r™  r7   ©r   r0   )
r   r   rK   r   r$   Ú	normalizerS   r§   rt   r=   )r-   rU   rb   rv   r   r   r   Útest_resample_dst_anchorT  s"    ÿþþþrã  c                 C   s&  t ddddd� | ¡}t|jƒ}t|||dœ|dd�}d	d
ddœ}| d¡}| |¡g d¢ }tg d¢g d¢g d¢dœt ddddd� | ¡d�}t ||d¡ | d¡}| |¡g d¢ }	tg d¢g d¢g d¢dœt ddddd� | ¡d�}
t |	|
d¡ | d¡}| |¡g d¢ }tg d¢g d¢g d¢dœt ddddd� | ¡d�}t ||d ¡ | d!¡}| |¡g d¢ }td"d#gd$d%gd#d&gdœt ddd!dd� | ¡d�}t ||d'¡ |d(d)… }| d*¡}| d	d
ddœ¡g d¢ }tg d+¢g d,¢g d-¢dœt d(d)d*dd� | ¡d�}t ||d.¡ d S )/Nz
2013-09-30rg  Z30Minr\  r]  r8  r8   r9   r@   rA   rØ   rÏ   )r   é0   i€  éÐ  i   ér  )é/   i  éÏ  i  éq  é2  )rä  éP  rë  rë  iR  éÁ   z	9/30/2013z	11/4/2013r#   zW-MON Frequencyz2W-MON)r   rä  rå  ræ  )rç  rè  ré  rê  )rä  i   i¢  rì  z
11/11/2013z2W-MON Frequencyr™  )r   rä  é  )rç  é  rê  )rä  iÒ  é1   z9/1/2013z	11/1/2013zMS FrequencyÚ2MSr   rí  rî  rê  rï  z2MS Frequencyz
10/26/2013z
10/29/2013r.   )ià  i  iB  ræ  )i  iA  ré  i¡  )rä  rÞ   rä  rä  zD Frequency)	r   rK   r}   r×  r   rt   rR   rS   r§   )r-   rU   r¥   rb   r‘  Úrsr]   rv   Zrs2rÛ   Z	expected2Zrs3Zresult3Z	expected3Zrs4Zresult4Z	expected4Zdf_dailyZrs_dZresult_dZ
expected_dr   r   r   Útest_resample_dst_anchor2h  s¶    ÿþ

ýÿþú
ý
ýÿþú
ý
ÿþý
ÿþþý
ýÿþú
ýrò  c                 C   sˆ   t  d¡}tdddƒ}t| |¡ddd� | ¡}td|d	� d
¡ ¡ }tdt	j
gd dg t| |¡dd
d� | ¡d	�}t ||¡ d S )NzEurope/Berlinr²  r_   é   ri   rk  ry   r;   r#   r  ç      @rr   r|   )ÚpytzÚtimezoner   r   ZlocalizerK   r
   rt   r>   r   rœ   rS   rT   )r-   r   rÜ  rÙ   r]   rv   r   r   r   Útest_downsample_across_dstÄ  s    
þr÷  c                 C   sd   t tg d¢dd� | ¡g d¢d�}| d¡ ¡ }t ddgtd	d
gddd� | ¡d�}t ||¡ d S )N)z
2017-03-25ú
2017-03-26z
2017-03-27z
2017-03-28z
2017-03-29úEurope/Amsterdamr  )rg   rz   rÈ   é   rw  )r$   r¾   Z1Wrà  é*   rø  z
2017-04-02r~  rá  r#   )r   r   rK   rt   r=   rS   r§   )r-   rb   r]   rv   r   r   r   Ú!test_downsample_across_dst_weeklyÑ  s&    þýû
ÿþþrü  c                 C   sb   t ddddd� | ¡}t|tjd�}| d¡ ¡ }tt ddd	dd
� | ¡tjd�}t ||¡ d S )Nz
2013-04-01z
2013-05-01zEurope/Londonr  rá  r9   r~  z
2013-04-07r;   )r0   rk   r   )	r   rK   r
   r   r`   rt   r>   rS   rT   )r-   r[   r&   r]   rv   r   r   r   Ú#test_downsample_across_dst_weekly_2ä  s    ÿÿürý  c           	      C   s¸   t ddddƒ}t ddddƒ}t||dd� | ¡}| d¡ d	¡}ttt|ƒƒƒ}t||d
�}| 	t
dd�¡ ¡ }tddd�jd	dd�}t|dd� | ¡}tg d¢|d
�}t ||¡ d S )Niâ  rg   rr   rz   r;   rh  r/   rÚ  zAmerica/Havanar#   rþ   z
2018-11-03©rk   T)rd  r.   )g      @g      <@g     @F@)r   r   rK   r`  rÝ  râ   r}   r"   r   rM   r   r>   r   rS   r§   )	r-   r2   r3   r$   r¾   Z	dataframer]   rU   rv   r   r   r   Útest_downsample_dst_at_midnightô  s    ÿrÿ  c           	      C   sê   t tjdtjddgƒ | ¡}tg d¢|d�}t g d¢ƒ | ¡}tg d¢|d�}t | d¡ ¡ |¡ t ddgƒ | ¡}td	d
g|d�}t | d¡ ¡ |¡ t dgƒ | ¡}tdg|d�}t | d¡ ¡ |¡ t | d¡ ¡ |¡ d S )Nú1970-01-01 00:00:00ú1970-01-01 00:00:01ú1970-01-01 00:00:02)r   rr   r;   r|   rg   r#   )r   r  r  )rj  ç      @ç      &@Z1srô  r  Z2sr  Z3sZ60s)	r   rÊ   ÚNaTrK   r   rS   r§   rt   r>   )	r-   r$   ÚframeZindex_1sZframe_1sZindex_2sZframe_2sZindex_3sZframe_3sr   r   r   Útest_resample_with_nat  s6    ûÿø	ÿþÿr  c                 C   s¬   t dddƒt dddƒg}td|i|d�}|j | ¡|_tt dddƒtjt dddƒgtddd	d
� | ¡dd�}| d	¡ 	¡ d }t
 ||¡ |d  d	¡ 	¡ }t
 ||¡ d S )Nià  r7   rw  rÅ   ry  r#   z
2016-01-15rr   Z2Dry   )r$   rl   )r   r   r$   rK   r
   rÊ   r  r   rt   ÚfirstrS   rT   )r-   rÙ   rb   r  r  r   r   r   Útest_resample_datetime_values&  s    ýr	  c                 C   s„   dd„ }| j  |¡| _ d}|  d¡ ||¡}|  d¡ ¡  |¡}t ||¡ |  d¡j||d�}|  d¡ ¡  |¡}t ||¡ d S )Nc                 S   s   t  | ¡| S r   ©r   r>   ©r¾   Úadd_argr   r   r   rY   =  s    z3test_resample_apply_with_additional_args.<locals>.fr_   r.   )r  )r$   rK   rt   r½   r>   ÚmultiplyrS   rT   )ru   r-   rY   Ú
multiplierr]   rv   r   r   r   Ú(test_resample_apply_with_additional_args;  s    r  c                  C   sÒ   dd„ } d}t dddœtddd�d	�}d
}tjt|d��. | d¡ d¡ | |¡ t	¡}W d   ƒ n1 sl0    Y  d
}tjt|d��* | d¡ d¡ 
¡  |¡}W d   ƒ n1 s¸0    Y  t ||¡ d S )Nc                 S   s   t  | ¡| S r   r
  r  r   r   r   rY   O  s    z4test_resample_apply_with_additional_args2.<locals>.fr_   r7   r   r­   Z2017rþ  r#   r{  r‹   r®   r.   )r   r   rS   rë   rì   rM   rt   rR   rƒ  r‹  r>   r  r§   )rY   r  rb   r’   r]   rv   r   r   r   Ú)test_resample_apply_with_additional_args2M  s    <8r  )r7   r   rr   zn1, freq1, n2, freq2)
)é   r&   ç      à?r   )é<   r&   r7   r   )i  r&   r7   r  )r  r   r7   r  )i`T  r&   g      Ð?r.   )r<  r&   r7   r.   )iÀ¨  r&   r  r.   )i   r   r7   r.   )rz   r  r  r.   )é   r  r7   r.   c                 C   st   | | }|| }t dd|d� |¡}ttt|ƒƒ|d�}	|	 t|ƒ| ¡ ¡ }
|	 t|ƒ| ¡ ¡ }t 	|
|¡ d S )Nz
1991-09-05z
1991-09-12r/   r#   )
r   rK   r
   r}   r"   rt   r±   r>   rS   rT   )Zn1Zfreq1Zn2Zfreq2rÉ  r-   Zn1_Zn2_rU   ÚserrÚ   rÛ   r   r   r   Ú test_resample_equivalent_offsets^  s    r  z"first,last,freq,exp_first,exp_last))Ú19910905Ú19920406r.   r  Ú19920407)z19910905 00:00ú19920406 06:00r.   r  r  )ú19910905 06:00r  r  r  z19920406 07:00)Z19910906r  r»   Ú19910831Ú19920430)r  r  r»   r  Ú19920531)z1991-08z1992-04r»   r  r  c                 C   sz   t | ƒ} |  | j¡ |¡} t |ƒ}| |j¡ |¡}t|ƒ}t|ƒ}tjj |¡}t	| ||dd�}||f}||ksvJ ‚d S )Nr)   rÙ  )
r   rr  r0   rK   r   rÊ   rŠ  ZfrequenciesZ	to_offsetr   )r  r†   r0   Z	exp_firstÚexp_lastr-   r]   rv   r   r   r   Útest_get_timestamp_range_edgesz  s    r   Ú
duplicatesTFc                 C   sÞ   t dddd� |¡}ttdƒ|d�}t||d dœƒ}| rDddg|_d	}tjt|d
��" | 	d¡ 
tj¡}W d   ƒ n1 s~0    Y  ttjddgddgddgddggtjd�tg d¢dd� |¡|jd�}t ||¡ d S )Nz
2012-01-31r»   rz   ©r2   r0   rk   r#   r   r­   r®   z!using DatetimeIndexResampler.prodr‹   r%  r   r  r  éÒ   rë  rå  iÞ  i´  r©   )z
2012-03-31z
2012-06-30z
2012-09-30z
2012-12-31úQE-DECr/   r¤   )r   rK   r
   r}   r   ra   rS   rë   rì   rt   r½   r   r?   rL   r8   r   r§   )r!  r-   r$   r~   rb   r’   r]   rv   r   r   r   Útest_resample_apply_product”  s$    
0&ÿþûr%  z$first,last,freq_in,freq_out,exp_last))ú
2020-03-28ú
2020-03-31r.   r_  z2020-03-30 01:00)r&  ú
2020-10-27r.   r_  ú2020-10-27 00:00)ú
2020-10-25r(  r.   r_  z2020-10-26 23:00)r&  r'  r_  r.   z2020-03-30 00:00)r&  r(  r_  r.   r)  )r*  r(  r_  r.   z2020-10-26 00:00)r  r†   Úfreq_inÚfreq_outr  c           	      C   sV   t dt| ||dd� |¡ƒ}| |¡ ¡ }t dt| ||dd� |¡ƒ}t ||¡ d S )NrÓ   rù  r]  )r
   r   rK   rt   rî   rS   rT   )	r  r†   r+  r,  r  r-   r~   r]   rv   r   r   r   Ú#test_resample_calendar_day_with_dst«  s    'ÿþr-  )r@   rA   r  r†   c                 C   sn   t dddd� |¡}tdtjtjg|ƒ}t| d¡| ƒdd�}ttjgtd	gd
d� |¡d�}t 	||¡ d S )NZ2020r»   rr   r"  r7   r%  r   )Z	min_countr'  r$  r/   r#   )
r   rK   r
   r   rœ   r–   rt   r   rS   rT   )rÅ  r-   r$   r  r]   rv   r   r   r   Ú+test_resample_aggregate_functions_min_countÝ  s    þr.  c                 C   s’   t tdddd� |¡dgg d¢d | d�}|j|jd	k |jd
kB d d …f }| d¡ ¡ }t dtjdgdgtdddd� |¡d�}t	 
||¡ d S )Nrà   z2000-01-03 23r;  ró   r„   )r   r7   r   r   )r$   ra   r¾   r:   z
2000-01-02z
2000-01-03r.   r7   r   rá   )r   r   rK   r  r$   rt   rA   r   rœ   rS   r§   )Zany_unsigned_int_numpy_dtyper-   rb   r]   rv   r   r   r   Útest_resample_unsigned_intê  s$    ÿ
ú"
ÿýr/  c                  C   sj   t ddddd�} tg d¢| d�}| d¡ ¡ }tt g d	¢¡ d
¡dd�}tg d¢|d�}t 	||¡ d S )Nz
0300-01-01rà   r&   Z100YE)r-   r0   )r7   ri   r   rÇ   r;   r|   r7   ri   r   rÇ   r;   r|   r7   ri   r   rÇ   r;   r#   Z200YE)	z
0300-12-31z
0500-12-31z
0700-12-31z
0900-12-31z
1100-12-31z
1300-12-31z
1500-12-31z
1700-12-31z
1900-12-31zdatetime64[s]z	200YE-DECr/   )	rÓ   rj  ç      @r¯  rj  r0  r¯  rj  r0  )
r   r
   rt   r>   r   r   rL   rƒ  rS   rT   )r[   r  r]   Úexpected_idxrv   r   r   r   Útest_long_rule_non_nano  s    ÿôòr2  c                  C   sd   t g g dœƒ ddi¡} | jdddddd�d  ¡ }tg dddd	�}tg |dd
d�}t ||¡ d S )N)r~   r¥   r~   zdatetime64[ns, Atlantic/Faroe]rð  rp   r2   )ÚonrF   rG   rJ  r¥   )r0   rl   r:   r`   )r$   rl   r:   )r   rƒ  rt   r=   r   r
   rS   rT   )rb   r]   r1  rv   r   r   r   Ú"test_resample_empty_series_with_tz  s    ÿÿÿr4  zfreq, freq_depr))Z2MEZ2M)Z2QEZ2Q)z2QE-SEPz2Q-SEP)Ú1YEZ1Y)ú2YE-MARz2Y-MAR)r5  Z1A)r6  z2A-MARc                 C   sœ   d|dd … › d�}d| dd … › d� t tdƒtdddd	�d
�}| | ¡ ¡ }tjt|d�� | |¡ ¡ }W d   ƒ n1 s‚0    Y  t ||¡ d S ©Nú'r7   z$' is deprecated and will be removed z!in a future version, please use 'rS  r_   Z20130101r«   rÆ   r#   r‹   ©	r
   r}   r   rt   r>   rS   rë   rì   rT   ©r0   Z	freq_deprZdepr_msgr&   rv   r]   r   r   r   Ú test_resample_M_Q_Y_A_deprecated+  s    ,r;  ))Z2BMEZ2BM)Z2BQEZ2BQ)z2BQE-MARz2BQ-MARc                 C   sœ   d|dd … › d�}d| dd … › d� t tdƒtdddd	�d
�}| | ¡ ¡ }tjt|d�� | |¡ ¡ }W d   ƒ n1 s‚0    Y  t ||¡ d S r7  r9  r:  r   r   r   Útest_resample_BM_BQ_deprecatedC  s    
,r<  c              	   C   s¢   t ddd| d�}td|i|d�}|jddd	�}| ¡ }ttd
ddƒtd
ddƒgdd� | ¡}tdtd
ddƒtd
ddddƒgi|d� d| › d�¡}t 	||¡ d S )Nú
2020-01-31Ú1minép  ©r2   r0   rk   r-   r~   r#   r™  rD   r’  éä  r7   r   r/   ri   rr   é;   úM8[ú]©
r   r   rt   r†   r   r   rK   rƒ  rS   r§   )r-   rU   rb   Úgroupedr]   Úexp_dtirv   r   r   r   Útest_resample_ms_closed_rightW  s     ÿþþ
ýrH  r¯   r¾  r/   c                 C   sÊ   t ddd|d�}td|i|d�}|j| dd�}| ¡ }ttd	d
dƒtd	d
dƒtd	ddƒtd	ddƒg| d� |¡}tdtd	d
dƒtd	ddƒtd	ddƒtd	ddddƒgi|d� d|› d�¡}t 	||¡ d S )Nr=  r>  r?  r@  r~   r#   rD   r’  rA  r7   r  r0  r   rr   ri   r/   rB  rC  rD  rE  )r0   r-   rU   rb   rF  r]   rG  rv   r   r   r   Útest_resample_c_b_closed_rightg  s6    



üùø	


üÿ÷

örI  c                 C   sŽ   t ddd| d�}tg d¢|d�}|jdddd	� ¡ }ttd
ddƒtd
ddƒtd
ddƒtd
ddƒgdd� | ¡}tg d¢|d�}t ||¡ d S )Nz
2023-09-26rf   r;  )rk   r0   r-   )r7   r   rr   ri   r;   rf   r#   r¯   rD   rs   iç  rx   ró  é   é   é   r/   )rÓ   g      @g      @g      @)	r   r
   rt   r>   r   r   rK   rS   rT   )r-   rU   r  r]   rG  rv   r   r   r   Útest_resample_b_55282†  s$    



üùø	þrM  Zpyarrowr   rÚ  z/TODO: Set ARROW_TIMEZONE_DATABASE env var in CI)Ú	conditionr¦  c                 C   s^   t tddd�dd�}| d ur(|j | ¡}t tjdtjd�|d�}| d¡ ¡ }t	 
||¡ d S )Nz
2020-01-01r;   rþ  ztimestamp[ns][pyarrow]r©   r#   rþ   )r
   r   rÜ  r`  r   r¼   r`   rt   r>   rS   rT   )r   r[   rv   r]   r   r   r   Útest_arrow_timestamp_resampleœ  s    rO  ) r   Ú	functoolsr   Únumpyr   r�   rõ  Zpandas._libsr   Zpandas._typingr   Zpandas.compatr   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandasrÊ   r   r	   r
   r   r   r   r   Zpandas._testingZ_testingrS   Zpandas.core.groupby.grouperr   Zpandas.core.indexes.datetimesr   Zpandas.core.indexes.periodr   r   Zpandas.core.resampler   r   Zpandas.tseriesr   Zpandas.tseries.offsetsr   Zfixturer   r   r%   r-   r6   r^   rd   ÚmarkZparametrizerw   r   rˆ   r“   r˜   r¨   rÀ   rÌ   rÒ   rÜ   rä   ræ   rí   rï   rò   rö   rý   r  r  r  r  r  r)  r,  r/  r2  r5  r7  r:  r>  r?  rA  rH  rR  rã   rV  rW  r[  r^  ra  rl  rn  ro  rt  r}  r‚  r„  r…  rˆ  rŒ  r•  r—  r˜  rš  r�  rž  rŸ  r   r£  r¥  r+   Zxfailr¨  r­  r®  r±  r³  râ   Ú__annotations__r  r´  Zdates3r½  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/  r2  r4  r;  r<  rH  rI  rM  Z
skip_if_norO  r   r   r   r   Ú<module>   s  $	




$þþþøþ		þþ	þ
þ
@:


	0ýþ



úþ
ÿ

%!7




ÿþüþ






ú
2ÿ

ýù	
 \ þþþ$
ÿþþ
þþþþ