
    Owg-                        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j6                  j9                  dg d      d        Zej6                  j9                  dddg      d        Zej6                  j9                  dg d      d        Zd Z  ejB                  d      d        Z"y)    )	timedeltaN)	DataFrameSeries)timedelta_rangec                  &   t        ddgt               t        d      g      } | j                  d      j                         }t        dt        j
                  t        j
                  dgt        ddd            }t        j                  ||       y )	N      )minutesdataindex1min0 day   periodsfreq)	r   r   resampleasfreqnpnanr   tmassert_frame_equal)dfresultexpecteds      [/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/resample/test_timedelta.pytest_asfreq_bugr      sq    	Ay{Ia4H&I	JB[[ '')F#gqv>H &(+    c                  .   t        j                  dt         j                  dg      } t        dg di|       j	                  d      j                         }t        ddt        j                  dgit        dd	d
            }t        j                  ||       y )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{    OOT266401E+U3<<TBGGIF	3$%gqt<H &(+r   c                  b   t        ddd      } t        dg di|       }|j                  d      j                         }dd	t        j
                  t        j
                  t        j
                  t        j
                  d
gi}t        |t        ddd            }t        j                  ||       y )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H &(+r   c                  :   t        dt        j                  d      i      } | j                  | j                  dz        j                         } t        ddd      | _        t        dt        j                  d      it        j                  t        j                  d      d	      
      }|j                  d      j                         }t        j                  ||        |d   }|j                  d      j                         }t        j                  || d          y )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    #ryy/0H" 4599;H$XGRHHN		biioboobiioE&R
B [[!%%'F&(+
3AZZ $$&F68C=1r   c                      t        t        t        d            t        ddd            } | j	                  d      j                         }t        g dt        ddd            }t        j                  ||       y )	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!H~_W3PQ%RSAZZ!!#FiwTST'UVH68,r   c                      t        ddd      } t        t        d      |       }|j                  d      j	                         }|j                  t              }t        j                  ||       y )N0	   10msr   r'   )	r   r   rF   r   r+   astypefloatr   r@   )r   seriesr   r   s       r   #test_resample_timedelta_idempotencyrO   J   sU    C8EE!HE*F__V$))+F}}U#H68,r   c                     t        ddd      } t        t        j                  j	                  d      j                  t        |             |       }|j                  dd	      j                         }|j                  d      j                         }t        dd
d      }t        ddd      }t        j                  |j                  |       t        j                  |j                  |       y )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#	NBD.335I;;t$))+L&Tu4H#$EEM,,,.>?)//=9r   c            
         t        ddit        j                  t        t	        d            d            } | d   j                  d      | d<   | j                  d	      j                  d
       }t        j                  t        j                  ddgd      d	      j                  d      }t        ddgddgd|      }|j                  ddgd      }|d   j                  d      |d<   t        j                  ||       y )N	Group_objr5      rA   r;   r'   categoryGroup10sc                 <    | j                         j                  d   S )Nr   )value_countsr   xs    r   <lambda>zDtest_resample_categorical_data_with_timedeltaindex.<locals>.<lambda>f   s    q~~/?/E/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	XB[/((4BwK[[##$IJF!R @uMUUG CjC: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	<   |j                  d      j                         d   }t        j                  ||       |d   j                  d      j                         }t        j                  ||       y )
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8E	FE?%	0BWgD9F
vF
3C&&CHHQK
++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	        |            |      }|j                  |      j                         }t        || |      }t        j                  |j                  |       |j                  j                  |j                  k(  sJ t        j                  |j                  d         rJ y )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ryyS"#.AZZ&**,F$-u#NN&,,7<< 3 3333xxB((((r   
duplicatesTFc                    t        t        j                  j                  d      j	                  d      t        ddd            }| r	g d	|_        |j                  d
d d d f   j                  d      j                  d       }t        dgdz  gdz  dgdz  gz   t        d
dd            }|j                  |_        t        j                  ||       y )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V 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D%kJ
B )
VVDE1H&&t,223CDF
bSEAI;&D"4@H zzH&(+r   r<   )rA   msusrs   c           	         t        j                  d|  d      }t        dt        j                  t        j
                  d      d      j                  |      it        j                  ddd	      
      }|j                  d      j                  d      }t        dt        j                  d      t        j                  d      git        j                  dddd      
      j                  |      }t        j                  ||       y )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     HHs4&]#E		"//"))A,S9@@GHmmJe<
B [[''-F5656	
 mmJe$G fUm  &(+r   c                     t        j                  t        d      D  cg c]  } t        j                  d| dz  z           c}       }t	        t        d      |      }|j                  ddd      j                         }t	        g d	t        j                  t        d
      D  cg c]  } t        j                  d| dz  z           c} d            }t        j                  ||       y c c} w c c} w )Nr0   x   r6   )secondsr'   r:   right)closedlabel)r   r	            rJ      <   r/   )
r(   IndexrF   r   r   r   r?   rv   r   r@   )ir   serr   r   s        r   test_resample_closed_rightr      s    
((b	J1BLLq2v6J
KC
r#
&C\\%w\?CCEF9>qBAR\\#B,/B
H 68, K Cs   #C+##C0pyarrowc                     t        j                  t        dd      d      } t        t	        j
                  dt        j                        |       }|j                  d      j                         }t        j                  ||       y )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>U
VCbii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"--:,"%$ %		)	) e}5, 6,( !89, :,(- y- -r   