
    PiX                        d dl m Z mZ d dlZd dlZd dlZd dlZd dlZd dlZd dl	m
Z
mZ d dlmZ d dlmZ d dlZd dlmZmZmZ d dlmZ d dlmZ d dlmZmZmZ d d	lmZ d d
l m!Z! ej"        d             Z# G d d          Z$ej%        &                    dg d          d             Z'd Z(ej%        &                    dg d          d             Z)dS )    )datetimetimezoneN)DAYSMONTHS)IncompatibleFrequency)InvalidIndexError)	DataFrameSeries	Timestamp)
date_range)PeriodPeriodIndexperiod_range)_get_period_range_edges)offsetsc                      dd} | S )zK
    Series with period range index and random data for test purposes.
    Dc                 ~   t          j                    5  d                    ddg          }t          j        d|t                     t          | ||          }d d d            n# 1 swxY w Y   t          t          j        	                    d          
                    t          |                    |          S )	N|zPeriod with BDay freqPeriodDtype\[B\] is deprecatedignore)categoryfreq   index)warningscatch_warningsjoinfilterwarningsFutureWarningr   r
   nprandomdefault_rngstandard_normallen)startendr   msgrngs        {/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/resample/test_period_index.py_simple_period_range_seriesz?simple_period_range_series.<locals>._simple_period_range_series,   s    $&& 	6 	6((35VWXXC#&   
 uc555C	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 bi++A..>>s3xxHHPSTTTTs   AA&&A*-A*)r    )r-   s    r,   simple_period_range_seriesr/   &   s"    
U 
U 
U 
U '&    c                      e Zd Zej                            dg d          d             Zd Zej                            dg d          ej                            dddid	d
ig          d                         Zej                            de	          ej                            dddg          ej                            dddg          ej                            dg d          d                                                 Z
d Zej                            dg d          d             Zej                            dddg          d             Zd Zd Zd Zej                            de	          ej                            d ddg          ej                            dg d!          d"                                     Zej                            d#dd$g          ej                            d ddg          d%                         Zd& Zej                            d'd(g d)fd*d+d,gfg          d-             Zd. Zd/ Zej                            d0 ej        d1          ej                            d1          g          d2             Zej                            d0 ej        d1          ej                            d1          g          d3             Zd4 Zd5 Zd6 Z d7 Z!ej                            d8e"          ej                            d#dd$g          ej                            d ddg          d9                                     Z#d: Z$ej                            de	          d;             Z%ej                            d<ddg          d=             Z&d> Z'd? Z(d@ Z)dA Z*dB Z+dC Z,dD Z-dE Z.dF Z/dG Z0dH Z1dI Z2dJ Z3dK Z4ej        5                    dLM          dN             Z6ej                            dOg dP          dQ             Z7ej                            dOg dR          dS             Z8dT Z9dU Z:dV Z;ej                            dWdXdYg          dZ             Z<ej                            d[e=j>        d\e=j>        d]d^gg d_fe=j>        e=j>        d\e=j>        e=j>        e=j>        d]d^e=j>        e=j>        g
g d`fg          ej                            dadbdce?j@        dddegfdfdcdggfdhdidegfg          dj                         ZAdk ZBej                            dlg dm          dn             ZCdo ZDej                            dpg dq          dr             ZEds ZFdt ZGej                            dudvdwg          dx             ZHej                            dy eIjJ                     eIjK        dz           eIjL        dz          g          d{             ZMd|S )}TestPeriodIndexr   )2D1h2hc                     |t          d          t          dd                    }|                                                    |                                          }|                                                    |                                          }t          j        ||           |j        d                             d          }|j        d         |j        j        z                       d          }t          |||d	
          }|                                
                    |                              |          }|                    |                                          }t          j        ||           |                    |                                                                                                          }t          j        ||           d S )N   
2020-01-01periodsr   r   r(   howleft)r(   r)   r   	inclusive)ranger   to_timestampresampleasfreqtmassert_almost_equalr   r   r   reindex	to_period)	selfframe_or_seriesr   objexpectedresultr(   r)   	new_indexs	            r,   test_asfreqzTestPeriodIndex.test_asfreq<   s    oeAhhl<QR.S.S.STTT##%%..t44;;==!!##,,T2299;;
vx000	!))g)66y}sy~-;;;HHU$&QQQ	##%%--i88BB4HHd##**,,
vx000d##**,,99;;EEGG
vx00000r0   c                 
   t          t          ddd          t          ddd          d          }t          t          t	          |                    |          }t          |j        d                             d	          |j        d
                             d	          d          }|                                                    |d          }|                                	                    d          
                    d          }t          j        ||           |                    d          }t          |j        d                             d	          |j        d
                             d	          d          }|                                                    |d          }|                                	                    d          
                    d          }t          j        ||           d S )N     
   r   r   r   r   r(   r;   r=   r4   g      @)
fill_valuevalue      @)r   r   r
   r@   r'   r   r   rA   rF   rB   rC   rD   assert_series_equalto_frameassert_frame_equal)rH   r   srM   rK   rL   frames          r,   test_asfreq_fill_valuez&TestPeriodIndex.test_asfreq_fill_valueQ   s    XdAq118D!R3H3HsSSS5U$$E222GAJ###00WR[&&7&33
 
 
	
 >>##++I#+FF!!**4007737GG
vx000

7##KN''G'44[_**w*77
 
 
	
 %%''//	c/JJ##%%..t44;;s;KK
fh/////r0   )h12hr3   Wkwargsondateleveldc                    t          t          ddd          t          ddd          d          }t          j        t	          |          t          j                  }t          ||dt          j        	                    ||gdd	g
                    }d}t          j        t          |          5   |j        |fi | d d d            d S # 1 swxY w Y   d S )NrP   rQ   rR   r   r   dtype)ra   avrc   )namesr   zResampling from level= or on= selection with a PeriodIndex is not currently supported, use \.set_index\(\.\.\.\) to explicitly set indexmatch)r   r   r#   aranger'   int64r	   pd
MultiIndexfrom_arrayspytestraisesNotImplementedErrorrB   )rH   r   r_   r   r+   dfr*   s          r,   test_selectionzTestPeriodIndex.test_selectioni   s+   
 XdAq118D!R3H3HsSSSiE

"(333%%-++S%Lc
+KK
 
 

# 	
 ].c::: 	( 	(BK'''''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   2CCCmonthmethffillbfillconvr(   r)   )offsetperiod)r   r   Br   MEM)QEQc                     |ddd|           }|dk    rt           nd }d}	t          j        ||	          5   t          |                    ||          |                      }
|
                    ||	          }|                    ||                                          }d d d            n# 1 swxY w Y   t          j        |
|           d S )
N1/1/1990z
12/31/1990Y-r   r   r   rj   
conventionr;   )	r"   rD   assert_produces_warninggetattrrB   rA   rC   rG   rV   )rH   r{   r|   rz   rw   rv   r/   tswarnr*   rL   rK   s               r,   test_annual_upsample_casesz*TestPeriodIndex.test_annual_upsample_cases|   s,    ('
L|E||TTT &#}}4/'C888 	A 	AHWR[[D[AA4HHJJF**6t*<<Hvt44>>@@H	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	vx00000s   A-B22B69B6c                     |ddd          }|                     d                                          }|                    |j        j                                                  }t          ddd          |_        t          j        ||           t          j        |                     d                                          |           t          j        |                     d                                          |           d S )Nr   	6/30/1995r   r   Y-DECY)rB   meangroupbyr   yearr   rD   rV   rH   r/   r   rL   rK   s        r,   test_basic_downsamplez%TestPeriodIndex.test_basic_downsample   s    ''
KcJJJW%%**,,::bhm,,1133%j+GLLL
vx000 	r{{73388::FCCC
r{{3//4466?????r0   zrule,expected_error_msg))r   z<YearEnd: month=12>)Q-MARz<QuarterEnd: startingMonth=3>)r   z
<MonthEnd>)W-THUz<Week: weekday=3>c                      |ddd          }d| d}t          j        t          |          5  |                    |                                           d d d            d S # 1 swxY w Y   d S )Nr   r   W-WEDr   z3Frequency <Week: weekday=2> cannot be resampled to z&, as they are not sub or super periodsrj   )rq   rr   r   rB   r   )rH   r/   ruleexpected_error_msgr   r*   s         r,   test_not_subperiodz"TestPeriodIndex.test_not_subperiod   s     ('
KgNNNJ!J J J 	 ]0<<< 	% 	%KK""$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   (A%%A),A)r   r3   c                 l    |ddd          }|                     d                                          }|                     |d                                          }|                    |d          }|                    |d	                              |          }t          j        ||           d S )
Nr   r   r   r   r   r)   r   r;   rx   )rB   r   rx   rA   rC   rG   rD   rV   )rH   r   r/   r   rL   	resampledrK   s          r,   test_basic_upsamplez#TestPeriodIndex.test_basic_upsample   s    ''
KcJJJW%%**,,OODUO;;AACC	&&t&77??411;;DAA
y(33333r0   c                    t          ddd          }t          t          j                            d                              t          |                    |          }|                    dd                              d	          }|	                    d          
                    |j        d
d          }t          j        ||           d S )N1/1/2000r7   r   r:   r   r   r   r)   r   )limitrx   )methodr   )r   r
   r#   r$   r%   r&   r'   rB   rx   rC   rF   r   rD   rV   rH   r+   r   rL   rK   s        r,   test_upsample_with_limitz(TestPeriodIndex.test_upsample_with_limit   s    :qs;;;BI))!,,<<SXXFFLLSU33999BB99S>>))&,wa)PP
vx00000r0   c                 "    |ddd          }t          d|i          }|                    d                                          }|d                             d                                          }t          j        |d         |           d S )Nr   
12/31/1995r   r   rg   r   )r	   rB   rx   rD   rV   )rH   r/   r   rt   rdfexps         r,   test_annual_upsamplez$TestPeriodIndex.test_annual_upsample   s    ''
LwOOORy!!kk#$$&&gs##))++
s3x-----r0   c                 D   t          ddd          }t          g d|          }|                    d                                          }t          dd	d          }|                    dd
                              |d          }t          j        ||           d S )N20002003r   r   )rQ   r         r   r   2000-01z2003-12r(   r;   rx   r   )r   r
   rB   rx   rC   rF   rD   rV   )rH   r+   r   rL   ex_indexrK   s         r,   test_annual_upsample2z%TestPeriodIndex.test_annual_upsample2   s    66888LLL,,,S!!''))	93???99Sg9..66x6PP
vx00000r0   r   )r}   r~   r   c                    d| } |dd|          }|dk    rt           nd }d}	t          j        ||	          5  |                    ||                                          }
|
                    ||	          }|                    |d
                                          }d d d            n# 1 swxY w Y   t          j        |
|           d S )NQ-r   z
12/31/1991r   r   r   rj   r   r;   rx   	r"   rD   r   rB   rx   rA   rC   rG   rV   )rH   rv   r{   r|   r   r/   r   r   r   r*   rL   rK   s               r,   test_quarterly_upsamplez'TestPeriodIndex.test_quarterly_upsample   s+    E||''
LtLLL &#}}4/'C888 	D 	D[[J[??EEGGF**6z*BBHvw77AACCH	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	vx00000   A)B00B47B4targetr   c                     |ddd          }|dk    rd nt           }d}t          j        ||          5  |                    ||                                          }|                    ||	          }|                    |d
                                          }d d d            n# 1 swxY w Y   t          j        ||           d S )Nr   r   r   r   r   r   rj   r   r;   rx   r   )	rH   r   r   r/   r   r   r*   rL   rK   s	            r,   test_monthly_upsamplez%TestPeriodIndex.test_monthly_upsample   s     ('
LsKKK}}tt-/'C888 	D 	D[[J[??EEGGF**6z*BBHvw77AACCH	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	vx00000s   A)B++B/2B/c           	      D   t          t          d          t          dddd          d          }t          j        |dd	<   t          t          d
d          t          dd          gd          }t          ddg|          }|                                                    d          	                                }t          j        ||           |                    d          	                                                                }t          j        ||           d S )Nd   20130101rY   idx)r   r:   namefloatr   rf   rR      z2013-01-01 00:00minz2013-01-01 00:01)r   g     @A@g     S@r   )r
   r@   r   r#   nanr   r   rG   rB   r   rD   rV   )rH   rY   r   rK   rL   result2s         r,   test_resample_basicz#TestPeriodIndex.test_resample_basic   s   #JJZc3UKKK
 
 

 6"R%&..7I50Q0QR
 
 
 4,e444''..3355
vx000**U##((**4466
w11111r0   zfreq,expected_valsr   )      r   	   2M<   (   c                    t          dt          dd                    }|                    |                                          }t          d|t	          |                    }t          ||          }t          j        ||           d S )NrQ   r   r   r(   r:   r   r(   r   r:   )r
   r   rB   countr'   rD   rV   )rH   r   expected_valsseriesrL   expected_indexrK   s          r,   test_resample_countz#TestPeriodIndex.test_resample_count  s    
 FC!H!H!HIII&&,,..%tS-?-?
 
 
 -~>>>
vx00000r0   c                     t          t          d          t          ddd                    }|} t          |                    d          |                      }t          j        ||           d S )Nr   r   r   r(   r:   r   r   )r
   r@   r   r   rB   rD   rV   )rH   resample_methodr   rK   rL   s        r,   test_resample_same_freqz'TestPeriodIndex.test_resample_same_freq  sk    a61SV(W(W(WXXX?--??AA
vx00000r0   c                 $   d}t          ddd          }t          t          d          |          }|                    d          }t	          j        t          |          5  |                                 d d d            d S # 1 swxY w Y   d S )	NzcFrequency <MonthEnd> cannot be resampled to <Week: weekday=6>, as they are not sub or super periodsr   r   r   r   r   r^   rj   )r   r
   r@   rB   rq   rr   r   r   )rH   r*   piserrss        r,   test_resample_incompat_freqz+TestPeriodIndex.test_resample_incompat_freq  s    3 	 <<<U1XXR(((\\#]0<<< 	 	GGIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   #BB	B	tzAmerica/Los_Angelesc                 n   |}t          dddddt          j                  }t          dddddt          j                  }t          ||dd	          }t	          d|
          }|                    |          }d}t          j        t          |          5  |	                    d          
                                                                }d d d            n# 1 swxY w Y   t          ||dd          t          j                    z
  }	t	          d|	
          }
t          j        ||
           d S )Ni     rQ   r   )r   rv   dayhourminutetzinfor   r\   r   )r   r   r   zAConverting to PeriodArray/Index representation will drop timezonerj   r   )r(   r)   r   r         ?)r   r   utcr   r
   
tz_convertrD   r   UserWarningrB   r   rG   r   r   DayrV   )rH   r   local_timezoner(   r)   r   r   r*   rL   r   rK   s              r,   test_with_local_timezonez(TestPeriodIndex.test_with_local_timezone"  sz    RQQq
 
 
 RQQq
 
 
 5#Ce<<<'''"">22Q'3??? 	= 	=__S))..00::<<F	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= u#CeDDDw{}}T 	 #^444
vx00000s   :CC!$C!c                 B   t          ddd||          }t          d|          }|                    d                                          }t	          j        ddg|d	                              |          }t          d
|          }t          j        ||           d S )Nz
2017-01-010   r\   )r:   r   r   unitr   r   r   z
2017-01-02)r   r          @)	r   r
   rB   r   rn   DatetimeIndexas_unitrD   rV   )rH   r   r   dtir   rL   exp_dtirK   s           r,   test_resample_with_tzz%TestPeriodIndex.test_resample_with_tzF  s     rNNNQc"""c""''))"<(Rc
 
 

'$-- 	 
 
 
 	vx00000r0   c                 l   t          ddd          }t          t          j        t	          |                    |          }|                    d          }t          j        |j        d          |_        |	                    d          
                                }t          j        ||           d S )Nz
2017-03-12z2017-03-12 1:45:0015minr   r   z
US/Pacific900s)r   r
   r#   zerosr'   tz_localizern   r   r   rB   r   rD   rV   )rH   r   rY   rK   rL   s        r,   'test_resample_nonexistent_time_bin_edgez7TestPeriodIndex.test_resample_nonexistent_time_bin_edge[  s    <)=GLLL28CJJ''u555==..)(.vFFF""6**//11
vx00000r0   c           	         t          ddd          }|                    d                              d          }t          t	          t          t          |                              |          }|                    t          j	        d	                    
                                }t          d
ddddd          }t          j        |j        |           d S )Nz
2017-10-10z
2017-10-20r4   r(   r)   r   UTCzAmerica/Sao_Paulo)datar   1Dr   z
2017-10-09r   shift_forwardr>   )r(   r)   r   r   nonexistentr?   )r   r   r   r	   listr@   r'   r   rn   Grouperr   rD   assert_index_equalr   )rH   r   rt   rL   rK   s        r,   (test_resample_nonexistent_time_bin_edge2z8TestPeriodIndex.test_resample_nonexistent_time_bin_edge2d  s    <dKKK!!%((334GHHDs5zz!2!2335AAABJD1112288::"'
 
 
 	flH55555r0   c                    t          dddd          }t          t          j        t	          |                    |          }|                    d                                          }t          j        ||           d S )Nz2014-10-25 22:00:00z2014-10-26 00:30:0030minzEurope/Londonr   r   r   )	r   r
   r#   r   r'   rB   r   rD   rV   )rH   r   rK   rL   s       r,   %test_resample_ambiguous_time_bin_edgez5TestPeriodIndex.test_resample_ambiguous_time_bin_edget  s~    !!	
 
 
 "(3s88,,C888""7++0022
vx00000r0   c                    t          t          j        dd          t          ddd                    }|                    d                                          }|                    d                                                              d                                                              d          }t          j	        ||           d S )	Nr   rm   re   z
2010-01-01r   r   r   r   )
r
   r#   rl   r   rB   rx   lastastyperD   rV   )rH   rY   r  boths       r,   !test_fill_method_and_how_upsamplez1TestPeriodIndex.test_fill_method_and_how_upsample  s    Iaw'''\14@@@
 
 
 zz$%%''zz$%%''0066;;==DDWMM
tT*****r0   r   c                    d| } |dd|          }|dk    rd nt           }d}t          j        ||          5  |                    ||                                          }	|	                    ||	          }
|
                    |d
                                          }
d d d            n# 1 swxY w Y   t          j        |	|
           d S )NzW-r   z
07/31/1990r   r   r   rj   r   r;   rx   r   )rH   r   r   r   r/   r   r   r   r*   rL   rK   s              r,   test_weekly_upsamplez$TestPeriodIndex.test_weekly_upsample  s+    Czz''
LtLLL}}tt-/'C888 	D 	D[[J[??EEGGF**6z*BBHvw77AACCH	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	vx00000r   c                 4    |ddd          }|                     d                                                                          }|                     d                                                              d          }t          j        ||           d S )Nr   r   r   r   r   r(   r;   )rB   r   rA   rD   rV   r   s        r,   test_resample_to_timestampsz+TestPeriodIndex.test_resample_to_timestamps  s    ''
LsKKKW%%**,,99;;;;w'',,..;;;HH
vx00000r0   c                     |ddd|           }|                     d|                                           }|                    dd          }t          |j        d	                             dd          |j        d
                             dd          d|           }|                    |                    dd          d          }||_        t          j        ||           d S )N19901992r   r   r   r   r(   r;   r   r=   r)   rY   rx   r   )	rB   rx   rA   r   r   rC   rF   rD   rV   )rH   r/   rv   r   quar_tsstampsqdatesrK   s           r,   test_resample_to_quarterlyz*TestPeriodIndex.test_resample_to_quarterly  s    ''\%\\JJJ++l5ll++1133'22HQKsG,,HRLU++e
 
 
 >>&"5"5c3"?"?>PP
w11111r0   r<   c                     |ddd          }|                     d|                                          }|                    d|          }|                    |j        d	          }t          j        ||           d S )
Nr  r  zY-JUNr   r   r   r;   rx   r   )rB   rx   rC   rF   r   rD   rV   )rH   r/   r<   r   rL   rK   s         r,   $test_resample_to_quarterly_start_endz4TestPeriodIndex.test_resample_to_quarterly_start_end  s     ('WEEEW55;;==99W#9..##FL#AA 	vx00000r0   c                    t          g dd          }t          t          j                            d                              d          |          }|                                }|                    d                                          }|                    d                                          	                    d          }t          j        ||           d S )N)  rP     i  r   r   r   r   r   YE)r   r
   r#   r$   r%   r&   rA   rB   rx   rG   rD   rV   )rH   r+   rY   r  filledrK   s         r,   test_resample_fill_missingz*TestPeriodIndex.test_resample_fill_missing  s    222===29((++;;A>>cJJJ!!C&&((??4((..00::3??
vx00000r0   c                 h   t          g dd          }t          t          j                            d                              d          |          }d}t          j        t          |          5  |	                    d          
                                 d d d            d S # 1 swxY w Y   d S )	N)r"  rP   rP   r#  r#  r   r   r   r7   r   z8Reindexing only valid with uniquely valued Index objectsrj   )r   r
   r#   r$   r%   r&   rq   rr   r   rB   rx   )rH   r+   rY   r*   s       r,   test_cant_fill_missing_dupsz+TestPeriodIndex.test_cant_fill_missing_dups  s    888sCCC29((++;;A>>cJJJH],C888 	$ 	$JJsOO!!###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s   2(B''B+.B+c                 6   t          ddd          }t          t          j                            d                              t          |                    |          }|                                                    d          	                                }|                    d          	                                                                }t          j        ||           |                    d          }|                    d          	                                }t          j        ||           |                    d          	                                                                                                }t          j        ||           d S )Nr   z1/5/2000r   r   r   r   5min)r   r
   r#   r$   r%   r&   r'   rA   rB   r   rD   rV   rG   rH   r+   r   rK   rL   s        r,   test_resample_5minutez%TestPeriodIndex.test_resample_5minute  sB   :z>>>BI))!,,<<SXXFFcRRR??$$--f55::<<V$$))++88::
vx000%%f--V$$))++
vx000V$$))++88::DDFF
vx00000r0   c                     |ddd          }|                     d                                          }|                    d                              t          dd                    }t	          j        ||            |dd          }|                     dd	                                          }t          dd
d          }|                    dd                              |          }t	          j        ||           d S )Nr   z2/1/2000r   r   r   z1/3/2000r\   rY   r   z2/1/2000 23:00r;   )rB   rC   rF   r   rD   rV   )rH   r/   r   rL   rK   exp_rngs         r,   "test_upsample_daily_business_dailyz2TestPeriodIndex.test_upsample_daily_business_daily  s    ''
JSIIIS!!((**99S>>)),z:*N*NOO
vx000''
J??SS1188::z+;#FFF99Sc9**227;;
vx00000r0   c                    t          ddd          }t          t          j        d          |          }|d d         }|                    d                              t                    }|                    d                              t                    j        |j                 }t          j
        ||           d S )	Nz1/1/2012r*  i  r   r   r   z2012-01-04 06:5510min)r   r
   r#   arrayrB   applyr'   locr   rD   rV   )rH   drrY   subsetrL   rK   s         r,   test_resample_irregular_sparsez.TestPeriodIndex.test_resample_irregular_sparse  s    jvtDDD28C==+++&&&'))//44::g&&,,S115flC
vx00000r0   c                 ^   t          ddd          }t          t          j                            d                              t          |                    |          }|                    d                                          }|	                                
                                sJ |                    d                                                                          d d         }|                    d                                          }t          j        ||           d S )	Nr   rR   r   r   r   r   r   r=   )r   r
   r#   r$   r%   r&   r'   rB   rC   isnaallrx   rD   rV   r   s        r,   test_resample_weekly_all_naz+TestPeriodIndex.test_resample_weekly_all_na  s    Rg>>>BI))!,,<<SXXFFcRRRW%%,,..{{}}  """""W%%,,..4466ss;99W%%++--
vx00000r0   c                    t          dd|          }t          t          t          |                    |          }|                    d          }|                    d          }|                    d                                          }|                                }|j	                            d           |_	        |                    d                                                              d          }t          j        |j	        d          |_	        t          j        ||           |                    d	                                          }d S )
Nz	2012-4-13z2012-5-1)r(   r)   r   r   r  r   r^   r   r   )r   r
   r@   r'   r   r   rB   r   copyr   rn   r   rD   rV   )	rH   r   r5  r   ts_utcts_localrL   ts_local_naiver   s	            r,   test_resample_tz_localizedz*TestPeriodIndex.test_resample_tz_localized  s   kzEEEE#b''NN"---&&$$%:;;""3'',,..!-3??EE%%c**//11==>STT$SYS999	
vs+++ ""3'',,..r0   c                 ~   t          dddd          }t          ddg|          }|                    d	d
d
                                          }t          ddd	d          }t          t          j        dg|          }t          j        ||           d}t          j        t          |          5  |                    d	                                          
                                }d d d            n# 1 swxY w Y   t          ddd	          }t          dg|          }t          j        ||           d S )Nz2001-09-20 15:59z2001-09-20 16:00r   zAustralia/Sydneyr  rQ   r   r   r   rightclosedlabelz
2001-09-20)r:   r   r   g      ?zBConverting to PeriodArray/Index representation will drop timezone rj   r   )r   r
   rB   r   r#   r   rD   rV   r   r   rG   r   )rH   r   rY   rL   r   rK   r*   s          r,   test_resample_tz_localized2z+TestPeriodIndex.test_resample_tz_localized2  s{    2CU
 
 
 Aq6%%% Cw??DDFFlACDVWWW263-x888
vx000 S'3??? 	8 	8ZZ__))++5577F	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8acBBB3%x000
vx00000s   3:C99C= C=c                 $   t          ddd          }|                    d          }t          |          }t          j                            d                              t          |                    |d<   t          j        t          j                            d                              t          |                              |d	<   t          |	                    d
          
                                d         |	                    d
                                          d	         ddd	g          }|	                    d
                              ddd                              dd	g          }t          j        ||           d S )Nz1/1/2011i N  r\   r   ESTr   r   firstsecondr$  )rJ  rK  )columnssumr   )r   r   r	   r#   r$   r%   r&   r'   cumsumrB   rM  r   aggrF   rD   rX   r+  s        r,   test_resample_tz_localized3z+TestPeriodIndex.test_resample_tz_localized3)  s_    U===ooe$$S!!!i++A..>>s3xxHH7y!6!6q!9!9!I!I#c((!S!STT8T**..009++d++00228<  h'
 
 
 KKS5F3344Wgx0W11 	
 	fh/////r0   c                    t          t          j                            d                              d          t          ddd                    }t          j        |j        d<   |                    dd	d
          	                                }|dd                              dd	d
          	                                }t          j        ||           |                    dd	d	          	                                }|dd                              dd	d	          	                                }t          ddd          }t          j        |j        |           t          j        ||           d S )Nr      z1/1/2012 9:301minr   r   r   r1  r>   rC  rD  rQ   r   )r
   r#   r$   r%   r&   r   r   ilocrB   r   rD   rV   r	  r   )rH   rY   rL   r   r   s        r,   test_closed_left_cornerz'TestPeriodIndex.test_closed_left_corner?  sI   I!!!$$44R88?LLL
 
 
 Fq	GF'BBGGIIennWV7nCCHHJJ
vs+++GF&AAFFHHennWV6nBBGGIIO'1MMM
flH555
vs+++++r0   c                 ~   t          ddd          }t          t          j        d          |          }|                    d                                          }|                                                    d                                                                          }t          j	        ||           d S )N2000Q1rR   Q-DECr   r   r   r$  )
r   r
   r#   rl   rB   r   rA   rG   rD   rV   )rH   r+   r   rL   r   s        r,   test_quarterly_resamplingz)TestPeriodIndex.test_quarterly_resamplingS  s    8Rg>>>BIbMM---S!!&&((oo((..3355??AA
vs+++++r0   c                     t          ddd          }t          |          }d t          |          D             }t          |g d|          }|                    dd	d	
                                           d S )Nz8/6/2012z	8/26/2012r   r  c                     g | ]}|gd z  	S )r7   r.   ).0xs     r,   
<listcomp>zATestPeriodIndex.test_resample_weekly_bug_1726.<locals>.<listcomp>_  s    ***Aa***r0   )openhighlowclosevol)rL  r   zW-MONr>   rD  )r   r'   r@   r	   rB   rJ  )rH   indnr  rt   s        r,   test_resample_weekly_bug_1726z-TestPeriodIndex.test_resample_weekly_bug_1726[  s    z{EEEHH**q***t%L%L%LTWXXX 	GF&99??AAAAAr0   c                 "   t          j        ddg                              d                              d          }t	          ddg|          }|                    dd	d	
                                                                          }g d}t          j        |d                              d          	                    |j
                  }t          j        |d          }t	          g d|          }t          j        ||           d S )Nl     Z! l     NE! r  zAmerica/ChicagorQ   r   r   r]   rC  rD  )z2016-03-09 12:00:00-06:00z2016-03-10 00:00:00-06:00z2016-03-10 12:00:00-06:00z2016-03-11 00:00:00-06:00z2016-03-11 12:00:00-06:00z2016-03-12 00:00:00-06:00z2016-03-12 12:00:00-06:00z2016-03-13 00:00:00-06:00z2016-03-13 13:00:00-05:00z2016-03-14 01:00:00-05:00z2016-03-14 13:00:00-05:00z2016-03-15 01:00:00-05:00z2016-03-15 13:00:00-05:00T)r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   )rn   r   r   r   r	   rB   r  rx   to_datetimer   r   rD   rX   )rH   r   rt   rL   expected_index_valuesrK   s         r,   "test_resample_with_dst_time_changez2TestPeriodIndex.test_resample_with_dst_time_changee  s    13FGHH[Z)** 	
 1vU+++U7'BBGGIIOOQQ!
 !
 !
  N0d;;;Z)**WUZ   	
  U333MMM
 
 
 	fh/////r0   c                    t          t          j        dd          t          j                  }|                    d                                          }|                    d                                                              d                                          }|j        d         t          d          k    sJ |j        d         |j        d         k    sJ d S )N2000010120000201r   BMSr   r   20000103)	r
   rn   bdate_ranger#   float64rB   r   r   r   )rH   
timeseriesres1res2s       r,   test_resample_bms_2752z&TestPeriodIndex.test_resample_bms_2752  s    .Z88

 
 

 ""5))..00""5))..0099#>>CCEEz!}	* 5 55555z!}
1------r0   z6Commented out for more than 3 years. Should this work?)reasonc                    t          ddd          }t          t          j        d          |          }t          ddd	          }|                    dd
                              |          }|                    d          }|                    d                                          }t          j
        ||           d S )Nr   r   r   r   r   z
2000-01-01z
2000-03-31r   r   r)   r;   ry   r   )r   r
   r#   rl   rC   rF   fillnarB   r   rD   rV   )rH   r+   r   	exp_indexrK   rL   s         r,   test_monthly_convention_spanz,TestPeriodIndex.test_monthly_convention_span  s    9ad;;;BIaLL,,, !|#FFF	99Se9,,44Y????'?22S!!&&((
vx00000r0   zfrom_freq, to_freq))r   r   )r   r$  )r   r   )r   r^   c                    t          dd|          }t          t          j                            d                              t          |          df          |          }|                    |                                          }t          j
        ||                    |dd                                                     d S )N	8/15/2012r   r   r   rC  rD  r   r	   r#   r$   r%   r&   r'   rB   r   rD   rX   rH   	from_freqto_freqr   rt   r   s         r,   test_default_right_closed_labelz/TestPeriodIndex.test_default_right_closed_label  s     {CiHHHry,,Q//??S1NNPSTTKK((--//	
r{{77'{JJOOQQ	
 	
 	
 	
 	
r0   ))r   MS)r   YS)r   QS)r\   r   )r   r\   c                    t          dd|          }t          t          j                            d                              t          |          df          |          }|                    |                                          }t          j
        ||                    |dd                                                     d S )Nr|  r   r   r   r>   rD  r}  r~  s         r,   test_default_left_closed_labelz.TestPeriodIndex.test_default_left_closed_label  s    
 {CiHHHry,,Q//??S1NNPSTTKK((--//	
r{{76{HHMMOO	
 	
 	
 	
 	
r0   c                 x   t          ddd          }t          t          j                            d                              t          |                    |          }|                    d                                          }t          j
        |j        d         |                                           d S )	Nz
2012-01-01z
2012-12-31r   r  r   r   r   r   )r   r
   r#   r$   r%   r&   r'   rB   r   rD   rE   rT  )rH   r   r   rL   s       r,   test_all_values_single_binz*TestPeriodIndex.test_all_values_single_bin  s    <\LLLRY**1--==c%jjIIQVWWWc""''))
v{1~sxxzz:::::r0   c                 F   t          t          j                            d                              d          t          ddd                    }|                    d                                          }t          j	        |j
        d	d
                                         |j
        d
d                                          gd          j        }t          j        t          d          t          d          gdd          |_        t          j        ||           d S )Nr   )r   r   z2000-1-1r   ns)r:   r   r   5Dr   r7   rQ   )axisz2000-1-6zM8[ns])rf   r   )r	   r#   r$   r%   r&   r   rB   r   rn   concatrT  Tr   r   r   rD   rX   )rH   rt   rL   rK   s       r,   (test_evenly_divisible_with_no_extra_binsz8TestPeriodIndex.test_evenly_divisible_with_no_extra_bins  s    I!!!$$44V<<Z>>>
 
 
 T""''))9bgacl//1127122;3C3C3E3EFQOOOQ)z""Ij$9$9:(QU
 
 
 	fh/////r0   c           	      B   t          dd          }t          dddddd	gdz  d
ddddd	gdz  z   |                    |                                                    }t          ddd          }t          dddddd	gdz  |          }|                    d                                          }t          j        ||           t          dddddd	gdz  |          }|                    d                                          }t          j        ||           d S )Nz2001-5-4   r   rQ   P   Z   r      )REST_KEY
DLY_TRN_QTDLY_SLS_AMTCOOP_DLY_TRN_QTCOOP_DLY_SLS_AMTr   F   rR   2   r   r   7Dr      rR  i  i  i0  i  )	r   r	   append
sort_indexrB   r   rD   rX   rM  )rH   r   rt   rK   rL   s        r,   )test_evenly_divisible_with_no_extra_bins2z9TestPeriodIndex.test_evenly_divisible_with_no_extra_bins2  s   R888 !""$#%')(*  	 !""$#%')(*  	( ,,u%%+
 
 
, *,,- 	0 :qt<<< !#"$#%')(*  	 
 
 
 T""((**
fh/// !#"&#&'*(+  	 
 
 
 T""&&((
fh/////r0   zfreq, period_mult)r\      )r]   r   c                    t          ddd          }t          t          t          |                    |          }|                                                    |                                                              |          }t          d||t          |          z            }|                    |          }|                    |                                          }t          j
        ||           |                    |                                                                                                          }t          j
        ||           d S )Nr   r   rR   r   r   )r   r
   r@   r'   rA   rB   ohlcrG   rF   rD   rX   )rH   r   period_multr   rY   rK   rM   rL   s           r,   test_upsampling_ohlcz$TestPeriodIndex.test_upsampling_ohlc  s#    S"===5R>>,,,>>##,,T227799CCDII !vD+PSTVPWPWBWXXX	##I..D!!&&((
fh///D!!&&((5577AACC
fh/////r0   zperiods, values1970-01-01 00:00:00z1970-01-01 00:00:02z1970-01-01 00:00:03)r   r   r7      r   )
rQ   r   r   r7         r  r         zfreq, expected_values1sr   r  r   2sg      "@3sg      @c                 "   t          |d          }t          ||          }t          dt          |          |          }t          ||          }|                    |                                          }	t          j        |	|           d S )NrY   r   r   r  r   )r   r	   r   r'   rB   r   rD   rX   )
rH   r:   valuesr   expected_valuesr   rZ   r   rK   rL   s
             r,   test_resample_with_natz&TestPeriodIndex.test_resample_with_nat  s    P G#...&...%!3+?+?d
 
 
 _NCCC%%**,,
fh/////r0   c                 8   t          t          j        gdz  d          }t          g d|dg          }t          g |j                  }t          |dgd	          }|                    d
                                          }t          j        ||           d S )Nr   rY   r   )r   r   r7   rg   )r   rL  )r  r   rq  )r   rL  rf   r  )	r   rn   NaTr	   r   rB   r   rD   rX   )rH   r   rZ   r   rK   rL   s         r,   test_resample_with_only_natz+TestPeriodIndex.test_resample_with_only_natP  s    "&AC000)))2u===$"27;;;>C5	RRR%%**,,
fh/////r0   z$start,end,start_freq,end_freq,offset))1991090519910909 03:00r\   24h10h)r  19910909 12:00r\   r  r  )r  z19910909 23:00r\   r  r  )19910905 10:0019910909r\   r  r  )r  19910909 10:00r\   r  r  )r  r  r\   r  r  )19910905 12:00r  r\   r  r  )r  r  r\   r  r  )r  r  r\   r  r  )r  r  r\   r  34h)r  r  r\   17hr  )r  r  r\   r  3h)r  z19910913 06:00r5   r  r  )r  z19910905 01:39Min5Min3Min)r  z19910905 03:182Minr  r  c                    t          |||          }t          t          j        t	          |                    |          }|                    ||                                          }|                    |          }|                                                    ||                                          }	t          j	        ||	           d S )Nr   r   )r{   )
r   r
   r#   rl   r'   rB   r   rA   rD   rV   )
rH   r(   r)   
start_freqend_freqr{   r   r   rL   rK   s
             r,   test_resample_with_offsetz)TestPeriodIndex.test_resample_with_offsetY  s    , %:666RYs2ww''r222hv66;;==$$X..##%%..x.GGLLNN
vx00000r0   c                    t          ddd          }t          t          j        t	          |                    |          }|                    d                                          }|                    d          }|                                                    d                                          }|j        	                    d           |_        t          j        ||           d S )Nr  z19910909 1:00r\   r   r   r   r   )r   r
   r#   rl   r'   rB   r   rA   r   
_with_freqrD   rV   )rH   r   r   rL   rK   s        r,   test_resample_with_offset_monthz/TestPeriodIndex.test_resample_with_offset_monthw  s    *O#FFFRYs2ww''r222c""''))$$S))##%%..t4499;;!22488
vx00000r0   z1first,last,freq,freq_to_offset,exp_first,exp_last))r  19920406r   r   r  r  )z19910905 00:0019920406 06:00r   r   r  r  )19910905 06:00r  r\   r\   r  r  )19910906r  r   r   z1991-091992-04)1991083119920430r   r   1991-08r  )r  r  r   r   r  r  c                    t          |          }t          |          }t          ||          }t          ||          }t          j        j                            |          }t          |||          }||f}||k    sJ d S )Nr   )r   rn   tseriesfrequencies	to_offsetr   )	rH   rJ  r  r   freq_to_offset	exp_firstexp_lastrL   rK   s	            r,   test_get_period_range_edgesz+TestPeriodIndex.test_get_period_range_edges  s    * ud||94000	(...z%//??(d;;x(!!!!!!r0   c                    t          ddd          }t          j        d          }t          j        |dd<   t	          ||                                          }|                    d                              d          }t	          d	t          j        gt          d
dgd                    }t          j
        ||           d S )N2018r   r  r   r   r   rQ   )	min_countrU   2018Q12018Q2rX  r   r   )r   r#   onesr   r
   rG   rB   rM  r   rD   rV   )rH   r   r  rY   rL   rK   s         r,   test_sum_min_countz"TestPeriodIndex.test_sum_min_count  s    dA>>>wqzzFQqS	4))++C$$q$11"&Mh-A!P!P!P
 
 
 	vx00000r0   c                    d}d}t          j        t          |          5  t          d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 S # 1 swxY w Y   d S )NzInvalid frequency: TzInvalid frequency: Lrj   z2020-01-01 00:00:00 00:00z2020-01-01 00:00:00 00:01Lr   msr   r  
rq   rr   
ValueErrorr   r
   r#   rl   r'   rB   r   )rH   msg_tmsg_lrng_lr   s        r,   test_resample_t_l_deprecatedz,TestPeriodIndex.test_resample_t_l_deprecated  sn   &&]:U333 	 	+-Hs   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ')D4
 
 
 RYs5zz**%888]:U333 	% 	%LL""$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s!   ?AA'(CC #C zfreq, freq_depr, freq_depr_res)2Q2q2y)r   2mr  c                    d| }t          j        t          |          5  t          dd|           d d d            n# 1 swxY w Y   d| }t          dd|          }t	          t          j        t          |                    |          }t          j        t          |          5  |                    |          	                                 d d d            d S # 1 swxY w Y   d S )NInvalid frequency: rj   r8   z
2020-08-01r   r   r  )rH   r   	freq_deprfreq_depr_resr*   r+   r   s          r,   (test_resample_lowercase_frequency_raisesz8TestPeriodIndex.test_resample_lowercase_frequency_raises  s}    0I//]:S111 	E 	E|)DDDD	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 4M33<DAAARYs3xx((444]:S111 	/ 	/LL'',,...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/s#   A  AA-(C""C&)C&r{   r   c                    t          j        | d          } |t          d          t          dd                    }t	          j        t          |          5  |                    |           d d d            d S # 1 swxY w Y   d S )N% is not supported as period frequencyr7   r8   r9   r   rj   r   )reescaper@   r   rq   rr   r  rC   )rH   r{   rI   r*   rJ   s        r,   !test_asfreq_invalid_period_offsetz1TestPeriodIndex.test_asfreq_invalid_period_offset  s     i6HHHIIoeAhhl<QR.S.S.STTT]:S111 	$ 	$JJFJ###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s   B  BBN)N__name__
__module____qualname__rq   markparametrizerN   r[   ru   r   r   r   r   r   r   r   r   r   r   r   r   r   r   zoneinfoZoneInfodateutilr   gettzr   r   r   r
  r  r  r   r  r  r  r   r&  r(  r,  r/  r7  r;  rA  rG  rP  rU  rY  rf  rj  ru  xfailrz  r  r  r  r  r  r  rn   r  r#   r   r  r  r  r  r  r  r  r  r   
MonthBegin
BYearBeginBusinessHourr  r.   r0   r,   r2   r2   ;   sh	       [V%7%7%7881 1 981(0 0 00 [V%<%<%<==[Xv#'GHH( ( IH >=(" [Wf--[Vgw%788[Vgu%566[PPP 
1 
1  76 98 .-
1
@ 
@ 
@ [!	
 	
 	
 % % % [Vc4[114 4 2141 1 1. . .1 1 1 [Wf--[\GU+;<<[CCC 1 1  =< .-
1 [XSz22[\GU+;<<	1 	1 =< 32	12 2 2$ [___5w>O7PQ 1 1 11 1 1
 
 
 [H344K344	
 1 1 1: [H344K344	
 1 1 11 1 16 6 6 
1 
1 
1+ + + [UD))[XSz22[\GU+;<<	1 	1 =< 32 *)	11 1 1 [Wf--2 2 .-2  [UWe$4551 1 6511 1 1$ $ $1 1 11 1 11 1 1
1 
1 
1/ / /(1 1 1,0 0 0,, , ,(, , ,B B B#0 #0 #0J. . . [VWW1 1 XW1 [SSS 
 
 
 [KKK 
 
	 
; ; ;0 0 090 90 90v [09j2IJJ0 0 KJ0  [ F)F)) !  	 FF)FFF))FF 211	
 < [Arvq"%&A|$%K$%	
 
0 
0 = L
00 0 0 [.	
 	
 	
 (1 1) (1	1 	1 	1 [;	
 	
 	
 $" "% $"
1 
1 
1% % %" [(	
 	/ 	/ 	/ [G  Gq!! G ##	
 $ $ $ $ $r0   r2   r   )2ME2QEz2QE-FEB2YEz2YE-MAR2me2qez2ye-marc                    |dd           d} | t          d          t          dd                    }d| }t          j        t          |          5  |                    |           d d d            d S # 1 swxY w Y   d S )	NrQ   r  r7   r8   r9   r   r  rj   r@   r   rq   rr   r  rB   rI   r   r*   rJ   s       r,   'test_resample_frequency_ME_QE_YE_raisesr    s     !""X
<
<
<C
/%((,|Q*O*O*O
P
P
PC
&
&
&C	z	-	-	-  T                 s   A::A>A>c                      | ddd          d d         }|                     d                                          }t          |          dk    sJ d S )Nz2007-01z2010-05r   r   r   r   )rB   r   r'   )r/   len0ptsrL   s      r,   test_corner_cases_periodr    s^    ((ICHHH!LGg&&++--Fv;;!r0   )2BME2CBME2SMEz2BQE-FEBz2BYE-MARc                     d| } | t          d          t          dd                    }t          j        t          |          5  |                    |           d d d            d S # 1 swxY w Y   d S )Nr  r7   r8   r9   r   rj   r  r  s       r,   $test_resample_frequency_invalid_freqr    s     '
&
&C
/%((,|Q*O*O*O
P
P
PC	z	-	-	-  T                 s   
A--A14A1)*r   r   r  r   r   r  numpyr#   rq   pandas._libs.tslibs.ccalendarr   r   pandas._libs.tslibs.periodr   pandas.errorsr   pandasrn   r	   r
   r   pandas._testing_testingrD   pandas.core.indexes.datetimesr   pandas.core.indexes.periodr   r   r   pandas.core.resampler   pandas.tseriesr   fixturer/   r2   r  r  r  r  r  r.   r0   r,   <module>r%     sQ          
			                = < < < < < + + + + + +             
       4 4 4 4 4 4         
 9 8 8 8 8 8 " " " " " " ' ' '(d$ d$ d$ d$ d$ d$ d$ d$N 
	 	 	      !R!R!RSS  TS  r0   