
    Mh                     `    S SK rS SKrS SKJr  S SKrS SKJr  S SKJ	r
  S SKJr   " S S5      rg)    N)DatetimeTZDtype)NaT)DatetimeArrayc                   $   \ rS rSr\R
                  " / SQS9S 5       r\R
                  S 5       rS r\R                  R                  SSS	/5      \R                  R                  S
SS/5      S 5       5       r\R                  R                  SSS	/5      \R                  R                  S
SS/5      S 5       5       rS rS r\R                  R                  S5      S 5       rS rS r\R                  R                  S
SS/5      S 5       rSrg)TestReductions   )smsusns)paramsc                     UR                   $ )N)param)selfrequests     _/var/www/html/env/lib/python3.13/site-packages/pandas/tests/arrays/datetimes/test_reductions.pyunitTestReductions.unit   s    }}    c                 |    UnUb	  [        US9O[        R                  " S5      n[        R                  " / SQUS9nU$ )z;Fixture returning DatetimeArray with parametrized timezonestzM8[ns])
2000-01-03r   r   
2000-01-02
2000-01-05z
2000-01-04dtype)r   npr   r   _from_sequence)r   tz_naive_fixturer   r   arrs        r   arr1dTestReductions.arr1d   sC     *,.2&bhhx>P** 

 
r   c                    UnUR                  U5      nUR                  nUR                  5       n[        R                  " SUS9R                  U5      nXV:X  d   eUR
                  UR
                  :X  d   eUR                  5       n[        R                  " SUS9R                  U5      nXV:X  d   eUR
                  UR
                  :X  d   eUR                  SS9nU[        L d   eUR                  SS9nU[        L d   eg )Nr   r   r   Fskipna)as_unitr   minpd	Timestampr   maxr   )r   r#   r   r"   r   resultexpecteds          r   test_min_maxTestReductions.test_min_max#   s    kk$VV<<4<<TB!!!{{hmm+++<<4<<TB!!!{{hmm+++&}}&}}r   r   Nz
US/Centralr'   TFc                     Ub	  [        US9O[        R                  " S5      n[        R                  " / US9nUR                  US9nU[        L d   eUR                  US9nU[        L d   eg )Nr   r   r   r&   )r   r   r   r   r    r)   r   r,   )r   r'   r   r   r"   r-   s         r   test_min_max_empty!TestReductions.test_min_max_empty8   sg     +-.2&bhhx>P**2U;'}}'}}r   c                    Ub	  [        US9O[        R                  " S5      n[        R                  " / US9nUR                  US9nU[        L d   eUR                  SS5      nUR                  SUS9n[        U5      R	                  [        [        [        /UR                  S9n[        R                  " XV5        UR                  SUS9n[        U5      R	                  / UR                  S9n[        R                  " XV5        g )	Nr   r   r   r&   r      axisr'      )r   r   r   r   r    medianr   reshapetypetmassert_equal)r   r'   r   r   r"   r-   r.   s          r   test_median_empty TestReductions.test_median_emptyC   s     +-.2&bhhx>P**2U;6*}}kk!Q629++S#sO399+M
)629++Bcii+@
)r   c                     UnUR                  5       nX2S   :X  d   eUR                  SS9nU[        L d   eUR                  5       R                  SS9nX2S   :X  d   eUR                  SS9nX2S   :X  d   eg )Nr   Fr&   r7   )r9   r   dropna)r   r#   r"   r-   s       r   test_medianTestReductions.test_medianT   s    Q5)}}$$E$2Q#Qr   c                    UnUR                  SS9UR                  5       :X  d   eUR                  SSS9[        L d   eSn[        R                  " [        US9   UR                  SS9  S S S 5        g ! , (       d  f       g = f)Nr   rA   Fr6   z"abs\(axis\) must be less than ndim)matchr8   )r9   r   pytestraises
ValueError)r   r#   r"   msgs       r   test_median_axisTestReductions.test_median_axisb   sn    zzqz!SZZ\111zzqz/36663]]:S1JJAJ 211s   A33
Bz/ignore:All-NaN slice encountered:RuntimeWarningc                    UR                  SS5      nUR                  5       UR                  5       :X  d   eUR                  SS9[        L d   eUR                  SS9nUn[        R                  " X45        UR                  SSS9nUn[        R                  " X45        UR                  SS9n[        U5      R                  UR                  5       /UR                  S9n[        R                  " X45        UR                  SSS9n[        U5      R                  [        /UR                  S9n[        R                  " X45        g )	Nr8   Fr&   r   rA   r6   r   )r:   r9   r   r<   r=   r;   r    r   )r   r#   r"   r-   r.   s        r   test_median_2dTestReductions.test_median_2dk   s   mmAr" zz|u||~---zzz'3... #
) 51
) #9++U\\^,<CII+N
)519++SE+C
)r   c                    UnUS   S[         R                  " SS9-  -   nUR                  5       nXC:X  d   eUR                  SS9nU[        L d   eUR	                  5       R                  SS9nXC:X  d   eUR                  SS9nXC:X  d   eg )Nr   g?r8   )daysFr&   rA   )r*   	Timedeltameanr   rB   )r   r#   r"   r.   r-   s        r   	test_meanTestReductions.test_mean   s     q6C",,A"666!!!'}}""%"0!!!q!!!!r   c                    [         R                  " SSSS9nUR                  R                  SS5      nUR	                  SS9nUS	   n[
        R                  " X45        UR	                  S	S9nUS S 2S4   [         R                  " S
S9-   n[
        R                  " X45        UR	                  S S9nUR	                  5       nX4:X  d   eg )Nz
2016-01-01   z
US/Pacific)periodsr   r5      r   rA   r8   r   )hours)r*   
date_range_datar:   rT   r<   assert_datetime_array_equalrS   )r   dtidtar-   r.   s        r   test_mean_2dTestReductions.test_mean_2d   s    mmL!Eii1%q!q6
&&v8q!q!t9r||"55
&&v8t$88:!!!r   c                    US S nUR                  US9[        L d   eUR                  SS5      nUR                  SUS9n[        R                  " [        [        [        /UR
                  S9n[        R                  " XV5        UR                  SUS9nUn[        R                  " XV5        UR                  S US9nU[        L d   eg )Nr   r&   r5   r6   r   r8   )rT   r   r:   r   r    r   r<   r^   )r   r#   r'   r"   arr2dr-   r.   s          r   test_mean_emptyTestReductions.test_mean_empty   s    BQixxvx&#---Aq!62 //c3syyQ
&&v862
&&v8f5}}r    )__name__
__module____qualname____firstlineno__rG   fixturer   r#   r/   markparametrizer2   r>   rC   rK   filterwarningsrO   rU   ra   re   __static_attributes__rg   r   r   r   r      s+   ^^23 4 ^^ "* [[TD,#78[[Xe}5 6 9 [[TD,#78[[Xe}5* 6 9*  [[ QR* S*4"""  [[Xe}5 6r   r   )numpyr   rG   pandas.core.dtypes.dtypesr   pandasr*   r   pandas._testing_testingr<   pandas.core.arraysr   r   rg   r   r   <module>rw      s&      5    ,k kr   