
    d;                     $   d dl m 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 ej        d             Z! G d d          Z"dS )    )datetimeN)DAYSMONTHS)IncompatibleFrequency)InvalidIndexError)	DataFrameSeries	Timestamp)
date_range)PeriodPeriodIndexperiod_range)_get_period_range_edges)offsetsc                      t           S )N)r        c/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/resample/test_period_index.py_index_factoryr   !   s    r   c                      dS )Npir   r   r   r   _series_namer   &   s    4r   c                   
   e Zd Zej                            dg d          ej                            dg d          d                         Zd Zej                            dg d          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ej                            de	          ej                            d"g d          ej                            d#ddg          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d0 Zd1 Zd2 Zd3 Zd4 Zd5 Zd6 Zej                            d7e          ej                            d"dd%g          ej                            d#ddg          d8                                     Zd9 Zej                            de	          d:             Zej                            d;ddg          d<             Z d= Z!d> Z"ej                            dd?g          ej                            dg d          d@                         Z#dA Z$dB Z%dC Z&dD Z'dE Z(dF Z)dG Z*dH Z+dI Z,ej        -                    dJK          dL             Z.ej                            dMg dN          dO             Z/ej                            dMg dP          dQ             Z0dR Z1dS Z2ej                            dTdUdVg          ej                            ddWdXg          dY                         Z3ej                            dZe4j5        d[e4j5        d\d]gg d^fe4j5        e4j5        d[e4j5        e4j5        e4j5        d\d]e4j5        e4j5        g
g d_fg          ej                            d`dadbe6j7        dcddgfdedbdfgfdgdhddgfg          di                         Z8dj Z9ej                            dkg dl          dm             Z:ej                            dng do          dp             Z;dq Z<dWS )rTestPeriodIndexfreq)2D1H2Hkind)periodN	timestampc                 >   |}|dk    r:|                                                     |                                          }n|j        d                              d          }|j        d         |j        j        z                        d          }t          |||d          }|                                                     |                              |          }|                    ||                                          }	t          j	        |	|           d S )	Nr!   r   starthowleft)r#   endr   	inclusiver   )
to_timestampresampleasfreqindexr   r   reindex	to_periodtmassert_almost_equal)
selfseries_and_framer   r   objexpectedr#   r(   	new_indexresults
             r   test_asfreqzTestPeriodIndex.test_asfreq,   s     ;''))22488??AAHHIaL--'-::E9R=39>1??G?LLC"CdfUUUI''))11)<<FFtLLHd..5577
vx00000r   c                    |}t          |j        d                             d          |j        d                             d          d          }|                                                    |d          }|                    dd	
                              d          }t          j        ||           |                    d          }t          |j        d                             d          |j        d                             d          d          }|                                                    |d          }|                    dd	
                              d          }t          j	        ||           d S )Nr   r#   r$   r&   r   r   g      @)
fill_valuer!   r*   value      @)
r   r.   r+   r/   r,   r-   r1   assert_series_equalto_frameassert_frame_equal)r3   seriessr7   r6   r8   frames          r   test_asfreq_fill_valuez&TestPeriodIndex.test_asfreq_fill_value=   sr    GAJ###00WR[&&7&33
 
 
	
 >>##++I#+FFD{33::c:JJ
vx000

7##KN''G'44[_**w*77
 
 
	
 %%''//	c/JJ;77>>#>NN
fh/////r   )H12Hr   W)Nr    r!   kwargsondateleveldc                 Z   t          j        t          |          t           j                  }t	          ||dt
          j                            ||gddg                    }d}t          j	        t          |          5   |j        |fd	|i| d d d            d S # 1 swxY w Y   d S )
Ndtype)rK   avrM   )namesr.   zResampling from level= or on= selection with a PeriodIndex is not currently supported, use \.set_index\(\.\.\.\) to explicitly set indexmatchr   )nparangelenint64r   pd
MultiIndexfrom_arrayspytestraisesNotImplementedErrorr,   )r3   r.   r   r   rI   rngdfmsgs           r   test_selectionzTestPeriodIndex.test_selectionT   s    iE

"(333%%-++S%Lc
+KK
 
 

# 	
 ].c::: 	3 	3BK22426222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3s   B  B$'B$monthmethffillbfillconvr#   r(   targ)DBMc                 *    |ddd|           } t          |                    ||          |                      }|                    ||          }|                    ||                                          }t          j        ||           d S )N1/1/1990z
12/31/1991A-r;   
conventionr$   )getattrr,   r+   r-   r0   r1   r?   )	r3   rj   ri   rf   re   simple_period_range_seriestsr8   r6   s	            r   test_annual_upsample_casesz*TestPeriodIndex.test_annual_upsample_casesg   s     ('
L|E||TTTBTd;;TBBDD&&t&66??4..88::
vx00000r   c                     |ddd          }|                     d                                          }|                    |j        j                                                  }t          ddd          |_        t          j        ||           t          j        |                     d                                          |           t          j        |                     d                                          |           d S )Nro   	6/30/1995rm   r;   a-decrQ   )r,   meangroupbyr.   yearr   r1   r?   r3   rt   ru   r8   r6   s        r   test_basic_downsamplez%TestPeriodIndex.test_basic_downsampleu   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?????r   zrule,expected_error_msg))ry   z<YearEnd: month=12>)zq-marz<QuarterEnd: startingMonth=3>)rm   z
<MonthEnd>)z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 )Nro   rx   zw-wedr;   z3Frequency <Week: weekday=2> cannot be resampled to z&, as they are not sub or super periodsrU   )r^   r_   r   r,   rz   )r3   rt   ruleexpected_error_msgru   rc   s         r   test_not_subperiodz"TestPeriodIndex.test_not_subperiod   s     ('
KgNNNJ!J J J 	 ]0<<< 	% 	%KK""$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   (A%%A),A)rk   r   c                 l    |ddd          }|                     d                                          }|                     |d                                          }|                    |d          }|                    |d	                              |          }t          j        ||           d S )
Nro   rx   rm   r;   ry   r(   rq   r$   rg   )r,   rz   rg   r+   r-   r0   r1   r?   )r3   r   rt   ru   r8   	resampledr6   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3r   c                 ~   t          ddd          }t          t          j                            t          |                    |          }|                    dd                              d	          }|                    d          	                    |j
        d
d          }t          j        ||           d S )N1/1/2000   Aperiodsr   rm   r(   rq      )limitrg   )methodr   )r   r	   rW   randomrandnrY   r,   rg   r-   r/   r.   r1   r?   r3   ra   ru   r8   r6   s        r   test_upsample_with_limitz(TestPeriodIndex.test_upsample_with_limit   s    :qs;;;BIOOCHH--s33SU33999BB99S>>))&,wa)PP
vx00000r   c                 `    |ddd          }t          d|i          }|                    d                                          }|d                             d                                          }t          j        |d         |           t          ddd          }t          g d	|
          }|                    d                                          }t          ddd          }|                    dd                              |d          }	t          j        ||	           d S )Nro   
12/31/1995A-DECr;   rQ   rk   20002003)   r         rT   rm   2000-01z2003-12r#   r$   rg   r   )	r   r,   rg   r1   r?   r   r	   r-   r/   )
r3   rt   ru   rb   rdfexpra   r8   ex_indexr6   s
             r   test_annual_upsamplez$TestPeriodIndex.test_annual_upsample   s   ''
LwOOORy!!kk#$$&&gs##))++
s3x---66888LLL,,,S!!''))	93???99Sg9..66x6PP
vx00000r   targetrr   c                 &   d| } |dd|          }|                     ||                                          }|                    ||          }|                    |d                                          }t          j        ||           d S )NQ-ro   r   r;   rq   r$   rg   r,   rg   r+   r-   r0   r1   r?   )	r3   re   r   rr   rt   r   ru   r8   r6   s	            r   test_quarterly_upsamplez'TestPeriodIndex.test_quarterly_upsample   s     E||''
LtLLLV
;;AACC&&v:&>>??6733==??
vx00000r   rl   c                     |ddd          }|                     ||                                          }|                    ||          }|                    |d                                          }t          j        ||           d S )Nro   r   rm   r;   rq   r$   rg   r   )r3   r   rr   rt   ru   r8   r6   s          r   test_monthly_upsamplez%TestPeriodIndex.test_monthly_upsample   s     ('
LsKKKV
;;AACC&&v:&>>??6733==??
vx00000r   c           	      (   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d          	                                }t          j        ||           |                    dd          	                                }t          j        ||           d S )Nd   20130101rC   idx)r   r   namefloatr.   rP   
      z2013-01-01 00:00Tz2013-01-01 00:01)r   g     @A@g     S@rT   r    r*   )r	   ranger   rW   nanr   r   r0   r,   rz   r1   r?   )r3   rC   r.   r6   r8   result2s         r   test_resample_basicz#TestPeriodIndex.test_resample_basic   s   #JJZc3UKKK
 
 

 6"R%&,,f5G.M.MN
 
 
 4,e444''(';;@@BB
vx000**Sx*005577
w11111r   zfreq,expected_valsrm   )      r   	   2M<   (   c                    t          dt          dd                    }|                    |                                          }t          d|t	          |                    }t          ||          }t          j        ||           d S )Nr   r   r   r#   r   rT   r#   r   r   )r	   r   r,   countrY   r1   r?   )r3   r   expected_valsrB   r8   expected_indexr6   s          r   test_resample_countz#TestPeriodIndex.test_resample_count   s    
 FC!H!H!HIII&&,,..%tS-?-?
 
 
 -~>>>
vx00000r   c                     t          t          d          t          ddd                    }|} t          |                    d          |                      }t          j        ||           d S )Nr   r   rm   r#   r   r   rT   )r	   r   r   rs   r,   r1   r?   )r3   resample_methodrB   r6   r8   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0r   c           	         d}t          j        t          |          5  t          t	          d          t          ddd                                        d                                           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 periodsrU   r   r   rm   r   rT   rH   )r^   r_   r   r	   r   r   r,   rz   )r3   rc   s     r   test_resample_incompat_freqz+TestPeriodIndex.test_resample_incompat_freq   s    3 	 ]0<<< 	# 	#a613 O O O  hsmmDDFFF	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s   AA??BBc                    t          j        d          }t          dddddt           j                  }t          dddddt           j                  }t	          ||d	          }t          d|
          }|                    |          }|                    dd                                          }t          ||d          t          j                    z
  }t          d|
          }t          j        ||           d S )NAmerica/Los_Angeles     r   r   r|   re   dayhourminutetzinfor   rF   r;   rT   rk   r    r*   r#   r(   r         ?)pytztimezoner   utcr   r	   
tz_convertr,   rz   r   r   Dayr1   r?   	r3   local_timezoner#   r(   r.   rB   r8   r   r6   s	            r   test_with_local_timezone_pytzz-TestPeriodIndex.test_with_local_timezone_pytz   s    '<==d"!!AdhWWWD!DHUUU5#C000'''"">2284499;;
 &EsEEEU#^444
vx00000r   c           	      Z   t          dt          dddd                    }|                    d                                          }t          d	t	          j        dd
gdd                    }t          j        ||           |j        j	        t          j        d          k    sJ d S )Nr   z
2017-01-010   rF   z
US/Easternr   r   tzrT   rk          @z
2017-01-02)r   r   )r	   r   r,   rz   r[   DatetimeIndexr1   r?   r.   r   r   r   )r3   rC   r8   r6   s       r   test_resample_with_pytzz'TestPeriodIndex.test_resample_with_pytz  s    Zbs|TTT
 
 
 C%%''"|,C  
 
 
 	vx000|$-"="=======r   c           	      ,   d}t          dddddt          j                                                  }t          dddddt          j                                                  }t	          ||dd	
          }t          d|          }|                    |          }|                    dd                                          }t          ||dd	          t          j                    z
  }t          d|          }t          j        ||           d S )Nzdateutil/America/Los_Angelesr   r   r   r   r   r   rF   r   )r   r   rT   rk   r    r*   )r#   r(   r   r   r   )r   dateutilr   tzutcr   r	   r   r,   rz   r   r   r   r1   r?   r   s	            r   !test_with_local_timezone_dateutilz1TestPeriodIndex.test_with_local_timezone_dateutil"  s   7RQQqARARATAT
 
 
 RQQqARARATAT
 
 
 5#Ce<<<'''"">2284499;; u#CeDDDw{}}T 	 #^444
vx00000r   c           	      "   t          ddd          }t          t          j        t	          |                    |          }|                    d          }t          j        |j        d          |_        |	                    d          
                                }t          j        ||           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-03-12z2017-03-12 1:45:0015Tr;   rT   z
US/Pacific900Sz
2017-10-10z
2017-10-20r   r   UTCzAmerica/Sao_Paulo)datar.   1Dz
2017-10-09rk   shift_forwardr'   )r#   r(   r   r   nonexistentr)   )r   r	   rW   zerosrY   tz_localizer[   r   r.   r,   rz   r1   r?   r   r   listr   r{   Grouperr   assert_index_equal)r3   r.   rC   r6   r8   rb   s         r   'test_resample_nonexistent_time_bin_edgez7TestPeriodIndex.test_resample_nonexistent_time_bin_edge=  sb   <)=EJJJ28CJJ''u555==..)(.vFFF""6**//11
vx000 <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5r   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30TzEurope/Londonr   r   rT   )	r   r	   rW   r   rY   r,   rz   r1   r?   )r3   r   r6   r8   s       r   %test_resample_ambiguous_time_bin_edgez5TestPeriodIndex.test_resample_ambiguous_time_bin_edgeU  s|    !#8u
 
 
 "(3s88,,C888""5))..00
vx00000r   c                    t          t          j        dd          t          ddd                    }|                    d                                          }|                    d                                                              d                                                              d          }t          j	        ||           d S )	Nr   rZ   rO   z
2010-01-01Qr   rT   rm   )
r	   rW   rX   r   r,   rg   lastastyper1   r?   )r3   rC   r   boths       r   !test_fill_method_and_how_upsamplez1TestPeriodIndex.test_fill_method_and_how_upsample^  s    Iaw'''\13???
 
 
 zz#$$&&zz#$$&&//4499;;BB7KK
tT*****r   r   c                 &   d| } |dd|          }|                     ||                                          }|                    ||          }|                    |d                                          }t          j        ||           d S )NzW-ro   r   r;   rq   r$   rg   r   )	r3   r   r   rr   rt   r   ru   r8   r6   s	            r   test_weekly_upsamplez$TestPeriodIndex.test_weekly_upsampleh  s     Czz''
LtLLLV
;;AACC&&v:&>>??6733==??
vx00000r   c                     |ddd          }|                     dd                                          }|                    d	                               d                                          }t          j        ||           d S )
Nro   r   rm   r;   r   r!   r*   r#   r$   )r,   rz   r+   r1   r?   r}   s        r   test_resample_to_timestampsz+TestPeriodIndex.test_resample_to_timestampss  s    ''
LsKKKW;77<<>>??w?//88AAFFHH
vx00000r   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1992rp   r;   r   rk   r#   r$   r   r&   r(   rC   rg   r   )	r,   rg   r+   r   r.   r-   r/   r1   r?   )r3   rt   re   ru   quar_tsstampsqdatesr6   s           r   test_resample_to_quarterlyz*TestPeriodIndex.test_resample_to_quarterlyz  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1r   r%   c                     |ddd          }|                     d|                                          }|                    d|          }|                    |j        d	          }t          j        ||           d S )
Nr  r  zA-JUNr;   zQ-MARrq   r$   rg   r   )r,   rg   r-   r/   r.   r1   r?   )r3   rt   r%   ru   r8   r6   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0r   c                    t          g dd          }t          t          j                            d          |          }|                                }|                    d                                          }|                    d                                                              d          }t          j
        ||           d S )N)      i  r   r;   r   rT   )r   r	   rW   r   r   r+   r,   rg   r0   r1   r?   )r3   ra   rC   r  filledr6   s         r   test_resample_fill_missingz*TestPeriodIndex.test_resample_fill_missing  s    222===29??1%%S111!!C&&((??3''--//99#>>
vx00000r   c                 B   t          g dd          }t          t          j                            d          |          }d}t          j        t          |          5  |                    d          	                                 d d d            d S # 1 swxY w Y   d S )N)r  r  r  r  r  r   r;   r   rT   z8Reindexing only valid with uniquely valued Index objectsrU   )
r   r	   rW   r   r   r^   r_   r   r,   rg   )r3   ra   rC   rc   s       r   test_cant_fill_missing_dupsz+TestPeriodIndex.test_cant_fill_missing_dups  s    888sCCC29??1%%S111H],C888 	$ 	$JJsOO!!###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s   (BBB5minc                    t          ddd          }t          t          j                            t          |                    |          }|                                                    |                                          }|dk    r|	                    |          }|                    ||                                          }t          j        ||           d S )Nr   z1/5/2000r   r;   rT   r!   r*   )r   r	   rW   r   r   rY   r+   r,   rz   r0   r1   r?   )r3   r   r   ra   ru   r6   r8   s          r   test_resample_5minutez%TestPeriodIndex.test_resample_5minute  s     :z<<<BIOOCHH--S999??$$--d3388::;))$//HT--2244
vx00000r   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/2000rl   r;   rk   z1/3/2000rF   rC   rq   z2/1/2000 23:00r$   )r,   r-   r/   r   r1   r?   )r3   rt   ru   r8   r6   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0r   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   rT   z2012-01-04 06:5510min)r   r	   rW   arrayr,   applyrY   locr.   r1   r?   )r3   drrC   subsetr8   r6   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0r   c                 8   t          ddd          }t          t          j                            t          |                    |          }|                    d                                          }|                                	                                sJ |                    d                                          
                                d d         }|                    d          
                                }t          j        ||           d S )Nr   r   zW-WEDr   rT   zW-THUr&   )r   r	   rW   r   r   rY   r,   r-   isnaallrg   r1   r?   r   s        r   test_resample_weekly_all_naz+TestPeriodIndex.test_resample_weekly_all_na  s    Rg>>>BIOOCHH--S999W%%,,..{{}}  """""W%%,,..4466ss;99W%%++--
vx00000r   c                    t          dd          }t          t          t          |                    |          }|                    d          }|                    d          }|                    d                                          }|                                }d |j	        
                                D             |_	        |                    d                                                              d          }t          j        |j	        d	          |_	        t          j        ||           |                    d
                                          }t          dddd          }t          ddg|          }	|	                    d
dd                                          }t          ddd
d          }
t          dg|
          }t          j        ||           |	                    d
d                                          }t          ddd
          }
t          dg|
          }t          j        ||           t          ddd          }|                    d          }t!          |          }t"          j                            t          |                    |d<   t#          j        t"          j                            t          |                              |d <   t!          |                    d!                                          d         |                    d!                                          d          d"dd g#          }|                    d!                              t"          j        t"          j        d"                              dd g#          }t          j        ||           d S )$Nz	2012-4-13z2012-5-1)r#   r(   rT   r   r   rH   c                 :    g | ]}|                     d           S )N)r   )replace.0xs     r   
<listcomp>z>TestPeriodIndex.test_resample_tz_localized.<locals>.<listcomp>  s3      
  
  
'(AIITI"" 
  
  
r   r;   rk   z2001-09-20 15:59z2001-09-20 16:00r   zAustralia/Sydneyr   r   r   rightclosedlabelz
2001-09-21r   g      ?r    r*   z
2001-09-20r   z1/1/2011i N  rF   ESTfirstsecondr   )r2  r3  )columns)r   r	   r   rY   r   r   r,   rz   copyr.   to_pydatetimer[   r   r1   r?   r   r   rW   r   r   cumsumsumaggr/   rA   )r3   r  ru   ts_utcts_localr8   ts_local_naiver   r   rC   r   r6   ra   s                r   test_resample_tz_localizedz*TestPeriodIndex.test_resample_tz_localized  si   kz:::E#b''NN"---&&$$%:;;""3'',,..! 
  
,:,@,N,N,P,P 
  
  
 %%c**//11==>STT$SYS999	
vs+++ ""3'',,..  2AS
 
 
 Aq6%%%Cw??DDFFlACDVWWW3%x000
vx000 Ch//4466acBBB3%x000
vx000 U===ooe$$S!!!iooc#hh//7yS!:!:;;8S))--//8++c**//11(;  h'
 
 
 KKS26RW5566Wgx0W11 	
 	fh/////r   c                    t          t          j                            d          t	          ddd                    }t          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 )N   z1/1/2012 9:301minr   rT   r   r  r'   r-  r.  r   r   )r	   rW   r   r   r   r   r,   rz   r1   r?   r   r.   )r3   rC   r8   r   r   s        r   test_closed_left_cornerz'TestPeriodIndex.test_closed_left_corner  s7   IOOB?LLL
 
 
 v!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+++++r   c                 ~   t          ddd          }t          t          j        d          |          }|                    d                                          }|                                                    d                                                                          }t          j	        ||           d S )N2000Q1r   Q-DECr   rT   r   )
r   r	   rW   rX   r,   rz   r+   r0   r1   r?   )r3   ra   ru   r8   r   s        r   test_quarterly_resamplingz)TestPeriodIndex.test_quarterly_resampling(  s    8Rg>>>BIbMM---S!!&&((oo((--2244>>@@
vs+++++r   c                     t          ddd          }t          |          }d t          |          D             }t          |g d|          }|                    dd	d	
                                           d S )Nz8/6/2012z	8/26/2012rk   r   c                     g | ]}|gd z  	S )r   r   r)  s     r   r,  zATestPeriodIndex.test_resample_weekly_bug_1726.<locals>.<listcomp>4  s    ***Aa***r   )openhighlowclosevol)r4  r.   zW-MONr'   r.  )r   rY   r   r   r,   r2  )r3   indnr   rb   s        r   test_resample_weekly_bug_1726z-TestPeriodIndex.test_resample_weekly_bug_17260  s    z{EEEHH**q***t%L%L%LTWXXX 	GF&99??AAAAAr   c                    t          j        ddg                              d                              d          }t	          ddg|          }|                    dd	d	
                                                                          }g d}t          j        |d                              d          }t          j        |d          }t	          g d|          }t          j
        ||           d S )Nl     Z! l     NE! r   zAmerica/Chicagor   r   rT   12hr-  r.  )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   )r[   r   r   r   r   r,   r   rg   to_datetimer1   rA   )r3   r.   rb   r8   expected_index_valuesr6   s         r   "test_resample_with_dst_time_changez2TestPeriodIndex.test_resample_with_dst_time_change:  s    13FGHH[Z)** 	
 1vU+++U7'BBGGIIOOQQ!
 !
 !
 4$???JJ
 
  U333MMM
 
 
 	fh/////r   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   BMSrl   r   20000103)	r	   r[   bdate_rangerW   float64r,   rz   r.   r
   )r3   
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------r   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   rm   r   rT   z
2000-01-01z
2000-03-31rk   r;   r(   r$   rh   r   )r   r	   rW   rX   r-   r/   fillnar,   rz   r1   r?   )r3   ra   ru   	exp_indexr6   r8   s         r   test_monthly_convention_spanz,TestPeriodIndex.test_monthly_convention_spang  s    9ac:::BIaLL,,, !|#FFF	99Se9,,44Y????'?22S!!&&((
vx00000r   zfrom_freq, to_freq))rk   rm   )r   r   )rm   r   )rk   rH   c                 h   t          dd|          }t          t          j                            t          |          d          |          }|                    |                                          }t          j	        ||                    |dd                                                     d S )N	8/15/2012r   r   r   r-  r.  
r   r   rW   r   r   rY   r,   rz   r1   rA   r3   	from_freqto_freqr   rb   r   s         r   test_default_right_closed_labelz/TestPeriodIndex.test_default_right_closed_labelu  s     {CiHHHrys3xx33S99KK((--//	
r{{77'{JJOOQQ	
 	
 	
 	
 	
r   ))rk   MS)r   AS)rm   QS)rF   rk   )r   rF   c                 h   t          dd|          }t          t          j                            t          |          d          |          }|                    |                                          }t          j	        ||                    |dd                                                     d S )Nrf  r   r   r   r'   r.  rg  rh  s         r   test_default_left_closed_labelz.TestPeriodIndex.test_default_left_closed_label  s    
 {CiHHHrys3xx33S99KK((--//	
r{{76{HHMMOO	
 	
 	
 	
 	
r   c                 H   t          ddd          }t          t          j                            t          |                    |          }|                    d                                          }t          j	        |d         |                                           d S )Nz
2012-01-01z
2012-12-31rm   r   rT   r   r   )
r   r	   rW   r   r   rY   r,   rz   r1   r2   )r3   r.   rC   r8   s       r   test_all_values_single_binz*TestPeriodIndex.test_all_values_single_bin  s|    <\LLL29??3u::..e<<<C%%''
vay!&&((33333r   c           	      Z   t          t          j                            dd          t	          dd                    }|                    d                                          }t          j        |j	        dd                                         |j	        dd                                          gd	
          j
        }t          j        t          d          t          d          gd          |_        t          j        ||           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 )"Nr   r   z2000-1-1)r   rT   5Dr   r   r   )axisz2000-1-6r;   z2001-5-4   r   P   Z   r      )REST_KEY
DLY_TRN_QTDLY_SLS_AMTCOOP_DLY_TRN_QTCOOP_DLY_SLS_AMTr   F   r   2   r   7Dr      r?  i  i  i0  i  )r   rW   r   r   r   r,   rz   r[   concatilocr   r   r
   r.   r1   rA   append
sort_indexr   r8  )r3   rb   r8   r6   r.   s        r   (test_evenly_divisible_with_no_extra_binsz8TestPeriodIndex.test_evenly_divisible_with_no_extra_bins  s    ryq!,,JzST4U4U4UVVVT""''))9bgacl//1127122;3C3C3E3EFQOOOQ)z""Ij$9$9:
 
 
 	fh///R888 !""$#%')(*  	 !""$#%')(*  	( ,,u%%+
 
 
, *,,- 	0 :qt<<< !#"$#%')(*  	 
 
 
 T""((**
fh/// !#"&#&'*(+  	 
 
 
 T""&&((
fh/////r   zfreq, period_mult)rF      )rG   r   Nr    c                    t          ddd          }t          t          t          |                    |          }|                                                    |                                                              |          }t          d||t          |          z            }|                    |          }|                    ||                                          }t          j
        ||           d S )Nr   rk   r   r   rT   r*   )r   r	   r   rY   r+   r,   ohlcr0   r/   r1   rA   )	r3   r   period_multr   r   rC   r6   r7   r8   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..Dt,,1133
fh/////r   zperiods, values1970-01-01 00:00:00z1970-01-01 00:00:02z1970-01-01 00:00:03)r   r   r      r   )
r   r   r   r         r  r         zfreq, expected_values1sr   r  r   2sg      "@3sg      @c                 "   t          |d          }t          ||          }t          dt          |          |          }t          ||          }|                    |                                          }	t          j        |	|           d S )NSr;   rT   r  r   )r   r   r   rY   r,   rz   r1   rA   )
r3   r   valuesr   expected_valuesr.   rD   r   r6   r8   s
             r   test_resample_with_natz&TestPeriodIndex.test_resample_with_nat  s    P G#...&...%!3+?+?d
 
 
 _NCCC%%**,,
fh/////r   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   r  r;   )r   r   r   rQ   )r.   r4  )r   r   r[  )r.   r4  rP   r  )	r   r[   NaTr   r   r,   rz   r1   rA   )r3   r   rD   r   r6   r8   s         r   test_resample_with_only_natz+TestPeriodIndex.test_resample_with_only_nat  s    "&AC000)))2u===$"27;;;>C5	RRR%%**,,
fh/////r   z$start,end,start_freq,end_freq,offset))1991090519910909 03:00rF   24H10H)r  19910909 12:00rF   r  r  )r  z19910909 23:00rF   r  r  )19910905 10:0019910909rF   r  r  )r  19910909 10:00rF   r  r  )r  r  rF   r  r  )19910905 12:00r  rF   r  r  )r  r  rF   r  r  )r  r  rF   r  r  )r  r  rF   r  34H)r  r  rF   17Hr  )r  r  rF   r  3H)r  z19910909 1:00rF   rm   r  )r  z19910913 06:00r   r  r  )r  z19910905 01:39Min5Min3Min)r  z19910905 03:182Minr  r  c                    t          dt          |||                    }|t          j        t	          |                    z   }|                    ||                                          }|                    |          }|                                                    ||                                          }|dk    r|j        	                    d           |_        t          j        ||           d S )Nr   r;   rT   )offsetrm   )r	   r   rW   rX   rY   r,   rz   r+   r.   
_with_freqr1   r?   )	r3   r#   r(   
start_freqend_freqr  rC   r8   r6   s	            r   test_resample_with_offsetz)TestPeriodIndex.test_resample_with_offset&  s    . 1L*EEEFFF	#a&&!!!HV4499;;$$X..>>##,,Xf,EEJJLLs??%^66t<<HN
vx00000r   z"first,last,freq,exp_first,exp_last))r  19920406rk   r  r  )z19910905 00:0019920406 06:00rk   r  r  )19910905 06:00r  rF   r  r  )19910906r  rm   z1991-091992-04)1991083119920430rm   1991-08r  )r  r  rm   r  r  c                    t          |          }t          |          }t          ||          }t          ||          }t          j        j                            |          }t          |||          }||f}||k    sJ d S )Nr;   )r   r[   tseriesfrequencies	to_offsetr   )r3   r2  r   r   	exp_firstexp_lastr8   r6   s           r   test_get_period_range_edgesz+TestPeriodIndex.test_get_period_range_edgesH  s    $ ud||94000	(...z%//55(d;;x(!!!!!!r   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2018rm   r  r   r   r   r   )	min_countr>   2018Q12018Q2rD  r;   rT   )r   rW   onesr   r	   r0   r,   r8  r   r1   r?   )r3   r.   r   rC   r8   r6   s         r   test_sum_min_countz"TestPeriodIndex.test_sum_min_counte  s    c1===wqzzFQqS	4))++C$$q$11"&Mh-A!P!P!P
 
 
 	vx00000r   )=__name__
__module____qualname__r^   markparametrizer9   rE   rd   r   rv   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r	  r  r  r  r  r  r!  r%  r=  rA  rE  rO  rT  r_  xfailrd  rk  rp  rr  r  r  r[   r  rW   NaNr  r  r  r  r  r   r   r   r   r   +   sp       [V%7%7%788[V%B%B%BCC1 1 DC 9810 0 0. [V%<%<%<==[V%B%B%BCC[Xv#'GHH3 3 IH DC >=3  [Wf--[Vgw%788[Vgu%566[V___551 1 65 76 98 .-1
@ 
@ 
@ [!	
 	
 	
 % % % [Vc4[114 4 2141 1 11 1 1  [Wf--[X77[\GU+;<<1 1 =< 87 .-1 [XSz22[\GU+;<<1 1 =< 3212 2 2$ [___5w>O7PQ 1 1 11 1 1# # #1 1 1*> > > 1 1 166 6 60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$ $ $ [VfX..[V%B%B%BCC1 1 DC /.11 1 11 1 1
1 
1 
1;0 ;0 ;0z, , ,(, , ,B B B!0 !0 !0F. . . [VWW1 1 XW1 [NNN 
 
 
 [GGG 
 
	 
4 4 4D0 D0 D0L [09j2IJJ[VdH%5660 0 76 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 
1r   r   )#r   r   numpyrW   r^   r   pandas._libs.tslibs.ccalendarr   r   pandas._libs.tslibs.periodr   pandas.errorsr   pandasr[   r   r	   r
   pandas._testing_testingr1   pandas.core.indexes.datetimesr   pandas.core.indexes.periodr   r   r   pandas.core.resampler   pandas.tseriesr   fixturer   r   r   r   r   r   <module>r     s                       = < < < < < + + + + + +             
       4 4 4 4 4 4         
 9 8 8 8 8 8 " " " " " "      D1 D1 D1 D1 D1 D1 D1 D1 D1 D1r   