
    bMh-                        d dl mZ d dlZd dlZd dlmc mZ d dl	Z
d dl	mZmZ d dlmZ d dlmZ d Zd Zd Zd Zd	 Zd
 Zd Zd Zd Zej                            dg d          d             Zej                            dddg          d             Zej                            dg d          d             Zd Z  ej!        d          d             Z"dS )    )	timedeltaN)	DataFrameSeries)timedelta_rangec                  N   t          ddgt                      t          d          g          } |                     d                                          }t          dt          j        t          j        dgt          ddd                    }t          j        ||           d S )	N      )minutesdataindex1min0 day   periodsfreq)	r   r   resampleasfreqnpnanr   tmassert_frame_equal)dfresultexpecteds      d/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/resample/test_timedelta.pytest_asfreq_bugr      s    	Ay{{Ia4H4H4H&I	J	J	JB[[  ''))F#gqv>>>  H &(+++++    c                  D   t          j        dt           j        dg          } t          dg di|                               d                                          }t          ddt          j        dgit          dd	d
                    }t          j
        ||           d S )N0s2svalue)   r	      1sg      @g      @r   r	   r   r   )pdto_timedeltaNaTr   r   meanr   r   r   r   r   )r   r   r   s      r   test_resample_with_natr,      s    OT264011E+U33<<TBBGGIIF	3$%gqt<<<  H &(+++++r   c                  r   t          ddd          } t          dg di|           }|                    d                                          }dd	t          j        t          j        t          j        t          j        d
gi}t          |t          ddd                    }t          j        ||           d S )Nz00:00:00z00:10:005minr   r#   )r   r%   
   r   2minr   r0   )r   r   r   r   r   r   r   r   )r   r   r   expected_datar   s        r   $test_resample_as_freq_with_subperiodr3   &   s    J
@@@E	***-U	;	;	;B[[  ''))Fq"&"&"&"&"EFM/*jv"V"V"V  H &(+++++r   c                  z   t          dt          j        d          i          } |                     | j        dz                                            } t          ddd          | _        t          dt          j        d          it          j        t          j        d          d	          
          }|	                    d                                          }t          j        ||            |d         }|	                    d                                          }t          j        || d                    d S )NAi     z0 days30min2   r   r   minunitr'   )r   r   arangegroupbyr   sumr   r(   r)   r   r   r   assert_series_equal)r   r   r   ss       r   test_resample_with_timedeltasrB   2   s
   #ry/00H" 45599;;H$XGRHHHHN		bioobobiooE&R&R&R
 
 
B [[!!%%''F&(+++
3AZZ  $$&&F68C=11111r   c                  :   t          t          t          d                    t          ddd                    } |                     d                                          }t          g dt          ddd                    }t          j        ||           d S )	Nr%   1 dayrA   r9   r'   r"   )r   r%   r   r	   )r   listranger   r   r?   r   r@   )rA   r   r   s      r   %test_resample_single_period_timedeltarG   C   s    tE!HH~~_W3PQ%R%R%RSSSAZZ!!##FiiiwTST'U'U'UVVVH68,,,,,r   c                     t          ddd          } t          t          d          |           }|                    d                                          }|                    t                    }t          j        ||           d S )N0	   10msr   r'   )	r   r   rF   r   r+   astypefloatr   r@   )r   seriesr   r   s       r   #test_resample_timedelta_idempotencyrO   J   su    C888EE!HHE***F__V$$))++F}}U##H68,,,,,r   c                     t          ddd          } t          t          j                            d                              t          |                     |           }|                    dd	                                          }|                    d                                          }t          dd
d          }t          ddd          }t          j
        |j        |           t          j
        |j        |           d S )Nr!      rA   startr   r   r$   r'   r"   5s)offset25srS   endr   29s)r   r   r   randomdefault_rngstandard_normallenr   r+   r   assert_index_equalr   )rngts	with_basewithout_baseexp_without_baseexp_with_bases         r   (test_resample_offset_with_timedeltaindexre   S   s    
bs
;
;
;C		%%a((88SBB#	N	N	NBD..3355I;;t$$))++L&Tu4HHH#$EEEEM,,.>???)/=99999r   c            
      \   t          ddit          j        t          t	          d                    d                    } | d                             d          | d<   |                     d	                              d
           }t          j        t          j
        ddgd          d	                              d          }t          ddgddgd|          }|                    ddgd          }|d                             d          |d<   t          j        ||           d S )N	Group_objr5      rA   r;   r'   categoryGroup10sc                 @    |                                  j        d         S )Nr   )value_countsr   xs    r   <lambda>zDtest_resample_categorical_data_with_timedeltaindex.<locals>.<lambda>f   s    q~~/?/?/Ea/H r   r   r0   zm8[s]dtyper/   ns)rg   rj   r   )axis)r   r(   r)   rE   rF   rL   r   aggTimedeltaIndexr   arrayas_unitreindexr   r   )r   r   exp_tdir   s       r   2test_resample_categorical_data_with_timedeltaindexr{   b   s/   	K%R_T%))__SV-W-W-W	X	X	XB[/((44BwK[[##$I$IJJF!R @ @ @uMMMUU G CjC:66  H g 6Q??H -44Z@@HW&(+++++r   c                     t          ddd          } t          d| i|           }t          ddd          }t          ||d          }t          j        |j        d	<   |                    d                                          d         }t          j	        ||           |d                             d                                          }t          j	        ||           d S )
NrD   z6 day4Dr/   timer'   2D)r   namer   )
r   r   r   r(   r*   ilocr   firstr   r@   )timesr   times2express        r   test_resample_timedelta_valuesr   s   s    
 GW4888E	FE?%	0	0	0BWgD999F
vF
3
3
3C&CHQK
++d


!
!
#
#F
+C3$$$
V*

d
#
#
)
)
+
+C3$$$$$r   zstart, end, freq, resample_freq))8h21h59min50srk   3h)r   22h1h5h)527D5006D3D10D)1Dr   r   r   )r   r   rk   2h)0hr   rk   r   )r   85DDr   c                    t          | ||          }t          t          j        t	          |                    |          }|                    |                                          }t          || |          }t          j        |j	        |           |j	        j
        |j
        k    sJ t          j        |j        d                   rJ d S )NrW   r'   )r   rS   rX   )r   r   r   r=   r]   r   r:   r   r^   r   r   isnanr   )rS   rX   r   resample_freqidxrA   r   expected_indexs           r   !test_resample_timedelta_edge_caser      s      3T
:
:
:CryS""#...AZZ&&**,,F$-u#NNNN&,777< 33333xB(((((((r   
duplicatesTFc                    t          t          j                            d                              d          t          ddd                    }| r	g d	|_        |j        d
d d d f                             d          	                    d           }t          dgdz  gdz  dgdz  gz   t          d
dd                    }|j        |_        t          j        ||           d S )Nr$   )'  r   )sizer!   r   	3906250nsrR   r'   )r5   Br5   Cr&   3sc                      t          |           S )N)r]   rn   s    r   rp   zEtest_resample_with_timedelta_yields_no_empty_groups.<locals>.<lambda>   s    SVV r   i   r      i     )r   r   rZ   r[   normalr   columnslocr   applyr   r   )r   r   r   r   s       r   3test_resample_with_timedelta_yields_no_empty_groupsr      s    

	a  ''Z'88D%kJJJ
 
 
B  *)))
VDEE111H&&t,,223C3CDDF
bSEAI;&D"4@@@  H zH&(+++++r   r<   )rA   msusrs   c           	      6   t          j        d|  d          }t          dt          j        t          j        d          d                              |          it          j        ddd	          
          }|                    d          	                    d          }t          dt          j
        d          t          j
        d          git          j        dddd          
                              |          }t          j        ||           d S )Nzm8[]r#   r   rA   r;   20200101UTC)r   tzr'   r   gGz?z0 days 00:00:00.990000z0 days 00:00:02.990000r$   )r   r   r   )r   rr   r   r(   r)   r=   rL   
date_ranger   quantile	Timedeltar   r   )r<   rr   r   r   r   s        r    test_resample_quantile_timedeltar      s    H]4]]]##E		"/")A,,S999@@GGHmJe<<<
 
 
B [[''--F566566	
 mJe$GGG   fUmm  &(+++++r   c            	         t          j        d t          d          D                       } t          t          d          |           }|                    ddd                                          }t          g dt          j        d t          d	          D             d
                    }t          j        ||           d S )Nc                 D    g | ]}t          j        d |dz  z             S )x   r6   secondsr(   r   .0is     r   
<listcomp>z.test_resample_closed_right.<locals>.<listcomp>   s-    JJJ1BLq2v666JJJr   r0   r'   r:   right)closedlabel)r   r	            rJ   c                 D    g | ]}t          j        d |dz  z             S )r   <   r   r   r   s     r   r   z.test_resample_closed_right.<locals>.<listcomp>   s-    BBBAR\#B,///BBBr      r/   )	r(   IndexrF   r   r   r?   rv   r   r@   )r   serr   r   s       r   test_resample_closed_rightr      s    
(JJb		JJJ
K
KC
r#
&
&
&C\\%w\??CCEEFBBqBBB
 
 
  H 68,,,,,r   pyarrowc                  &   t          j        t          dd          d          } t          t	          j        dt          j                  |           }|                    d                                          }t          j
        ||           d S )NrD   r%   )r   zduration[ns][pyarrow]rq   r'   r   )r(   r   r   r   r   r=   float64r   r+   r   r@   )r   r   r   s      r   test_arrow_duration_resampler      s     (?7A666>U
V
V
VCbi444C@@@Ht$$))++F68,,,,,r   )#datetimer   numpyr   pytestpandas.util._test_decoratorsutil_test_decoratorstdpandasr(   r   r   pandas._testing_testingr   pandas.core.indexes.timedeltasr   r   r,   r3   rB   rG   rO   re   r{   r   markparametrizer   r   r   r   
skip_if_nor    r   r   <module>r      s              ) ) ) ) ) ) ) ) )                  : : : : : :, , ,, , ,	, 	, 	,2 2 2"- - -- - -: : :, , ,"% % %$ %	 	 	 	) 	) 	) e}55, , 65,( !8!8!899, , :9,(- - - y- - - - -r   