
    Mh;                        S SK J r J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Jr  S SKJrJrJrJrJrJrJr  S SKJr  S SKJrJr  S S	KJr  S S
KJrJ r   \RB                  " \" S5      S4\" SS9S4\" SS9S4\" SS9S4\RD                  " SS5      S4\" SS9S4\" SS9S4/S9S 5       r#\ V s/ s H  n SU  3PM
     sn S VV s/ s H  n\  H	  o SU  3PM     M     sn n-   / SQ-   \$" SS5       VVs/ s H  n\  H
  nSU U 3PM     M     snn-   \ Vs/ s H  nS U 3PM
     sn-   r%\RL                  RO                  S!\%5      \RL                  RO                  S"SS#/5      S$ 5       5       r(S% r)S& r*S' r+S( r,S) r-S* r.S+ r/S, r0S- r1S. r2S/ r3\RL                  RO                  S0\$" SS5      5      S1 5       r4\RL                  RO                  S2S3 S4 /5      S5 5       r5\RL                  RO                  S6/ S7Q5      S8 5       r6\RL                  RO                  S9\7" / S:Q/ S;Q/ S<Q/ S=Q/ S>Q/ S?QS@.Rq                  5       5      5      \RL                  RO                  SA/ SBQ5      SC 5       5       r9SD r:\RL                  RO                  SESFSG/SHSI/SJSK//5      \RL                  RO                  S!/ SLQ5      SM 5       5       r;SN r<\RL                  RO                  SO/ SPQS4/ SQQSR4/ SSQSR4/ STQSR4/5      SU 5       r=SV r>SW r?\RL                  RO                  SX\" \R                  " S5      \R                  SY9\" \R                  " S5      \R                  SY9\" SZSS[9\" S5      /5      S\ 5       rC\RL                  R                  \" 5       S]S^9S_ 5       rES` rFSa rG\RL                  RO                  SbScSd/5      Se 5       rHSf rI\RL                  RO                  S!SS/5      Sg 5       rJ\RL                  RO                  S!/ ShQ5      Si 5       rK\RL                  RO                  Sj\	Sk /5      \RL                  RO                  S!/ SlQ5      Sm 5       5       rLSn rMSo rNSp rOgs  sn f s  sn nf s  snnf s  snf )q    )datetime	timedeltaN)DAYSMONTHS)_get_offset)INVALID_FREQ_ERR_MSG)is_platform_windows)DatetimeIndexIndex
RangeIndexSeries	Timestamp
date_rangeperiod_range)DatetimeArrayTimedeltaArray)to_datetime)frequenciesoffsets   D)hoursh)minutesmin)secondssns)microsecondsusi  ms)paramsc                     U R                   $ N)param)requests    a/var/www/html/env/lib/python3.13/site-packages/pandas/tests/tseries/frequencies/test_inference.pybase_delta_code_pairr(   '   s     ==    QE-)YEBYE-)MEBMEBMS   zWOM-zW-freqperiods   c                    UR                  5       n[        SXS9n[        UR                  5      nUR	                  S5      (       d'  [
        R                  " U5      UR                  :X  d   eg [
        R                  " U5      nUS:H  =(       a    UR                  S;   nUS:H  =(       a    UR                  S;   nUS:H  =(       a    UR                  S	;   nU(       d  U(       d
  U(       d   eg g g )
N1/1/2000r3   r2   r*   QE-DEC)QEr8   zQE-SEPzQE-JUNzQE-MARQE-NOV)r:   zQE-AUGzQE-MAYzQE-FEBQE-OCT)r;   zQE-JULzQE-APRzQE-JAN)upperr   r
   values
startswithr   
infer_freqfreqstr)r3   r2   genindexinf_freqis_dec_rangeis_nov_rangeis_oct_ranges           r'   test_infer_freq_rangerG   ?   s     ::<D
Z
<C#**%E??5!!%%e,;;;))%08+ 
 @
 1
  8+ 
 @
 1
  8+ 
 @
 1
 ||;;|||r)   c                      [        SSSS9n Sn[        R                  " [        US9   [        R
                  " U 5        S S S 5        g ! , (       d  f       g = f)Nz1/1/1990   M)startr3   r2   6Check the `freq` attribute instead of using infer_freqmatch)r   pytestraises	TypeErrorr   r?   rB   msgs     r'   test_raise_if_period_indexrT   a   s=    z2C@E
BC	y	,u% 
-	,	,s   A
Ac                      [        SS/5      n Sn[        R                  " [        US9   [        R
                  " U 5        S S S 5        g ! , (       d  f       g = f)N
12/31/19981/3/1999z(Need at least 3 dates to infer frequencyrM   )r
   rO   rP   
ValueErrorr   r?   rR   s     r'   test_raise_if_too_fewrY   i   s>    <45E
4C	z	-u% 
.	-	-s   A		
Ac                  V    [        / SQ5      n [        R                  " U 5      S:X  d   eg )N)z
01/01/19991/4/1999z1/5/1999Br
   r   r?   rB   s    r'   test_business_dailyr_   q   s&    @AE!!%(C///r)   c                  P    [        / SQ5      n [        R                  " U 5      b   eg )N)rV   rW   r[   r]   r^   s    r'   test_business_daily_look_alikera   v   s&     @AE!!%(000r)   c                  V    [        / SQ5      n [        R                  " U 5      S:X  d   eg N)r6   z1/2/2000z1/3/2000r   r]   r^   s    r'   test_day_cornerrd   ~   s&    >?E!!%(C///r)   c                  V    [        / SQ5      n [        R                  " U 5      S:X  d   eg rc   )r   r   r?   )datess    r'   test_non_datetime_indexrg      s&    <=E!!%(C///r)   c                  P    [        / SQ5      n [        R                  " U 5      b   eg )N)z
2014-03-31z
2014-06-30z
2015-03-30r]   r^   s    r'   test_fifth_week_of_month_inferri      s&     DEE!!%(000r)   c                  V    [        / SQ5      n [        R                  " U 5      S:w  d   eg )N)z
2013-08-27z
2013-10-01z
2013-10-29z
2013-11-26zWOM-4TUEr]   r^   s    r'   test_week_of_month_fakerk      s(     RSE!!%(J666r)   c                      Sn [         R                  " [        U S9   [        SSS9  S S S 5        g ! , (       d  f       g = f)NzVOf the four parameters: start, end, periods, and freq, exactly three must be specifiedrM   
2014-01-01zWOM-5MONr2   )rO   rP   rX   r   rS   s    r'   test_fifth_week_of_monthrp      s2    
	4 
 
z	-<j1 
.	-	-s   0
>c                  B    [        / SQ5      n U R                  S:X  d   eg )N)	1/31/2000z	2/29/2000z	3/31/2000r.   r
   inferred_freqrngs    r'   test_monthly_ambiguousrw      s!    
?
@C$$$r)   c                  B    [        / SQ5      n U R                  S:X  d   eg )Nrr   z	1/31/2001z	1/31/2002zYE-JANrs   ru   s    r'   test_annual_ambiguousrz      s!    
?
@C(((r)   countc                    [        [        R                  " 5       5      nU u  p4X1-  n[        [	        S5       Vs/ s H	  obXV-  -   PM     sn5      nUS:  a  US U 3OUn[
        R                  " U5      U:X  d   eg s  snf )N   r   d)r   r   nowr
   ranger   r?   )	r(   r{   b
base_deltacodeincjrB   exp_freqs	            r'   test_infer_freq_deltar      sy    (,,.!A+J

Ca91sw;9:E%*QY%4&!DH!!%(H444 :s   A<constructorc           	      p    [        XS-  -   /[        S5       Vs/ s H	  o X-  -   PM     sn-   5      $ s  snf )Nr4   r}   r
   r   r   deltar   s      r'   <lambda>r      s4    =19_%( C(Quy( CC
 Cs   3
c                 p    [        [        S5       Vs/ s H	  o X-  -   PM     snXS-  -   /-   5      $ s  snf )Nr}   r4   r   r   s      r'   r   r      s4    =&+Ah/h59_h/3?2CC
/s   3c                     [        [        R                  " 5       5      nU u  p4U" X#5      n[        R                  " U5      b   eg r$   )r   r   r   r   r?   )r(   r   r   r   _rB   s         r'   test_infer_freq_customr      s<     	(,,.!A(MJ&E!!%(000r)   zfreq,expected))Qr8   )zQ-NOVr:   )zQ-OCTr;   c                     [        SSU S9n[        R                  " [        SS9   [	        UR                  SSS9R                  [        5      5      nS S S 5        UR                  U:X  d   eg ! , (       d  f       N!= f)	N1959Q22009Q3rn   zDtype inferencerM   r   e)how)	r   tmassert_produces_warningFutureWarningr   to_timestampastypeobjectrt   )r2   expectedrv   s      r'   test_infer_freq_indexr      sn     x
5C		#	#M9J	KC$$Sc$299&AB 
L ((( 
L	Ks   -A--
A;zexpected,dates)z
2009-01-01z
2010-01-01
2011-01-01z
2012-01-01)z
2009-01-31z
2009-04-30z
2009-07-31z
2009-10-31)z
2010-11-30z
2010-12-31z
2011-01-31z
2011-02-28)z
2010-12-25r   z
2011-01-08z
2011-01-15)r   z
2011-01-02z
2011-01-03z
2011-01-04)z2011-12-31 22:00z2011-12-31 23:00z2012-01-01 00:00z2012-01-01 01:00)zYS-JANr;   r.   zW-SATr   r   unit)r   r!   r    r   c                 \    U n[        X$S9R                  U5      nUR                  U:X  d   eg )Ntz)r
   as_unitrt   )tz_naive_fixturer   rf   r   r   idxs         r'   test_infer_freq_tzr      s2    * 
B

%
-
-d
3C(((r)   c                     U n[        SSUS9nUR                  5       R                  SS9n[        R                  " U5      nUS:X  d   eg )Nz
2021-01-01z
2021-01-04r   T)dropr   )r   	to_seriesreset_indexr   r?   )r   r   r   seriesrt   s        r'   test_infer_freq_tz_seriesr      sL    	B
\<B
7C]]_((d(3F**62MCr)   	date_pairz
2013-11-02z	2013-11-5z
2014-03-08z
2014-03-11rm   z
2014-01-03)r   3h10min3601s	3600001ms3600000001us3600000000001nsc                 N    U n[        US   US   X#S9nUR                  U:X  d   eg )Nr   r   )r2   r   )r   rt   )r   r   r2   r   r   s        r'   test_infer_freq_tz_transitionr      s3     
B
Yq\9Q<d
BC$$$r)   c                  V    [        SSSS9R                  S5      n U R                  b   eg )Nz
2013-11-03r1   r   r7   zAmerica/Chicago)r   tz_localizert   r^   s    r'   $test_infer_freq_tz_transition_customr     s2    |QT:FFE &&&r)   zdata,expected)2014-07-01 09:002014-07-01 10:002014-07-01 11:002014-07-01 12:002014-07-01 13:002014-07-01 14:00)r   r   r   r   r   r   z2014-07-01 15:00z2014-07-01 16:00z2014-07-02 09:00z2014-07-02 10:00z2014-07-02 11:00bh)2014-07-04 09:002014-07-04 10:002014-07-04 11:002014-07-04 12:002014-07-04 13:002014-07-04 14:002014-07-04 15:002014-07-04 16:002014-07-07 09:002014-07-07 10:002014-07-07 11:00)r   r   r   r   r   r   r   r   r   r   r   z2014-07-07 12:00z2014-07-07 13:00z2014-07-07 14:00z2014-07-07 15:00z2014-07-07 16:00z2014-07-08 09:00z2014-07-08 10:00z2014-07-08 11:00z2014-07-08 12:00z2014-07-08 13:00z2014-07-08 14:00z2014-07-08 15:00z2014-07-08 16:00c                 >    [        U 5      nUR                  U:X  d   eg r$   rs   )datar   r   s      r'   test_infer_freq_business_hourr     s#    ` 
C(((r)   c                  R    [        / SQ5      n U S S S2   n U R                  S:X  d   eg )Nry   z-1YE-JANrs   ru   s    r'   test_not_monotonicr   i  s.    
?
@C
dd)C
***r)   c                      [        / SQ5      n U R                  5       n[        R                  " U5      nX R                  :X  d   eg )Nry   )r
   to_pydatetimer   r?   rt   )rv   valsresults      r'   test_non_datetime_index2r   p  s=    
?
@CD##D)F&&&&&r)   r   dtypez
2020-01-01)r3   c                     SR                  SS/5      n[        R                  " [        US9   [        R
                  " U 5        S S S 5        g ! , (       d  f       g = f)N|z(cannot infer freq from a non-convertiblerL   rM   )joinrO   rP   rQ   r   r?   )r   rS   s     r'   test_invalid_index_typesr   x  sG     ((6D	
C 
y	,s# 
-	,	,s   A
Azsee gh-10822: Windows issue)reasonc                      Sn [         R                  " [        U S9   [        R                  " [        S/5      5        S S S 5        g ! , (       d  f       g = f)NUnknown datetime string formatrM   
ZqgszYBfuL)rO   rP   rX   r   r?   r   ro   s    r'    test_invalid_index_types_unicoder     s8    
 +C	z	-ul^45 
.	-	-s   !A
Ac                      / SQn [         R                  " U 5      n[         R                  " [        U 5      5      nX!:X  d   eg )N)z2004-01z2004-02z2004-03z2004-04)r   r?   r   )r   r   r   s      r'    test_string_datetime_like_compatr     s7    7D%%d+H##E$K0Fr)   c                  j    [        [        SS5      5      n [        R                  " U 5      nUS:X  d   eg )N2013010120130110r   r   r   r   r?   )r   inferreds     r'   test_seriesr     s/    z*j12A%%a(Hs??r)   end
   g      $@c                     Sn[        [        R                  " U 5      5      n[        R                  " [
        US9   [        R                  " U5        S S S 5        g ! , (       d  f       g = f)N:cannot infer freq from a non-convertible dtype on a SeriesrM   )r   nparangerO   rP   rQ   r   r?   )r   rS   r   s      r'   test_series_invalid_typer     sD     GCryy~A	y	,q! 
-	,	,s   A
A)c                 l   U (       aF  Sn[         R                  " [        US9   [        R                  " [        SS/5      5        S S S 5        g Sn[         R                  " [        US9   [        R                  " [        SS/5      5        S S S 5        g ! , (       d  f       g = f! , (       d  f       g = f)Nzcannot infer freq fromrM   foobarr   )rO   rP   rQ   r   r?   r   rX   )using_infer_stringrS   s     r'    test_series_inconvertible_stringr     s}    &]]9C0""65%.#9: 10 /]]:S1""65%.#9: 21 10
 21s   "B)"B%
B"%
B3c                     Sn[        [        SSU S95      n[        R                  " [        US9   [
        R                  " U5        S S S 5        g ! , (       d  f       g = f)Nr   2013r   r7   rM   )r   r   rO   rP   rQ   r   r?   )r2   rS   r   s      r'   test_series_period_indexr     sE    
 GC|FBT:;A	y	,q! 
-	,	,s   A
A)r.   r!   r   c                 f    [        [        SSU S95      n[        R                  " U5      nX :X  d   eg )Nr   r   r7   r   )r2   r   r   s      r'   test_series_datetime_indexr     s1    z*bt<=A%%a(Hr)   offset_funcc                     [        SSU S9$ )Nr   r1   r7   )r   rn   s    r'   r   r     s    ZadCr)   )-WEEKDAYEOMzW@MONzW@TUEzW@WEDzW@THUzW@FRIzW@SATzW@SUNzQE@JANzQE@FEBzQE@MARYE@JANzYE@FEBzYE@MARzYE@APRzYE@MAYzYE@JUNzYE@JULzYE@AUGzYE@SEPzYE@OCTzYE@NOVzYE@DECr   zWOM@1MONzWOM@2MONzWOM@3MONzWOM@4MONzWOM@1TUEzWOM@2TUEzWOM@3TUEzWOM@4TUEzWOM@1WEDzWOM@2WEDzWOM@3WEDzWOM@4WEDzWOM@1THUzWOM@2THUzWOM@3THUzWOM@4THUzWOM@1FRIzWOM@2FRIzWOM@3FRIzWOM@4FRIc                     [         R                  " [        [        S9   U " U5        S S S 5        g ! , (       d  f       g = f)NrM   )rO   rP   rX   r   )r   r2   s     r'   test_legacy_offset_warningsr    s(    t 
z)=	>D 
?	>	>s   	0
>c                      [        S5      n [        S5      nU [        R                  " 5       :X  d   eU[        R                  " 5       :X  d   eg )Nr!   MS)r   r   Milli
MonthBegin)leftrights     r'   test_ms_vs_capital_msr	    sA    tDE7==?"""G&&((((r)   c                     [         R                  " S5      R                  [         R                  5      R	                  S5      n [
        R                  " X R                  S9n[        R                  " U5      nUS:X  d   eU R	                  S5      n[        R                  " X3R                  S9n[        R                  " U5      nUS:X  d   eg )Nr   zM8[s]r   r   zm8[ms]r!   )r   r   r   int64viewr   _simple_newr   r   r?   r   )arrdtaresarr2tdares2s         r'   test_infer_freq_non_nanor    s    
))B-

rxx
(
-
-g
6C

#
#Cyy
9C

 
 
%C#::88HD

$
$T
<C!!#&D4<<r)   c                     U n[        SSSUS9nUR                  R                  S5      n[        R                  " U5      nUS:X  d   eg )Nz
2016-01-01im  r\   )r3   r2   r   r   )r   _datar   r   r?   )tz_aware_fixturer   dtir  r  s        r'    test_infer_freq_non_nano_tzawarer  '  sG    	B
\3SR
@C
))

C
 C

 
 
%C#::r)   )Pr   r   numpyr   rO   pandas._libs.tslibs.ccalendarr   r   pandas._libs.tslibs.offsetsr   pandas._libs.tslibs.periodr   pandas.compatr	   pandasr
   r   r   r   r   r   r   pandas._testing_testingr   pandas.core.arraysr   r   pandas.core.tools.datetimesr   pandas.tseriesr   r   fixturetimedelta64r(   r   freqsmarkparametrizerG   rT   rY   r_   ra   rd   rg   ri   rk   rp   rw   rz   r   r   r   listitemsr   r   r   r   r   r   r   r   r  float64r   skipifr   r   r   r   r   r   r   r  r	  r  r  )monthannualr{   days   0000r'   <module>r1     sN  
   4 ; -    4 	1s		S!	1	u%	1	s#	4	 $'		"D)		%t,


 !''us5']')6KvF55'FKL ).aDuteWSEtDE ""TcC5zT"	#  'QF+< , (<@&&0
10
0
17
2%
)
 %1+.5 /5 	
	
	
1
1 P)) NNJMI	
 %'$ !89) :%&)  	{#	|$	|$ 
Q%	%'  
	
 	
" 	
"4 7	
[JM\)]M\)+' 	biil"((+biil"**-\1-1	
$
$ ')2OP6 Q6 T
+" ,"; $." /" !23 4 C 
.1de1r
)	a (KD"s   3Q	Q9Q$Q*