
    Owgs<              
          d dl m Z  d dlZd dlZd dlmZ d dlZd dlmZm	Z	m
Z
mZmZmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ ed e ddd       e ddd      fZed e ddd       e ddd      fZ edddfZ!ejD                  jG                  dee e!g      Z$ejJ                  d        Z&ejD                  jG                  dddg      ejD                  jG                  dee!g      d               Z'ejD                  jG                  dee!g      d        Z(e$d        Z)d Z*e$ejD                  jG                  dg d      d               Z+e$ejD                  jG                  d ejX                  dejD                  j[                  d       !      d"d#g      d$               Z.e$ejD                  jG                  dg d      ejD                  jG                  d%d&d'g      d(                      Z/e$ejD                  jG                  dg d      d)               Z0e$ejD                  jG                  dg d      d*               Z1e$ejD                  jG                  dg d      d+               Z2ejD                  jG                  d, eg d-d./       e	g d.0       eg d.0      g      ejD                  jG                  d1e3e4e5d2g      ejD                  jm                  d3      d4                      Z7e$ejD                  jG                  dg d      d5               Z8e$d6        Z9e$d7        Z:ejD                  jG                  d8d9d:g      d;        Z;y)<    )datetimeN)is_extension_array_dtype)	DataFrameDatetimeIndexIndex
MultiIndexNaTPeriodIndexSeriesTimedeltaIndex)	DataError)Grouper)
date_range)period_range)timedelta_range)_asfreq_compatdtii     
   pitdiz1 dayz10 dayz3_index_factory,_series_name,_index_start,_index_endc                       fd}|S )Nc                       | i |S )z8return the _index_factory created using the args, kwargs )argskwargs_index_factorys     V/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/resample/test_base.py_create_indexz#create_index.<locals>._create_index-   s    t.v..    r   )r   r   s   ` r   create_indexr!   +   s    / r    freq2D1hc                     | }|j                  |      j                         } ||j                  d   |j                  d   |      }|j                  |      }t	        j
                  ||       y )Nr   r"   )resampleasfreqindexreindextmassert_almost_equal)series_and_framer"   r!   objresult	new_indexexpecteds          r   test_asfreqr3   4   s\    
 C\\$&&(FSYYq\399R=tDI{{9%H68,r    c                    | }|j                  d      j                         } ||j                  d   |j                  d   d      }|j                  |      }t	        j
                  ||       |j                  d      j                  d      }d |j                  d<   |j                  d      j                  d	      } ||j                  d   |j                  d   d      }|j                  |d	      }t	        j                  ||       y )
Nr$   r   r&   r'   floatvaluer         @)
fill_value)
r(   r)   r*   r+   r,   assert_series_equalastypeto_frameilocassert_frame_equal)seriesr!   serr0   r1   r2   frames          r   test_asfreq_fill_valuerA   A   s     C\\$&&(FSYYq\399R=tDI{{9%H68, JJw((1EEJJqM^^D!((C(8FU[[^U[[_4HI}}Y3}7H&(+r    c                 l   | }d }t        |j                  t              rt        }d}t	        j
                  ||      5  |j                  d      j                         j                         }|j                  d      j                         }d d d        t	        j                         y # 1 sw Y    xY w)N+Resampling with a PeriodIndex is deprecatedmatch1min)

isinstancer*   r
   FutureWarningr,   assert_produces_warningr(   r)   interpolater=   )r@   dfwarnmsgr0   r2   s         r   test_resample_interpolaterN   W   s     
BD"((K(
7C		#	#D	4 5V$++-99;;;v&2245 &(+5 5s   AB**B3c                      t               } d}t        j                  t        |      5  | j	                  d       d d d        y # 1 sw Y   y xY w)NzaOnly valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'RangeIndex'rD   YE)r   pytestraises	TypeErrorr(   )xprM   s     r   %test_raises_on_non_datetimelike_indexrU   e   sD    	B	.  
y	, 
D  s   AA)MEDhc                    |}| dk(  rRt        |j                  t              r8d}t        j                  t
        |      5  |j                  |        d d d        y | dk(  rt        |j                  t              rd} d }t        |j                  t              rt        }d}t        j                  ||      5  |j                  |       }d d d         t        |             }|dk(  r_t        g |j                  d d j                         g d	      }t        |j                  |       |_        t        j                  ||d
       nC|j                         }t        |j                  |       |_        t        j                   ||d
       t        j"                  |j                  |j                         |j                  j$                  |j                  j$                  k(  sJ y # 1 sw Y   y xY w# 1 sw Y   (xY w)NrV   aResampling on a TimedeltaIndex requires fixed-duration `freq`, e.g. '24h' or '3D', not <MonthEnd>rD   MrC   ohlcr   openhighlowcloser*   columnsFcheck_dtype)rG   r*   r   rQ   rR   
ValueErrorr(   r
   rH   r,   rI   getattrr   copyr   r=   r9   assert_index_equalr"   )	r"   empty_series_dtiresample_methodr?   rM   rL   rsr0   r2   s	            r   test_resample_empty_seriesrm   p   s   
 Ct|
399n=1 	 ]]:S1 	LL		*SYY<D#))[)
7C		#	#D	4  \\$ )WR)+F& ciim((*4T
 (		48
fhEB88:'		48
vxUC&,,7<< 3 33337	   s   G"6G."G+.G8rV   zDon't know why this fails)reason)marksrW   rX   c                    |j                         }t        t        gt        |      z  |       |_        d}t        j                  t        |      5  |j                  |       }d d d         t        |             }|dk(  rDt        g |j                  d d j                         g d      }t        j                  ||d	       n+|d d j                         }t        j                  ||d	       t        j                  |j                  |j                         |j                  j                  |j                  j                  k(  sJ y # 1 sw Y   xY w)
Nr'   rC   rD   r\   r   r]   rb   Frd   )rh   r
   r	   lenr*   r,   rI   rH   r(   rg   r   r=   r9   ri   r"   )r"   r>   rk   r?   rM   rl   r0   r2   s           r   test_resample_nat_index_seriesrr      s    ++-CSECH,48CI
7C		#	#M	=  \\$ )WR)+F& ciim((*4T
 	fhEBr7<<>
vxUC&,,7<< 3 3333   s   E

Erk   countsizec                 ~   |}| dk(  rRt        |j                  t              r8d}t        j                  t
        |      5  |j                  |        d d d        y | dk(  rt        |j                  t              rd} d }t        |j                  t              rt        }d}t        j                  ||      5  |j                  |       }d d d         t        |             }t        |j                  |       }t        g d||j                        }	t        j                  ||	       y # 1 sw Y   y xY w# 1 sw Y   lxY w)NrV   rZ   rD   r[   rC   int64)dtyper*   name)rG   r*   r   rQ   rR   rf   r(   r
   rH   r,   rI   rg   r   r   rx   r9   )
r"   rj   rk   r?   rM   rL   rl   r0   r*   r2   s
             r    test_resample_count_empty_seriesry      s	   
 Ct|
399n=1 	 ]]:S1 	LL		*SYY<D#))[)
7C		#	#D	4  \\$  *WR)+F399d+Ebu388DH68,)	   s   D'6D3'D03D<c                 l   | }|dk(  rTt        |j                  t              r:d}t        j                  t
        |      5  |j                  |d       d d d        y |dk(  rt        |j                  t              rd}d }t        |j                  t              rt        }d}t        j                  ||      5  |j                  |d      }d d d         t        |             }|dk(  rwt        j                  |j                  g d	g      }t        g |j                  d d
 j!                         |t"        j$                        }	t'        |j                  |      |	_        n1|dk7  r|j!                         }	nt)        g t"        j*                        }	t'        |j                  |      |	_        t        j,                  |j                  |	j                         |j                  j.                  |	j                  j.                  k(  sJ t        j0                  ||	       y # 1 sw Y   y xY w# 1 sw Y   _xY w)NrV   rZ   rD   F
group_keysr[   rC   r\   r]   r   )r*   rc   rw   rt   rw   )rG   r*   r   rQ   rR   rf   r(   r
   rH   r,   rI   rg   r   from_productrc   r   rh   npfloat64r   r   rv   ri   r"   r-   )
empty_frame_dtir"   rk   rK   rM   rL   rl   r0   mir2   s
             r   test_resample_empty_dataframer      s    
Bt|
288^<1 	 ]]:S1 	0KKK/	0	*RXX{;D"((K(
7C		#	#D	4 1[[%[01)WR)+F& $$bjj2R%STbhhrl'')2RZZ
 ($7	F	"779 "BHH-#BHHd3HN&,,7<< 3 333368,A	01 1s   H8H)H&)H3c                    g |d<   | dk(  rRt        |j                  t              r8d}t        j                  t
        |      5  |j                  |        d d d        y | dk(  rt        |j                  t              rd} d }t        |j                  t              rt        }d}t        j                  ||      5  |j                  |       }d d d        j                         }t        |j                  |       }t        d|t        dgt              	      }t        j                   ||       y # 1 sw Y   y xY w# 1 sw Y   pxY w)
NarV   rZ   rD   r[   rC   rv   r}   )rw   r*   rc   )rG   r*   r   rQ   rR   rf   r(   r
   rH   r,   rI   rs   r   r   r   objectr=   r"   r   rM   rL   rl   r0   r*   r2   s           r   #test_resample_count_empty_dataframer     s   
 OCt|
?#8#8.I1 	 ]]:S1 	+$$T*	+	*_%:%:KHD/''5
7C		#	#D	4 ,%%d+,XXZF?00$7EweUC5PV=WXH&(+'	+, ,s   D.9D:.D7:Ec                 l   g |d<   | dk(  rRt        |j                  t              r8d}t        j                  t
        |      5  |j                  |        d d d        y | dk(  rt        |j                  t              rd} d}d }t        |j                  t              rt        }t        j                  ||      5  |j                  |       }d d d        j                         }t        |j                  |       }t        g d|      }t        j                  ||       y # 1 sw Y   y xY w# 1 sw Y   `xY w)	Nr   rV   rZ   rD   r[   Resampling with a PeriodIndexrv   )rw   r*   )rG   r*   r   rQ   rR   rf   r(   r
   rH   r,   rI   rt   r   r   r9   r   s           r   "test_resample_size_empty_dataframer   -  s   
 OCt|
?#8#8.I1 	 ]]:S1 	+$$T*	+	*_%:%:KH
)CD/''5		#	#D	4 ,%%d+,WWYF?00$7Ebu5H68,'	+, ,s   D9D*D'*D3r*   r[   r   r"   rx   )rx   rw   zdatetime64[ns]z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                 B   d }t        | t              rt        g d| j                        } t        }d}t	        g | |      }t        j                  ||      5  |j                  dd      }d d d        	  t        |              y # 1 sw Y   xY w# t        $ r Y y w xY w)NBr   rC   rD   dFr{   )
rG   r
   rx   rH   r   r,   rI   r(   rg   r   )r*   rw   rk   rL   rM   rj   rl   s          r   test_resample_empty_dtypesr   O  s     D%%BSuzz:
7Cb%/		#	#D	4 >&&su&=>$O$&> >   	s   B4B B	BBc                    | }|dk(  rRt        | j                  t              r8d}t        j                  t
        |      5  | j                  |       d d d        y |dk(  rt        | j                  t              rd}d}d }t        | j                  t              rt        }t        j                  ||      5  |j                  |d      }d d d        j                  d       }t        j                  ||      5  |j                  |      j                  d	      }d d d        t        j                  |d
       y # 1 sw Y   y xY w# 1 sw Y   xY w# 1 sw Y   :xY w)NrV   rZ   rD   r[   r   Fr{   c                      y)Nr   r   )xs    r   <lambda>z,test_apply_to_empty_series.<locals>.<lambda>  s    r    sumrd   )rG   r*   r   rQ   rR   rf   r(   r
   rH   r,   rI   applyr9   )rj   r"   r?   rM   rL   rl   r0   r2   s           r   test_apply_to_empty_seriesr   o  s3    Ct|
#3#9#9>J1 	 ]]:S1 	,%%d+	,	*%5%;%;[I
)CD"((+6		#	#D	4 2\\$5\12 XXk"F		#	#D	4 3<<%++E23 68?'	,2 23 3s#   D=6E	;!E=E	EEc                    d}t        |d      }d}d }t        | j                  t              rt        }t        j                  ||      5  | j                  |      }d d d        t        j                  ||      5  | j                  |      }d d d        t              D ](  \  \  }}\  }	}
||	k(  sJ t        j                  ||
       * y # 1 sw Y   rxY w# 1 sw Y   MxY w)NrX   start)r"   
conventionr   rD   )r   rG   r*   r
   rH   r,   rI   groupbyr(   zipr9   )r>   r"   tgrM   rL   grouped	resampledrkrvgkgvs              r   test_resampler_is_iterabler     s     D	dw	/B
)CD&,,,		#	#D	4 %..$% 
	#	#D	4 *OOD)	*!)W5 'R(2rRxx
r2&'% %* *s   C<CCC#c                    | }dd}d}d }t        | j                  t              rt        }t	        j
                  ||      5  |j                  |      j                        }|j                  |      j                  fd      j                  |j                        }d d d        t	        j                         y # 1 sw Y    xY w)Ng      ?rX   r   rD   c                 &    | j                        S )N)quantile)r   qs    r   r   z(test_resample_quantile.<locals>.<lambda>  s    AJJqM r    )rG   r*   r
   rH   r,   rI   r(   r   aggrenamerx   r9   )r>   r?   r"   rM   rL   r0   r2   r   s          @r   test_resample_quantiler     s     CAD
)CD&,,,		#	#D	4 Td#,,Q/<<%))*ABII#((ST 68,T Ts   AB??Chowfirstlastc                    t        |       r!t        |       j                  j                  }nt        j
                  }t        g d|d|dg|d|dgdt        ddd	      | 
      }|j                  d      }t        ||      } ||      }|j                  |j                  d   t        j                  d      gz        } t        ||      |      }	d|	j                  _        t!        j"                  ||	       y )Nr}   )   r   r   r   g      @r7   )r   bcz
2020-01-01   rW   )periodsr"   )r*   rw   rV   )skipnar   z
2020-01-31)r   r   rw   na_valuer   nanr   r   r(   rg   r   shapepdto_datetimer*   r"   r,   r=   )
any_real_nullable_dtyper   r   r   rK   rl   methodr0   gbr2   s
             r   test_first_last_skipnar     s       78 78>>GG66	C3/C3/	

 qs;%
B 
T	BRF6"F	BHHQK2>>,#?"@@	ABwr3v.HHNN&(+r    )<r   numpyr   rQ   pandas.core.dtypes.commonr   pandasr   r   r   r   r   r	   r
   r   r   pandas._testing_testingr,   pandas.core.groupby.groupbyr   pandas.core.groupby.grouperr   pandas.core.indexes.datetimesr   pandas.core.indexes.periodr   pandas.core.indexes.timedeltasr   pandas.core.resampler   
DATE_RANGEPERIOD_RANGETIMEDELTA_RANGEmarkparametrizeall_tsfixturer!   r3   rA   rN   rU   rm   paramxfailrr   ry   r   r   r   r5   intr   filterwarningsr   r   r   r   r   r   r    r   <module>r      s      > 	 	 	  1 / 4 3 : / %$1!5xa7LM
dHT1a$8(4B:OP"E7H=		 	 9/
   $.9J;X- /- 9J;X,,& 
, 
, !12$4 3 $4N 
T!2!2:U!2!VW4 4. !12*Wf,=>- ? 3 -> !12)- 3 )-\ !12, 3 ,@ !12- 3 -@ BSs+bs#r$ 5#v7G"HIRS T J, !12@ 3 @> ' '& - -  & 12, 3,r    