
    Pi                       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Z d dlmZ d dlmc 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. d dl/m0Z0 ej1        d             Z2d Z3d Z4ej5        6                    ddd fdd fg          d             Z7d Z8d Z9ej5        6                    dg d          d             Z:d Z;d  Z<d! Z=d" Z>d# Z?d$ Z@ej5        6                    d%g d&          d'             ZAej5        6                    d(d)d*g          d+             ZBd, ZCd- ZDd. ZEd/ ZFej5        6                    d(g d0          ej5        6                    d1g d2          d3                         ZGd4 ZHd5 ZId6 ZJd7 ZKd8 ZLej5        6                    d9d:d;d<d=d>gd?d;d<d@d>gd*dAdBdCd>gg          dD             ZMdE ZNdF ZOdG ZPej5        6                    d(g dH          dI             ZQej5        6                    dJdKdLg          dM             ZRdN ZSdO ZTej5        6                    dPdQdRidQ edS          idTdUdVdQdWidXdYig          dZ             ZUej5        6                    dQd[d\d]d^d_ eV            g          d`             ZWej5        6                    dXd[dad_ eV            g          db             ZXdc ZYdd ZZde Z[df Z\dg Z]dh Z^di Z_dj Z`dk Zadl Zbdm Zcdn Zddo Zedp Zfdq Zgdr Zhds Ziej5        6                    d(g dt          du             Zjej5        6                    dvddwgddxgg          dy             Zkdz Zld{ Zmd| Znd} Zod~ Zpej5        6                    dg d          d             Zqd Zrd Zsd Zt e dddK           e ddd           e ddd           e ddd           e ddd           e ddd          gZueve         ewd<   g euddL         ejx        eudLd         ejx        eudd         Zyeve         ewd<   ejx        geuejx        Zzej5        6                    deueyezg          d             Z{ej5        6                    deueyezg          d             Z|d Z}d Z~ej5        6                    dd d d gg d          d             Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zej5        6                    dg d          ej5        6                    dg d          d                         Zej5        6                    dg d          d             Zej5        6                    dddg          d             Zej5        6                    dg d          dededededef
d            Zej5        6                    dg d          d             Zd Zd ZdÄ Zej5        6                    d(g dĢ          dń             Zej5        6                    d(g dƢ          dǄ             Zej5        6                    ddddgfdddgfdddgfdddgfg          dӄ             ZdԄ Zej5        6                    d(ddg          d(efdׄ            Zd؄ Z ej        d٦          ej5        6                    dd ej        dej5                             e            dܬݦ          ަ          g          d߄                         Z ej        d٦          d             Zd Zej5        6                    d(ddg          d             ZdS )    datetime)partialN)lib)Day)DatetimeNaTType)is_platform_windows)Pandas4Warning)	DataFrameIndexSeries	Timedelta	Timestampisnanotna)Grouper)
date_range)Periodperiod_range)DatetimeIndex_get_timestamp_range_edges)offsets)	to_offset)Minutec                      dd} | S )zI
    Series with date range index and random data for test purposes.
    Dc                     t          | ||          }t          t          j                            d                              t          |                    |          S )Nfreq   index)r   r   nprandomdefault_rngstandard_normallen)startendr   rngs       }/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/resample/test_datetime_index.py_simple_date_range_seriesz;simple_date_range_series.<locals>._simple_date_range_series0   sN    $///bi++A..>>s3xxHHPSTTTT    r    )r,   s    r+   simple_date_range_seriesr0   *   s"    U U U U %$r-   c                 @   t          t          ddd          t          ddd          d          }|                    |           }t          t	          j        dgt          |          z            |d          }t          t          d                    }|	                    |          }|
                                 g d	}|D ]}|                    |d d
           t          t          d          dd          }|	                    |          }|
                                 g d	}|D ]}|                    |d d
           |j        dk    sJ t          |                                                                          sJ dgdgdz  z   }|ddd         }	|	                    |dd                    }	t#          |	d                              |           }	t          ||	          }
|                    d          }t'          j        ||
           d S )N     
   Minr   int64r"   dtype   summeanprodminmaxvarTaltnumeric_onlyrightr   closedlabel!
  i 
  r   5minr!   r;   )r   r   as_unitr   r#   arrayr'   r   r   groupbyohlc_cython_agg_generalngroupsr   r<   allappendr   aggtmassert_series_equal)unitr"   dtisbgfuncsfarridxexpectresults               r+   test_custom_grouperra   7   s   xa++XdAr-B-BOOOE
--

Crxc#hh''s'BBBAVAYYA			!A FFHHH888E > >	aT====VAYYwg>>>A			!AFFHHH888E > >	aT====9??      #d

C
a1f+C
**SX

C
&
)
)
)
1
1$
7
7CCs###F UU5\\F66*****r-   c                 (   t          t          ddd          t          ddd          d          }t          t          d          dd          }|                    |           }t          t          j                            d	                              t          |          df          |d
          }|
                    |                              d          }t          |j                  dk    sJ t          |j                  dk    sJ d S )Nr2   r3   r4   r   r   r9   rD   rE   r    float64r7   r;   rH   )r   r   r   r   rK   r   r#   r$   r%   r'   rM   rS   columnsr"   )rV   r"   rY   rW   dfrs         r+   test_custom_grouper_dfrg   \   s    xa++XdAr-B-BMMMEVAYYwg>>>A
--

C	
	a  ''S277s)
 
 
B 	

1%  Aqy>>Rqw<<4r-   zclosed, expectedrD   c           	          t          | j        d         | dd                                         | dd                                         | dd                                          gt          dddd	          
          S )Nr   r3         1/1/2000   rJ   r"   periodsr   namer!   )r   ilocr<   r   rX   s    r+   <lambda>rr   n   sk    fAacFKKMM1QrT7<<>>1RSS6;;==I QV'RRR   r-   leftc           	          t          | d d                                         | dd                                         | dd                                          gt          dddd                    S )	Nr9   r4   1/1/2000 00:05   rJ   r"   rm   r!   )r   r<   r   rq   s    r+   rr   rr   u   sj    f2A2q2w||~~qv{{}}= $af7     r-   c                    t          ddd          }t          t          t          |                    |          }d|j        _        |j                            |          |_         ||          }|j                            |          |_        |                    d| d	                                          }t          j
        ||           d S )
N1/1/2000 00:00:001/1/2000 00:13:00r5   r   r!   r"   rJ   rD   rF   rG   )r   r   ranger'   r"   ro   rK   resampler<   rT   rU   )rF   expectedrV   r"   rX   r`   s         r+   test_resample_basicr~   i   s    , *,?eLLLEuSZZ  ...AAGLgood##AGx{{H^++D11HNZZvWZ==BBDDF68,,,,,r-   c                 V   t          t          d          t          ddd                              |           d          }|                    d                                          }t          g dt          dd	d                              |           d          }t          j        ||           |                    d                                          }t          g d
t          dd	d                              |           d          }t          j        ||           d S )N	   rk   r>   rn   r   Int64r7   3min)rv         rv   )r3   rl      Float64)	r   r{   r   rK   r|   r;   rT   rU   r<   )rV   tsr`   r}   s       r+   test_resample_integerarrayr      s*   	aQU;;;CCDII
 
 
B
 [[  $$&&FQV<<<DDTJJ  H
 68,,,[[  %%''F		QV<<<DDTJJ  H
 68,,,,,r-   c                    t          ddd          }t          t          t          |                    |          }d|j        _        |j                            |           |_        |                    d                                          }t          t          d          d	d	
          }|                    |                              d           }t          j        ||           d S )Nrx   ry   r5   r   r!   r"   5Minr9   rs   rE   c                     | j         d         S NrI   rp   xs    r+   rr   z-test_resample_basic_grouper.<locals>.<lambda>   s    r
 r-   )r   r   r{   r'   r"   ro   rK   r|   lastr   r   rM   rS   rT   rU   )rV   r"   rX   r`   grouperr}   s         r+   test_resample_basic_grouperr      s    *,?eLLLEuSZZ  ...AAGLgood##AGZZ$$&&F6!99V6BBBGyy!!%%&:&:;;H68,,,,,r-   zkeyword,value))rG   righttt)rF   r   )
conventionstartttc                 n   t          ddd          }t          t          t          |                    |          }d|j        _        |j                            |          |_        d| d|  d	}t          j        t          |
          5   |j
        di | |i d d d            d S # 1 swxY w Y   d S )Nrx   ry   r5   r   r!   r"   zUnsupported value z for ``matchrJ   rJ   )r   r   r{   r'   r"   ro   rK   pytestraises
ValueErrorr|   )keywordvaluerV   r"   seriesmsgs         r+   test_resample_string_kwargsr      s	    *,?eLLLEE#e**%%U333FFL<''--FL
6u
6
6G
6
6
6C	z	-	-	- 6 655GU#35556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s   B**B.1B.c                    | dk    rt          j        d           t          ddd          }t          t	          t          |                    |          }d|j        _        |j                            |          |_        t          j
        |          }d	|d	<   d
|d
d<   d|dd<   d|dd <   |                    |                              |           }t          dddd                              |          |_         t          |                    ddd          |                       }t          j        ||           d S )NrN   z!covered by test_resample_how_ohlcrx   ry   r5   r   r!   r"   r   r3   ri   r    rj   rv   rk   rl   rJ   rm   rD   rz   )r   skipr   r   r{   r'   r"   ro   rK   r#   	ones_likerM   rS   getattrr|   rT   rU   )downsample_methodrV   r"   rX   	grouplistr}   r`   s          r+   test_resample_howr      sL   F""7888*,?eLLLEuSZZ  ...AAGLgood##AGQIIaLIacNIadOIbccNyy##''(9::HAF  gdmm NW	

6'
99;L   F 68,,,,,r-   c           	         t          ddd          }t          t          t          |                    |          }d|j        _        |j                            |           |_        t          j        |          }d|d<   d|dd	<   d
|d	d<   d|dd <   d }t          |
                    |                              |          j                                        t          dddd                              |           g d          }|                    ddd                                          }t!          j        ||           d S )Nrx   ry   r5   r   r!   r"   r   r3   ri   r    rj   rv   c                    t          |                                           rt          j        t          j        d          S | j        d         |                                 |                                 | j        d         gS Nrl   r   rI   r   rQ   r#   repeatnanrp   r?   r>   groups    r+   _ohlcz%test_resample_how_ohlc.<locals>._ohlc   Y    ;;?? 	(9RVQ'''
1uyy{{EIIKKBHHr-   rk   rl   rJ   rm   )openhighlowcloser"   rd   rD   rz   )r   r   r{   r'   r"   ro   rK   r#   r   r   rM   rS   valuestolistr|   rN   rT   assert_frame_equal)rV   r"   rX   r   r   r}   r`   s          r+   test_resample_how_ohlcr      sW   *,?eLLLEuSZZ  ...AAGLgood##AGQIIaLIacNIadOIbccNI I I
 			)  ''.5577QV'JJJRR
 
 100  H ZZwgZ>>CCEEF&(+++++r-   c                    t          j        dt           j                  }d}t          j        t
          |          5  t          dt          |          d                              |           }d d d            n# 1 swxY w Y   t          ||d|	          }dd} G d d          }|
                    d                              |          }|
                    d                              d           }|
                    d                              t          |                    }	|
                    d                              t          |d                    }
|
                    d                               |                      }t          j        ||           t          j        ||	           t          j        ||
           t          j        ||           d S )Nr9   r8   :'d' is deprecated and will be removed in a future version.r   
2014-01-01dr(   rn   r   ABr!   r3   c                 :    t          t          |                     S Nstrtype)r   as     r+   fnz'test_resample_how_callables.<locals>.fn   s    477||r-   c                       e Zd Zd ZdS ),test_resample_how_callables.<locals>.FnClassc                 :    t          t          |                    S r   r   )selfr   s     r+   __call__z5test_resample_how_callables.<locals>.FnClass.__call__   s    tAww<<r-   N)__name__
__module____qualname__r   r/   r-   r+   FnClassr      s#        	  	  	  	  	 r-   r   MEc                 :    t          t          |                     S r   r   r   s    r+   rr   z-test_resample_how_callables.<locals>.<lambda>   s    #d1gg,, r-   r    )r   )r3   )r#   aranger6   rT   assert_produces_warningr
   r   r'   rK   r   r|   applyr   r   )rV   datar   indre   r   r   df_standard	df_lambda
df_partialdf_partial2df_classs               r+   test_resample_how_callablesr      s$   9Qbh'''D
FC		#N#	>	>	> X X|SYYSIIIQQRVWWX X X X X X X X X X X X X X X	D))	5	5	5B                   ++d##))"--KD!!''(>(>??IT""((55J++d##))'"*:*:*:;;K{{4  &&wwyy11H+y111+z222+{333+x00000s   3A==BBc                 &   g d}t          ddgdz  it          j        |                    }|j                            |           |_        |                    d                                          }t          dg dit          ddd	
                              |                     }t          j	        ||           |                    d                                          }t          dg dit          ddd	
                              |                     }t          j	        ||           |                    d                                          }t          dddgit          ddd
                              |                     }t          j	        ||           |                    d                                          }t          dddgit          ddd
                              |                     }t          j	        ||           |                    d                                          }t          dddgit          ddd
                              |                     }t          j	        ||           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   r3      r!   6s)rl   r   rl   r    z
2014-11-08rl   r   rn   7s)rl   r4   rl   r3   11srj      r    13s   ri   17s   rv   )
r   pdto_datetimer"   rK   r|   r;   r   rT   r   )rV   r   re   r`   r}   s        r+   test_resample_roundingr   
  s   
 
 
B* 
GaS2X&bnR.@.@	A	A	ABx%%BH[[""$$F	,,,D!<<<DDTJJ  H &(+++[[""$$F	--- D!<<<DDTJJ  H &(+++[[##%%F	2q'E1===EEdKK  H &(+++[[##%%F	2q'E1===EEdKK  H &(+++[[##%%F	2q'E1===EEdKK  H &(+++++r-   c                 <
   t          t          ddd          t          ddd          dd                              |           }t          t          j                            d                              t          |                    |          }d}t          j	        t          |	          5  |                    d
                                          }d d d            n# 1 swxY w Y   t          |          dk    sJ |j        j        g dk                                    sJ |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    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                                    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                                    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                                    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    sJ |j        d          |d         k    sJ |j        j        dk    sJ d S )!Nr2   r3   r4   r   r"   r(   r)   r   ro   r    z>'w-sun' is deprecated and will be removed in a future version.r   zw-sunrv   )ri   ri   ri   r   z1/2/2005z1/9/2005rI   W-MONz1/3/2005z	1/10/2005zW-TUEz1/4/2005zW-WEDz1/5/2005zW-THUz1/6/2005zW-FRIrl   z1/7/2005r   r   )rl   r   r3   r    rv   rl   r   r9   )r   r   rK   r   r#   r$   r%   r'   rT   r   r
   r|   r   r"   	dayofweekrQ   rp   ro   )rV   rW   rX   r   r`   s        r+   test_resample_basic_from_dailyr   J  s6   
tQ""q"(=(=Cg  gdmm  	ry$$Q''..s3xx88#>>A KC		#N#	>	>	> , ,G$$))++, , , , , , , , , , , , , , , v;;!L"iii/4466666;q>Qz]****;q>Qz]****;q>QVBZ''''ZZ  %%''Fv;;!L"q!f,1133333;q>Qz]****;q>Q{^++++ZZ  %%''Fv;;!L"q!f,1133333;q>Qz]****;q>Q{^++++ZZ  %%''Fv;;!L"q!f,1133333;q>Qz]****;q>Q{^++++ZZ  %%''Fv;;!L"q!f,1133333;q>Qz]****;q>Q{^++++ZZ  %%''Fv;;!L"q!f,1133333;q>Qz]****;q>Q{^++++ ZZ__!!##Fv;;!L"&;&;&;;@@BBBBB;q>Qz]****;q>Qz]****;q>Qz]****<''''''s   /(C##C'*C'c                    t          ddd                              |           }t          d|          }|                    d                                          }|j        d         |d         k    sJ t          t          j        dd	          d
 t          dd	          D                       }|j                            |           |_        t          t          j        dd	          t          ddd                              |                     }|                    d          	                                }t          j        |t          d|j                             |                    d                                          }|                    d                                          }t          j        ||           t          j        ||           d S )Nz01-Jan-2014z05-Jan-2014r   r   r3   r!   r         ?ri   c           	      4    g | ]}t          d d|dd          S )i  r3   r   r   r   ).0is     r+   
<listcomp>zCtest_resample_upsampling_picked_but_not_correct.<locals>.<listcomp>  s(    !S!S!S!(4Ar1"="=!S!S!Sr-   19750101r9   r   )r   rK   r   r|   r<   r"   r#   r   r{   countrT   rU   r;   )rV   datesr   r`   rX   r}   result1result2s           r+   /test_resample_upsampling_picked_but_not_correctr    s   }m#>>>FFtLLEAU###F__S!!&&((F<?eAh&&&& 	
	#q!S!SuQPQ{{!S!S!S	 	 	A good##AG
	#qQS999AA$GG  H
 ZZ__""$$F66!8>#B#B#BCCCjjoo!!##Gjjoo""$$G7H---7H-----r-   r\   r:   c           	         t          t          j                            d                              d          t          t          d          t                    t          ddd          	          }|j	        
                    |          |_	        t          d
          }|                    |          }|                    | d d           d S )Nr    2   rl   ABCDr   
2000-01-01r	  r   r   rd   r"   r   r   TrA   )r   r#   r$   r%   r&   r   listobjectr   r"   rK   r   rM   rO   )r\   rV   re   rY   rZ   s        r+   "test_resample_frame_basic_cy_funcsr    s    	
	a  0099d6ll&111r<<<
 
 
B
 x%%BHTA


1A !D99999r-   r   YEr   c           	         t          t          j                            d                              d          t          t          d          t                    t          ddd          	          }|j	        
                    |          |_	        |                    |                                           }t          j        |d
         |d
                             |                                                      d S )Nr    r  r
  r   r  r	  r   r   r  r   )r   r#   r$   r%   r&   r   r  r  r   r"   rK   r|   r<   rT   rU   )r   rV   re   r`   s       r+   test_resample_frame_basic_M_Ar    s    	
	a  0099d6ll&111r<<<
 
 
B
 x%%BH[[##%%F6#;3(8(8(>(>(C(C(E(EFFFFFr-   c                 <   t          t          ddd          t          ddd          dd                              |           }t          t          j                            d                              t          |                    |          }|                    d          	                                }t          |          d	k    sJ |j
        d
         |j
        d
         k    sJ |j
        d         |j
        d         k    sJ |j        j        dk    sJ d S )Nr2   r3   r4   r   r"   r   r    r5   i2  r   rI   )r   r   rK   r   r#   r$   r%   r'   r|   ffillrp   r"   ro   )rV   rW   rX   r`   s       r+   test_resample_upsampler    s   
tQ""q"(=(=Cg  gdmm  	ry$$Q''..s3xx88#>>A ZZ$$&&Fv;;%;q>QVAY&&&&;r?afRj((((<''''''r-   c                    t          ddgt          d          t          d          g          }|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                    }|j                            |           |_        t          j        |	                    d          
                                |           d S )Nrj      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   rT   rU   r|   r<   )rV   rX   r}   s      r+   test_resample_how_methodr    s;   	R233233
	 	 	A good##AG	RVRVRVRVRVR8/00/00/00/00/00/00/00 
 
 
  H ^++D11HN1::e,,1133X>>>>>r-   c           
         t          ddd                              |           }t          dt          g d|          i          }t          ddd                              |           }t          dt          t	          t          |                    |          id	
          }|                    d                                          }t          j	        ||           d S )N2015010120150331BMEr(   r)   r   r   )r   )   ?   r!   r   r6   r   )
r   rK   r   r   r{   r'   r|   r   rT   r   )rV   r"   r}   re   r`   s        r+   test_resample_extra_index_pointr!    s    ZZeDDDLLTRRE#vlll%@@@ABBHZZcBBBJJ4PPE	Cc%jj 1 1???@	P	P	PB[[$$&&F&(+++++r-   c                    t          ddd                              |           }t          t          j                            d                              t          |                    |          }|                    d          	                    d          }|
                    |j        dd	          }t          j        ||           d S )
Nrk   rv   rJ   r   r    r>   limitr  methodr$  )r   rK   r   r#   r$   r%   r&   r'   r|   r  reindexr"   rT   rU   rV   r*   r   r`   r}   s        r+   test_upsample_with_limitr)    s    
Z
8
8
8
@
@
F
FC		%%a((88SBBC	H	HB[[%%A%..Fzz&,waz@@H68,,,,,r-   )1D10hr   r  rule)r  3ME15D30h15Min30sc                    t          dd||                               |          }t          t          j                            d                              t          |                    |          }|                    |          	                    d          }|
                    |j        dd          }t          j        ||           d S )Nrk   rv   )rn   r   tzr    r#  nearestr%  )r   rK   r   r#   r$   r%   r&   r'   r|   r4  r'  r"   rT   rU   )tz_aware_fixturer   r,  rV   r*   r   r`   r}   s           r+    test_nearest_upsample_with_limitr6    s     Z:J
K
K
K
S
S C 
	%%a((88SBBC	H	HB[[&&Q&//Fzz&,yzBBH68,,,,,r-   c                    t          t          ddd          t          ddd          d          }t          t          t	          |                    |          }d|j        _        |j                            |           |_        t          t          d                    }|
                    |                              d	           }|                    d
                                          }t	          |          t	          |          k    sJ t	          |j                  dk    sJ |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    sJ |d         |j        d         k    sJ d S )Nr2   r3   r    r5   r   r!   r"   r9   c                     | j         d         S r   r   r   s    r+   rr   z$test_resample_ohlc.<locals>.<lambda>  s    afRj r-   r   rl   r   ir   rI   r   r   r   )r   r   r   r{   r'   r"   ro   rK   r   r   rM   rS   r|   rN   rd   rp   r?   r>   )rV   r"   rX   r   r_   r`   xss          r+   test_resample_ohlcr;    s   xa++XdAq-A-ANNNEuSZZ  ...AAGLgood##AG6!99%%%GYYw##$8$899FZZ$$&&Fv;;#f++%%%%v~!####	RBf:####f:2b5''''e9"R%&&&&g;!&*$$$$	QBf:""""f:2A2$$$$e9"1"		####g;!&)######r-   c                 B   t          ddd                              |           }|                    t          ddd                              |                     }t          t	          t          |                    |          }|j        d d                             d                                          }t          |t                    sJ |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'   locr|   rN   
isinstancer   )rV   r"   rX   r   rY   s        r+   test_resample_ohlc_resultrF  *  s    z;S999AA$GGEKK
;#FFFNNtTTUUEuSZZ  ...A	l{l$$W--2244Aa#####	l{l$$W--2244Aa#######r-   c                 H   t          dd                              |           }|                    t          d          t          d          t          d          t          d          g          }t	          t          j        t          |                    |          }|                    d          	                                }|
                    t          |d	         |d
         d                              |                     }t          j        ||           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   dropr   r   r#   r   r'   r|   r<   r'  rT   r   )rV   r*   r"   re   r`   r}   s         r+   $test_resample_ohlc_result_odd_periodrI  7  s     \<
0
0
8
8
>
>CHHl##l##l##l##		
 E 
	#e**--U	;	;	;B[[""$$Fzz
3q63r7 E E E M Md S SzTTH&(+++++r-   c                    t          t          dd           dt          dd           dt          dd           dit          dd           dt          dd           dt          dd           d	id
                              ddgd          }|j                            |           |_        d|j        _        |                    d                                          }t          j
        |d                             d                                          |d                             d                                          gd|j                  }|j        j        d         dk    sJ t          j        ||           ddgddgg|_        |                    d                                          }t          j                            g d          |_        t          j        ||           d S )Nz2011-01-06 10:59:05r3  ia  z2011-01-06 12:43:33ic  z2011-01-06 12:54:09i /hYl    rT i )PRICEVOLUMErM  rL  r3   )axisColsr?  )rN  keysr   r   rY   cr   ))r   rQ  r   )r   rQ  r   )r   rQ  r   )r   rQ  r   )rY   r   r   )rY   r   r   )rY   r   r   )rY   r   r   )r   r   r'  r"   rK   rd   ro   r|   rN   r   concatnamesrT   r   
MultiIndexfrom_tuples)rV   re   resexps       r+   test_resample_ohlc_dataframerX  I  s    3===u3===u3===u 3===z3===z3===y 	
 	
 gx!g**   x%%BHBJO
++c




!
!C
)	H		s	#	#	(	(	*	*BwK,@,@,E,E,J,J,L,LMZ  C
 ;Q6))))#s###*sCj)BJ
++c




!
!C-++		
 		
 		
 CK #s#####r-   c                    t          t          ddd          t          ddd          d                              |           }t          t          j                            d                              t          |                    |          }|                    ddd	          	                                }|                    d
          	                                }t          |          dk    sJ t          |j        j        t          j                  sJ |j        j        t          j        d          k    sJ d S )Nr2   r3   r4   r   r  r    r   rD   rz   8h   r   )r   r   rK   r   r#   r$   r%   r'   r|   r<   rE  r"   r   r   
DateOffsetHour)rV   rW   rX   bsr`   s        r+   test_resample_reresampler_  y  s   
tQ""q"(=(=C  gdmm  	ry$$Q''..s3xx88#>>A	
Cw	7	7	<	<	>	>B[[##%%Fv;;"fl');<<<<<<Q//////r-   zfreq, expected_kwargszYE-DEC19902000zY-DECr  zYE-JUNzY-JUNz1990-01z2000-01Mc                 h    | dd          }|j                             |          |_         |                    |                                                                          }|                    |                                          }t          di ||_         t          j        ||           d S )Nz1/1/1990rk   r/   )r"   rK   r|   r<   	to_periodr   rT   rU   )r0   r   expected_kwargsrV   r   r`   r}   s          r+   !test_resample_timestamp_to_periodrf    s     
"	!*j	9	9Bx%%BH[[##%%//11F{{4  %%''H!44O44HN68,,,,,r-   c                    d }t          ddd                              |           }t          t          j                            d                              t          |                    |          }|                    dd	d	
          	                                }|j
        d         |j        d         k                                    sJ  ||dd                   }|j
        d         |k                                    sJ  ||dd                    }|j
        d         |k                                    sJ d S )Nc                    t          |                                           rt          j        t          j        d          S | j        d         |                                 |                                 | j        d         gS r   r   r   s    r+   r   ztest_ohlc_5min.<locals>._ohlc  r   r-   rx   z1/1/2000 5:59:50r  r   r    r!   rJ   rD   rz   z1/1/2000 00:00r   r3      ru   z1/1/2000 5:55:01z1/1/2000 6:00:00)r   rK   r   r#   r$   r%   r&   r'   r|   rN   rD  rp   rQ   )rV   r   r*   r   	resampledrW  s         r+   test_ohlc_5minrk    s?   I I I
 (*<5
I
I
I
Q
QRV
W
WC		%%a((88SBB#	N	N	NBF7'BBGGIIIM*+rwqz9>>@@@@@
%1R4//CM*+s27799999
%%&&'
(
(CM,-499;;;;;;;r-   c                 |   t          dd                              |           }|                    d          j        }t	          t
          j                            d                              t          |                    |          }|
                    d                                          }|                    d                                           }t          |          dk    sJ t          j        |j        d         |d	                    t          j        |j        d	         |d                    d S )
Nrk   	2/29/2000r9   r    r!   r   c                     | j         S r   )monthr   s    r+   rr   z,test_downsample_non_unique.<locals>.<lambda>  s    AG r-   r   r3   )r   rK   r   r   r   r#   r$   r%   r&   r'   r|   r<   rM   rT   assert_almost_equalrp   )rV   r*   rng2r   r`   r}   s         r+   test_downsample_non_uniquerr    s    
Z
-
-
5
5d
;
;C::a==D		%%a((88TCC4	P	P	PB[[##%%Fzz++,,1133Hv;;!6;q>8A;7776;q>8A;77777r-   c                    t          dd                              |           }|                    d          j        }t	          t
          j                            d                              t          |                    |          }d}t          j        t          |          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nrk   rm  r    r!   z/cannot reindex on an axis with duplicate labelsr   r   )r   rK   r   r   r   r#   r$   r%   r&   r'   r   r   r   asfreq)rV   r*   rq  r   r   s        r+   test_asfreq_non_uniqueru    s    
Z
-
-
5
5d
;
;C::a==D		%%a((88TCC4	P	P	PB
;C	z	-	-	-  
		#                 s   )CCC)r>   rJ   15minrB  4h12hc                    t          ddd                              |          }t          t          j                            d                              t          |                    |          }t          j        |d d<   |dd          	                    | dd          
                                }|	                    | dd          
                                }t          j        ||           d S )	Nz1/1/2000 04:00:00Q rX   r   r    r!   rs   rz   r   rK   r   r#   r$   r%   r&   r'   r   r|   r<   rT   rU   )r   rV   r*   r   r`   r}   s         r+   test_resample_anchored_ticksr|    s     (%c
B
B
B
J
J4
P
PC		%%a((88SBB#	N	N	NBVBrrFV__T&_??DDFFF{{4f{==BBDDH68,,,,,r-   r)   r3   r    c                    d }t          dd|  dd                              |          }t          t          j                            d                              t          |                    |          }t          j	        |
                    d	                                          |
                    d	                              |                     d S )
Nc                 *    |                                  S r   )r;   r   s    r+   rr   z,test_resample_single_group.<locals>.<lambda>  s    aeegg r-   z2000-1-1z2000-z-10r   r   r    r!   r   )r   rK   r   r#   r$   r%   r&   r'   rT   rU   r|   r;   r   )r)   rV   mysumr*   r   s        r+   test_resample_single_groupr    s    E
Z!1!1!1!1
<
<
<
D
DT
J
JC		%%a((88SBB#	N	N	NB2;;t,,0022BKK4E4E4K4KE4R4RSSSSSr-   c                    t          ddgt          d          t          d          g          }|j                            |           |_        t          dgt	          t          d          gd	                              |                     }|                    d                              d
           }t          j        ||           d S )Ng>@g?@z20070915 15:30:00z20070915 15:40:00r!   g      ?20070915r   r   c                 *    t          j        |           S r   )r#   stdr   s    r+   rr   z0test_resample_single_group_std.<locals>.<lambda>  s    RVAYY r-   )	r   r   r"   rK   r   r|   r   rT   rU   )rV   rX   r}   r`   s       r+   test_resample_single_group_stdr    s    	t,--y9L/M/MN	 	 	A good##AG	mYz%:%:$;#FFFNNtTT  H ZZ__""#6#677F68,,,,,r-   c                    t          ddd                              |           }t          t          j                            d                              t          |                    |          }|                    dd	          	                                }t          d
dd                              |           }t          j        |j        |           d S )Nrx   z1/1/2000 02:00rX   r   r    r!   rJ   2minoffset12/31/1999 23:57:00z1/1/2000 01:57r   rK   r   r#   r$   r%   r&   r'   r|   r<   rT   assert_index_equalr"   )rV   r*   r   rj  exp_rngs        r+   test_resample_offsetr    s     (*:
E
E
E
M
Md
S
SC		%%a((88SBB#	N	N	NBF6227799I.0@vNNNVV G )/733333r-   kwargsorigin1999-12-31 23:57:00z1970-01-01 00:02:00epoch2mr  r  z1999-12-31 12:02:00r  z-3mc                    t          ddd                              |          }t          t          j                            d                              t          |                    |          }t          ddd	                              |          } |j        d
i | 	                                }t          j        |j        |           d S )N2000-01-01 00:00:002000-01-01 02:00rX   r   r    r!   r  2000-01-01 01:57rJ   r   r  )r  rV   r*   r   r  rj  s         r+   test_resample_originr    s     *,>S
I
I
I
Q
QRV
W
WC		%%a((88SBB#	N	N	NB1  gdmm  --f--2244I)/733333r-   invalid_valueepchstartdaystarttz
2000-30-30c                    t          ddd                              |          }t          t          j                            d                              t          |                    |          }d|  d}t          j	        t          |	          5  |                    d
|            d d d            d S # 1 swxY w Y   d S )Nr  r  rX   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   r  r   rK   r   r#   r$   r%   r&   r'   r   r   r   r|   )r  rV   r*   r   r   s        r+   test_resample_bad_originr    s    *,>S
I
I
I
Q
QRV
W
WC		%%a((88SBB#	N	N	NB		 	 	 
 
z	-	-	- + +
F6***+ + + + + + + + + + + + + + + + + +   B::B>B>12dayysc                    t          ddd                              |          }t          t          j                            d                              t          |                    |          }d|  d}t          j	        t          |	          5  |                    d
|            d d d            d S # 1 swxY w Y   d S )Nr  r  rX   r   r    r!   z6'offset' should be a Timedelta convertible type. Got 'r  r   rJ   r  r  )r  rV   r*   r   r   s        r+   test_resample_bad_offsetr    s    
*,>S
I
I
I
Q
QRV
W
WC		%%a((88SBB#	N	N	NB
U6
U
U
UC	z	-	-	- + +
F6***+ + + + + + + + + + + + + + + + + +r  c                    d\  }}t          ||d                              |           }t          t          j                            d                              t          |                    |          }t          ddd                              |           }|                    d          	                                }t          j        |j        |           |                    dd	
          	                                }t          j        |j        |           t          ddd                              |           }|                    dd
          	                                }t          j        |j        |           |                    dd          	                                }t          j        |j        |           |                    dd	d          	                                }t          j        |j        |           t          ddd                              |           }|                    dd
          	                                }t          j        |j        |           t          ddd                              |           }|                    dd
          	                                }t          j        |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:0017min	start_dayr  r  z2000-10-02 00:21:00r(   23h30minr  r  z2000-10-01 23:18:00z2000-10-02 00:26:00r  z2000-10-01 23:24:00z2000-10-02 00:15:00r  r  )rV   r(   r)   r*   r   r  rj  s          r+   test_resample_origin_prime_freqr  (  s   =JE3
UCf
-
-
-
5
5d
;
;C		%%a((88SBB#	N	N	NB47  gdmm  G$$))++I)/7333GK88==??I)/733347  gdmm  GG4499;;I)/7333GJ77<<>>I)/7333GK
KKPPRRI)/733347  gdmm  GG4499;;I)/733347  gdmm  GL99>>@@I)/733333r-   c                 .   d}d}t          ddd|                              |           }t          t          j                            d                              t          |                    |          }t          d	d
d|                              |           }|                    dd          	                                }t          j        |j        |           |                    dd          	                                }t          j        |j        |           |                    ddd          	                                }t          j        |j        |           t          j        t          |          5  |                    dd          	                                 d d d            n# 1 swxY w Y   t          ddd                              |           }t          t          j                            d                              t          |                    |          }t          j        t          |          5  |                    dd          	                                 d d d            d S # 1 swxY w Y   d S )Nz4The origin must have the same timezone as the index.Europe/Parisr  r  rX   r   r3  r    r!   r  r  rJ   z1999-12-31 23:57:00+00:00r  z1999-12-31 12:02:00+03:00r  r  r  r   r  r   z12/31/1999 23:57:00+03:00)r   rK   r   r#   r$   r%   r&   r'   r|   r<   rT   r  r"   r   r   r   )rV   r   r3  r*   r   r  rj  s          r+   test_resample_origin_with_tzr  M  s   
@C	B
1  gdmm  
	%%a((88SBB#	N	N	NB12  gdmm  F+FGGLLNNI)/7333 F+FGGLLNNI)/7333F74@@EEGGI)/7333	z	-	-	- A A
F#899>>@@@A A A A A A A A A A A A A A A *,>S
I
I
I
Q
QRV
W
WC		%%a((88SBB#	N	N	NB	z	-	-	- G G
F#>??DDFFFG G G G G G G G G G G G G G G G G Gs$   *F::F>F>*J

JJc                 P   d\  }}t          ||d                              |           }t          j                            d                              t          |                    }t          ||          }|                    d          	                                }|                    dd	          	                                }t          j        ||d
           |                    d           }|                    d          	                                }	|                    dd	          	                                }
t          j        ||	                    |j                  d
           t          j        ||
                    |j                  d
           d\  }}t          ||d                              |           }t          ||          }|                    d          	                                }|                    dd	          	                                }t          j        |                    d           |                    d                      t          j        |                    d           |                    d                      d S )N)z2000-10-01 23:30:00+0500z2000-12-02 00:30:00+0500r  r   r    r!   r   24hr  r  F
check_freq)z2000-10-01 23:30:00+0200z2000-12-02 00:30:00+0200)r   rK   r#   r$   r%   r&   r'   r   r|   r<   rT   rU   tz_localizer3  )rV   r(   r)   r*   random_valuests_1result_1result_2ts_no_tzresult_3result_4ts_2result_5result_6s                 r+   -test_resample_origin_epoch_with_tz_day_vs_24hr  n  sH   GJE3
UCf
-
-
-
5
5d
;
;CI))!,,<<SXXFFM-s+++D}}S!!&&((H}}U7}3388::H8X%@@@@ %%H  %%**,,H  w 77<<>>H8X%9%9#&%A%AeTTTT8X%9%9#&%A%AeTTTT HJE3
UCf
-
-
-
5
5d
;
;C-s+++D}}S!!&&((H}}U7}3388::H8//55x7K7KD7Q7QRRR8//55x7K7KD7Q7QRRRRRr-   c                     dd}d fd	}t          d          }t          d          }t          ||d	                                         }t          t	          j        t          |                    |
          } |ddgddg          }ddd|d fD ]}}|dk    rt          nd }	t          j	        |	|          5  |
                    d|                                          }
d d d            n# 1 swxY w Y   t          j        |
|           ~t          d          }t          d          }t          ||d	                                         }t          t	          j        t          |                    |
          }dg} |dg|          }t          j	        t          |          5  |
                    ddd                                          }
d d d            n# 1 swxY w Y   t          j        |
|           ddg} |ddg|d	          }|
                    ddd                                          }
t          j        |
|           dg} |dg|          }t          j	        t          |          5  |
                    ddd                                          }
d d d            n# 1 swxY w Y   t          j        |
|           dg} |dg|          }t          j	        t          |          5  |
                    ddd                                          }
d d d            n# 1 swxY w Y   t          j        |
|           dg} |dg|          }t          j	        t          |          5  |
                    ddd                                          }
d d d            n# 1 swxY w Y   t          j        |
|           d S )NAmerica/Chicagoz2The '(origin|offset)' keyword does not take effectr   c                     t          | t          fd|D             |d                                                  S )Nc                 2    g | ]}t          |           S )rK  )r   )r   tr3  s     r+   r   zUtest_resample_origin_with_day_freq_on_dst.<locals>._create_series.<locals>.<listcomp>  s&    9991$$$999r-   T)r   	ambiguousr!   )r   r   rK   )r   
timestampsr   r3  rV   s      r+   _create_serieszAtest_resample_origin_with_day_freq_on_dst.<locals>._create_series  sV    9999j999PT  gdmm	
 
 
 	
r-   
2013-11-02rK  z2013-11-03 23:591hr   r!   g      8@g      9@z
2013-11-03r  r(   r  r   r  z2013-11-03 00:00-05:00z-2hr  z2013-11-02 22:00-05:00z2013-11-03 21:00-06:00g      6@      @r  2hz-1hr.   )r   r   rK   r   r#   onesr'   RuntimeWarningrT   r   r|   r;   rU   )rV   r   r  r(   r)   r*   r   r}   r  warnr`   expected_tsr3  s   `           @r+   )test_resample_origin_with_day_freq_on_dstr    s   	B
>C
 
 
 
 
 
 
 lr***E
&2
.
.
.C
UCd
+
+
+
3
3D
9
9C	C!!	-	-	-B~tTl\<,HIIHG[%> 1 1!';!6!6~~D'C888 	; 	;[[V[4488::F	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	;
vx0000 lr***E
&2
.
.
.C
UCd
+
+
+
3
3D
9
9C	C!!	-	-	-B ,,K~tfk22H		#N#	>	>	> F FS??CCEEF F F F F F F F F F F F F F F68,,,+-EFK~tSk;UCCCH[[wu[==AACCF68,,, ,,K~tfk22H		#N#	>	>	> E ES>>BBDDE E E E E E E E E E E E E E E68,,,+,K~tfk22H		#N#	>	>	> F FS??CCEEF F F F F F F F F F F F F F F68,,,+,K~tfk22H		#N#	>	>	> E ES>>BBDDE E E E E E E E E E E E E E E68,,,,,sZ   *C99C=	 C=	<+G33G7:G7+KKK+M

MM+OOOc            	      4   t          dt          dddd                    } t          t          |           gt          | j        d         gd	          
          }|                     d                                          }t          j        ||           d S )Nr3   z
2024-04-19z
2024-04-20zAfrica/Cairorv  r3  r   r   7Dr   r!   )	r   r   r'   r   r"   r|   r;   rT   rU   )r   r}   r`   s      r+   +test_resample_dst_midnight_last_nonexistentr    s    		<.wOOO
 
B
 s2wwi}bhqk]'N'N'NOOOH[[""$$F68,,,,,r-   c                    t          ddd                              |           }t          t          j                            d                              t          |                    |          }t          j        |d d<   |dd          	                    ddd	          
                                }|	                    ddd	          
                                }t          j        ||           d S )
Nz1/1/2000 0:00:00'  r>   r   r    r!   r   rs   rz   r{  r(  s        r+   test_resample_daily_anchoredr    s    
'U
C
C
C
K
KD
Q
QC		%%a((88SBB#	N	N	NBVBrrFV__Sv_>>CCEEF{{3vV{<<AACCH68,,,,,r-   c                    t          dd                              |           }t          t          j                            d                              t          |                    |          }|                    d          	                                
                                }t          ddd	          }t          j        |j        |           d S )
Nrk   z
12/31/2000r    r!   r   zJan-2000zDec-2000rb  r   )r   rK   r   r#   r$   r%   r&   r'   r|   r<   rd  r   rT   r  r"   )rV   r*   r   r`   	exp_indexs        r+   &test_resample_to_period_monthly_bugletr    s     Z
.
.
6
6t
<
<C		%%a((88SBB#	N	N	NB[[##%%//11FZ#>>>I&,	22222r-   c                     t          t          j                            d                              ddd          t          ddd          d	          } |                                                     d
                                          	                                }|                     d
          
                    d           }t          j        ||           d S )Nr    r   r9   r	  z
2012-01-01r?  r   rc   r7   r   c                 *    |                                  S r   r<   r   s    r+   rr   z&test_period_with_agg.<locals>.<lambda>  s    AFFHH r-   )r   r#   r$   r%   integersr   to_timestampr|   r<   rd  rS   rT   rU   )s2r}   r`   s      r+   test_period_with_aggr    s    	
	a  ))!Q33<c2>>>
 
 
B   ))#..3355??AAH[[!!"4"455F68,,,,,r-   c                 <   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          }|j                            |           |_        |                    d                              d                                          }|                    d          	                    d           }t          j        ||           d S )Nr3   i  r4   r      r   r          ri  )ID	timestampr   r   rd   r  r  rJ   c                 P    |                      d                                          S )NrJ   )r|   r;   r   s    r+   rr   z(test_resample_segfault.<locals>.<lambda>	  s    

60B0B0F0F0H0H r-   )r   r   from_records	set_indexr"   rK   rM   r|   r;   r   rT   r   )rV   all_wins_and_wagersre   r`   r}   s        r+   test_resample_segfaultr    s-    
HT2q"b))1a0	
HT2q"b))1a0	
HT2q"b))1a0	
HT2q"b"--q!4	 
	%B
 
 
i  x%%BHZZ&&v..2244Fzz$%%&H&HIIH&(+++++r-   c                    t          t          ddd                              |           g dt          g dd          d	                              d
          }|                    d                                          }|j        j        t          j
        k    sJ |                    d                              d                                          }|j        j        t          j
        k    sJ d S )Nz
2016-01-01rl   Wr   )r3   r3   r    r    )r9   ri   r   r   int32r   )dater   valr  r*  r   )r   r   rK   r   r  r|   r  r  r8   r#   r  rM   rV   re   r`   s      r+    test_resample_dtype_preservationr    s     
\13GGGOOPTUU!\\,,,g666	
 	

 
 i  [[$$&&F:rx''''ZZ  ))$//5577F:rx''''''r-   c                    t          j        d           dg di}t          |t          dd                              |                     }|                    d                              d                                          d                             d	          }|                    d          d                                                             d	          }t          j
        ||           |                    d                                          d                             d	          }t          j
        ||           d S )
Nzscipy.interpolater   )r3   rv   r3   rl   z
2017-01-01z
2017-01-04r!   rc   r?  cubic)r   importorskipr   r   rK   astyper|   r<   interpolaterT   rU   )rV   re   r}   r`   s       r+   test_resample_dtype_coercionr     s   
+,,, |||	B	2ZlCCKKDQQ	R	R	RByy##,,S116688=II'RRH[[c"''))55g>>F68,,,[[""$$S)55g>>F68,,,,,r-   c                    t          ddd                              |           }t          t          j                            d                              t          |                    |          }|                    d          	                                }|                    d          	                                }t          j        ||           d S )	Nrk   r   r  r   r    r!   r  zW-SUN)r   rK   r   r#   r$   r%   r&   r'   r|   r<   rT   rU   )rV   r*   r   rj  r}   s        r+   test_weekly_resample_bugletr  0  s    
Zc2
6
6
6
>
>t
D
DC		%%a((88SBB#	N	N	NBC  %%''I{{7##((**H9h/////r-   c                    t          ddd                              |           }t          t          j                            d                              t          |                    |          }|                    d           d S )N4/16/2012 20:00i  r?  r   r    r!   r   )	r   rK   r   r#   r$   r%   r&   r'   r|   )rV   r  r   s      r+   test_monthly_resample_errorr  :  ss    ($SAAAII$OOE		%%a((88UDDE	R	R	RBKKr-   c                     d} d}t          t          j        |           dd          }t          t	          t          |                    |          }|                    t          j        j        	                    d                    }|
                    d          }t          t          j        |          dd          }t          t	          t          |                    |t          	          }t          j        ||           d S )
Nl   *dG@l   *dG@r4   100nsr   r!   d   r<   r7   )r   r   r   r   r{   r'   r|   tseriesr   NanorS   floatrT   rU   )r(   	exp_startindxr   rf   r`   exp_indxrW  s           r+   test_nanosecond_resample_errorr  B  s     EIBN5112GLLLD	c$ii  	-	-	-B
BJ&++C0011AUU6]]Fy 9 92GTTTH
s8}}%%XU
C
C
CC63'''''r-   c                    t          ddd                              |           }t          |j        |          }|                    d                                          }|                    d                                                                          }|                    d          }|xj        t          d	d
          t          d	d          z
  z  c_        |j                            |           
                    d          |_        |j        j        dk    sJ t          j        ||           |                    dd                                          }|                    d	d                              d                                                                          }|                    d          }|j        t          d	d
          z   t          d	d          z
  |_        |j                            |           
                    d          |_        |j        j        dk    sJ t          j        ||           d S )N1/1/20124/1/2012100minr   r!   r   r)   howr3   usrV   r   inferrs   rF   )r   rK   r   ro  r|   r<   rd  r  r"   r   
_with_freqr   rT   r   shift)rV   r*   re   r`   r}   rW  s         r+   test_resample_anchored_intradayr  R  s    Z(
;
;
;
C
CD
I
IC	39C	(	(	(B[[##%%F{{4  %%''1133H$$$//HNNi---	!#0F0F0FFFNN^++D11<<WEEHN>$&&&&&(+++[[f[--2244F
((13(


(
(
.
.
3
3
5
5
?
?
A
AC


u

%
%C	Iad3333i6L6L6LLCI	!!$''227;;CI9>T!!!!&#&&&&&r-   c                    t          ddd                              |           }t          |j        |          }|                    d                                          }|                    d                                                                          }|                    d          }|xj        t          d	d
          t          d	d          z
  z  c_        d|j        j
        _        t          j        |j        _        |j                            |           |_        t          j        ||           |                    dd                                          }|                    d	d                              d                                          }|                                }|                    d          }|xj        t          d	d
          t          d	d          z
  z  c_        d|j        j
        _        t          j        |j        _        |j                            |           |_        t          j        ||           d S )Nr  r  r  r   r!   QEr)   r  r3   r  r  r   rs   r  )r   rK   r   ro  r|   r<   rd  r  r"   r   _datar   r   
no_default_freqrT   r   r  )rV   r*   re   r`   r}   s        r+    test_resample_anchored_intraday2r  j  s   
Z(
;
;
;
C
CD
I
IC	39C	(	(	(B[[##%%F{{4  %%''1133H$$$//HNNi---	!#0F0F0FFFNN $HN>HN^++D11HN&(+++[[f[--2244Fxxx$$--d3388::H!!##H$$$//HNNi---	!#0F0F0FFFNN $HN>HN^++D11HN&(+++++r-   c                      | 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   r3   )r"   rK   r|   r<   r'   )r0   rV   r   rj  s       r+    test_resample_anchored_intraday3r     sl    	!	!"46Gc	R	R	RBx%%BHD!!&&((Iy>>Qr-   )MSBMSzQS-MARzYS-DECzYS-JUNc                      | dd          }|j                             |          |_         |                    |                                           d S )Nrk   z
12/31/2002)r"   rK   r|   r<   )r0   r   rV   r   s       r+   !test_resample_anchored_monthstartr$    sO    	!	!*l	;	;Bx%%BHKKr-   z
label, sec       @z4.2c                    t          ddd          }t          ddd          }|                    |          }t          t          j                            d                              d          |	          }|                    d| 
                                          }|j	        d         t          d| d          k    sJ d S )Nz2014-10-14 23:06:23.206rv   400msr   z2014-10-15 23:00:00r    2200msr9   r!   )rG   rI   z2014-10-15 23:00:00)r   rC  r   r#   r$   r%   r&   r|   r<   r"   r   )rG   secindex1index2r"   rX   r`   s          r+   test_resample_anchored_multidayr-    s     117KKKF-qxHHHFLL  Ery$$Q''77::%HHHA ZZZ..3355F<y)DS)D)D)DEEEEEEEEr-   c                    t          ddd                              |           }t          t          j                            d                              t          |                    |          }|                    ddd	
          	                                }t          ddd                              |           }t          j        |j        |           d S )Nrk   r   r>   r   r    r!   rJ   rD   rs   rz   z1999-12-31 23:55rl   r  )rV   r*   r   r`   ex_indexs        r+   test_corner_casesr0    s     Z%
8
8
8
@
@
F
FC		%%a((88SBB#	N	N	NB[[v[>>CCEEF,afEEEMMdSSH&,11111r-   c                 @    | ddd          }|j                             |          |_         |                    d                                                                          }t          |          dk    sJ |j         d         t          dd	          k    sJ d S )
Nz
2000-04-28z2000-04-30 11:00r?  r   r   r3   r   z2000-04rb  )r"   rK   r|   r<   rd  r'   r   )r0   rV   r   r`   s       r+   test_corner_cases_dater2    s    	!	!,0B	M	M	MBx%%BH[[##%%//11Fv;;!<?fYS999999999r-   c                    t          ddd                              |           }t          t          j                            d                              t          |                    |          }d}t          j	        t          |          5  |                    d	                                           d d d            d S # 1 swxY w Y   d S )
Nr   iP  rX   r   r    r!   r   r   r   )r   rK   r   r#   r$   r%   r&   r'   rT   r   r
   r|   r<   )rV   r  r   r   s       r+   test_anchored_lowercase_bugletr4    s    (%cBBBJJ4PPE		%%a((88UDDE	R	R	RB
FC		#N#	>	>	>    
C                                   s   (CC
C
c                 n   t          ddd                              |           }t          t          j                            d                              t          |                    |          }|                    d          	                    dd	g          }t          |t                    sJ d S )
N
2012-06-12rl   r?  r   r    r!   20minr<   r;   )r   rK   r   r#   r$   r%   r&   r'   r|   	aggregaterE  r   )rV   r*   r   r`   s       r+   test_upsample_apply_functionsr9    s    
\13
7
7
7
?
?
E
EC		%%a((88SBB#	N	N	NB[[!!++VUO<<Ffi(((((((r-   c                 z   t          ddd                              |           }t          t          j                            d                              t          |                    |          }|                    t          j                            d          	                    t          |                              }|
                    d                                          }|                                
                    d                                          }t          j        ||           d S )Nr6     r?  r   r    r!   r   )r   rK   r   r#   r$   r%   r&   r'   takepermutationr|   r;   
sort_indexrT   rU   )rV   r*   r   r`   rW  s        r+   test_resample_not_monotonicr?    s    
\3S
9
9
9
A
A$
G
GC		%%a((88SBB#	N	N	NB	&&q))55c"gg>>	?	?B[[!!##F
--//
"
"3
'
'
+
+
-
-C63'''''r-   r8   )r6   r  rc   float32c                    t          t          dddddd          t          dddddd          g                              |          }t          ddg||           }|                    d                              d           }|                    d          }t          j        ||           |                    d          	                                }|                    d          }t          j        ||           d S )	N  r3   r   r9   r    r7   r>   c                 *    |                                  S r   r  r   s    r+   rr   z/test_resample_median_bug_1688.<locals>.<lambda>       r-   )
r   r   rK   r   r|   r   rt  rT   r   median)r8   rV   rW   re   r`   rW  s         r+   test_resample_median_bug_1688rF    s     	$1aA	&	&q!Q1(E(EF gdmm  
	
A
 
 
B [[%%&8&899F
))E

C&#&&&[[&&((F
))E

C&#&&&&&r-   c                     | dd          }|j                             |          |_         |                    d                              d           }|                    d                                          }t          j        ||           |                    d                                          }d|_        |                    d                                          }d|_        |                    d                              d d g          }ddg|_	        t          j        |d         |           t          j        |d         |           |                    d          
                    d	 d
 d          }t          j        |d         |d           t          j        |d         |d           d S )Nrk   z4/1/2000r   c                 *    |                                  S r   r  r   s    r+   rr   z+test_how_lambda_functions.<locals>.<lambda>  s    qvvxx r-   foobarc                 *    |                                  S r   r  r   s    r+   rr   z+test_how_lambda_functions.<locals>.<lambda>  rD  r-   c                 .    |                      d          S Nr3   )ddofr  r   s    r+   rr   z+test_how_lambda_functions.<locals>.<lambda>  s    AEEqEMM r-   c                 *    |                                  S r   r  r   s    r+   rr   z+test_how_lambda_functions.<locals>.<lambda>  s    !&&(( r-   c                 .    |                      d          S rM  rO  r   s    r+   rr   z+test_how_lambda_functions.<locals>.<lambda>  s    QUUU]] r-   )rI  rJ  F)check_names)r"   rK   r|   r   r<   rT   rU   ro   r  rd   r8  )r0   rV   r   r`   rW  foo_expbar_exps          r+   test_how_lambda_functionsrU    s   	!	!*j	9	9Bx%%BH[[$$%7%788F
++d


 
 
"
"C63'''kk$$$&&GGLkk$##%%GGL[[$$&8&8:Q:Q%RSSFU^FN6%='2226%='222 [[((""+B+BCC F 6%='uEEEE6%='uEEEEEEr-   c                    t          dddd          }t          dddd          }t          ||d	
                              |           }t          ddi|          }|                    d                                           d S )Ni  rv   r3   r9   rB  r   ri  rl   rB  r   r   r!   YS)r   r   rK   r   r|   r;   )rV   r(   r)   bad_indre   s        r+   test_resample_unequal_timesrY    s    T1a##E
4B
"
"C'222::4@@G	GQ<w	/	/	/B KKr-   c                 .   t          ddd                              |           }t          t          j        d          |          }t          j        |j        d<   t          |d         |d	         d
                              |           }|                    |d          }|                    |dd          }t          j	        t                    5  |                    |dd          }d d d            n# 1 swxY w Y   |                    d                              d          }|                    d                                          }t          j        ||           t          j        ||           t          j        ||           d S )Nz
2002-02-02rl   rB  r         @r!   r    r   rI   10minr   bfill)r"   r&  )r"   r&  r$  r%  10Minr#  )r   rK   r   r#   r   r   rp   r'  rT   r   r
   reindex_liker|   r]  rU   )	rV   i30rX   i10s10s10_2rlr10_2r10s	            r+   test_resample_consistencyrg    s    \17
;
;
;
C
CD
I
ICry~~S)))AAF1I SVSW7
3
3
3
;
;D
A
AC
))#g)
.
.CIICqI99E		#N	3	3 : :^^Cq^99: : : : : : : : : : : : : : :JJw%%A%..E
**W


#
#
%
%C 5#&&&5%(((5"%%%%%s   C;;C?C?  r4   r   rv   rj   r9   r   r   r  dates1rl   dates2r  c                    t          |                               |          } t          | t          j        t          |                     d          }|                    d                              d                                          }t          g ddd                              |          }t          dg di|          }|d         	                                
                                r|j                            d           |_        t          j        ||           |                    t!          dd	                                                    }t          j        ||           d S )
Nr   r   r   z
2014-07-31z
2014-08-31z
2014-09-30z
2014-10-31z
2014-11-30r   ro   r   r3   r   r    r    r3   r!   r   keyr   rK   r   r#   r   r'   r  r|   r  r   anyr"   r  rT   r   rM   r   r  rV   re   r`   exp_idxr}   s         r+   test_resample_timegrouperru  >  sL    %  ((..E	RYs5zz%:%:;;	<	<B\\#''--3355FNNN   gdmm	 
 #/w???H	#w||~~ 9!22488&(+++ZZTs33344::<<F&(+++++r-   c           	      :   t          |                               |          } t          | t          j        t          |                     t          j        t          |                     d          }|                    d                              d                                          }t          g ddd                              |          }t          g dg dd|dd	g
          }|d         	                                
                                r|j                            d           |_        t          j        ||           |                    t!          dd                                                    }t          j        ||           d S )N)r   r   Cr   r   rl  rm  rn  )r   rw  r   rw  r   ro  rq  rs  s         r+   test_resample_timegrouper2rx  R  st   %  ((..E	RYs5zz%:%:3u::AVAVWW	X	XB\\#''--3355FNNN   gdmm	 
 ooOOO44c
  H
 
#w||~~ 9!22488&(+++ZZTs33344::<<F&(+++++r-   c                 l   t          t          d          dt          d          dit          d          dt          d          did          }|j                            |           |_        |                    d          }|                    t          d	                    }|                    t          d	                    j                            d
           }|j	        dk    sJ ||fD ]0}|j        
                                }t          j        ||           1|j                            d          
                                }t          j        ||           |j                            t          d	                    
                                }t          j        ||           d S )Nz2015-06-05 00:00:00
0010100903z2015-06-08 00:00:00
0010150847z
2015-06-05z
2015-06-08)r  DATEr   r   c                 *    |                                  S r   nuniquer   s    r+   rr   z'test_resample_nunique.<locals>.<lambda>|  s    		 r-   r  )r   r   r"   rK   r|   rM   r   r  r   ro   r  rT   rU   )rV   re   rf   rZ   r}   r  r`   s          r+   test_resample_nuniquer  k  s   	 /00,/00,
 /00,/00,		
 		

 
B x%%BH
CA


7$$$%%Azz's+++,,/556K6KLLH=D    V 1 1
vx0000U^^C  ((**F68,,,U]]7,,,--5577F68,,,,,r-   c           	      `   t          t          j                            d                              d          t          t          d          t                    t          ddd          	          	                                }|j
                            |           |_
        t          j                            |j                                        gdz  d
dg          |_        |                    d                                          }t'          j        |j        |j                   d S )Nr    )r9   rl   r
  r   r  r9   r   r   r  lev0lev1)rS  r  )r   r#   r$   r%   r&   r   r  r  r   absr"   rK   r   rT  from_arraysrd   r   r|   r  rT   r  r  s      r+   2test_resample_nunique_preserves_column_level_namesr    s    	
	a  0088d6ll&111qs;;;
 
 
 
cee	 
 x%%BH**					!&&)9 +  BJ [[&&((F"*fn55555r-   funcc                 *    |                                  S r   r~  r   s    r+   rr   rr     s    !))++ r-   c                 @    |                      t          j                  S r   )rS   r   r  r   s    r+   rr   rr     s    !%%'' r-   c                 ,    |                      d          S )Nr  )rS   r   s    r+   rr   rr     s    !%%	"" r-   )r  series_nuniquenunique_str)idsc                    t          ddd                              |          }t          ddd                              |          }|                    |          }t          t	          t          |                    |d          }|                    d	          }|                                } | |          }t          j	        ||           d S )
Nr=  r>  r?  r   r@  rA  r6   r7   r   )
r   rK   rR   r   r{   r'   r|   r  rT   rU   )	r  rV   r"   r,  index3rX   rf   r`   r}   s	            r+   #test_resample_nunique_with_date_gapr    s     z;S999AA$GGE[s;;;CCDIIF\\&!!FuS[[!!w???A	

4AWWYYFtAwwH68,,,,,r-   c                 @   d}d}t           j                            d          }t          d|dz  d                              |           }t          |                    d||z  |                              d          |                    ||          	          }|	                    d
          
                                }t          |j                                        |j                                        d
                              |           }|j        }t          j        |j        |j        d          }	t          j        ||	f          }
||
         |	|
         }	}t           j        d|dd          |d d         k    f         }|t           j        d|	dd          |	d d         k    f         z  }t          j        |	|         dz
  t'          |                                        dd          }t          ||	          }t)          j        ||           d S )Nr  r4   r    z
2015-08-27r>   r   r   r6   r!   rB  r  rD   sideTr3   rI   	minlengthFcopy)r#   r$   r%   r   rK   r   r  r  choicer|   r  r"   r>   r?   r   searchsortedlexsortr_bincountr'   rT   rU   )rV   nkprngdrr   rs   ixvalsbinssortermaskr]   rD   s                 r+   test_resample_group_infor    s    	A
A9  ##D	,Re	D	D	D	L	LT	R	RB	aa++227;;4;;rSTCUCU	V	V	VB;;w''))D	"(,,..bhllnn7	K	K	K	S	S
 
B 9D?29bhW===DZt%%FftF|$D5tABBx49,,-DBE$QRRD"I--..D
+d4j1nB
8
8
8
?
?e
?
T
TC3b!!!E4'''''r-   c                 J   d}t          d|d                              |           }t          t          j                            d                              |          t          j                            d                              ||                    }|                    d          	                                }t          |j
                                        |j
                                        d                              |           }t          j        |j        |j
        j        d	
          }t          j        |t!          |          dz             dd                              dd          }t          ||          }t%          j        ||           d S )Nr  z
2015-09-19r>   r   r    r!   r  r  rD   r  r3   r  r6   Fr  )r   rK   r   r#   r$   r%   r&   r  r|   sizer"   r>   r?   r  r   r  r'   r  rT   rU   )	rV   r  r  r   rs   r  r  r  rD   s	            r+   test_resample_sizer    s`   A	L!%	8	8	8	@	@	F	FB	
	a  0033i##A&&--b!44
 
 
B
 ;;v##%%D	$*..**V	L	L	L	T	T
 
B ?29bhoGDDDD
+dc"ggk
2
2
2122
6
=
=gE
=
R
RC3b!!!E4'''''r-   c                     t          ddgdg          } t          t          j        | j        d          j                            d          j                            d                    }t          d	d
gdg          }t          t          j        |j        d          j                            d          j                            d          d          }t          ddg|          }|                    d          	                                }t          ddg|          }t          j        ||           d S )Nid=XitKXr   r  rX   r  UTCzEurope/Madridi 8XiFXr?  r   r9   r!   r,  )r   r   r   r   r   dtr  
tz_convertr|   r;   rT   r   )df1dti1df2dti2re   r`   r}   s          r+   test_resample_across_dstr    s(    Z,tf
=
=
=C
svC(((	KK	JJ'' D Z,tf
=
=
=C
svC(((	KK	JJ''	  D 
Aq6	&	&	&B[[c[""&&((F!Qt,,,H&(+++++r-   c                    t          ddgd                              d                              |           }t          ddg|          }|                    t          d	
                                                    }t          dddd                              |           }t          |          }t          dgt          j	        gdz  z   dgz   |          }t          j        ||           d S )Nl   @j$ l   S*~Q$ r  rK  r  r3   r    r!   r*  r   z
2016-11-02z
2016-11-24r   r  r   r   r%  )r   r  rK   r   rM   r   r   r   r#   r   rT   r   )rV   r"   re   r`   expected_index_valuesr}   s         r+   !test_groupby_with_dst_time_changer    s     	*,?@UKKK	%	&	&	 
 
Aq6	'	'	'BZZT***++0022F&l1B  gdmm  /00E#26(R-0C58FFFH&(+++++r-   c                    t          t          dddd          gd                              |           }t          dg|          }t          |j                                        d	
                              |           }t          dg|          }t          j        |                    d	          	                                |           |                    d          	                                 t          j        |                    d          	                                t          dgt          t          ddd          gdd                              |                                d S )NrB  rj   rl      z
US/EasternrK  r9   r!   r   r   r  r!  r3   r  )
r   r   rK   r   r"   	normalizerT   r   r|   r;   )rV   rW   re   r}   s       r+   test_resample_dst_anchorr    s\   
$Ar223
E
E
E
M
Md
S
SC	A3c	"	"	"B
**,,3
7
7
7
?
?
E
EC!C(((H"++3+//3355x@@@KKTK   
""$$C$A&&'Lt  gdmm		
 	
 	
    r-   c           	         t          dddd                              |           }t          |j                  }t	          |||d|d          }d	d
dd}|                    d          }|                    |          g d         }t	          g dg dg ddt          dddd                              |                     }t          j        ||d           |                    d          }|                    |          g d         }	t	          g dg dg ddt          dddd                              |                     }
t          j        |	|
d           |                    d          }|                    |          g d         }t	          g dg dg ddt          dddd                              |                     }t          j        ||d            |                    d!          }|                    |          g d         }t	          d"d#gd$d%gd#d&gdt          ddd!d                              |                     }t          j        ||d'           |d(d)         }|                    d*          }|                    d	d
dd          g d         }t	          g d+g d,g d-dt          d(d)d*d                              |                     }t          j        ||d.           d S )/Nz
2013-09-30r  30Minr  r  )r   rY   rQ  r6   r7   r>   r?   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   r|   rS   rT   r   )rV   rW   r   re   r  rsr`   r}   rs2r  	expected2rs3result3	expected3rs4result4	expected4df_dailyrs_dresult_d
expected_ds                        r+   test_resample_dst_anchor2r  )  s   
l^  gdmm  38__F	f6::#W	U	U	UBE
0
0C	W		BVVC[[)F...111...	
 	

 7~
 
 

'$--	 	 	H    ++h

Cggcll???+G###&&&$$$	
 	

 H
 
 

'$--	 	 	I    ++d

Cggcll???+Gmm"2"2"2HH[tOOOWW
 
  I    ++e

Cggcll???+G$itTl$<<%N
 
 

'$--	  I    ,|+,HS!!Dxxe%g>>??PH))))))!!!	
 	

 ,S^
 
 

'$--	 	 	J     r-   c                 
   t          j        d          }t          ddd          }t          |                    |          dd                              |           }t          d|	                              d
                                          }t          dt          j
        gdz  dgz   t          |                    |          dd
                              |           	          }t          j        ||           d S )NzEurope/Berlinrh  r4      rl   r  r   r9   r!   r?        @rv   r   )zoneinfoZoneInfor   r   
astimezonerK   r   r|   r<   r#   r   rT   rU   )rV   r3  r  r  r`   r}   s         r+   test_downsample_across_dstr    s    		?	+	+B	$B		Br}}R((!$???GGMMEAU###,,S116688F	bfSE!r**AC@@@HHNN  H 68,,,,,r-   c                 \   t          t          g dd                              |           g d          }|                    d                                          }t          ddgt          d	d
gdd                              |                     }t          j        ||           d S )N)z
2017-03-25
2017-03-26z
2017-03-27z
2017-03-28z
2017-03-29Europe/AmsterdamrK  )rj   r   r      r  )r"   r   1Wr  *   r  z
2017-04-02r  r  r!   )r   r   rK   r|   r;   rT   r   )rV   re   r`   r}   s       r+   !test_downsample_across_dst_weeklyr    s    	RRR!
 
 
 '$--!!!
 
 
B [[""$$F	R<(-?c
 
 

'$--	  H &(+++++r-   c                 ~   t          dddd                              |           }t          |t          j                  }|                    d                                          }t          t          ddd	d
                              |           t          j                  }t          j        ||           d S )Nz
2013-04-01z
2013-05-01zEurope/Londonr?  r  r7   r  z
2013-04-07r9   )r   rn   r3  )	r   rK   r   r#   rc   r|   r<   rT   rU   )rV   r^   rX   r`   r}   s        r+   #test_downsample_across_dst_weekly_2r    s    
\<O#
N
N
N
V
V C 	S
+++AZZ__!!##FCOOOWW
 
 j	  H 68,,,,,r-   c                    t          dddd          }t          dddd          }t          ||d                              |           }|                    d                              d	          }t          t          t          |                              }t          ||
          }|	                    t          d                                                    }t          dd                              d	d          }t          |d                              |           }t          g d|
          }t          j        ||           d S )Ni  rj   rv   r   r9   r  r   r  zAmerica/Havanar!   r*  z
2018-11-03rn   T)r  r   )g      @g      <@g     @F@)r   r   rK   r  r  r  r{   r'   r   rM   r   r<   r   rT   r   )	rV   r(   r)   r"   r   	dataframer`   rW   r}   s	            r+   test_downsample_dst_at_midnightr    sC   T2q"%%E
4Q
#
#Cuc---55d;;Ee$$//0@AAEc%jj!!""D$e,,,IwD111227799F
\1
-
-
-
9
9D :  C #
&
&
&
.
.t
4
4C***#666H&(+++++r-   c                    t          t          j        dt          j        ddg                              |           }t	          g d|          }t          g d                              |           }t	          g d|          }t          j        |                    d                                          |           t          ddg                              |           }t	          d	d
g|          }t          j        |                    d                                          |           t          dg                              |           }t	          dg|          }t          j        |                    d                                          |           t          j        |                    d                                          |           d S )N1970-01-01 00:00:001970-01-01 00:00:011970-01-01 00:00:02)r    rv   r9   r   rj   r!   )r  r  r  )r        @      &@1sr  r  2sr  3s60s)	r   r   NaTrK   r   rT   r   r|   r<   )	rV   r"   frameindex_1sframe_1sindex_2sframe_2sindex_3sframe_3ss	            r+   test_resample_with_natr    s   F!F!!	
  gdmm 
 &&&e444EMMM gdmm  ))):::H%....3355x@@@35JKLLTT H #tH555H%....3355x@@@3455==dCCH#h///H%....3355x@@@%..//4466AAAAAr-   c           	      v   t          ddd          t          ddd          g}t          d|i|          }|j                            |           |_        t	          t          ddd          t
          j        t          ddd          gt          ddd	
                              |           d          }|                    d	          	                                d         }t          j        ||           |d                             d	          	                                }t          j        ||           d S )Ni  r3   r  r   r  r!   z
2016-01-15rv   2Dr   )r"   ro   )r   r   r"   rK   r   r   r  r   r|   firstrT   rU   )rV   r  re   rW  rV  s        r+   test_resample_datetime_valuesr    s"   
 dAr""HT1b$9$9:E	K'u	5	5	5Bx%%BH
	$2		q"(=(=>qt<<<DDTJJ  C ++d


!
!
#
#K
0C3$$$
[/
"
"4
(
(
.
.
0
0C3$$$$$r-   c                    t          ddd          }t          t          t          |                    |          }d|j        _        d }|j                            |           |_        d}|                    d	                              ||          }|                    d	          	                                
                    |          }t          j        ||           |                    d	                              ||
          }|                    d	          	                                
                    |          }t          j        ||           d S )Nrx   ry   r5   r   r!   r"   c                 0    t          j        |           |z  S r   r#   r<   r   add_args     r+   r\   z3test_resample_apply_with_additional_args.<locals>.f      wt}}w&&r-   r4   r   )r  )r   r   r{   r'   r"   ro   rK   r|   r   r<   multiplyrT   rU   )rV   r"   r   r\   
multiplierr`   r}   s          r+   (test_resample_apply_with_additional_argsr    s8   *,?eLLLEE#e**%%U333FFL' ' ' <''--FLJ__S!!'':66Fs##((**33J??H68,,, __S!!'':'>>Fs##((**33J??H68,,,,,r-   c                     d } d}t          dddt          dd                    }|                    d	                              d
                              | |                              t                    }|                    d	                              d
                                                              |          }t          j
        ||           d S )Nc                 0    t          j        |           |z  S r   r  r  s     r+   r\   z4test_resample_apply_with_additional_args2.<locals>.f  r  r-   r4   r3   r    r   2017r  r!   r   r   )r   r   rM   r|   rS   r  r  r<   r	  rT   r   )r\   r
  re   r`   r}   s        r+   )test_resample_apply_with_additional_args2r    s    ' ' ' J	##:fb+I+I+I	J	J	JBZZ__%%c**..q*==DDUKKFzz#'',,1133<<ZHHH&(+++++r-   r  )r3   r    rv   zn1, freq1, n2, freq2)
)   rX         ?r5   )<   rX   r3   r5   )i  rX   r3   r?  )r  r5   r3   r?  )i`T  rX   g      ?r   )rz  rX   r3   r   )i  rX   r  r   )i  r5   r3   r   )r   r?  r  r   )   r?  r3   r   c                 v   | |z  }||z  }t          dd|                              |          }t          t          t	          |                    |          }	|	                    t          |          |z                                             }
|	                    t          |          |z                                             }|dk    rUt          |j	        j
        t                    r6t          t          |j	        j
        j                            |j	        _
        t          j        |
|           d S )Nz
1991-09-05z
1991-09-06r   r!   r   )days)r   rK   r   r{   r'   r|   r   r<   rE  r"   r   r   r   r   r  rT   rU   )n1freq1n2freq2r  rV   n1_n2_rW   serr  r  s               r+    test_resample_equivalent_offsetsr    s   $ q&C
q&C
\<e
<
<
<
D
DT
J
JC
s3xx
,
,
,Cll3s88e+,,1133Gll3s88e+,,1133G||
7=#5s;;| 'ygm6H6J'K'K'KLL7G,,,,,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)19910906r  r   1991083119920430)r$  r%  r   r$  19920531)z1991-08z1992-04r   r$  r&  c                    t          |           } |                     | j                                      |          } t          |          }|                    |j                                      |          }t	          |          }t	          |          }t
          j        j                            |          }t          | ||d          }||f}||k    sJ d S )Nnsr  )
r   r  r   rK   r   r   r  frequenciesr   r   )r  r   r   	exp_firstexp_lastrV   r`   r}   s           r+   test_get_timestamp_range_edgesr,  ?  s     5MMEuz**22488E$<<DTY''//55D)$$I""H:!++D11D'tTEEEF8$HXr-   
duplicatesTFc           	      $   t          ddd                              |          }t          t          d          |          }t	          ||dz   d          }| r	ddg|_        |                    d	                              t          j	                  }t	          t          j
        d
dgddgddgddggt          j                  t          g dd                              |          |j                  }t          j        ||           d S )Nz
2012-01-31r   r   r(   r   rn   r!   r    r   r   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   rd   r|   r   r#   r=   rL   r6   r   rT   r   )r-  rV   r"   r   re   r`   r}   s          r+   test_resample_apply_productr2  Y  s    \bAAAII$OOE	b			'	'	'B	"q&))	*	*B  3Z
[[$$RW--F
1b'B9sCj3+>bhOOODDD8
 
 

'$--
  H &(+++++r-   z$first,last,freq_in,freq_out,exp_last))
2020-03-28
2020-03-31r   r  z2020-03-30 01:00)r3  
2020-10-27r   r  2020-10-27 00:00)
2020-10-25r5  r   r  z2020-10-26 23:00)r3  r4  r  r   z2020-03-30 00:00)r3  r5  r  r   r6  )r7  r5  r  r   z2020-10-26 00:00r  r   freq_infreq_outr+  c           	      N   t          dt          | ||d                              |                    }|                    |                                          }t          dt          | ||d                              |                    }t          j        ||           d S )Nr   r  r  )r   r   rK   r|   r  rT   rU   )	r  r   r8  r9  r+  rV   r   r`   r}   s	            r+   #test_resample_calendar_day_with_dstr;  n  s    N 
Zt'6HIIIQQRVWW
 
B [[""((**F5(6HIIIQQRVWW H 68,,,,,r-   )r>   r?   r  r   c                    t          ddd                              |          }t          dt          j        t          j        g|          } t          |                    d          |           d          }t          t          j        gt          d	gd
                              |                    }t          j	        ||           d S )N2020r   rv   r/  r3   r  r    )	min_countr4  r1  r   r!   )
r   rK   r   r#   r   r   r|   r   rT   rU   )r  rV   r"   r  r`   r}   s         r+   +test_resample_aggregate_functions_min_countr?    s     V$:::BB4HHE
!RVRV$e
,
,C.WS\\$''..;;;F	\N:::BB4HH  H 68,,,,,r-   c           	         t          t          ddd                              |          dgg ddz  |           }|j        |j        d	k     |j        d
k    z  d d f         }|                    d                                          }t          dt          j        dgdgt          ddd                              |                    }t          j
        ||           d S )Nr  z2000-01-03 23rx  r  r   )r   r3   r   r    )r"   rd   r   r8   z
2000-01-02z
2000-01-03r   r3   r   r  )r   r   rK   rD  r"   r|   r?   r#   r   rT   r   )any_unsigned_int_numpy_dtyperV   re   r`   r}   s        r+   test_resample_unsigned_intrB    s    	|uMMMUU
 
 YY]*
 
 
B 
L(RX-DEqqqH	IB[[!!##F	
BFA|sKKKSS
 
  H &(+++++r-   c                  `   t          dddd          } t          g d|           }|                    d                                          }t	          t          j        g d	                              d
          d          }t          g d|          }t          j	        ||           d S )Nz
0300-01-01r  rX   100YE)rV   r   )r3   rl   r    r   r9   r   r3   rl   r    r   r9   r   r3   rl   r    r   r9   r!   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   r        @r[  r  rF  r[  r  rF  )
r   r   r|   r<   r   r#   rL   r  rT   rU   )r^   r  r`   expected_idxr}   s        r+   test_long_rule_non_nanorH    s    
\<c
H
H
HC
DDDC
P
P
PC\\'""''))F 

 
 
	
 	
 &
!
!  L  CCC<XXXH68,,,,,r-   c                  0   t          g g d                              ddi          } |                     dddd          }|d                                         }t	          g ddd          }t          g |dd	
          }t          j        ||           d S )N)r   r   r   zdatetime64[ns, Atlantic/Faroe]r  rs   )onrF   rG   r   )r   ro   r8   rc   )r"   ro   r8   )r   r  r|   r;   r   r   rT   rU   )re   r  r`   rG  r}   s        r+   "test_resample_empty_series_with_tzrK    s    	"++	,	,	3	3	/0
 
B 
UtF&	A	AB\F 
T)I  L b89MMMH68,,,,,r-   )2Mr  2Qz2Q-SEPz2q-sep1Yz2Y-MARc                 "   d|  }t          t          d          t          ddd                    }t          j        t
          |          5  |                    |                                            d d d            d S # 1 swxY w Y   d S NInvalid frequency: r4   20130101r   r   r!   r   r   r{   r   r   r   r   r|   r<   r   r   rX   s      r+   test_resample_M_Q_Y_raisesrU        
&
&
&CuRyy
:C L L LMMMA	z	-	-	-    	

4                                      (BBB)2BM1bm1BQz2BQ-MARz2bq=-marc                 "   d|  }t          t          d          t          ddd                    }t          j        t
          |          5  |                    |                                            d d d            d S # 1 swxY w Y   d S rP  rS  rT  s      r+   test_resample_BM_BQ_raisesr\    rV  rW  zfreq,freq_depr,dataz1W-SUNz1w-sunz
2013-01-06r*  1dz
2013-01-011B1b1C1cc           	         d|dd           d}t          t          d          t          dddd          	          }t          j        t
          |
          5  |                    |                                          }d d d            n# 1 swxY w Y   t          |d|           }t          d|	          }t          j	        ||d           d S )N'r3   z8' is deprecated and will be removed in a future version.r9   rR  r?  r(  )r   rn   rV   r!   r   zdatetime64[ns])r   r8   r   r%  Fr  )
r   r{   r   rT   r   r
   r|   r<   r   rU   )r   	freq_deprr   r   rX   r`   exp_dtir}   s           r+   &test_resample_depr_lowercase_frequencyrf    s    Vim
U
U
UCuQxxz*3PTUUUVVVA		#N#	>	>	> . .I&&++--. . . . . . . . . . . . . . . -=DIIIGc)))H68>>>>>>s   (BBBc                    t          ddd|           }t          d|i|          }|                    dd	          }|                                }t	          t          d
dd          t          d
dd          gd                              |           }t          dt          d
dd          t          d
dddd          gi|                              d|  d          }t          j	        ||           d S )N
2020-01-311minp  r(   r   rn   rV   r   r!   r!  rD   r    r3   r    r   rl   rv   ;   M8[]
r   r   r|   r   r   r   rK   r  rT   r   )rV   rW   re   groupedr`   re  r}   s          r+   test_resample_ms_closed_rightrr    s   
<fd
N
N
NC	D#;c	*	*	*Bkk$wk//G\\^^F	$1		xa3344  gdmm  	q!$$htQ1b&A&ABC   f]4]]]  &(+++++r-   r   rw  c                 r   t          ddd|          }t          d|i|          }|                    | d          }|                                }t	          t          d	d
d          t          d	d
d          t          d	dd          t          d	dd          g|                               |          }t          dt          d	d
d          t          d	dd          t          d	dd          t          d	dddd          gi|                              d| d          }t          j	        ||           d S )Nrh  ri  rj  rk  r   r!   rD   r  rl  r3   r  ri  r    rv   rl   r   rm  rn  ro  rp  )r   rV   rW   re   rq  r`   re  r}   s           r+   test_resample_c_b_closed_rightrt  %  sY    <fd
N
N
NC	D#;c	*	*	*Bkk$wk//G\\^^FT1b!!T1b!!T1a  T1a  		
    gdmm  q"%%q!$$q!$$q!Q++		
 
 
 
 f]4]]]  &(+++++r-   c           
         t          ddd|           }t          g d|          }|                    ddd	                                          }t	          t          d
dd          t          d
dd          t          d
dd          t          d
dd          gd                              |           }t          g d|          }t          j        ||           d S )Nz
2023-09-26ri   rx  )rn   r   rV   )r3   r    rv   rl   r9   ri   r!   r   rD   rz   i  r   r           r   )r   g      @g      @g      @)	r   r   r|   r<   r   r   rK   rT   rU   )rV   rW   r  r`   re  r}   s         r+   test_resample_b_55282ry  D  s    
\15t
D
D
DC
###3
/
/
/C\\#gW\==BBDDFT1b!!T1b!!T1b!!T1b!!		
    gdmm    H 68,,,,,r-   pyarrowr3  r  z/TODO: Set ARROW_TIMEZONE_DATABASE env var in CI)	conditionreason)marksc                 T   t          t          dd          d          }| |j                            |           }t          t	          j        dt          j                  |          }|                    d                                          }t          j
        ||           d S )N
2020-01-01r9   r  timestamp[ns][pyarrow]r   r!   r*  )r   r   r  r  r#   r   rc   r|   r<   rT   rU   )r3  r^   r}   r`   s       r+   test_arrow_timestamp_resampler  Z  s      L!444<T
U
U
UC	~f  $$bi444C@@@Ht$$))++F68,,,,,r-   c                  4   t          t          dd          d          } t          t          j        dt          j                  |           }d|j        _        |                    d                                          }t          j
        ||           d S )	Nr  r9   r  r  r   r!   
index_namer*  )r   r   r#   r   rc   r"   ro   r|   r<   rT   rU   )r^   r}   r`   s      r+   -test_arrow_timestamp_resample_keep_index_namer  r  s     L!444<T
U
U
UCbi444C@@@H&HNt$$))++F68,,,,,r-   c                  .   t          t          t          d          ddd                    } t          d|           }|                    d                                          }t          d	| d d d	                   }t          j        ||           d S )
Nz
1950-01-01r4   1000YSrX   )r(   rn   r   rV   r3   r!   2000YSr    )r   r   r   r   r|   r;   rT   rU   )r"   r  r`   r}   s       r+   %test_resample_unit_second_large_yearsr  |  s    <00"8RUVVV E %
 
 
 C\\(##''))FauSSqSz***H68,,,,,r-   1Az2A-MARc                 2   d| dd           }t          t          d          t          ddd                    }t          j        t
          |          5  |                    |                                            d d d            d S # 1 swxY w Y   d S )	NrQ  r3   r4   rR  r   r   r!   r   rS  rT  s      r+   test_resample_A_raisesr    s    
*QRR
*
*CuRyy
:C L L LMMMA	z	-	-	-    	

4                                   s   (BBB)r   	functoolsr   r  numpyr#   r   pandas._libsr   pandas._libs.tslibsr   pandas._typingr   pandas.compatr	   pandas.errorsr
   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   r   r   r   r   r   r   pandas._testing_testingrT   pandas.core.groupby.grouperr   pandas.core.indexes.datetimesr   pandas.core.indexes.periodr   r   pandas.core.resampler   r   pandas.tseriesr   pandas.tseries.frequenciesr   pandas.tseries.offsetsr   fixturer0   ra   rg   markparametrizer~   r   r   r   r   r   r   r   r   r  r  r  r  r  r!  r)  r6  r;  rF  rI  rX  r_  rf  rk  rr  ru  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  r2  r4  r9  r?  rF  rU  rY  rg  ri  r  __annotations__r  rj  dates3ru  rx  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r,  r2  r   r;  r?  rB  rH  rK  rU  r\  rf  rr  rt  ry  
skip_if_noparamxfailr  r  r  r  r/   r-   r+   <module>r     se                            # # # # # # * * * * * * - - - - - - ( ( ( ( ( ( ) ) ) ) ) ) ) ) )                            / / / / / / 4 4 4 4 4 4              
 # " " " " " 0 0 0 0 0 0 ) ) ) ) ) ) 	% 	% 	%"+ "+ "+J
  
  
    	
  	
 *- -+ *-- - -0- - - LLL 	6 	6	 	6- - -., , ,81 1 16=, =, =,@9( 9( 9(x. . .< JJJKK: : LK: $..G G /.G( ( ("? ? ?:, , ,- - - !=!=!=>>!L!L!LMM	- 	- NM ?>	-$ $ $4
$ 
$ 
$, , ,$*$ *$ *$`	0 	0 	0 	VFGDDE	VFGDDE	9cBBC 	- 	- 	-< < <(
8 
8 
8   !O!O!OPP- - QP- A''T T ('T- - -
4 
4 
4 	()	992334d++	()	5
 

4 
4
 

4 
HlFFHHU 	+ 	+ 	+ OYffhh#WXX+ + YX+"4 "4 "4JG G GBS S S:=- =- =-@
- 
- 
-- - -3 3 3
- 
- 
-, , ,&( ( (&- - - 0 0 0  ( ( ( ' ' '0, , ,0   !L!L!LMM  NM sgu5E'FGGF F HGF$2 2 2: : :     ) ) )( ( (    ' ' '(F F F6	 	 	& & &2 HT2qHT1aHT2qHT1aHT2qHT1b!_    !Y&!* Xbf Xvac{ XBF XVTUTVTVZ X_ X X X
&	"6	"26	" 666":;;, , <;,& 666":;;, , <;,0- - ->6 6 6 
''""
 	544   
- 
- 
-( ( (>( ( ((, , ,@, , ,&  (Y Y Yx
- 
- 
-, , ,&- - - , , ,$B B B@% % %*- - -,
, 
, 
, iii((   - -  )( -  (  
 
 
 
 e}55, , 65,( *  " "F---$'-36-BE- - -G" "F- !@!@!@AA	- 	- BA	-, , ,0- - -2- - - !W!W!WXX    YX  !M!M!MNN    ON  	8l^,	tl^$	tl^$	tl^$	 	? 	? 	?, , ,  #s,,, , , , -,,<- - -, y+##--//H $  	
 	
 	
	 - -  - y- - -- - - $!122    32     r-   