
    d                     (   U d dl m Z  d dlmZ 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Zd dlmZmZmZmZmZmZ d dlmZ d d	lmZ d d
lmZ d dlmZm Z  d dl!m"Z"m#Z# d dl$m%Z% d dl&m'Z'  e	j(                    d             Z)e	j(        d             Z*e	j(        d             Z+ e	j(        g d          d             Z,d Z-d Z.e	j/        0                    ddg          e	j/        0                    ddd fdd fg          d                         Z1d Z2d  Z3e	j/        0                    ddg          e	j/        0                    d!g d"          d#                         Z4e	j/        0                    ddg          d$             Z5e	j/        0                    ddg          d%             Z6d& Z7d' Z8d( Z9d) Z:e	j/        0                    d*g d+          d,             Z;e	j/        0                    d-d.d/g          d0             Z<e	j/        0                    d-d1d/g          d2             Z=d3 Z>d4 Z?d5 Z@d6 ZAe	j/        0                    d-g d7          e	j/        0                    d8g d9          d:                         ZBd; ZCd< ZDd= ZEd> ZFd? ZGd@ ZHe	j/        0                    dAdBdCdDdEdFgdGdCdDdHdFgd/dIdJd/dFgg          dK             ZIdL ZJdM ZKdN ZLdO ZMe	j/        0                    d-g dP          dQ             ZNe	j/        0                    dRdSdTg          dU             ZOdV ZPdW ZQe	j/        0                    dXdYdZidY ed[          id\d]d^dYd_id`daig          db             ZRe	j/        0                    dYdcdddedfdg eS            g          dh             ZTe	j/        0                    d`dcdidg eS            g          dj             ZUdk ZVdl ZWdm ZXdn ZYdo ZZdp Z[dq Z\dr Z]ds Z^dt Z_du Z`dv Zadw Zbdx Zce	j/        0                    d-g dy          dz             Zde	j/        0                    d{dd|gdd}gg          d~             Zed Zfd Zgd Zhd Zid Zjd Zke	j/        0                    dddd e	jl        de	j/        m                    d                    g          d             Znd Zod Zpd Zq e dddS           e ddd           e ddd           e ddd           e ddd           e ddd          gZree         esd<   erddT         ejt        gz   erdTd         z   ejt        gz   erdd         z   Zuee         esd<   ejt        gerz   ejt        gz   Zve	j/        0                    dereuevg          d             Zwd Zxd Zye	j/        0                    dd d d gg d          d             Zze	j/        0                    dddg          e	j/        0                    dg d          d                         Z{d Z|d Z}d Z~d Zd Zd Zd Zd Zd Zd Zd Ze	j/        0                    dg d          e	j/        0                    dg d          d                         Ze	j/        0                    dg d          d             Ze	j/        0                    dddg          dÄ             Ze	j/        0                    dg dŢ          dededededef
d˄            Ze	j/        0                    dg d̢          d̈́             Zd΄ Zdτ ZdS )    datetime)partial)StringIO)ListN)lib)DatetimeNaTType)	DataFrameSeries	Timedelta	Timestampisnanotna)Grouper
date_range)Periodperiod_range)DatetimeIndex_get_timestamp_range_edges)offsets)Minutec                      t           S Nr        e/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/resample/test_datetime_index.py_index_factoryr   &   s    r   c                      dS )NMinr   r   r   r   _index_freqr!   +   s    5r   c                 Z    t           j                            t          |                     S r   )nprandomrandlenindexs    r   _static_valuesr)   0   s    9>>#e**%%%r   )smsusns)paramsc                     | j         S r   )param)requests    r   unitr2   5   s
    =r   c                    |                      |          }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          ||	          }
|                    t          j                  }t%          j        ||
           d S )N   int64r(   dtype   freqsummeanprodminmaxvarTaltnumeric_onlyrightr:   closedlabel!
  i 
  r   5Tr'   )as_unitr   r#   arrayr&   r   r   groupbyohlc_cython_agg_generalngroupsr   r=   allappendr   aggr<   tmassert_series_equal)r(   r2   dtir*   bgfuncsfarridxexpectresults               r   test_custom_grouperr`   :   s   
--

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
$
'
'
'
/
/
5
5CCs###F UU26]]F66*****r   c                    t          t          d          dd          }|                     |          }t          t          j                            t          |          d          |d          }|                    |          	                    t          j
                  }t          |j                  dk    sJ t          |j                  dk    sJ d S )Nr8   rE   rF   
   float64r6   rI   )r   r   rL   r
   r#   r$   r%   r&   rN   rT   r<   columnsr(   )r(   r2   rX   rW   dfrs         r   test_custom_grouper_dfrg   ^   s    VAYYwg>>>A
--

C	29>>#c((B//s)	L	L	LB


1"&!!Aqy>>Rqw<<4r   z#_index_start,_index_end,_index_name)1/1/2000 00:00:00z1/1/2000 00:13:00r(   zclosed, expectedrE   c           	          t          | d         | dd                                         | dd                                         | dd                                          gt          dddd	          
          S )Nr   r4         1/1/2000   5minr(   periodsr:   namer'   r   r=   r   r*   s    r   <lambda>rt   q   si    f1q1v{{}}a"gllnnafkkmmD QV'RRR   r   leftc           	          t          | d d                                         | dd                                         | dd                                          gt          dddd                    S )	Nr8   rb   1/1/2000 00:05   rn   r(   ro   r'   rr   rs   s    r   rt   rt   x   sj    f2A2q2w||~~qv{{}}= $af7     r   c                    | }|j                             |          |_          ||          }|j                             |          |_         |                    d|d                                          }t	          j        ||           d S )Nrn   rE   rG   rH   )r(   rL   resampler=   rU   rV   )seriesrG   expectedr2   r*   r_   s         r   test_resample_basicr~   h   s~    4 	A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	   rl   Trp   r:   Int64r6   3T)rx         rx   )r4   rm      Float64)	r   ranger   rL   r{   r<   rU   rV   r=   )r2   tsr_   r}   s       r   test_resample_integerarrayr      s*   	aQS999AA$GG
 
 
B
 [[""$$FQT:::BB4HH  H
 68,,,[[##%%F		QT:::BB4HH  H
 68,,,,,r   c                 P   | }|j                             |          |_         |                    d                                          }t	          t          d          dd          }|                    |                              d           }t          j	        ||           d S )N5Minr8   ru   rF   c                     | d         S NrJ   r   xs    r   rt   z-test_resample_basic_grouper.<locals>.<lambda>   s
    " r   )
r(   rL   r{   lastr   r   rN   rT   rU   rV   )r|   r2   r*   r_   grouperr}   s         r   test_resample_basic_grouperr      s    Agood##AGZZ$$&&F6!99V6BBBGyy!!%%oo66H68,,,,,r   zkeyword,value))rH   righttt)rG   r   )
conventionstartttc                     | 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 )NzUnsupported value z for ``matchrn   rn   )r(   rL   pytestraises
ValueErrorr{   )r|   keywordvaluer2   msgs        r   test_resample_string_kwargsr      s     <''--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   A!!A%(A%c                    |dk    rt          j        d           | }|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 )NrO   z!covered by test_resample_how_ohlcr   r4   rj      rk   rx   rl   rm   rn   r(   ro   rE   rz   )r   skipr(   rL   r#   	ones_likerN   rT   r   getattrr{   rU   rV   )r|   downsample_methodr2   r*   	grouplistr}   r_   s          r   test_resample_howr      s   
 F""7888A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           	         | }|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 )Nr   r4   rj   r   rk   rx   c                     t          |                                           rt          j        t          j        d          S | d         |                                 |                                 | d         gS Nrm   r   rJ   r   rR   r#   repeatnanr@   r?   groups    r   _ohlcz%test_resample_how_ohlc.<locals>._ohlc   U    ;;?? 	(9RVQ'''a%))++uyy{{E"I>>r   rl   rm   rn   r(   ro   )openhighlowcloser(   rd   rE   rz   )r(   rL   r#   r   r
   rN   rT   valuestolistr   r{   rO   rU   assert_frame_equal)r|   r2   r*   r   r   r}   r_   s          r   test_resample_how_ohlcr      s   
 	Agood##AGQIIaLIacNIadOIbccN? ? ?
 			)  ''.5577QV'JJJRR
 
 100  H ZZwgZ>>CCEEF&(+++++r   c                 v   t          j        dt           j                  }t          dt	          |          d                              |           }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 )Nr8   r7   
2014-01-01dstartrp   r:   ABr'   r4   c                 :    t          t          |                     S r   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   Mc                 :    t          t          |                     S r   r   r   s    r   rt   z-test_resample_how_callables.<locals>.<lambda>  s    T!WW r   r   )r   )r4   )r#   aranger5   r   r&   rL   r
   r{   applyr   rU   r   )r2   dataindre   r   r   df_standard	df_lambda
df_partialdf_partial2df_classs              r   test_resample_how_callablesr      s   9Qbh'''D
<T
E
E
E
M
Md
S
SC	D))	5	5	5B                   ++c""((,,KC  &&'='=>>IS!!''44J++c""((q)9)9)9::K{{3%%ggii00H+y111+z222+{333+x00000r   c                 8   d}t          j        t          |          dddgid          }|j                            |           |_        d |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 )Na  date,time,value
11-08-2014,00:00:01.093,1
11-08-2014,00:00:02.159,1
11-08-2014,00:00:02.667,1
11-08-2014,00:00:03.175,1
11-08-2014,00:00:07.058,1
11-08-2014,00:00:07.362,1
11-08-2014,00:00:08.324,1
11-08-2014,00:00:08.830,1
11-08-2014,00:00:08.982,1
11-08-2014,00:00:09.815,1
11-08-2014,00:00:10.540,1
11-08-2014,00:00:11.061,1
11-08-2014,00:00:11.617,1
11-08-2014,00:00:13.607,1
11-08-2014,00:00:14.535,1
11-08-2014,00:00:15.525,1
11-08-2014,00:00:17.960,1
11-08-2014,00:00:20.674,1
11-08-2014,00:00:21.191,1	timestampdatetime)parse_dates	index_col6sr   )rm   r   rm   r   z
2014-11-08rm   r:   rp   r'   7s)rm   rb   rm   r4   11srk      r   13s   rj   17s   rx   )pdread_csvr   r(   rL   rq   r{   r<   r
   r   rU   r   )r2   r   re   r_   r}   s        r   test_resample_roundingr     s   D* 
 66"23
 
 
B
 x%%BHBHM[[""$$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                            t          |                    |          }|                    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         |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 )N  r4   rb   Dr(   r   endr:   rq   zw-sunrx   )rj   rj   rj   r   z1/2/2005z1/9/2005r   rJ   W-MONz1/3/2005z	1/10/2005zW-TUEz1/4/2005W-WEDz1/5/2005zW-THUz1/6/2005zW-FRIrm   z1/7/2005r   r   )rm   r   r4   r   rx   rm   r   r8   )r   r   rL   r   r#   r$   r%   r&   r{   r   r(   	dayofweekrR   ilocrq   r2   rW   r*   r_   s       r   test_resample_basic_from_dailyr   Q  s   
tQ""q"(=(=Cg  gdmm  	ry~~c#hh''--A ZZ  %%''F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]****<''''''r   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   r9   r4   r'   r         ?rj   c           	      4    g | ]}t          d d|dd          S )i  r4   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   19750101r8   r   )r   rL   r   r{   r=   r(   r#   r   r   countrU   rV   r<   )r2   datesr|   r_   r*   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          j                    }|j                            |          |_        t	          d          }|                    |          }|                    | d d           d S )Nr   r9   TrB   )rU   makeTimeDataFramer(   rL   r   rN   rP   )r[   r2   re   rX   rY   s        r   "test_resample_frame_basic_cy_funcsr    si    				Bx%%BHSA


1A !D99999r   r:   r   r   c                 D   t          j                    }|j                            |          |_        |                    |                                           }t          j        |d         |d                             |                                                      d S )Nr   )rU   r  r(   rL   r{   r=   rV   )r:   r2   re   r_   s       r   test_resample_frame_basic_M_Ar    s    				Bx%%BH[[##%%F6#;3(8(8(>(>(C(C(E(EFFFFFr   r   c                     t          j                    }|j                            |          |_        |                    | d                                           d S )Nperiodkind)rU   r  r(   rL   r{   r=   )r:   r2   re   s      r   test_resample_frame_basic_kindr    sO    				Bx%%BHKK8K$$))+++++r   c                    t          t          ddd          t          ddd          dd                              |           }t          t          j                            t          |                    |          }|                    d          	                                }t          |          dk    sJ |d	         |d	         k    sJ |d
         |d
         k    sJ |j
        j        dk    sJ d S )Nr   r4   rb   r   r(   r   r    i2  r   rJ   )r   r   rL   r   r#   r$   r%   r&   r{   ffillr(   rq   r   s       r   test_resample_upsampler    s    
tQ""q"(=(=Cg  gdmm  	ry~~c#hh''--A ZZ$$&&Fv;;%!9!":2<''''''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 )Nrk      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10sr9   10S)r   r   r(   rL   r#   NaNr   rU   rV   r{   r=   )r2   r*   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BMr   r   r:   r   )r   )   ?   r'   r   r5   r   )
r   rL   r
   r   r   r&   r{   r   rU   r   )r2   r(   r}   re   r_   s        r   test_resample_extra_index_pointr'    s    ZZdCCCKKDQQE#vlll%@@@ABBHZZcBBBJJ4PPE	Cc%jj 1 1???@	P	P	PB[[##%%F&(+++++r   c                 z   t          ddd                              |           }t          t          j                            t          |                    |          }|                    d                              d          }|	                    |j
        dd	          }t          j        ||           d S )
Nrl   rx   5tr   tr   limitr  methodr,  )r   rL   r   r#   r$   randnr&   r{   r  reindexr(   rU   rV   r2   rngr   r_   r}   s        r   test_upsample_with_limitr3    s    
Z
6
6
6
>
>t
D
DC		C))3	/	/B[[##!#,,Fzz&,waz@@H68,,,,,r   )5D10Hr   r  rule)Y3M15D30H15Min30Sc                 |   t          dd||                               |          }t          t          j                            t          |                    |          }|                    |                              d          }|	                    |j
        dd          }t          j        ||           d S )Nrl   rx   )rp   r:   tzr   r+  nearestr-  )r   rL   r   r#   r$   r/  r&   r{   r?  r0  r(   rU   rV   )tz_aware_fixturer:   r6  r2   r2  r   r_   r}   s           r    test_nearest_upsample_with_limitrA    s     Z:J
K
K
K
S
S C 
	C))3	/	/B[[&&Q&//Fzz&,yzBBH68,,,,,r   c                    | }|j                             |          |_         t          t          d                    }|                    |                              d           }|                    d                                          }t          |          t          |          k    sJ t          |j	                  dk    sJ |j
        d         }|d         |d         k    sJ |d	         |dd
                                         k    sJ |d         |dd
                                         k    sJ |d         |d         k    sJ |j
        d         }|d         |d         k    sJ |d	         |d d                                         k    sJ |d         |d d                                         k    sJ |d         |d         k    sJ d S )Nr8   r9   c                     | d         S r   r   r   s    r   rt   z$test_resample_ohlc.<locals>.<lambda>  s
    ae r   r   rm   r   ir   rJ   r   r   r   )r(   rL   r   r   rN   rT   r{   rO   r&   rd   r   r@   r?   )r|   r2   r*   r   r^   r_   xss          r   test_resample_ohlcrF    s   Agood##AG6!99%%%GYYw##OO44FZZ$$&&Fv;;#f++%%%%v~!####	RBf:2f:2b5''''e9"R%&&&&g;!B%	QBf:1f:2A2$$$$e9"1"		####g;!A$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hr9   	4-15-2000	5-15-2000r'   30Tz	4-14-2000)r   rL   unionr   r   r&   locr{   rO   
isinstancer
   )r2   r(   r*   r   rX   s        r   test_resample_ohlc_resultrQ  ,  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$$U++0022Aa#####	l{l$$U++0022A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   rJ   r9   r'   )r   rL   dropr   r
   r#   r   r&   r{   r=   r0  rU   r   )r2   r2  r(   re   r_   r}   s         r   $test_resample_ohlc_result_odd_periodrT  9  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r>  ia  z2011-01-06 12:43:33ic  z2011-01-06 12:54:09i /hYl    rT i )PRICEVOLUMErX  rW  r4   axisColsH)rZ  keysr   r   rX   cr   ))r   r^  r   )r   r^  r   )r   r^  r   )r   r^  r   )rX   r   r   )rX   r   r   )rX   r   r   )rX   r   r   )r
   r   r0  r(   rL   rd   rq   r{   rO   r   concatnamesrU   r   
MultiIndexfrom_tuples)r2   re   resexps       r   test_resample_ohlc_dataframere  K  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          j                            dd          g dd t	          d          D                       } t          j        | j        dd d f<   |                     dd	                                          }| 	                    d
 d	                                          }d t	          d          D             |_
        t          j        ||           d S )Nrm   r   )  rg  rg  rg  c                 8    g | ]}t          d |dz   d          S )rg  r4   r   )yearmonthr:   r   r  s     r   r  z+test_resample_dup_index.<locals>.<listcomp>  s+    MMMaTQS999MMMr   r   rx   Qr4   rY  c                 6    t          | j        dz
  dz            S )Nr4   rx   )intrj  r   s    r   rt   z)test_resample_dup_index.<locals>.<lambda>  s    C1(9$:$: r   c                 8    g | ]}t          d |dz   d          S )rg  r4   rl  )ri  quarterr:   rk  r  s     r   r  z+test_resample_dup_index.<locals>.<listcomp>  s+    UUUqD!a%cBBBUUUr   )r
   r#   r$   r/  r   r   r   r{   r=   rN   rd   rU   r   )re   r_   r}   s      r   test_resample_dup_indexrq  {  s     

	2&&&MM599MMM
 
 
B
 FBGAqqqDM[[1[%%**,,Fzz::zCCHHJJHUUERSHHUUUH&(+++++r   c                 `   t          t          ddd          t          ddd          d                              |           }t          t          j                            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 )Nr   r4   rb   r   r$  r   rE   rz   8Hr  r   )r   r   rL   r   r#   r$   r%   r&   r{   r=   rP  r(   r:   r   
DateOffsetHour)r2   rW   r*   bsr_   s        r   test_resample_reresamplerw    s   
tQ""q"(=(=C  gdmm  	ry~~c#hh''--A	
Cw	7	7	<	<	>	>B[[##%%Fv;;"fl');<<<<<<Q//////r   zfreq, expected_kwargsA-DEC19902000za-decr$  zA-JUNza-junz1990-01z2000-01c                 H    | dd          }|j                             |          |_         |                    |d                                          }|                    |                                          }t	          di ||_         t          j        ||           d S )Nz1/1/1990rl   r  r  r   )r(   rL   r{   r=   r   rU   rV   )simple_date_range_seriesr:   expected_kwargsr2   r   r_   r}   s          r   !test_resample_timestamp_to_periodr~    s     
"	!*j	9	9Bx%%BH[[H[--2244F{{4  %%''H!44O44HN68,,,,,r   c                 V   d }t          ddd                              |           }t          t          j                            t          |                    |          }|                    ddd	                                          }|j	        d
         |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 | d         |                                 |                                 | d         gS r   r   r   s    r   r   ztest_ohlc_5min.<locals>._ohlc  r   r   rh   z1/1/2000 5:59:50r  r9   r'   rn   rE   rz   z1/1/2000 00:00r   r4      rw   z1/1/2000 5:55:01z1/1/2000 6:00:00)r   rL   r   r#   r$   r/  r&   r{   rO   rO  rR   )r2   r   r2  r   	resampledrd  s         r   test_ohlc_5minr    s*   ? ? ?
 (*<5
I
I
I
Q
QRV
W
WC		C))	5	5	5BF7'BBGGIIIM*+r!u499;;;;;
%1R4//CM*+s27799999
%%&&'
(
(CM,-499;;;;;;;r   c                 B   t          dd                              |           }|                    d          j        }t	          t
          j                            t          |                    |          }|	                    d          
                                }|                    d           
                                }t          |          dk    sJ t          j        |d         |d	                    t          j        |d	         |d                    d S )
Nrl   	2/29/2000r8   r'   r   c                     | j         S r   )rj  r   s    r   rt   z,test_downsample_non_unique.<locals>.<lambda>  s    AG r   r   r   r4   )r   rL   r   r   r   r#   r$   r/  r&   r{   r=   rN   rU   assert_almost_equal)r2   r2  rng2r   r_   r}   s         r   test_downsample_non_uniquer    s    
Z
-
-
5
5d
;
;C::a==D		D		**$	7	7	7B[[""$$Fzz++,,1133Hv;;!6!9hqk2226!9hqk22222r   c                    t          dd                              |           }|                    d          j        }t	          t
          j                            t          |                    |          }d}t          j
        t          |          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nrl   r  r   r'   z/cannot reindex on an axis with duplicate labelsr   r   )r   rL   r   r   r   r#   r$   r/  r&   r   r   r   asfreq)r2   r2  r  r   r   s        r   test_asfreq_non_uniquer    s    
Z
-
-
5
5d
;
;C::a==D		D		**$	7	7	7B
;C	z	-	-	-  
		#                 s   B99B= B=c                    t          dd                              |           }t          t          j                            dt          |                    |g d          }|                    dd                                          }|j	                            d                                          j	        }t          j        ||           d S )	Nrl   r  rx   r   rX   r^  rd   r(   r   r4   rY  )r   rL   r
   r#   r$   r/  r&   r{   r=   r   rU   r   )r2   r2  re   r_   r}   s        r   test_resample_axis1r    s    
Z
-
-
5
5d
;
;C	29??1c#hh//OOO	T	T	TB[[1[%%**,,Ft}}S!!&&((*H&(+++++r   )r*  r)  15t30t4h12hc                    t          ddd                              |          }t          t          j                            t          |                    |          }t          j        |d d<   |dd                              | dd          	                                }|                    | dd          	                                }t          j        ||           d S )	Nz1/1/2000 04:00:00Q r*   r   r'   r   ru   rz   r   rL   r   r#   r$   r/  r&   r   r{   r=   rU   rV   )r:   r2   r2  r   r_   r}   s         r   test_resample_anchored_ticksr    s     (%c
B
B
B
J
J4
P
PC		C))	5	5	5BVBrrFV__T&_??DDFFF{{4f{==BBDDH68,,,,,r   r   r4   r   c                    d }t          dd|  dd                              |          }t          t          j                            t          |                    |          }t          j        |	                    d          
                                |	                    d                              |                     d S )	Nc                 *    |                                  S r   )r<   r   s    r   rt   z,test_resample_single_group.<locals>.<lambda>  s    aeegg r   z2000-1-1z2000-z-10r   r9   r'   r   )r   rL   r   r#   r$   r/  r&   rU   rV   r{   r<   r   )r   r2   mysumr2  r   s        r   test_resample_single_groupr    s    E
Z!1!1!1!1
<
<
<
D
DT
J
JC		C))	5	5	5B2;;s++//112;;s3C3C3I3I%3P3PQQQQQr   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   r9   c                 *    t          j        |           S r   )r#   stdr   s    r   rt   z0test_resample_single_group_std.<locals>.<lambda>  s    RVAYY r   )	r   r   r(   rL   r   r{   r   rU   rV   )r2   r*   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                            t          |                    |          }|                    dd                                          }t          d	d
d                              |           }t          j
        |j        |           d S )Nrh   z1/1/2000 02:00r*   r9   r'   rn   2minoffset12/31/1999 23:57:00z1/1/2000 01:57r   rL   r   r#   r$   r/  r&   r{   r=   rU   assert_index_equalr(   )r2   r2  r   r  exp_rngs        r   test_resample_offsetr    s     (*:
E
E
E
M
Md
S
SC		C))	5	5	5B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                            t          |                    |          }t          ddd                              |          } |j        d	i |                                 }t          j
        |j        |           d S )
N2000-01-01 00:00:002000-01-01 02:00r*   r9   r'   r  2000-01-01 01:57rn   r   r  )r  r2   r2  r   r  r  s         r   test_resample_originr    s     *,>S
I
I
I
Q
QRV
W
WC		C))	5	5	5B1  gdmm  --f--2244I)/733333r   invalid_valueepchstartdaystarttz
2000-30-30c                 h   t          ddd                              |          }t          t          j                            t          |                    |          }d|  d}t          j        t          |          5  |
                    d	| 
           d d d            d S # 1 swxY w Y   d S )Nr  r  r*   r9   r'   z|'origin' should be equal to 'epoch', 'start', 'start_day', 'end', 'end_day' or should be a Timestamp convertible type. Got '
' instead.r   rn   r  r   rL   r   r#   r$   r/  r&   r   r   r   r{   )r  r2   r2  r   r   s        r   test_resample_bad_originr  *  s     *,>S
I
I
I
Q
QRV
W
WC		C))	5	5	5B		 	 	 
 
z	-	-	- + +
F6***+ + + + + + + + + + + + + + + + + +   B''B+.B+12dayysc                 h   t          ddd                              |          }t          t          j                            t          |                    |          }d|  d}t          j        t          |          5  |
                    d	| 
           d d d            d S # 1 swxY w Y   d S )Nr  r  r*   r9   r'   z6'offset' should be a Timedelta convertible type. Got 'r  r   rn   r  r  )r  r2   r2  r   r   s        r   test_resample_bad_offsetr  9  s    
*,>S
I
I
I
Q
QRV
W
WC		C))	5	5	5B
U6
U
U
UC	z	-	-	- + +
F6***+ + + + + + + + + + + + + + + + + +r  c                    d\  }}t          ||d                              |           }t          t          j                            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7minr9   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:00
2000-01-01r  )r2   r   r   r2  r   r  r  s          r   test_resample_origin_prime_freqr  B  s   =JE3
UCf
-
-
-
5
5d
;
;C		C))	5	5	5B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                            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                            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  r*   r:   r>  r'   r  r  rn   z1999-12-31 23:57:00+00:00r  z1999-12-31 12:02:00+03:00r  r  r  r   r  r9   z12/31/1999 23:57:00+03:00)r   rL   r   r#   r$   r/  r&   r{   r=   rU   r  r(   r   r   r   )r2   r   r>  r2  r   r  r  s          r   test_resample_origin_with_tzr  g  s   
@C	B
1  gdmm  
	C))	5	5	5B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		C))	5	5	5B	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$   1*F''F+.F+-*I$$I(+I(c                 2   d\  }}t          ||d                              |           }t          j                            t          |                    }t          ||          }|                    d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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  r9   r'   r   r  r  24HF)
check_freq)z2000-10-01 23:30:00+0200z2000-12-02 00:30:00+0200)r   rL   r#   r$   r/  r&   r   r{   r=   rU   rV   tz_localizer>  )r2   r   r   r2  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    s@   GJE3
UCf
-
-
-
5
5d
;
;CIOOCHH--M-s+++D}}S}116688H}}U7}3388::H8X... %%H  W 55::<<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}116688H}}U7}3388::H8//55x7K7KD7Q7QRRR8//55x7K7KD7Q7QRRRRRr   c                    
 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|                                          }t          j
        ||           At          d
          }t          d
          }t          ||d                                         }t          t	          j        t          |                    |	          }ddg}	 |ddg|	          }|                    ddd                                          }t          j
        ||           ddg}	 |ddg|	d          }|                    ddd                                          }t          j
        ||           ddg}	 |ddg|	          }|                    ddd                                          }t          j
        ||           ddg}	 |d
d g|	          }|                    ddd!                                          }t          j
        ||           d"d#g}	 |d d
g|	          }|                    ddd$                                          }t          j
        ||           d S )&NAmerica/Chicagor   c                     t          | t          fd|D             |d                                                  S )Nc                 2    g | ]}t          |           S )rV  )r   )r  r*  r>  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   rL   )r   
timestampsr:   r>  r2   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-02rV  z2013-11-03 23:591hr9   r'   g      8@g      9@z
2013-11-03r  r   r  r  z2013-11-02 22:00-05:00z2013-11-03 22:00-06:00g      7@       @z-2Hr  z2013-11-03 21:00-06:00g      6@      @r  z2013-11-02 02:00-05:00z2013-11-03 02:00-06:002Hz2013-11-02 23:00-05:00z2013-11-03 23:00-06:00r  z-1Hz2013-11-02 01:00-05:00z2013-11-03 01:00:00-05001H)r   )r   r   rL   r   r#   onesr&   r{   r<   rU   rV   )r2   r  r   r   r2  r   r}   r  r_   expected_tsr>  s   `         @r   )test_resample_origin_with_day_freq_on_dstr    s&   	B
 
 
 
 
 
 
 lr***E
&2
.
.
.C
UCd
+
+
+
3
3D
9
9C	C!!	-	-	-B~tTl\<,HIIHG[%> 1 1S004466
vx0000 lr***E
&2
.
.
.C
UCd
+
+
+
3
3D
9
9C	C!!	-	-	-B+-EFK~tSk;77H[[WU[;;??AAF68,,,+-EFK~tSk;UCCCH[[wu[==AACCF68,,,+-EFK~sDk;77H[[WT[::>>@@F68,,,+-EFK~tSk;77H[[WU[;;??AAF68,,,+-GHK~sDk;77H[[WT[::>>@@F68,,,,,r   c                    t          ddd                              |           }t          t          j                            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   ru   rz   r  r1  s        r   test_resample_daily_anchoredr    s    
'S
A
A
A
I
I$
O
OC		C))	5	5	5BVBrrFV__Sv_>>CCEEF{{3vV{<<AACCH68,,,,,r   c                 l   t          dd                              |           }t          t          j                            t          |                    |          }|                    dd                                          }t          ddd	          }t          j        |j        |           d S )
Nrl   z
12/31/2000r'   r   r  r  zJan-2000zDec-2000r9   )r   rL   r   r#   r$   r/  r&   r{   r=   r   rU   r  r(   )r2   r2  r   r_   	exp_indexs        r   &test_resample_to_period_monthly_bugletr    s     Z
.
.
6
6t
<
<C		C))	5	5	5B[[8[,,1133FZ#>>>I&,	22222r   c                     t          t          j                            ddd          t	          ddd          d          } |                                                     d	                                                                          }|                     d	          	                    d
           }t          j        ||           d S )Nr   r8   2   z
2012-01-01r\  r   rc   r6   r   c                 *    |                                  S r   r=   r   s    r   rt   z&test_period_with_agg.<locals>.<lambda>  s    AFFHH r   )r   r#   r$   randintr   to_timestampr{   r=   	to_periodrT   rU   rV   )s2r}   r_   s      r   test_period_with_aggr    s    	
	!Q##<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 )Nr4   i  rb   r      r   r         r  )IDr   r   r   rd   r   r  rn   c                 P    |                      d                                          S )Nrn   )r{   r<   r   s    r   rt   z(test_resample_segfault.<locals>.<lambda>  s    

60B0B0F0F0H0H r   )r   r
   from_records	set_indexr(   rL   rN   r{   r<   r   rU   r   )r2   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-01rm   Wr   )r4   r4   r   r   )r8   rj   r   r   int32r   )r   r   valr   1Dr   )r
   r   rL   r   r  r{   r  r  r7   r#   r
  rN   r2   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   )r4   rx   r4   rm   z
2017-01-01z
2017-01-04r'   rc   r\  cubic)r   importorskipr
   r   rL   astyper{   r=   interpolaterU   rV   )r2   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                            t          |                    |          }|                    d                                          }|                    d                                          }t          j
        ||           d S )Nrl   r   r  r   r'   r	  zW-SUN)r   rL   r   r#   r$   r/  r&   r{   r=   rU   rV   )r2   r2  r   r  r}   s        r   test_weekly_resample_bugletr  3  s    
Zc2
6
6
6
>
>t
D
DC		C))	5	5	5BC  %%''I{{7##((**H9h/////r   c                     t          ddd                              |           }t          t          j                            t          |                    |          }|                    d           d S )N4/16/2012 20:00i  rJ  r   r'   r   )r   rL   r   r#   r$   r/  r&   r{   r2   r	  r   s      r   test_monthly_resample_errorr  =  sc    ($SAAAII$OOE		E

++5	9	9	9B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@rb   100nr   r'   d   r=   r6   )r   r   to_datetimer   r   r&   r{   tseriesr   NanorT   floatrU   rV   )r   	exp_startindxr   rf   r_   exp_indxrd  s           r   test_nanosecond_resample_errorr%  E  s     EIBN5112FKKKD	c$ii  	-	-	-B
BJ&++C0011AUU6]]Fy 9 92FSSSH
s8}}%%XU
C
C
CC63'''''r   c                 	   t          ddd                              |          }t          |j        |          }|                    d                                          }|                    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                                          }|                    d	
          }|j        t          dd          z   t          dd          z
  |_        |j                            |          	                    d          |_        |j        j
        dk    sJ t          j        ||           t          ddd                              |          }t          |j        |          }|                    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d                                          }|                    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dd          }|j                            |          |_        |                    d                                          }t%          |          dk    sJ d S )Nz1/1/2012z4/1/2012100minr9   r'   r   r  r  r   )howr4   r-   r   inferru   )rG   rl  )r  rG   z2012-04-29 23:00z2012-04-30 5:00rJ  )r   rL   r
   rj  r{   r=   r  r(   r   
_with_freqr:   rU   r   shift_datar   
no_default_freqr&   )	r|  r2   r2  re   r_   r}   rd  r   r  s	            r   test_resample_anchored_intradayr/  U  s    Z(
;
;
;
C
CD
I
IC	39C	(	(	(B[[""$$F{{3X{..3355BBuBMMHNNi4((9Q+<+<<<NN^++D11<<WEEHN>#%%%%&(+++[[V[,,1133F
((13(


(
(8
(
<
<
A
A
C
CC


u

%
%C	Ia...1c1B1BBCI	!!$''227;;CI9>S    &#&&&
Z(
;
;
;
C
CD
I
IC	39C	(	(	(B[[""$$F{{3X{..3355BBuBMMHNNi4((9Q+<+<<<NN #HN>HN^++D11HN&(+++[[V[,,1133Fxxx$$--c-PPUUWWH$$$//HNNi4((9Q+<+<<<NN #HN>HN^++D11HN&(+++	!	!"46Gc	R	R	RBx%%BHC  %%''Iy>>Qr   )MSBMSzQS-MARzAS-DECzAS-JUNc                      | dd          }|j                             |          |_         |                    |                                           d S )Nrl   z
12/31/2002)r(   rL   r{   r=   )r|  r:   r2   r   s       r   !test_resample_anchored_monthstartr3    sO    	!	!*l	;	;Bx%%BHKKr   z
label, secr  z4.2c                 n   t          ddd          }t          ddd          }|                    |          }t          t          j                            d          |	          }|                    d| 
                                          }|j        d         t          d| d          k    sJ d S )Nz2014-10-14 23:06:23.206rx   400Lr   z2014-10-15 23:00:00r   2200Lr8   r'   )rH   rJ   z2014-10-15 23:00:00)
r   rN  r   r#   r$   r/  r{   r=   r(   r   )rH   secindex1index2r(   r*   r_   s          r   test_resample_anchored_multidayr;    s     116JJJF-qwGGGFLL  Eryq!!///A ZZuZ--2244F<y)DS)D)D)DEEEEEEEEr   c                    t          ddd                              |           }t          t          j                            t          |                    |          }|                    ddd	                                          }t          d
dd                              |           }t          j
        |j        |           d S )Nrl   r   r*  r   r'   r)  rE   ru   rz   z1999-12-31 23:55rm   r  )r2   r2  r   r_   ex_indexs        r   test_corner_casesr>    s     Z#
6
6
6
>
>t
D
DC		C))	5	5	5B[[gV[<<AACCF,adCCCKKDQQH&,11111r   c                      | ddd          d d         }|                     d                                          }t          |          dk    sJ d S )Nz2007-01z2010-05r   r9   r   rx  )r{   r=   r&   )simple_period_range_serieslen0ptsr_   s      r   test_corner_cases_periodrB    s^    ((ICHHH!LGg&&++--Fv;;!r   c                      | ddd          }|j                             |          |_         |                    dd                                          }t	          |          dk    sJ |j         d	         t          d
d          k    sJ d S )Nz
2000-04-28z2000-04-30 11:00rJ  r9   r   r  r  r4   r   z2000-04)r(   rL   r{   r=   r&   r   )r|  r2   r   r_   s       r   test_corner_cases_daterD    s    	!	!,0B	M	M	MBx%%BH[[8[,,1133Fv;;!<?fYS999999999r   c                    t          ddd                              |           }t          t          j                            t          |                    |          }|                    d                                           d S )Nr  iP  r*   r   r'   r   )	r   rL   r   r#   r$   r/  r&   r{   r=   r  s      r   test_anchored_lowercase_bugletrF    so    (%cBBBJJ4PPE		E

++5	9	9	9BKKr   c                 H   t          ddd                              |           }t          t          j                            t          |                    |          }|                    d                              ddg          }t          |t                    sJ d S )	N
2012-06-12rm   rJ  r   r'   20minr=   r<   )r   rL   r   r#   r$   r/  r&   r{   	aggregaterP  r
   )r2   r2  r   r_   s       r   test_upsample_apply_functionsrK    s    
\13
7
7
7
?
?
E
EC		C))	5	5	5B[[!!++VUO<<Ffi(((((((r   c                 .   t          ddd                              |           }t          t          j                            t          |                    |          }|                    t          j                            t          |                              }|	                    d          
                                }|                                	                    d          
                                }t          j        ||           d S )NrH     rJ  r   r'   r   )r   rL   r   r#   r$   r/  r&   takepermutationr{   r<   
sort_indexrU   rV   )r2   r2  r   r_   rd  s        r   test_resample_not_monotonicrQ    s    
\3S
9
9
9
A
A$
G
GC		C))	5	5	5B	&&s2ww//	0	0B[[!!##F
--//
"
"3
'
'
+
+
-
-C63'''''r   r7   r5   r
  rc   float32z-Empty groups cause x.mean() to return float64)reason)marksc                    t          ddgt          dddddd          t          dddddd          g|           }|                    d                              d           }|                    d          }t          j        ||           |                    d                                          }|                    d          }t          j        ||           d S )	Nr4   r     r   r8   r6   r   c                 *    |                                  S r   r  r   s    r   rt   z/test_resample_median_bug_1688.<locals>.<lambda>      affhh r   )r
   r   r{   r   r  rU   r   median)r7   re   r_   rd  s       r   test_resample_median_bug_1688rZ    s     
	
AaAq!,,htQ1a.K.KL
 
 
B [[##$6$677F
))C..C&#&&&[[$$&&F
))C..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 )Nrl   z4/1/2000r   c                 *    |                                  S r   r  r   s    r   rt   z+test_how_lambda_functions.<locals>.<lambda>  rX  r   foobarc                 *    |                                  S r   r  r   s    r   rt   z+test_how_lambda_functions.<locals>.<lambda>  s    qvvxx r   c                 .    |                      d          S Nr4   )ddofr  r   s    r   rt   z+test_how_lambda_functions.<locals>.<lambda>  s    155a5== r   c                 *    |                                  S r   r  r   s    r   rt   z+test_how_lambda_functions.<locals>.<lambda>
  s    !&&(( r   c                 .    |                      d          S ra  rc  r   s    r   rt   z+test_how_lambda_functions.<locals>.<lambda>
  s    QUUU]] r   )r]  r^  F)check_names)r(   rL   r{   r   r=   rU   rV   rq   r  rd   rJ  )r|  r2   r   r_   rd  foo_expbar_exps          r   test_how_lambda_functionsri    s   	!	!*j	9	9Bx%%BH[[##$6$677F
++c




!
!C63'''kk###%%GGLkk#""$$GGL[[##%7%79P9P$QRRF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  rx   r4   r8   rV  r   r  rm   30minr9   r   r'   AS)r   r   rL   r
   r{   r<   )r2   r   r   bad_indre   s        r   test_resample_unequal_timesrn    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        |d<   t          |d         |d	         d
                              |           }|                    |d          }|                    |dd          }|                    |dd          }|                    d          	                    d          }|                    d          	                                }t          j        ||           t          j        ||           t          j        ||           d S )Nz
2002-02-02rm   rM  r         @r'   r   r   rJ   10Tr9   bfill)r(   r.  )r(   r.  r,  r-  10Minr+  )r   rL   r   r#   r   r  r0  reindex_liker{   rr  rU   rV   )	r2   i30r*   i10s10s10_2rlr10_2r10s	            r   test_resample_consistencyr|    s:    \15
9
9
9
A
A$
G
GCry~~S)))A6AaD SVSW5
1
1
1
9
9$
?
?C
))#g)
.
.CIICqI99E	
G1	5	5BJJw%%A%..E
**W


#
#
%
%C 5#&&&5%(((5"%%%%%r     rb   r   rx   rk   r8   r   r   r   dates1rm   dates2r	  c           	      &   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        ||           t          | t          j        t          |                     t          j        t          |                     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 )Nr   r   r   )z
2014-07-31z
2014-08-31z
2014-09-30z
2014-10-31z
2014-11-30)r:   rq   r   )r4   r   r   r   r4   r'   )r:   key)r   r   C)r   r  r  r   )r
   r#   r   r&   r  r{   r  r   r   anyr(   r*  rU   r   rN   r   )r	  re   r_   exp_idxr}   s        r   test_resample_timegrouperr  B  s=    
RYs5zz%:%:;;	<	<B\\#'',,2244FNNN  G
 #/w???H	#w||~~ 9!22488&(+++ZZSc2223399;;F&(+++	RYs5zz%:%:3u::AVAVWW	X	XB\\#'',,2244FooOOO44c
  H
 
#w||~~ 9!22488&(+++ZZSc2223399;;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   r9   c                 *    |                                  S r   nuniquer   s    r   rt   z'test_resample_nunique.<locals>.<lambda>t  s    		 r   r  )r
   r   r(   rL   r{   rN   r   r  r   rq   r  rU   rV   )r2   re   rf   rY   r}   r*  r_   s          r   test_resample_nuniquer  c  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          j        d                                          }|j                            |           |_        t
          j                            |j        	                                gdz  ddg          |_        |
                    d                                          }t          j        |j        |j                   d S )Nr  r9   r   lev0lev1)r`  r  )rU   r  absr(   rL   r   ra  from_arraysrd   r   r{   r  r  r  s      r   2test_resample_nunique_preserves_column_level_namesr    s    		4	(	(	(	,	,	.	.Bx%%BH**					!&&)9 +  BJ [[&&((F"*fn55555r   funcc                 *    |                                  S r   r  r   s    r   rt   rt     s    !))++ r   c                 @    |                      t          j                  S r   )rT   r   r  r   s    r   rt   rt     s    !%%'' r   c                 ,    |                      d          S )Nr  )rT   r   s    r   rt   rt     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 )
NrH  rI  rJ  r9   rK  rL  r5   r6   r   )
r   rL   rS   r   r   r&   r{   r  rU   rV   )	r  r2   r(   r:  index3r*   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	

3AWWYYFtAwwH68,,,,,r   nr  i k)rb   r  i  c                 8   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 )Ni  z
2015-08-27rb   r   r   r   r5   r'   rM  r$  rE   sideTr4   rJ   	minlengthFcopy)r#   r$   RandomStater   rL   r   r  r  choicer{   r  r(   r?   r@   r   searchsortedlexsortr_bincountr&   rU   rV   )r  r  r2   prngdrr   ru   ixvalsbinssortermaskr\   rE   s                 r   test_resample_group_infor    s    9  &&D	,Rc	B	B	B	J	J4	P	PB	QQ**11'::$++bRSBTBT	U	U	UB;;u%%''D	"(,,..bhllnn5	I	I	I	Q	QRV	W	WB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                    d}t          d|d                              |           }t          t          j                            |          t          j                            ||                    }|                    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'   7Tr$  rE   r  r4   r  r5   Fr  )r   rL   r   r#   r$   r/  r  r{   sizer(   r?   r@   r  r   r  r&   r  rU   rV   )	r2   r  r  r   ru   r  r  r  rE   s	            r   test_resample_sizer    s2   A	L!#	6	6	6	>	>t	D	DB		""")*:*:2q*A*A	B	B	BB;;t!!##D	$*..**T	J	J	J	R	RSW	X	XB?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  r*   r2   UTCzEurope/Madridi 8XiFXr\  r9   r8   r'   r6  )r
   r   r   r  r   dtr  
tz_convertr{   r<   rU   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  rV  r  r4   r   r'   1dr9   z
2016-11-02z
2016-11-24r   r  r  r   r  )r   r  rL   r
   rN   r   r   r   r#   r   rU   r   )r2   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                              |                                t          dddd                              |           }t          |j                  }t          |||d|d          }dddd}t          j        |                    d                              |          g d         t          g dg dg ddt          dddd                              |                     d            t          j        |                    d!                              |          g d         t          g d"g d#g d$dt          dd%d!d                              |                     d&           t          j        |                    d                              |          g d         t          g d'g d(g d)dt          d*d+dd                              |                     d,           t          j        |                    d-                              |          g d         t          d.d/gd0d1gd/d2gdt          d*d+d-d                              |                     d3           |d4d5         }t          j        |                    d	                              dddd          g d         t          g d6g d7g d8dt          d4d5d	d                              |                     d9           d S ):NrV  rk   rm      z
US/EasternrV  r8   r'   r   r9   r  r0  r4   r>  r:   z
2013-09-30r  30Minr  r  r  r5   r6   r?   r@   r  r   )r   0   i    i   r  )/   i    i  q  2  )r  P  r  r  iR     z	9/30/2013z	11/4/2013zW-MON Frequencyz2W-MON)r   r  r  r  )r  r  r  r  )r  i  i  r  z
11/11/2013z2W-MON Frequency)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/2013)i  i  iB  r  )i  iA  r  i  )r  r  r  r  zD Frequency)r   r   rL   r
   r(   	normalizerU   r   r{   r<   r   r   r  rT   )r2   rW   re   r}   r   r(  df_dailys          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		
 	
 	
   l^  gdmm  38__F	f6::#W	U	U	UBE
0
0C
G  %%ooo6222555222 
 [w>  gdmm		
 		
 		
 	   
H!!#&&7'''***((( 
 \^  gdmm		
 		
 		
 	   
Dc""???3--&6&6&6^^^LLKd~  gdmm		
 	
 	
 		 	 	 
Es##OOO4d)4,dBZ@@Ke  gdmm		
 	
 	
 		 	 	 ,|+,H#""U#I#IJJOO	
 	------%%% 
 l  gdmm		
 		
 		
 	    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/Berlinr}  rb      rm   r  r   r8   r'   r\        @rx   r   )pytztimezoner   r   localizerL   r   r{   r=   r#   r   rU   rV   )r2   r>  r  r	  r_   r}   s         r   test_downsample_across_dstr  c  s    		'	'B	$B		Br{{2===EEdKKEAU###,,S116688F	bfSE!R!#>>>FFtLL  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/AmsterdamrV  )rk   r   r      r   )r(   r   1Wr  *   r  z
2017-04-02r	  r  r'   )r
   r   rL   r{   r<   rU   r   )r2   re   r_   r}   s       r   !test_downsample_across_dst_weeklyr  p  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  r6   r	  z
2013-04-07r8   )r:   rp   r>  )	r   rL   r   r#   rc   r{   r=   rU   rV   )r2   r]   r*   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  rk   rx   r   r8   r  r9   r  zAmerica/Havanar'   r  z
2018-11-03rp   T)r  r   )g      @g      <@g     @F@)r   r   rL   r  r  listr   r&   r
   rN   r   r=   r   rU   r   )	r2   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|          }|j                            |           |_        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   rx   r8   r   rk   r'   )r  r  r  )r        @      &@1sr  r  2sr  3s60s)
r   r   NaTr
   r(   rL   rU   r   r{   r=   )	r2   r(   frameindex_1sframe_1sindex_2sframe_2sindex_3sframe_3ss	            r   test_resample_with_natr    s   F!F!!	
 E &&&e444E+%%d++EK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  r4   r      r   r'   z
2016-01-15rx   2Dr   )r(   rq   )r   r
   r(   rL   r   r   r  r   r{   firstrU   rV   )r2   r	  re   rd  rc  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                    d }| j                             |          | _         d}|                     d                              ||          }|                     d                                                              |          }t          j        ||           |                     d                              ||          }|                     d                                                              |          }t          j        ||           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=   )r   add_args     r   r[   z3test_resample_apply_with_additional_args.<locals>.f  s    wt}}w&&r   rb   r   )r  r4   r   r   2017r  r'   r   )r(   rL   r{   r   r=   multiplyrU   rV   r
   r   rN   rT   r  r!  r   )r|   r2   r[   
multiplierr_   r}   re   s          r   (test_resample_apply_with_additional_argsr    s   ' ' ' <''--FLJ__S!!'':66Fs##((**33J??H68,,, __S!!'':'>>Fs##((**33J??H68,,, 
##:fb+I+I+I	J	J	JBZZ__%%c**..q*==DDUKKFzz#'',,1133<<ZHHH&(+++++r   )r4   r   rx   zn1, freq1, n2, freq2)
)   S      ?r    )<   r  r4   r    )i  r  r4   r\  )r  r    r4   r\  )i`T  r  g      ?r   )r  r  r4   r   )i  r  r  r   )i  r    r4   r   )r   r\  r  r   )   r\  r4   r   c                    | |z  }||z  }t          dt          dd|                              |                    }|t          t	          |                    z   }|                    t          |          |z                                             }	|                    t          |          |z                                             }
t          j	        |	|
           d S )Nr   z19910905 13:00z19911005 07:00r9   r'   )
r   r   rL   r   r&   r{   r   r=   rU   rV   )n1freq1n2freq2r  r2   n1_n2_r*   r
  r  s              r    test_resample_equivalent_offsetsr    s    $ q&C
q&C	)+;%HHHPPQUVV	 	 	A 	
E#a&&MMAjjSE)**//11GjjSE)**//11G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 )Nr-   r  )
r   r  r:   rL   r   r   r  frequencies	to_offsetr   )r  r   r:   	exp_firstexp_lastr2   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:   rp   r'   r   r   r   rl  r   r  r     r  r  i  i  r   )z
2012-03-31z
2012-06-30z
2012-09-30z
2012-12-31Q-DECr9   r   )r   rL   r   r   r
   rd   r{   r   r#   r>   rM   r5   r   rU   r   )r,  r2   r(   r   re   r_   r}   s          r   test_resample_apply_productr1  ,  s    \R@@@HHNNE	b			'	'	'B	"q&))	*	*B  3Z
[[##BG,,F
1b'B9sCj3+>bhOOODDD7
 
 

'$--
  H &(+++++r   z$first,last,freq_in,freq_out,exp_last))
2020-03-28
2020-03-31r   r  z2020-03-30 01:00)r2  
2020-10-27r   r  2020-10-27 00:00)
2020-10-25r4  r   r  z2020-10-26 23:00)r2  r3  r  r   z2020-03-30 00:00)r2  r4  r  r   r5  )r6  r4  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   rL   r{   r  rU   rV   )	r  r   r7  r8  r*  r2   r   r_   r}   s	            r   #test_resample_calendar_day_with_dstr:  A  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   rx   r.  r4   rl  r   )	min_countr3  r0  r9   r'   )
r   rL   r   r#   r   r   r{   r   rU   rV   )r  r2   r(   serr_   r}   s         r   +test_resample_aggregate_functions_min_countr?  s  s     V#q999AA$GGE
!RVRV$e
,
,C-WS\\#&&--:::F	\N999AA$GG  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 2312Hr$  r   )r   r4   r   r   )r(   rd   r   r7   z
2000-01-02z
2000-01-03r   r4   r   r  )r
   r   rL   rO  r(   r{   r@   r#   r   rU   r   )any_unsigned_int_numpy_dtyper2   re   r_   r}   s        r   test_resample_unsigned_intrC    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  r*   100Y)r2   r:   )r4   rm   r   r   r8   r   r4   rm   r   r   r8   r   r4   rm   r   r   r8   r'   200Y)	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200A-DECr9   )	r  r        @rp  r  rG  rp  r  rG  )
r   r   r{   r=   r   r#   rM   r  rU   rV   )r]   r>  r_   expected_idxr}   s        r   test_long_rule_non_nanorI    s    
\<c
G
G
GC
DDDC
P
P
PC\\&!!&&((F 

 
 
	
 	
 &
!
!  L  CCC<XXXH68,,,,,r   )r   	functoolsr   ior   typingr   numpyr#   r   r  pandas._libsr   pandas._typingr	   pandasr   r
   r   r   r   r   r   pandas._testing_testingrU   pandas.core.groupby.grouperr   pandas.core.indexes.datetimesr   pandas.core.indexes.periodr   r   pandas.core.resampler   r   pandas.tseriesr   pandas.tseries.offsetsr   fixturer   r!   r)   r2   r`   rg   markparametrizer~   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r'  r3  rA  rF  rQ  rT  re  rq  rw  r~  r  r  r  r  r  r  r  r  r  objectr  r  r  r  r  r  r  r  r  r  r  r  r  r  r%  r/  r3  r;  r>  rB  rD  rF  rK  rQ  r0   xfailrZ  ri  rn  r|  r~  __annotations__r  r  dates3r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r+  r1  r   r:  r?  rC  rI  r   r   r   <module>r`     s`                                        * * * * * *                          / / / / / / 4 4 4 4 4 4              
 # " " " " " ) ) ) ) ) )       & & & ...///  0/!+ !+ !+H      )89    	
  	
 *- -+ 	 2-- - -0- - - )89  LLL 6 6	 	 6 )89 - -	 -, )89 , ,	 ,41 1 12A, A, A,H7( 7( 7(t. . .< JJJKK: : LK: #s,,G G -,G '300, , 10,( ( ("? ? ?:, , ,- - - !=!=!=>>!J!J!JKK	- 	- LK ?>	-  0
$ 
$ 
$, , ,$*$ *$ *$`, , ,	0 	0 	0 	F67CCD	F67CCD		)SAAB 	- 	- 	-< < <(
3 
3 
3  , , , !G!G!GHH- - IH- A''R R ('R- - -
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84- 4- 4-n- - -3 3 3
- 
- 
-, , ,&( ( (&- - - 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 F6	 	 	& & &0 HT2qHT1aHT2qHT1aHT2qHT1b!_    2A2J"&F1Q3K'26(2VABBZ? _    &F	bfX	% 666":;;, , <;,@- - ->6 6 6 
''""
 	544   
- 
- 
- ufo..ooo..( ( /. /.(6( ( (, , ,@, , ,&^ ^ ^B
- 
- 
-, , ,&- - - , , ,$B B BB% % %*, , ,0 iii((   - -  )( - (  
 
 
 
 e}55, , 65,( *  " "F---$'-36-BE- - -G" "F- !@!@!@AA	- 	- BA	-, , ,0- - - - -r   