
    A>iX                        S SK J r Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SK	J
r
Jr  S SKJr  S SKJr  S SKrS SKJrJrJr  S SKJr  S SKJr  S SKJrJrJr  S S	KJr  S S
K J!r!  \RD                  S 5       r# " S S5      r$\RJ                  RM                  S/ SQ5      S 5       r'S r(\RJ                  RM                  S/ SQ5      S 5       r)g)    )datetimetimezoneN)DAYSMONTHS)IncompatibleFrequency)InvalidIndexError)	DataFrameSeries	Timestamp)
date_range)PeriodPeriodIndexperiod_range)_get_period_range_edges)offsetsc                      SS jn U $ )zC
Series with period range index and random data for test purposes.
c                 L   [         R                  " 5          SR                  SS/5      n[         R                  " SU[        S9  [        XUS9nS S S 5        [        [        R                  R                  S5      R                  [        W5      5      US9$ ! , (       d  f       NM= f)	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        f/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/resample/test_period_index.py_simple_period_range_series?simple_period_range_series.<locals>._simple_period_range_series,   s    $$&((35VWXC##&
 u5C ' bii++A.>>s3xHPSTT '&s   8B
B#)D )r,   s    r+   simple_period_range_seriesr0   &   s    
U '&    c                      \ rS rSr\R
                  R                  S/ SQ5      S 5       rS r\R
                  R                  S/ SQ5      \R
                  R                  SSS	0S
S0/5      S 5       5       r	\R
                  R                  S\
5      \R
                  R                  SSS/5      \R
                  R                  SSS/5      \R
                  R                  S/ SQ5      S 5       5       5       5       rS r\R
                  R                  S/ SQ5      S 5       r\R
                  R                  SSS/5      S 5       rS rS rS  r\R
                  R                  S\
5      \R
                  R                  S!SS/5      \R
                  R                  S/ S"Q5      S# 5       5       5       r\R
                  R                  S$SS%/5      \R
                  R                  S!SS/5      S& 5       5       rS' r\R
                  R                  S(S)/ S*Q4S+S,S-/4/5      S. 5       rS/ rS0 r\R
                  R                  S1\R2                  " S25      \R6                  R9                  S25      /5      S3 5       r\R
                  R                  S1\R2                  " S25      \R6                  R9                  S25      /5      S4 5       rS5 rS6 r S7 r!S8 r"\R
                  R                  S9\#5      \R
                  R                  S$SS%/5      \R
                  R                  S!SS/5      S: 5       5       5       r$S; r%\R
                  R                  S\
5      S< 5       r&\R
                  R                  S=SS/5      S> 5       r'S? r(S@ r)SA r*SB r+SC r,SD r-SE r.SF r/SG r0SH r1SI r2SJ r3SK r4SL r5\R
                  Rm                  SMSN9SO 5       r7\R
                  R                  SP/ SQQ5      SR 5       r8\R
                  R                  SP/ SSQ5      ST 5       r9SU r:SV r;SW r<\R
                  R                  SXSYSZ/5      S[ 5       r=\R
                  R                  S\\>R~                  S]\>R~                  S^S_// S`Q4\>R~                  \>R~                  S]\>R~                  \>R~                  \>R~                  S^S_\>R~                  \>R~                  /
/ SaQ4/5      \R
                  R                  SbScSd\@R                  SeSf/4SgSdSh/4SiSjSf/4/5      Sk 5       5       rBSl rC\R
                  R                  Sm/ SnQ5      So 5       rDSp rE\R
                  R                  Sq/ SrQ5      Ss 5       rFSt rGSu rH\R
                  R                  SvSwSx/5      Sy 5       rI\R
                  R                  Sz\JR                  " 5       \JR                  " S{5      \JR                  " S{5      /5      S| 5       rNS}rOg~)TestPeriodIndex;   r   )2D1h2hc                 0   U" [        S5      [        SSS9S9nUR                  5       R                  U5      R	                  5       nUR                  5       R                  U5      R	                  5       n[
        R                  " XT5        UR                  S   R                  SS9nUR                  S   UR                  R                  -   R                  SS9n[        XgUS	S
9nUR                  5       R                  U5      R                  U5      nUR                  U5      R	                  5       n[
        R                  " XT5        UR                  U5      R	                  5       R                  5       R                  5       n[
        R                  " XT5        g )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_asfreqTestPeriodIndex.test_asfreq<   s?    eAhl<QR.ST##%..t4;;=!!#,,T299;
v0		!))g)6yy}syy~~-;;;HU$&Q	##%--i8BB4Hd#**,
v0d#**,99;EEG
v0r1   c                    [        [        SSS5      [        SSS5      SS9n[        [        [	        U5      5      US9n[        UR                  S   R                  SS	9UR                  S
   R                  SS	9SS9nUR                  5       R                  USS9nUR                  5       R                  S5      R                  SS9n[        R                  " XT5        UR                  S5      n[        UR                  S   R                  SS	9UR                  S
   R                  SS	9SS9nUR                  5       R                  USS9nUR                  5       R                  S5      R                  SS9n[        R                  " XT5        g )N     
   r.   r   r   r   r'   r=   r?   r6   g      @)
fill_valuevalue      @)r   r   r
   rB   r&   r   r   rC   rH   rD   rE   rF   assert_series_equalto_frameassert_frame_equal)rJ   r   srO   rM   rN   frames          r+   test_asfreq_fill_value&TestPeriodIndex.test_asfreq_fill_valueQ   sk    XdAq18D!R3HsS5U$E2GGAJ###0WWR[&&7&3
	
 >>#++I#+F!**407737G
v0

7#KKN''G'4[[_**w*7
	
 %%'//	c/J##%..t4;;s;K
f/r1   )h12hr5   Wkwargsondateleveldc                    [        [        SSS5      [        SSS5      SS9n[        R                  " [	        U5      [        R
                  S9n[        X4S.[        R                  R                  XC/SS	/S
9S9nSn[        R                  " [        US9   UR                  " U40 UD6  S S S 5        g ! , (       d  f       g = f)NrS   rT   rU   r.   r   dtype)re   avrg   )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NotImplementedErrorrD   )rJ   r   rc   r   r*   dfr)   s          r+   test_selectionTestPeriodIndex.test_selectioni   s    
 XdAq18D!R3HsSiiE
"((3%--++SLc
+K

# 	
 ]].c:KK'' ;::s   B11
B?monthmethffillbfillconvr'   r(   )offsetperiod)r.   r.   Br   MEM)QEQc                 \   U" SSSU 3S9nUS:X  a  [         OS nSn	[        R                  " XS9   [        UR	                  X#S9U5      " 5       n
U
R                  X#S	9nUR                  X5      R                  5       nS S S 5        [        R                  " W
W5        g ! , (       d  f       N&= f)
N1/1/1990z
12/31/1990Y-r   r   r   rn   
conventionr=   )	r!   rF   assert_produces_warninggetattrrD   rC   rE   rI   rY   )rJ   r   r   r   r|   r{   r0   tswarnr)   rN   rM   s               r+   test_annual_upsample_cases*TestPeriodIndex.test_annual_upsample_cases|   s     (
LE7|T &#}4/''8R[[[A4HJF**6*<Hv4>>@H 9 	vx0	 98s   AB
B+c                    U" SSSS9nUR                  S5      R                  5       nUR                  UR                  R                  5      R                  5       n[        SSSS9Ul        [        R                  " X45        [        R                  " UR                  S5      R                  5       U5        [        R                  " UR                  S5      R                  5       U5        g )Nr   	6/30/1995r   r   Y-DECY)rD   meangroupbyr   yearr   rF   rY   rJ   r0   r   rN   rM   s        r+   test_basic_downsample%TestPeriodIndex.test_basic_downsample   s    '
KcJW%**,::bhhmm,113%j+GL
v0 	r{{7388:FC
r{{3/446?r1   zrule,expected_error_msg))r   z<YearEnd: month=12>)Q-MARz<QuarterEnd: startingMonth=3>)r   z
<MonthEnd>)W-THUz<Week: weekday=3>c                     U" SSSS9nSU S3n[         R                  " [        US9   UR                  U5      R	                  5         S S S 5        g ! , (       d  f       g = f)Nr   r   W-WEDr   z3Frequency <Week: weekday=2> cannot be resampled to z&, as they are not sub or super periodsrn   )ru   rv   r   rD   r   )rJ   r0   ruleexpected_error_msgr   r)   s         r+   test_not_subperiod"TestPeriodIndex.test_not_subperiod   s[     (
KgNA!""HJ 	 ]]0<KK""$ =<<s    A
Ar.   r5   c                    U" SSSS9nUR                  S5      R                  5       nUR                  USS9R                  5       nUR                  USS9nUR	                  US	5      R                  U5      n[        R                  " XV5        g )
Nr   r   r   r   r   r(   r   r=   r}   )rD   r   r}   rC   rE   rI   rF   rY   )rJ   r   r0   r   rN   	resampledrM   s          r+   test_basic_upsample#TestPeriodIndex.test_basic_upsample   s    '
KcJW%**,OODUO;AAC	&&t&7??41;;DA
y3r1   c                 V   [        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      nUR                  SSS9R                  SS	9nUR                  S5      R                  UR                  S
SS9n[        R                  " X45        g )N1/1/2000r9   r   r<   r   r   r   r(   r   )limitr}   )methodr   )r   r
   r"   r#   r$   r%   r&   rD   r}   rE   rH   r   rF   rY   rJ   r*   r   rN   rM   s        r+   test_upsample_with_limit(TestPeriodIndex.test_upsample_with_limit   s    :qs;BII))!,<<SXFLSU3999B99S>))&,,wa)P
v0r1   c                     U" SSSS9n[        SU05      nUR                  S5      R                  5       nUS   R                  S5      R                  5       n[        R                  " US   U5        g )Nr   
12/31/1995r   r   rk   r.   )r	   rD   r}   rF   rY   )rJ   r0   r   rx   rdfexps         r+   test_annual_upsample$TestPeriodIndex.test_annual_upsample   sf    '
LwORy!kk#$$&gs#))+
s3x-r1   c                     [        SSSS9n[        / SQUS9nUR                  S5      R                  5       n[        SS	SS9nUR	                  SS
S9R                  USS9n[        R                  " X55        g )N20002003r   r   )rT   r         r   r   2000-01z2003-12r'   r=   r}   r   )r   r
   rD   r}   rE   rH   rF   rY   )rJ   r*   r   rN   ex_indexrM   s         r+   test_annual_upsample2%TestPeriodIndex.test_annual_upsample2   sq    668L,S!'')	93?99Sg9.66x6P
v0r1   r   )r   r   r   c                 `   SU 3nU" SSUS9nUS:X  a  [         OS nSn	[        R                  " XS9   UR                  X4S9R	                  5       n
U
R                  X4S	9nUR                  US
5      R                  5       nS S S 5        [        R                  " W
W5        g ! , (       d  f       N&= f)NQ-r   z
12/31/1991r   r   r   rn   r   r=   r}   	r!   rF   r   rD   r}   rC   rE   rI   rY   )rJ   r{   r   r   r   r0   r   r   r   r)   rN   rM   s               r+   test_quarterly_upsample'TestPeriodIndex.test_quarterly_upsample   s     E7|'
LtL &#}4/''8[[[?EEGF**6*BHvw7AACH 9 	vx0	 98   AB
B-targetr   c                 V   U" SSSS9nUS:X  a  S O[         nSn[        R                  " XVS9   UR                  XS9R	                  5       nUR                  XS	9nUR                  US
5      R                  5       nS S S 5        [        R                  " WW5        g ! , (       d  f       N&= f)Nr   r   r   r   r.   r   rn   r   r=   r}   r   )	rJ   r   r   r0   r   r   r)   rN   rM   s	            r+   test_monthly_upsample%TestPeriodIndex.test_monthly_upsample   s     (
LsK}t-/''8[[[?EEGF**6*BHvw7AACH 9 	vx0	 98s   AB
B(c           
         [        [        S5      [        SSSSS9SS9n[        R                  USS	& [        [        S
S5      [        SS5      /SS9n[        SS/US9nUR                  5       R                  S5      R                  5       n[        R                  " XC5        UR                  S5      R                  5       R                  5       n[        R                  " XS5        g )Nd   20130101r\   idx)r   r<   namefloatr   rj   rU      z2013-01-01 00:00minz2013-01-01 00:01)r   g     @A@g     S@r   )r
   rB   r   r"   nanr   r   rI   rD   r   rF   rY   )rJ   r\   r   rM   rN   result2s         r+   test_resample_basic#TestPeriodIndex.test_resample_basic   s    #JZc3UK

 66"R&.7I50QR
 4,e4''.335
v0**U#((*446
w1r1   zfreq,expected_valsr   )      r   	   2M<   (   c                     [        S[        SSS9S9nUR                  U5      R                  5       n[        SU[	        U5      S9n[        X%S9n[
        R                  " XF5        g )NrT   r   r   r'   r<   r   r'   r   r<   )r
   r   rD   countr&   rF   rY   )rJ   r   expected_valsseriesrN   expected_indexrM   s          r+   test_resample_count#TestPeriodIndex.test_resample_count  s^    
 FC!HI&,,.%tS-?
 ->
v0r1   c           	          [        [        S5      [        SSSS9S9nUn[        UR	                  S5      U5      " 5       n[
        R                  " XC5        g )Nr   r   r   r'   r<   r   r   )r
   rB   r   r   rD   rF   rY   )rJ   resample_methodr   rM   rN   s        r+   test_resample_same_freq'TestPeriodIndex.test_resample_same_freq  sG    a61SV(WX-?A
v0r1   c                     Sn[        SSSS9n[        [        S5      US9nUR                  S5      n[        R
                  " [        US9   UR                  5         S S S 5        g ! , (       d  f       g = f)	NzcFrequency <MonthEnd> cannot be resampled to <Week: weekday=6>, as they are not sub or super periodsr   r   r   r   r   rb   rn   )r   r
   rB   rD   ru   rv   r   r   )rJ   r)   piserrss        r+   test_resample_incompat_freq+TestPeriodIndex.test_resample_incompat_freq  s^    3 	 <U1XR(\\#]]0<GGI =<<s   A%%
A3tzAmerica/Los_Angelesc           	         Un[        SSSSS[        R                  S9n[        SSSSS[        R                  S9n[        X4SSS	9n[	        SUS
9nUR                  U5      nSn[        R                  " [        US9   UR                  S5      R                  5       R                  5       nS S S 5        [        X4SSS9[        R                  " 5       -
  n	[	        SU	S
9n
[        R                  " WU
5        g ! , (       d  f       NQ= f)Ni     rT   r   )r   r{   dayhourminutetzinfor   r`   r   )r   r   r   zAConverting to PeriodArray/Index representation will drop timezonern   r.   )r'   r(   r   r         ?)r   r   utcr   r
   
tz_convertrF   r   UserWarningrD   r   rI   r   r   DayrY   )rJ   r   local_timezoner'   r(   r   r   r)   rN   r   rM   s              r+   test_with_local_timezone(TestPeriodIndex.test_with_local_timezone"  s     RQQq
 RQQq
 5Ce<'"">2Q''3?__S)..0::<F @ uCeDw{{}T 	 #^4
vx0 @?s   <.C55
Dc                     [        SSSXS9n[        SUS9nUR                  S5      R                  5       n[        R
                  " SS/USS	9R                  U5      n[        S
US9n[        R                  " XW5        g )Nz
2017-01-010   r`   )r<   r   r   unitr   r   r.   z
2017-01-02)r   r          @)	r   r
   rD   r   rr   DatetimeIndexas_unitrF   rY   )rJ   r   r  dtir   rN   exp_dtirM   s           r+   test_resample_with_tz%TestPeriodIndex.test_resample_with_tzF  s     rNQc"c"'')""<(Rc

'$- 	 
 	v0r1   c                 <   [        SSSS9n[        [        R                  " [	        U5      5      US9nUR                  S5      n[        R                  " UR                  SS9Ul        UR                  S5      R                  5       n[        R                  " XC5        g )Nz
2017-03-12z2017-03-12 1:45:0015minr   r   z
US/Pacific900s)r   r
   r"   zerosr&   tz_localizerr   r  r   rD   r   rF   rY   )rJ   r   r\   rM   rN   s        r+   'test_resample_nonexistent_time_bin_edge7TestPeriodIndex.test_resample_nonexistent_time_bin_edge[  sw    <)=GL288CJ'u5==.))(..vF""6*//1
v0r1   c           	      d   [        SSSS9nUR                  S5      R                  S5      n[        [	        [        [        U5      5      5      US9nUR                  [        R                  " SS	95      R                  5       n[        S
SSSSSS9n[        R                  " UR                  U5        g )Nz
2017-10-10z
2017-10-20r6   r'   r(   r   UTCzAmerica/Sao_Paulo)datar   1Dr   z
2017-10-09r.   shift_forwardr@   )r'   r(   r   r   nonexistentrA   )r   r  r   r	   listrB   r&   r   rr   Grouperr   rF   assert_index_equalr   )rJ   r   rx   rN   rM   s        r+   (test_resample_nonexistent_time_bin_edge28TestPeriodIndex.test_resample_nonexistent_time_bin_edge2d  s    <dK!!%(334GHDs5z!235ABJJD1288:"'
 	fllH5r1   c                     [        SSSSS9n[        [        R                  " [	        U5      5      US9nUR                  S5      R                  5       n[        R                  " X25        g )Nz2014-10-25 22:00:00z2014-10-26 00:30:0030minzEurope/Londonr   r   r   )	r   r
   r"   r  r&   rD   r   rF   rY   )rJ   r   rM   rN   s       r+   %test_resample_ambiguous_time_bin_edge5TestPeriodIndex.test_resample_ambiguous_time_bin_edget  sZ    !!	
 "((3s8,C8""7+002
v0r1   c           	      P   [        [        R                  " SSS9[        SSSS9S9nUR	                  S5      R                  5       nUR	                  S5      R                  5       R	                  S5      R                  5       R                  S5      n[        R                  " X#5        g )	Nr   rq   ri   z
2010-01-01r   r   r   r   )
r
   r"   rp   r   rD   r}   lastastyperF   rY   )rJ   r\   r'  boths       r+   !test_fill_method_and_how_upsample1TestPeriodIndex.test_fill_method_and_how_upsample  s    IIaw'\14@
 zz$%%'zz$%%'006;;=DDWM
t*r1   r   c                 `   SU 3nU" SSUS9nUS:X  a  S O[         nSn[        R                  " XxS9   UR                  X#S9R	                  5       n	U	R                  X#S	9n
U
R                  US
5      R                  5       n
S S S 5        [        R                  " W	W
5        g ! , (       d  f       N&= f)NzW-r   z
07/31/1990r   r.   r   rn   r   r=   r}   r   )rJ   r   r   r   r0   r   r   r   r)   rN   rM   s              r+   test_weekly_upsample$TestPeriodIndex.test_weekly_upsample  s     C5z'
LtL}t-/''8[[[?EEGF**6*BHvw7AACH 9 	vx0	 98r   c                     U" SSSS9nUR                  S5      R                  5       R                  5       nUR                  S5      R                  5       R                  SS9n[        R                  " X45        g )Nr   r   r   r   r   r'   r=   )rD   r   rC   rF   rY   r   s        r+   test_resample_to_timestamps+TestPeriodIndex.test_resample_to_timestamps  sc    '
LsKW%**,99;;;w',,.;;;H
v0r1   c                    U" SSSU 3S9nUR                  SU 35      R                  5       nUR                  SSS9n[        UR                  S	   R                  SS5      UR                  S
   R                  SS5      SU 3S9nUR                  UR                  SS5      SS9nXgl        [        R                  " XG5        g )N19901992r   r   r   r.   r'   r=   r   r?   r(   r\   r}   r   )	rD   r}   rC   r   r   rE   rH   rF   rY   )rJ   r0   r{   r   quar_tsstampsqdatesrM   s           r+   test_resample_to_quarterly*TestPeriodIndex.test_resample_to_quarterly  s    'r%\J++5'l+113'2HHQKsG,HHRLU+eW
 >>&"5"5c3"?>P
w1r1   r>   c                     U" SSSS9nUR                  SUS9R                  5       nUR                  SUS9nUR                  UR                  SS	9n[
        R                  " XE5        g )
Nr3  r4  zY-JUNr   r   r   r=   r}   r   )rD   r}   rE   rH   r   rF   rY   )rJ   r0   r>   r   rN   rM   s         r+   $test_resample_to_quarterly_start_end4TestPeriodIndex.test_resample_to_quarterly_start_end  sh     (WEW5;;=99W#9.##FLL#A 	v0r1   c                 n   [        / SQSS9n[        [        R                  R	                  S5      R                  S5      US9nUR                  5       nUR                  S5      R                  5       nUR                  S5      R                  5       R                  S5      n[        R                  " XE5        g )N)  rS     i  r   r   r   r   r   YE)r   r
   r"   r#   r$   r%   rC   rD   r}   rI   rF   rY   )rJ   r*   r\   r6  filledrM   s         r+   test_resample_fill_missing*TestPeriodIndex.test_resample_fill_missing  s    2=299((+;;A>cJ!C&&(??4(..0::3?
v0r1   c                 0   [        / SQSS9n[        [        R                  R	                  S5      R                  S5      US9nSn[        R                  " [        US9   UR                  S5      R                  5         S S S 5        g ! , (       d  f       g = f)	N)r>  rS   rS   r?  r?  r   r   r   r9   r   z8Reindexing only valid with uniquely valued Index objectsrn   )r   r
   r"   r#   r$   r%   ru   rv   r   rD   r}   )rJ   r*   r\   r)   s       r+   test_cant_fill_missing_dups+TestPeriodIndex.test_cant_fill_missing_dups  si    8sC299((+;;A>cJH]],C8JJsO!!# 988s    B
Bc                    [        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      US9nUR                  5       R                  S5      R                  5       nUR                  S5      R                  5       R                  5       n[        R                  " XC5        UR                  S5      nUR                  S5      R                  5       n[        R                  " XC5        UR                  S5      R                  5       R                  5       R                  5       n[        R                  " XC5        g )Nr   z1/5/2000r   r   r   r   5min)r   r
   r"   r#   r$   r%   r&   rC   rD   r   rF   rY   rI   rJ   r*   r   rM   rN   s        r+   test_resample_5minute%TestPeriodIndex.test_resample_5minute  s    :z>BII))!,<<SXFcR??$--f5::<V$))+88:
v0%%f-V$))+
v0V$))+88:DDF
v0r1   c                    U" SSSS9nUR                  S5      R                  5       nUR                  S5      R                  [        SS5      5      n[        R
                  " X45        U" SS5      nUR                  SSS	9R                  5       n[        SS
SS9nUR                  SSS9R                  U5      n[        R
                  " X45        g )Nr   z2/1/2000r   r   r.   z1/3/2000r`   r\   r   z2/1/2000 23:00r=   )rD   rE   rH   r   rF   rY   )rJ   r0   r   rN   rM   exp_rngs         r+   "test_upsample_daily_business_daily2TestPeriodIndex.test_upsample_daily_business_daily  s    '
JSIS!((*99S>)),z:*NO
v0'
J?SS188:z+;#F99Sc9*227;
v0r1   c                 J   [        SSSS9n[        [        R                  " S5      US9nUS S nUR	                  S5      R                  [        5      nUR	                  S5      R                  [        5      R                  UR                     n[        R                  " XE5        g )	Nz1/1/2012rH  i  r   r   r   z2012-01-04 06:5510min)r   r
   r"   arrayrD   applyr&   locr   rF   rY   )rJ   drr\   subsetrN   rM   s         r+   test_resample_irregular_sparse.TestPeriodIndex.test_resample_irregular_sparse  s    jvtD288C=+&&')//4::g&,,S155fllC
v0r1   c                    [        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      US9nUR                  S5      R                  5       nUR                  5       R                  5       (       d   eUR                  S5      R                  5       R                  5       S S nUR                  S5      R                  5       n[        R                  " X45        g )	Nr   rU   r   r   r   r   r   r?   )r   r
   r"   r#   r$   r%   r&   rD   rE   isnaallr}   rF   rY   r   s        r+   test_resample_weekly_all_na+TestPeriodIndex.test_resample_weekly_all_na  s    Rg>BII))!,<<SXFcRW%,,.{{}  """"W%,,.446s;99W%++-
v0r1   c                 B   [        SSUS9n[        [        [        U5      5      US9nUR	                  S5      nUR                  S5      nUR                  S5      R                  5       nUR                  5       nUR                  R	                  S 5      Ul	        UR                  S5      R                  5       R	                  S5      n[        R                  " UR                  SS9Ul	        [        R                  " Xh5        UR                  S	5      R                  5       ng )
Nz	2012-4-13z2012-5-1)r'   r(   r  r   r  r   rb   r   r.   )r   r
   rB   r&   r  r   rD   r   copyr   rr   r  rF   rY   )	rJ   r  rU  r   ts_utcts_localrN   ts_local_naiver   s	            r+   test_resample_tz_localized*TestPeriodIndex.test_resample_tz_localized  s    kzEE#b'N"-&$$%:;""3',,.!-33??E%%c*//1==>ST$$SYYS9	
v+ ""3',,.r1   c                    [        SSSSS9n[        SS/US9nUR                  S	S
S
S9R                  5       n[        SSS	SS9n[        [        R
                  S/US9n[        R                  " X55        Sn[        R                  " [        US9   UR                  S	5      R                  5       R                  5       nS S S 5        [        SSS	S9n[        S/US9n[        R                  " X55        g ! , (       d  f       N;= f)Nz2001-09-20 15:59z2001-09-20 16:00r   zAustralia/Sydneyr#  rT   r   r   r.   rightclosedlabelz
2001-09-20)r<   r   r   g      ?zBConverting to PeriodArray/Index representation will drop timezone rn   r   )r   r
   rD   r   r"   r   rF   rY   r   r   rI   r   )rJ   r   r\   rN   r   rM   r)   s          r+   test_resample_tz_localized2+TestPeriodIndex.test_resample_tz_localized2  s     2CU
 Aq6% Cw?DDFlACDVW2663-x8
v0 S''3?ZZ_))+557F @acB3%x0
v0	 @?s   .C22
D c                    [        SSSS9nUR                  S5      n[        US9n[        R                  R                  S5      R                  [        U5      5      US'   [        R                  " [        R                  R                  S5      R                  [        U5      5      5      US	'   [        UR                  S
5      R                  5       S   UR                  S
5      R                  5       S	   S.SS	/S9nUR                  S
5      R                  SSS.5      R                  SS	/S9n[        R                  " XC5        g )Nz1/1/2011i N  r`   r   ESTr   r   firstsecondr@  )rn  ro  )columnssumr   )r   r  r	   r"   r#   r$   r%   r&   cumsumrD   rq  r   aggrH   rF   r[   rI  s        r+   test_resample_tz_localized3+TestPeriodIndex.test_resample_tz_localized3)  s    U=ooe$S!ii++A.>>s3xH7yy!6!6q!9!I!I#c(!ST8T*..09++d+0028< h'
 KKS5F34Wgx0W1 	
 	f/r1   c           	      p   [        [        R                  R                  S5      R	                  S5      [        SSSS9S9n[        R                  UR                  S'   UR                  SS	S
S9R                  5       nUSS  R                  SS	S
S9R                  5       n[        R                  " X#5        UR                  SS	S	S9R                  5       nUSS  R                  SS	S	S9R                  5       n[        SSSS9n[        R                  " UR                  U5        [        R                  " X#5        g )Nr      z1/1/2012 9:301minr   r   r   rQ  r@   rf  rg  rT   r   )r
   r"   r#   r$   r%   r   r   ilocrD   r   rF   rY   r  r   )rJ   r\   rN   r   r   s        r+   test_closed_left_corner'TestPeriodIndex.test_closed_left_corner?  s   II!!!$44R8?L
 FFq	GF'BGGIennWV7nCHHJ
v+GF&AFFHennWV6nBGGIO'1M
fllH5
v+r1   c                 6   [        SSSS9n[        [        R                  " S5      US9nUR	                  S5      R                  5       nUR                  5       R	                  S5      R                  5       R                  5       n[        R                  " X45        g )N2000Q1rU   Q-DECr   r   r   r@  )
r   r
   r"   rp   rD   r   rC   rI   rF   rY   )rJ   r*   r   rN   r   s        r+   test_quarterly_resampling)TestPeriodIndex.test_quarterly_resamplingS  sr    8Rg>BIIbM-S!&&(oo((.335??A
v+r1   c                     [        SSSS9n[        U5      n[        U5       Vs/ s H  o3/S-  PM
     nn[        U/ SQUS9nUR	                  SS	S	S
9R                  5         g s  snf )Nz8/6/2012z	8/26/2012r.   r  r9   )openhighlowclosevol)rp  r   zW-MONr@   rg  )r   r&   rB   r	   rD   rn  )rJ   indnxr  rx   s         r+   test_resample_weekly_bug_1726-TestPeriodIndex.test_resample_weekly_bug_1726[  sg    z{EH!&q*Aa*t%LTWX 	GF&9??A	 +s   A"c                    [         R                  " SS/5      R                  S5      R                  S5      n[	        SS/US9nUR                  SS	S	S
9R                  5       R                  5       n/ SQn[         R                  " USS9R                  S5      R                  UR                  5      n[         R                  " USS9n[	        / SQUS9n[        R                  " X55        g )Nl     Z! l     NE! r  zAmerica/ChicagorT   r   r   ra   rf  rg  )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  )rr   r  r  r   r	   rD   r'  r}   to_datetimer	  r  rF   r[   )rJ   r   rx   rN   expected_index_valuesrM   s         r+   "test_resample_with_dst_time_change2TestPeriodIndex.test_resample_with_dst_time_changee  s     13FGH[Z)* 	
 1vU+U7'BGGIOOQ!
  NN0d;Z)*WUZZ  	
   U3M
 	f/r1   c                    [        [        R                  " SS5      [        R                  S9nUR                  S5      R                  5       nUR                  S5      R                  5       R                  S5      R                  5       nUR                  S   [        S5      :X  d   eUR                  S   UR                  S   :X  d   eg )N2000010120000201r   BMSr   r   20000103)	r
   rr   bdate_ranger"   float64rD   r   r   r   )rJ   
timeseriesres1res2s       r+   test_resample_bms_2752&TestPeriodIndex.test_resample_bms_2752  s    ..Z8



 ""5)..0""5)..099#>CCEzz!}	* 5555zz!}

1---r1   z6Commented out for more than 3 years. Should this work?)reasonc                 2   [        SSSS9n[        [        R                  " S5      US9n[        SSSS	9nUR	                  SS
S9R                  U5      nUR                  SS9nUR                  S5      R                  5       n[        R                  " XT5        g )Nr   r   r   r   r   z
2000-01-01z
2000-03-31r.   r   r(   r=   r~   r   )r   r
   r"   rp   rE   rH   fillnarD   r   rF   rY   )rJ   r*   r   	exp_indexrM   rN   s         r+   test_monthly_convention_span,TestPeriodIndex.test_monthly_convention_span  s    9ad;BIIaL, !|#F	99Se9,44Y???'?2S!&&(
v0r1   zfrom_freq, to_freq))r.   r   )r   r@  )r   r   )r.   rb   c           	      D   [        SSUS9n[        [        R                  R	                  S5      R                  [        U5      S45      U5      nUR                  U5      R                  5       n[        R                  " XTR                  USSS9R                  5       5        g )N	8/15/2012r   r   r   rf  rg  r   r	   r"   r#   r$   r%   r&   rD   r   rF   r[   rJ   	from_freqto_freqr   rx   r   s         r+   test_default_right_closed_label/TestPeriodIndex.test_default_right_closed_label  s     {CiHryy,,Q/??S1NPSTKK(--/	
{{77'{JOOQ	
r1   ))r.   MS)r   YS)r   QS)r`   r.   )r   r`   c           	      D   [        SSUS9n[        [        R                  R	                  S5      R                  [        U5      S45      U5      nUR                  U5      R                  5       n[        R                  " XTR                  USSS9R                  5       5        g )Nr  r   r   r   r@   rg  r  r  s         r+   test_default_left_closed_label.TestPeriodIndex.test_default_left_closed_label  s    
 {CiHryy,,Q/??S1NPSTKK(--/	
{{76{HMMO	
r1   c                 :   [        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      US9nUR                  S5      R                  5       n[        R                  " UR                  S   UR                  5       5        g )	Nz
2012-01-01z
2012-12-31r   r  r   r   r   r   )r   r
   r"   r#   r$   r%   r&   rD   r   rF   rG   ry  )rJ   r   r   rN   s       r+   test_all_values_single_bin*TestPeriodIndex.test_all_values_single_bin  sp    <\LRYY**1-==c%jIQVWc"'')
v{{1~sxxz:r1   c           	         [        [        R                  R                  S5      R	                  S5      [        SSSS9S9nUR                  S5      R                  5       n[        R                  " UR                  S	S
 R                  5       UR                  S
S  R                  5       /SS9R                  n[        R                  " [        S5      [        S5      /SSS9Ul        [        R                   " X#5        g )Nr   )r   r   z2000-1-1r   ns)r<   r  r   5Dr   r9   rT   )axisz2000-1-6zM8[ns])rj   r   )r	   r"   r#   r$   r%   r   rD   r   rr   concatry  Tr  r   r   rF   r[   )rJ   rx   rN   rM   s       r+   (test_evenly_divisible_with_no_extra_bins8TestPeriodIndex.test_evenly_divisible_with_no_extra_bins  s     II!!!$44V<Z>
 T"'')99bggal//127712;3C3C3EFQOQQ))z"Ij$9:(QU
 	f/r1   c           	         [        SSS9n[        SSSSSS	./S-  S
SSSSS	./S-  -   UR                  U5      S9R                  5       n[        SSSS9n[        SSSSSS	./S-  US9nUR	                  S5      R                  5       n[        R                  " XC5        [        SSSSSS	./S-  US9nUR	                  S5      R                  5       n[        R                  " XC5        g )Nz2001-5-4   r   rT   P   Z   r      )REST_KEY
DLY_TRN_QTDLY_SLS_AMTCOOP_DLY_TRN_QTCOOP_DLY_SLS_AMTr   F   rU   2   r   r   7Dr      rw  i  i  i0  i  )	r   r	   append
sort_indexrD   r   rF   r[   rq  )rJ   r   rx   rM   rN   s        r+   )test_evenly_divisible_with_no_extra_bins29TestPeriodIndex.test_evenly_divisible_with_no_extra_bins2  sG   R8 !""$#%')(* 	 !""$#%')(* 	( ,,u%+
, *,- 	0 :qt< !#"$#%')(* 	 
 T"((*
f/ !#"&#&'*(+ 	 
 T"&&(
f/r1   zfreq, period_mult)r`      )ra   r   c                 $   [        SSSS9n[        [        [        U5      5      US9nUR	                  5       R                  U5      R                  5       R                  U5      n[        SX[        U5      -  S9nUR                  U5      nUR                  U5      R                  5       n[        R                  " Xu5        UR                  U5      R                  5       R	                  5       R                  5       n[        R                  " Xu5        g )Nr   r.   rU   r   r   )r   r
   rB   r&   rC   rD   ohlcrI   rH   rF   r[   )rJ   r   period_multr   r\   rM   rO   rN   s           r+   test_upsampling_ohlc$TestPeriodIndex.test_upsampling_ohlc  s     S"=5R>,>>#,,T2779CCDI !vDPSTVPWBWX	##I.D!&&(
f/D!&&(557AAC
f/r1   zperiods, values1970-01-01 00:00:00z1970-01-01 00:00:02z1970-01-01 00:00:03)r   r   r9      r   )
rT   r   r   r9         r  r         zfreq, expected_values1sr   r  r   2sg      "@3sg      @c                     [        USS9n[        X%S9n[        S[        U5      US9n[        XGS9nUR	                  U5      R                  5       n	[        R                  " X5        g )Nr\   r   r   r  r   )r   r	   r   r&   rD   r   rF   r[   )
rJ   r<   valuesr   expected_valuesr   r]   r   rM   rN   s
             r+   test_resample_with_nat&TestPeriodIndex.test_resample_with_nat  sb    P G#.&.%!3+?d
 _C%**,
f/r1   c                    [        [        R                  /S-  SS9n[        / SQUS/S9n[        / UR                  S9n[        US/SS	9nUR                  S
5      R                  5       n[        R                  " XT5        g )Nr   r\   r   )r   r   r9   rk   )r   rp  )r  r   r  )r   rp  rj   r  )	r   rr   NaTr	   r   rD   r   rF   r[   )rJ   r   r]   r   rM   rN   s         r+   test_resample_with_only_nat+TestPeriodIndex.test_resample_with_only_natP  sm    "&&AC0)2u=$"277;>C5	R%**,
f/r1   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:00r7   r  r  )r  z19910905 01:39Min5Min3Min)r  z19910905 03:182Minr  r  c                 D   [        XUS9n[        [        R                  " [	        U5      5      US9nUR                  XES9R                  5       nUR                  U5      nUR                  5       R                  XES9R                  5       n	[        R                  " X5        g )Nr   r   )r   )
r   r
   r"   rp   r&   rD   r   rC   rF   rY   )
rJ   r'   r(   
start_freqend_freqr   r   r   rN   rM   s
             r+   test_resample_with_offset)TestPeriodIndex.test_resample_with_offsetY  s    , %:6RYYs2w'r2h6;;=$$X.##%..x.GLLN
v0r1   c                    [        SSSS9n[        [        R                  " [	        U5      5      US9nUR                  S5      R                  5       nUR                  S5      nUR                  5       R                  S5      R                  5       nUR                  R                  S 5      Ul        [        R                  " X45        g )Nr  z19910909 1:00r`   r   r   r   r   )r   r
   r"   rp   r&   rD   r   rC   r   
_with_freqrF   rY   )rJ   r   r   rN   rM   s        r+   test_resample_with_offset_month/TestPeriodIndex.test_resample_with_offset_monthw  s    *O#FRYYs2w'r2c"'')$$S)##%..t499;!2248
v0r1   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                     [        U5      n[        U5      n[        XSS9n[        XcS9n[        R                  R                  R	                  U5      n[        XU5      nXV4nXx:X  d   eg )Nr   )r   rr   tseriesfrequencies	to_offsetr   )	rJ   rn  r'  r   freq_to_offset	exp_firstexp_lastrN   rM   s	            r+   test_get_period_range_edges+TestPeriodIndex.test_get_period_range_edges  sd    * ud|90	(.zz%%//?(d;(!!!r1   c                 N   [        SSSS9n[        R                  " S5      n[        R                  USS& [	        X!5      R                  5       nUR                  S5      R                  SS9n[	        S	[        R                  /[        S
S/SS9S9n[        R                  " XE5        g )N2018r   r  r   r   r   rT   )	min_countrX   2018Q12018Q2r~  r   r   )r   r"   onesr   r
   rI   rD   rq  r   rF   rY   )rJ   r   r  r\   rN   rM   s         r+   test_sum_min_count"TestPeriodIndex.test_sum_min_count  s    dA>wwqzFFQq	4))+C$$q$1"&&Mh-A!P
 	v0r1   c                    SnSn[         R                  " [        US9   [        SSSS9  S S S 5        [        SSSS9n[	        [
        R                  " [        U5      5      US	9n[         R                  " [        US9   UR                  S
5      R                  5         S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)NzInvalid frequency: TzInvalid frequency: Lrn   z2020-01-01 00:00:00 00:00z2020-01-01 00:00:00 00:01Lr   msr   r  
ru   rv   
ValueErrorr   r
   r"   rp   r&   rD   r   )rJ   msg_tmsg_lrng_lr   s        r+   test_resample_t_l_deprecated,TestPeriodIndex.test_resample_t_l_deprecated  s    &&]]:U3+-Hs 4 ')D4
 RYYs5z*%8]]:U3LL""$ 43 43 43s   B&= B7&
B47
Czfreq, freq_depr, freq_depr_res)2Q2q2y)r   2mr#  c                    SU 3n[         R                  " [        US9   [        SSUS9  S S S 5        SU 3n[        SSUS9n[	        [
        R                  " [        U5      5      US9n[         R                  " [        US9   UR                  U5      R                  5         S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)NInvalid frequency: rn   r:   z
2020-08-01r   r   r  )rJ   r   	freq_deprfreq_depr_resr)   r*   r   s          r+   (test_resample_lowercase_frequency_raises8TestPeriodIndex.test_resample_lowercase_frequency_raises  s     $I;/]]:S1|)D 2 $M?3<DARYYs3x(4]]:S1LL',,. 21 21 21s   B, B=,
B:=
Cr   r   c                     [         R                  " U S35      nU" [        S5      [        SSS9S9n[        R
                  " [        US9   UR                  US9  S S S 5        g ! , (       d  f       g = f)N% is not supported as period frequencyr9   r:   r;   r   rn   r   )reescaperB   r   ru   rv   r  rE   )rJ   r   rK   r)   rL   s        r+   !test_asfreq_invalid_period_offset1TestPeriodIndex.test_asfreq_invalid_period_offset  sZ     ii6("GHIeAhl<QR.ST]]:S1JJFJ# 211s   A$$
A2r/   N)P__name__
__module____qualname____firstlineno__ru   markparametrizerP   r^   ry   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-  r0  r8  r;  rB  rE  rJ  rN  rW  r\  rc  rj  rt  rz  r  r  r  r  xfailr  r  r  r  r  r  r  rr   r  r"   r   r  r  r  r  r  r  r   r*  r   
MonthBegin
BYearBeginBusinessHourr0  __static_attributes__r/   r1   r+   r3   r3   ;   s   [[V%781 91(00 [[V%<=[[Xv#'GH( I >(" [[Wf-[[Vgw%78[[Vgu%56[[P
1 7 9 .
1
@ [[!	
%% [[Vc4[14 241.1 [[Wf-[[\GU+;<[[C1 = .
1 [[XSz2[[\GU+;<	1 = 3	12$ [[_5w>O7PQ111
 [[34KK34	
11: [[34KK34	
1116 
1+ [[UD)[[XSz2[[\GU+;<	1 = 3 *	11 [[Wf-2 .2  [[UWe$451 611$111
1/(1,0,,(,B#0J. [[VW1 X1 [[S

 [[K
	
;090v [[09j2IJ0 K0  [[ FF)FF)) !	 FFFF)FFFFFF))FFFF 2	
< [[Arvvq"%&A|$%K$%	

0=L
00 [[.	
(1)(1	1 [[;	
$"%$"
1%" [[(	
	/	/ [[ q!  #	
$$r1   r3   r   )2ME2QEz2QE-FEB2YEz2YE-MAR2me2qez2ye-marc                     USS   S3nU " [        S5      [        SSS9S9nSU 3n[        R                  " [        US9   UR                  U5        S S S 5        g ! , (       d  f       g = f)	NrT   r-  r9   r:   r;   r   r'  rn   rB   r   ru   rv   r  rD   rK   r   r)   rL   s       r+   'test_resample_frequency_ME_QE_YE_raisesrI    s`     !"XJ;
<C
%(,|Q*O
PCv
&C	z	-T 
.	-	-s   A
A(c                 z    U " SSSS9S S nUR                  S5      R                  5       n[        U5      S:X  d   eg )Nz2007-01z2010-05r   r   r   r   )rD   r   r&   )r0   len0ptsrN   s      r+   test_corner_cases_periodrL    sB    (ICH!LGg&++-Fv;!r1   )2BME2CBME2SMEz2BQE-FEBz2BYE-MARc                     SU 3nU " [        S5      [        SSS9S9n[        R                  " [        US9   UR                  U5        S S S 5        g ! , (       d  f       g = f)Nr'  r9   r:   r;   r   rn   rG  rH  s       r+   $test_resample_frequency_invalid_freqrQ    sM      v
&C
%(,|Q*O
PC	z	-T 
.	-	-s   A
A )*r   r   r.  r   r8  r:  numpyr"   ru   pandas._libs.tslibs.ccalendarr   r   pandas._libs.tslibs.periodr   pandas.errorsr   pandasrr   r	   r
   r   pandas._testing_testingrF   pandas.core.indexes.datetimesr   pandas.core.indexes.periodr   r   r   pandas.core.resampler   pandas.tseriesr   fixturer0   r3   r6  r7  rI  rL  rQ  r/   r1   r+   <module>r^     s    
      = +  
  4 
 9 " ' '(d$ d$N 
	 !RS Tr1   