
    4i                     &   S SK J r Jr  S SKJr  S SKrS SKrS SKrS SKJ	r	J
r
JrJrJrJrJrJrJrJrJrJrJrJrJrJrJr  S SKJr  S SKJr  S SKJ r   S r! " S S	5      r" " S
 S5      r# " S S5      r$ " S S5      r% " S S5      r& " S S5      r'g)    )datetime	timedelta)DecimalN)Categorical	DataFrameDatetimeIndexIndexNaTPeriodPeriodIndex
RangeIndexSeries	TimedeltaTimedeltaIndex	Timestamp
date_rangeisnaperiod_rangetimedelta_rangeto_timedelta)nanops)ArrowStringArrayc                  `   [        SS/S-  SS9[        [        R                  " S5      [        R                  SS9[        [        R                  " S5      [        R                  SS9[        [        SSS	S
9SS9[        [        SSS	S
9SS9R                  SS9[        [        SSSS9SS9[        [        S5       V s/ s H  n [        U 5      PM     sn SS9/n[        R                  R                  S5      R                  S5      nU Vs/ s H  n[        X#SS9PM     nnX-   nU$ s  sn f s  snf )NTF   a)name
   dtyper   
2020-01-01ns)periodsunitz
US/EasterntzDr"   freq   indexr   )r	   nparangeint64float64r   r   tz_localizer   r   rangestrrandomdefault_rngstandard_normalr   )iindexesarridxseriesobjss         i/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/pandas/tests/reductions/test_reductions.pyget_objsr=   #   s	   tUmac*biim288#6biim2::C8jrECP|Rd;#	

++
&LrD3OuRy)y!s1vy)4
G ))


"
2
22
6C:AB'3fS#.'FBDK * Cs   <D&
D+c                      \ rS rSr\R
                  R                  S5      \R
                  R                  SSS/5      \R
                  R                  S\" 5       5      S 5       5       5       r	\R
                  R                  SSS/5      \R
                  R                  SS	S
S\
" SSS5      4SS/5      S 5       5       r\R
                  R                  SSS/5      S 5       r\R
                  R                  SSS/5      \R
                  R                  SSS/5      S 5       5       rS r\R
                  R                  SSS/SS//5      S 5       r\R
                  R                  SSS/5      S 5       rS  rS!rg")#TestReductions7   z8ignore:Period with BDay freq is deprecated:FutureWarningopnamemaxminobjc                    [        X!5      " 5       n[        U[        5      (       dk  [        UR                  [        5      (       a0  [        [
        R                  " UR                  5      U5      " 5       nOI[        UR                  U5      " 5       nO-[        [        UR                  U5      " 5       UR                  S9n[        USS 5      b3  UR                  S5      R                  S5      nUR                  U:X  d   eg X4:X  d   eg )N)ordinalr(   r%   M8[ns]r.   )getattr
isinstancer   valuesr   r,   arrayr   asi8r(   astype_value)selfrA   rD   resultexpecteds        r<   test_opsTestReductions.test_ops8   s     %'#{++#**&677"288CJJ#7@B"3::v68gchh&?&AQH3d#/x077@H==H,,,%%%    z
dtype, val)object       @)r/   rV   datetime64[ns]        )Int64r)   )booleanTc                   ^ UnU4S jnU" S /TS9nU" [        Xq5      " 5       5      (       d   eU" [        Xq5      " SS95      (       d   eU" / TS9nU" [        Xq5      " 5       5      (       d   eU" [        Xq5      " SS95      (       d   eTS:X  a  g U" S U/TS9n[        Xq5      " 5       U:X  d   eU" [        Xq5      " SS95      (       d   eU" S US /TS9n[        Xq5      " 5       U:X  d   eU" [        Xq5      " SS95      (       d   eg )Nc                 f   > TS:X  a  U [         L $ TS;   a  U [        R                  L $ [        U 5      $ )NrW   )r[   r\   )r
   pdNAr   )resr   s    r<   check_missing4TestReductions.test_nanminmax.<locals>.check_missing^   s7    ((cz!..bee|#Cy rT   r   FskipnarU   )rH   )rO   rA   r   valindex_or_seriesklassrb   rD   s     `     r<   test_nanminmaxTestReductions.test_nanminmaxO   s#     	! TF%(WS134444WS1?@@@@Be$WS134444WS1?@@@@HT3Ku-s#%,,,WS1?@@@@T3%U3s#%,,,WS1?@@@@rT   c                    UnU[         L a  SU-   OSU-   nU" [        [        SSS5      /5      n[        XT5      " 5       S:X  d   e[        R
                  " [        SS9   [        XT5      " SS	9  S S S 5        U" [        [        SSS5      [        /5      n[        XT5      " 5       S:X  d   e[        R
                  " [        SS9   [        XT5      " SS	9  S S S 5        g ! , (       d  f       Nt= f! , (       d  f       g = f)
Nargr9   rX   rY   rZ   Encountered an NA valuematchFre   )r	   r
   r   rH   pytestraises
ValueError)rO   rA   rh   ri   arg_oprD   s         r<   test_nanargminmax TestReductions.test_nanargminmaxz   s      #(E>uv~S(4Q/01s#%***]]:-FGC . H S(4Q/56s#%***]]:-FGC . HG HG HGs   CC-
C*-
C;r   rG   zdatetime64[ns, UTC]c                    UnU[         L a  SU-   OSU-   nU" / US9n[        Xa5      " 5       [        L d   e[        Xa5      " SS9[        L d   e[        R                  " [
        SS9   [        Xe5      " 5         S S S 5        [        R                  " [
        SS9   [        Xe5      " SS9  S S S 5        g ! , (       d  f       N@= f! , (       d  f       g = f)Nrm   r9   rd   Fre   zempty sequencero   )r	   rH   r
   rq   rr   rs   )rO   rA   rh   r   ri   rt   rD   s          r<   test_nanops_empty_object'TestReductions.test_nanops_empty_object   s      #(E>uv~Be$s#%,,,s#51S888]]:-=>C " ?]]:-=>C . ?> ?>>>s   'B2C2
C 
Cc           	         [        [        R                  " SSS95      nUR                  5       S:X  d   eUR	                  5       S:X  d   e[        [        R
                  S[        R
                  S/5      nUR                  5       S:X  d   eUR	                  5       S:X  d   e[        R                  " [        S	S
9   UR                  SS9  S S S 5        [        R                  " [        S	S
9   UR	                  SS9  S S S 5        [        [        R
                  /5      n[        R                  " [        SS
9   UR                  5         S S S 5        [        R                  " [        SS
9   UR	                  5         S S S 5        [        R                  " [        S	S
9   UR                  SS9  S S S 5        [        R                  " [        S	S
9   UR	                  SS9  S S S 5        [        [        [        SSS5      [        SSS5      [        /5      nUR                  5       S:X  d   eUR	                  5       S:X  d   e[        R                  " [        S	S
9   UR                  SS9  S S S 5        [        R                  " [        S	S
9   UR	                  SS9  S S S 5        [        [        /5      n[        R                  " [        SS
9   UR                  5         S S S 5        [        R                  " [        SS
9   UR	                  5         S S S 5        [        R                  " [        S	S
9   UR                  SS9  S S S 5        [        R                  " [        S	S
9   UR	                  SS9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNY= f! , (       d  f       GN9= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNd= f! , (       d  f       GN4= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       g = f)Nr   r.   rd   r      rZ   r)      rn   ro   Fre   Encountered all NA valuesrX   rY   )r	   r,   r-   argminargmaxnanrq   rr   rs   r
   r   )rO   rD   s     r<   test_argminmaxTestReductions.test_argminmax   s   BIIaw/0zz|q   zz|q   RVVQ*+zz|q   zz|q   ]]:-FGJJeJ$ H]]:-FGJJeJ$ H RVVHo]]:-HIJJL J]]:-HIJJL J]]:-FGJJeJ$ H]]:-FGJJeJ$ H S(4Q/$A1FLMzz|q   zz|q   ]]:-FGJJeJ$ H]]:-FGJJeJ$ H SEl]]:-HIJJL J]]:-HIJJL J]]:-FGJJeJ$ H]]:-FGJJeJ$ HG= HGGG JIIIGGGG HGGG JIIIGGGGs   ;M6,N7N)N,N>OO"O4P:P,P*P;6
N
N
N),
N;>
O
O"
O14
P
P
P'*
P8;
Q	zop, expected_colr   bc           	          [        [        SSSSS9S/S9nUR                  R                  [	        SS	95      US
'   [        X15      " SS9nX2   R                  S 5      n[        R                  " XE5        g )Nz2016-01-01 00:00:00r|   UTCr!   )r"   r%   r#   r   )columnsi  secondsr   rZ   axis)	r   r   r   subtractr   rH   renametmassert_series_equal)rO   opexpected_coldfrP   rQ   s         r<   test_same_tz_min_max_axis_1*TestReductions.test_same_tz_min_max_axis_1   sn     ,aEME
 $$--	$ 783a(#**40
v0rT   funcmaximumminimumc                     Un[         R                  " S/5      R                  U5      n[        U5      n[	        [
        U5      " XU5      n[        R                  " Xe5        g )N2019)r_   to_datetimer0   r   rH   r,   r   r   )rO   tz_aware_fixturer   r%   rm   rQ   rP   s          r<   (test_numpy_reduction_with_tz_aware_dtype7TestReductions.test_numpy_reduction_with_tz_aware_dtype   sL     nnfX&2226#;T"86
v0rT   c                     [        [        SS[        /SS9[        SS[        R                  /SS9S.5      n[        [        S5      SS.5      nUR                  5       n[        R                  " X25        g )NrZ   r)   timedelta64[ns]rd   r[   ABr|   )	r   r   r
   r_   r`   r   sumr   r   )rO   r   rQ   rP   s       r<   test_nan_int_timedelta_sum)TestReductions.test_nan_int_timedelta_sum   sd    Q3K/@AQ255M9
 	!156
v0rT    N)__name__
__module____qualname____firstlineno__rq   markfilterwarningsparametrizer=   rR   r   rj   ru   rx   r   r   r   r   __static_attributes__r   rT   r<   r?   r?   7   s   [[B [[Xu~6[[UHJ/& 0 7
&$ [[Xu~6[[xb!45	
	A	 7A@ [[Xu~6/ 7/" [[Xu~6[[Wx1F&GH/ I 7/'%R [[/5#,1MN	1 O	1 [[Vi%;<1 =1
1rT   r?   c            	          \ rS rSr\R
                  R                  S/ SQ5      S 5       rS r\R
                  R                  SSS/5      S	 5       r	S
 r
S r\R
                  R                  S/ SQ5      S 5       rS r\R
                  R                  SSS/5      S 5       rS rS rS rS r\R
                  R                  SSS/5      \R
                  R                  S/ \/\\\//5      S 5       5       rS rS rSrg)TestIndexReductions   zstart,stop,step))r   i  r|   )i  r   i)@B r{   )r   r   )r   r      c                    [        XU5      nUR                  R                  5       nUR                  5       nXe:X  d   eUR                  SS9nXu:X  d   eUR                  R                  5       nUR                  5       nXe:X  d   eUR                  SS9nXu:X  d   e[        XU* 5      n[	        UR                  5       5      (       d   e[	        UR                  5       5      (       d   eg NFre   )r   _valuesrB   rC   r   )rO   startstopstepr9   rQ   rP   result2s           r<   test_max_min_range&TestIndexReductions.test_max_min_range   s     d+;;??$!!! ''''""";;??$!!! ''''""" te,CGGICGGIrT   c                    [        / SQ5      nUR                  (       d   e[        S[        R                  SS/5      nUR                  (       a   eX4 Hm  nUR	                  5       [        S5      :X  d   eUR                  5       [        S5      :X  d   eUR                  5       S:X  d   eUR                  5       S:X  a  Mm   e   g )N)1 days2 days3 daysr   r   r
   r   r)   )	r   is_monotonic_increasingr,   r   rC   r   rB   r~   r   rO   idx1idx2r9   s       r<   test_minmax_timedelta64+TestIndexReductions.test_minmax_timedelta64  s    <=++++ x5AB////<C779	( 3333779	( 3333::<1$$$::<1$$$	  rT   r   rC   rB   c                    [        / 5      n[        X!5      " 5       [        L d   e[        [        /5      n[        X!5      " 5       [        L d   e[        [        [        [        /5      n[        X!5      " 5       [        L d   eg N)r   rH   r
   rO   r   rD   s      r<   !test_minmax_timedelta_empty_or_na5TestIndexReductions.test_minmax_timedelta_empty_or_na  sl     R s!S(((cU#s!S(((c3_-s!S(((rT   c                 f   [        SSSS9n[        R                  " U5      [        S5      :X  d   e[        R                  " U5      [        S5      :X  d   eSn[
        R                  " [        US9   [        R                  " USS9  S S S 5        [
        R                  " [        US9   [        R                  " USS9  S S S 5        [        R                  " U5      S:X  d   e[        R                  " U5      S	:X  d   eSn[
        R                  " [        US9   [        R                  " USS9  S S S 5        [
        R                  " [        US9   [        R                  " USS9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nh= f! , (       d  f       g = f)
Nz
16815 daysz
16820 daysr&   r(   $the 'out' parameter is not supportedro   r   outr   )
r   r,   rC   r   rB   rq   rr   rs   r~   r   )rO   tderrmsgs      r<   test_numpy_minmax_timedelta641TestIndexReductions.test_numpy_minmax_timedelta64)  s%   \<cBvvbzY|4444vvbzY|44447]]:V4FF21 5]]:V4FF21 5 yy}!!!yy}!!!7]]:V4IIba  5]]:V4IIba  54 5444 5444s0   1E/(F FF"/
E= 
F
F"
F0c           
         [        [        S5       Vs/ s H  n[        S5      [        X-  S9-   PM     sn5      nUR	                  5       nUR                  5       n[        [        SS95      nXE:X  d   eUR                  5       R                  5       nUS   U:X  d   eUR                  S5      n[        [        R                  " SS5      5      nXE:X  d   eUR                  5       n[        S	5      nXE:X  d   eUR                  5       R                  5       nUS   U:X  d   eUR                  5       n[        S
5      nXE:X  d   eUR                  5       R                  5       nUS   U:X  d   eUR                  5       n[        [        UR                  5       R                   5      R                  5       5      nXE:X  d   eUR                  5       R                  5       nUS   U:X  d   e[        [        S5      [        S5      /5      nUR	                  5       R                  5       [        SS9:X  d   e[        [        S5      [        S5      [        S5      /5      nUR	                  5       R                  5       [        SS9:X  d   eg s  snf )Nr   20130101r   	   r   g?i(
  msz00:00:09z00:01:21z
2015-02-03z
2015-02-07r{   )daysz
2015-02-15   )r   r1   r   r   diffmeanr   to_framequantiler   r,   timedelta64medianr   stddropnarJ   )rO   r6   sr   rP   rQ   s         r<   test_timedelta_ops&TestIndexReductions.test_timedelta_ops>  s7    GLRyQy!Yz"Yqu%==yQ
 VVX	! 45!!!##%ayH$$$S!R^^D$78!!!
+!!!%%'ayH$$$ 
+!!!""$ayH$$$ ryy{'9'9 : > > @A!!!""$ayH$$$ Il+Y|-DEFvvx I1$5555|$i&=y?VW
 vvx I1$5555_ Rs   !JrA   )skewkurtsemprodvarc           
      
   [        [        S5       Vs/ s H  n[        S5      [        X"-  S9-   PM     sn5      nUR	                  5       nSR                  SU S3SU S3S	U S
3/5      n[        R                  " [        US9   [        XA5      " 5         S S S 5        [        R                  " [        US9   [        UR                  5       U5      " SS9  S S S 5        g s  snf ! , (       d  f       NT= f! , (       d  f       g = f)Nr   r   r   |zreduction operation 'z' not allowed for this dtypezcannot perform z with type timedelta64\[ns\]zdoes not support operation ''ro   F)numeric_only)r   r1   r   r   r   joinrq   rr   	TypeErrorrH   r   )rO   rA   r6   r   r   msgs         r<   test_invalid_td64_reductions0TestIndexReductions.test_invalid_td64_reductionss  s    GLRyQy!Yz"Yqu%==yQ
 VVXhh'x/KL"6(*FG.vha8
 ]]9C0B! 1 ]]9C0BKKM6*> 10 R 10 10s   !CC#6C4#
C14
Dc                 ~   Un[        / SQUS9nUR                  (       d   e[        S[        SS[        /US9nUR                  (       a   eX44 Hk  nUR                  5       [	        SUS9:X  d   eUR                  5       [	        SUS9:X  d   eUR                  5       S:X  d   eUR                  5       S:X  a  Mk   e   g )N)
2011-01-01
2011-01-02
2011-01-03r$   r   r   r   r   r)   )r   r   r
   rC   r   rB   r~   r   )rO   tz_naive_fixturer%   r   r   r9   s         r<   test_minmax_tz"TestIndexReductions.test_minmax_tz  s    GBO++++ 3lC@R
 ////<C779	,2 >>>>779	,2 >>>>::<1$$$::<1$$$	  rT   c                 .   [        / 5      n[        [        X!5      " 5       5      (       d   e[        [        /5      n[        [        X!5      " 5       5      (       d   e[        [        [        [        /5      n[        [        X!5      " 5       5      (       d   eg r   )r   r   rH   r
   r   s      r<   test_minmax_nat_datetime64.TestIndexReductions.test_minmax_nat_datetime64  su     BGC$&''''SE"GC$&''''S#sO,GC$&''''rT   c                     [        / SQ5      nUR                  R                  5       n[        R                  " U5      nX2:X  d   eUR                  R	                  5       n[        R                  " U5      nX2:X  d   eSn[
        R                  " [        US9   [        R                  " USS9  S S S 5        [
        R                  " [        US9   [        R                  " USS9  S S S 5        UR                  R                  5       n[        R                  " U5      nX2:X  d   eUR                  R                  5       n[        R                  " U5      nX2:X  d   eSn[
        R                  " [        US9   [        R                  " USS9  S S S 5        [
        R                  " [        US9   [        R                  " USS9  S S S 5        g ! , (       d  f       GN%= f! , (       d  f       N= f! , (       d  f       Ni= f! , (       d  f       g = f)NrZ   r)   r|   r   ro   r   r   )
r	   rJ   rB   r,   rC   rq   rr   rs   r   r~   )rO   r9   rQ   rP   r   s        r<   test_numpy_minmax_integer-TestIndexReductions.test_numpy_minmax_integer  sg   I::>>#!!!::>>#!!!7]]:V4FF3A 5]]:V4FF3A 5 ::$$&3!!!::$$&3!!!7]]:V4IIcq! 5]]:V4IIcq! 54! 5444 5444s0   GG5G.,G?
G
G+.
G<?
Hc                    [        SSS5      n[        R                  " U5      nUS:X  d   e[        R                  " U5      nUS:X  d   eSn[        R
                  " [        US9   [        R                  " USS9  S S S 5        [        R
                  " [        US9   [        R                  " USS9  S S S 5        g ! , (       d  f       NF= f! , (       d  f       g = f)Nr   r   r|   r   r   ro   r   )r   r,   rB   rC   rq   rr   rs   )rO   r9   rP   r   s       r<   test_numpy_minmax_range+TestIndexReductions.test_numpy_minmax_range  s    B"{{{{7]]:V4FF3A 5]]:V4FF3A 54 5444s   %B;C;
C	
Cc                 d   [        SSS9n[        R                  " U5      [        S5      :X  d   e[        R                  " U5      [        S5      :X  d   eSn[
        R                  " [        US9   [        R                  " USS	9  S S S 5        [
        R                  " [        US9   [        R                  " USS	9  S S S 5        [        R                  " U5      S:X  d   e[        R                  " U5      S
:X  d   eSn[
        R                  " [        US9   [        R                  " USS	9  S S S 5        [
        R                  " [        US9   [        R                  " USS	9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nh= f! , (       d  f       g = f)N
2016-01-15
2016-01-20r   endz2016-01-15 00:00:00z2016-01-20 00:00:00r   ro   r   r   r   )
r   r,   rC   r   rB   rq   rr   rs   r~   r   )rO   drr   s      r<   test_numpy_minmax_datetime640TestIndexReductions.test_numpy_minmax_datetime64  s-   l=vvbzY'<====vvbzY'<====7]]:V4FF21 5 ]]:V4FF21 5 yy}!!!yy}!!!7]]:V4IIba  5 ]]:V4IIba  54 54 54 54 54s0   0E.'E?FF!.
E<?
F
F!
F/c                 
   [        [        SSS/SS9nUR                  (       a   eUSS  R                  (       d   e[        S[        SS[        /SS9nUR                  (       a   eX4 H?  nUR                  5       [	        SSS9:X  d   eUR                  5       [	        SSS9:X  a  M?   e   UR                  5       S:X  d   eUR                  5       S:X  d   eUR                  5       S:X  d   eUR                  5       S	:X  d   eg )
Nr   r   r   r&   r   rZ   r   r|   r)   )r   r
   r   rC   r   rB   r~   r   r   s       r<   test_minmax_period&TestIndexReductions.test_minmax_period  s    C|\JQTU////ABx//// 3lC@s
 ////<C779|# >>>>779|# >>>>   {{}!!!{{}!!!{{}!!!{{}!!!rT   datac                 N    [        USS9n[        X15      " 5       nU[        L d   eg )NMr   )r   rH   r
   )rO   r   r  rD   rP   s        r<   test_minmax_period_empty_nat0TestIndexReductions.test_minmax_period_empty_nat  s)     $S)!#}}rT   c                 `   [        SSS9n[        R                  " U5      [        SSS9:X  d   e[        R                  " U5      [        SSS9:X  d   eSn[
        R                  " [        US9   [        R                  " USS	9  S S S 5        [
        R                  " [        US9   [        R                  " USS	9  S S S 5        [        R                  " U5      S:X  d   e[        R                  " U5      S
:X  d   eSn[
        R                  " [        US9   [        R                  " USS	9  S S S 5        [
        R                  " [        US9   [        R                  " USS	9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nh= f! , (       d  f       g = f)Nr  r  r	  r&   r   r   ro   r   r   r   )
r   r,   rC   r   rB   rq   rr   rs   r~   r   )rO   prr   s      r<   test_numpy_minmax_period,TestIndexReductions.test_numpy_minmax_period  s'   ,?vvbzVLs;;;;vvbzVLs;;;;7]]:V4FF21 5]]:V4FF21 5 yy}!!!yy}!!!7]]:V4IIba  5]]:V4IIba  54 5444 5444s0   .E,%E=FF,
E:=
F
F
F-c                    [         R                  " [        S5      [        S5      SS9nSn[        R                  " [
        US9   UR                  5         S S S 5        Sn[        R                  " [
        US9   UR                  5         S S S 5        [         R                  " [        S5      [        S5      SS9nUR                  5       S	:X  d   eUR                  5       S
:X  d   eg ! , (       d  f       N= f! , (       d  f       Nt= f)NaabbcacabF
categoriesorderedzwCategorical is not ordered for operation min\nyou can use .as_ordered\(\) to change the Categorical to an ordered one\nro   zwCategorical is not ordered for operation max\nyou can use .as_ordered\(\) to change the Categorical to an ordered one\nTcr   )r_   CategoricalIndexlistrq   rr   r   rC   rB   )rO   cir   s      r<   test_min_max_categorical,TestIndexReductions.test_min_max_categorical!  s      hDKQVWY 	 ]]9C0FFH 1Y 	 ]]9C0FFH 1   hDKQUVvvx3vvx3 10 10s   C&8C7&
C47
Dr   N)r   r   r   r   rq   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r
   r  r  r$  r   r   rT   r<   r   r      s,   
 [[	
		0% [[TE5>2	) 3	)!*36j [[X'MN? O?(%$ [[TE5>2	( 3	("@&!."( [[TE5>2[[Vb3%#sC%AB C 3!*rT   r   c                   R   \ rS rSrS r\R                  R                  S/ SQ5      \R                  R                  SSS/5      \R                  R                  SS	S
/5      S 5       5       5       r\R                  R                  SSS/5      \R                  R                  S/ SQ5      S 5       5       r	\R                  R                  S/ SQ5      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\R                  R                  SSS/5      S 5       rS r\R                  R                  SS 5      S! 5       rS" rS# rS$ rS% rS& rS' rS( rS) rS* rS+ r\R                  R                  S,SS-/S-S/S\R:                  /\R:                  S//5      S. 5       r\R                  R                  S/ S/Q5      \R                  R                  S0/ S1QSS/SS//4/ S2QSS/SS//4\R@                  \R@                  \R@                  /\R@                  \R@                  /SS//4S3\R@                  S3/\R@                  S/SS//4S4\R@                  S4/S\R@                  /SS//4S4\R@                  S3/SS/SS//4/5      S5 5       5       r!S6 r"S7 r#S8 r$S9 r%S: r&S; r'S< r(S= r)S> r*S? r+S@ r,SA r-SB r.SCr/g-)DTestSeriesReductionsi5  c                 \   [        [        R                  R                  S5      R	                  S5      5      nUR                  5       n[        R                  USS& [        R                  USS& [        R                  " UR                  5       5      (       d   e[        R                  R                  S5      R	                  S5      R                  S5      n[        R                  US S 2S4'   [        R                  " USS9n[        R                  " U5      R                  5       (       d   eg )	Nr)   r   r      )d   r*  f4rZ   r   )r   r,   r3   r4   r5   copyinfr   isinfr   rM   r   nansumall)rO   r   s2r8   ra   s        r<   test_sum_inf!TestSeriesReductions.test_sum_inf:  s    299((+;;B?@VVX!A&&1Qxx    ii##A&66zBII$OFFAqD	mmCa(xx}  """"rT   r   )r/   Float32r[   r\   rU   use_bottleneckTFzmethod, unit)r           )r         ?c                    US;   a  [         R                  O[        R                  n[         R                  " SU5         [        / US9n[        Xa5      " 5       nXr:X  d   e[        Xa5      " SS9nXr:X  d   e[        Xa5      " SS9n[        U5      (       d   e[        Xa5      " SS9nXr:H    [        Xa5      " SSS	9nXr:X  d   e[        Xa5      " SSS	9n[        U5      (       d   e[        Xa5      " S
SS	9nXr:X  d   e[        Xa5      " S
SS	9n[        U5      (       d   e[        U/US9n[        Xa5      " 5       nXr:X  d   e[        Xa5      " SS9nXr:X  d   e[        Xa5      " SS9n[        U5      (       d   e[        Xa5      " SS9nXr:H    [        Xa5      " SSS	9nXr:X  d   e[        Xa5      " SSS	9n[        U5      (       d   e[        US/US9n[        Xa5      " 5       nUS:X  d   e[        Xa5      " SS9nUS:X  d   e[        Xa5      " SS9nUS:X  d   e[        Xa5      " SS9nUS:X  d   e[        Xa5      " SSS	9nUS:X  d   e[        [        R                  " S5      US9n[        X5      " SS9U:H  R                  5       (       d   e[        S/US9n[        Xa5      " SS9n[        U5      (       d   e[        Xa5      " S
SS	9n[        U5      (       d   e[        U/US9n[        Xa5      " SS9n[        U5      (       d   e[        US/US9n[        Xa5      " SS9n[        U5      (       d   e S S S 5        g ! , (       d  f       g = f)N)r4  r[   r5  rd   r   )	min_countrZ   Tre   )rf   r9  Fr7  )r   r   r   r)   )r_   r`   r,   r   option_contextr   rH   r   r   emptyr0  )	rO   methodr#   r5  r   itemr   rP   r   s	            r<   
test_emptyTestSeriesReductions.test_emptyI  sN    !55ruu266/@ r'AQ')F>!> Q'!4F>!>Q'!4F<<< Q't4FN Q'tqAF>!>Q'tqAF<<<Q'uBF>!>Q'uBF<<< vU+AQ')F>!> Q'!4F>!>Q'!4F<<< Q't4FN Q'tqAF>!>Q'tqAF<<< ay.AQ')FS= = Q'!4FS= =Q'!4FS= = Q't4FS= =Q'tqAFS= = 288G,E:BB'Q/47<<>>>>s%(AQ'!4F<<<Q'uBF<<<vU+AQ'!4F<<<ay.AQ'!4F<<<{ A@@s   K0L88
Mr<  r   r   )Float64r[   r\   c                     [        / US9n[        X15      " 5       nU[        R                  L d   e[        [        R                  /US9n[        XQ5      " 5       nU[        R                  L d   eg Nrd   r   rH   r_   r`   )rO   r<  r   eserrP   nsers         r<   &test_ops_consistency_on_empty_nullable;TestSeriesReductions.test_ops_consistency_on_empty_nullable  s^     b&&( ruugU+&(rT   )r   r   r   r   c                 d   [        [        [        S9U5      " 5       n[        U5      (       d   e[        / SS9nUS:X  aF  SR	                  / SQ5      n[
        R                  " [        US9   [        X15      " 5         S S S 5        g [        X15      " 5       nU[        L d   eg ! , (       d  f       g = f)Nrd   m8[ns]r   r   )zoperation 'var' not allowedz.cannot perform var with type timedelta64\[ns\]z does not support operation 'var'ro   )	rH   r   floatr   r   rq   rr   r   r
   )rO   r<  rP   tdserr   s        r<   test_ops_consistency_on_empty2TestSeriesReductions.test_ops_consistency_on_empty  s     e,f57F||| r*U?((C y4&( 54 U+-FS= =	 54s   +B!!
B/c                     [        S[        R                  /SS/S9n[        R                  " U5      n[        R
                  " US5        g )Nr7  r   rZ   r+   )r   r,   r   r/  r   assert_almost_equal)rO   serrP   s      r<   test_nansum_buglet'TestSeriesReductions.test_nansum_buglet  s7    c266]1a&13
vq)rT   int32r.   c                    [         R                  " SU5         [        R                  " SUS9n[	        U5      nUR                  SS9n[        U5      UR                  SS9:X  d   eUR                  SS9n[        U5      S:X  d   eUR                  SS9n[        U5      US   :X  d   e S S S 5        g ! , (       d  f       g = f)	Nr5  @KL rd   Fre   r.   r   )	r_   r:  r,   r-   r   r   intrC   rB   rO   r5  r   vr   rP   s         r<   test_sum_overflow_int*TestSeriesReductions.test_sum_overflow_int  s     /@ 		'/Aq	AUU%U(Fv;!%%g%"6666UU%U(Fv;!###UU%U(Fv;!B%''' A@@s   BB33
Cfloat32r/   c                    [         R                  " SU5         [        R                  " SUS9n[	        U5      nUR                  SS9nXSR                  US9:X  d   eUR                  SS9n[        R                  " [        U5      S5      (       d   eUR                  SS9n[        R                  " [        U5      US   5      (       d   e S S S 5        g ! , (       d  f       g = f)Nr5  rV  rd   Fre   r6  rW  )
r_   r:  r,   r-   r   r   rC   allcloserJ  rB   rY  s         r<   test_sum_overflow_float,TestSeriesReductions.test_sum_overflow_float  s     /@		'/Aq	AUU%U(FUUU////UU%U(F;;uV}c2222UU%U(F;;uV}ae4444 A@@s   B3C
C#c                     SnSn[         R                  " U/U-  5      n[        U/U-  SS9n[         R                  " U5      nUR                  5       nXe-
  S:X  d   eUS:X  d   eg )Nl     ;r*  r[   rd   r   g ؅W4vC)r,   rK   r   r   )rO   rg   
n_elementsnarQ  result_numpyresult_maskeds          r<   test_mean_masked_overflow.TestSeriesReductions.test_mean_masked_overflow  sk    %
XXsej()cUZ'w7wwr{
+q000$$$rT   z	ddof, exp)rZ         @)r   rV   c                     [        / SQSS9n[        / SQSS9nUR                  US9nUR                  US9nXV:X  d   eXR:X  d   eg )N)rZ   r)   r|   r{   r   r[   rd   r.   ddof)r   r   )rO   rl  exprQ  ser_numpy_dtyperP   result_numpy_dtypes          r<   test_var_masked_array*TestSeriesReductions.test_var_masked_array  sV     _G4 @d#,00d0;+++}}rT   c                 x    [        / SQ[        S9nUR                  SS9S:X  d   eUR                  SS9S:X  d   eg )N)y                                           ?rd   rZ   rk  r7  )r   complexr   r   rO   rQ  s     r<   test_var_complex_array+TestSeriesReductions.test_var_complex_array  s>    ]'2wwAw#%%%wwAw#%%%rT   )rI  rG   zM8[ns, UTC]c                     [        / US9R                  US9[        L d   e[        / US9R                  US9[        L d   eg )Nrd   re   )r   rC   r
   rB   )rO   r   rf   s      r<   +test_empty_timeseries_reductions_return_nat@TestSeriesReductions.test_empty_timeseries_reductions_return_nat  sJ     b&**&*9S@@@b&**&*9S@@@rT   c                 j   [         R                  " SS5      n[        XS9n[         R                  " U5      n[         R                  " U5      nX4:X  d   eUR                  5       nX4:X  d   eSn[        R
                  " [        US9   [         R                  " X!S9  S S S 5        g ! , (       d  f       g = fNrZ   rY   rO  r   ro   r   )r,   r-   r   r~   rq   rr   rs   )rO   r  r   rP   rQ   r   s         r<   test_numpy_argmin&TestSeriesReductions.test_numpy_argmin  s    yyB4$199T?!!!!!!4]]:S1IIa" 211   B$$
B2c                 j   [         R                  " SS5      n[        XS9n[         R                  " U5      n[         R                  " U5      nX4:X  d   eUR                  5       nX4:X  d   eSn[        R
                  " [        US9   [         R                  " X!S9  S S S 5        g ! , (       d  f       g = fr}  )r,   r-   r   r   rq   rr   rs   )rO   r  rQ  rP   rQ   r   s         r<   test_numpy_argmax&TestSeriesReductions.test_numpy_argmax/  s    yyBT&399T?!!!!!!4]]:S1IIc$ 211r  c                    [        / SQ5      R                  U5      n[        SS[        R                  /US9n[
        R                  " [        SS9   UR                  SS9  S S S 5        [
        R                  " [        SS9   UR                  SS9  S S S 5        UR                  5       n[
        R                  " [        SS9   UR                  SS9  S S S 5        [
        R                  " [        SS9   UR                  SS9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nb= f! , (       d  f       g = f)	N)r
   z
2015-02-08r
   r7  rV   rO  rn   ro   Fre   )r   as_unitr   r,   r   rq   rr   rs   idxminidxmaxr   )rO   r#   dtirQ  r   s        r<   test_idxmin_dt64index*TestSeriesReductions.test_idxmin_dt64index@  s    89AA$Gc3's3]]:-FGJJeJ$ H]]:-FGJJeJ$ H \\^]]:-FGIIUI# H]]:-FGIIUI# HG HGGG HGGGs0   DDD/4E 
D
D,/
D= 
Ec                    [        [        S5      [        R                  SS9n[        R                  USS& XR                  5          UR                  5       :X  d   e[        R                  " [        SS9   UR                  SS	9  S S S 5        UR                  5       nX"R                  5          UR                  5       :X  d   eUR                  R                  R                  5       R                  UR                  5       5      UR                  R                  5       :X  d   eU[        R                  -  nS
n[        R                  " [        US9   UR                  5         S S S 5        [        [        SSS95      nUR                  5       nUS:X  d   e[        R                  US'   UR                  5       nUS:X  d   eg ! , (       d  f       GNB= f! , (       d  f       Nw= f)Nr   r:   r   r      rn   ro   Fre   r}   20130102r   r"   r   rZ   )r   r1   r,   r/   r   r  rC   rq   rr   rs   r   r+   rJ   tolistr~   r   rO   string_seriesnonaallnar   r   rP   s          r<   test_idxmin TestSeriesReductions.test_idxminO  su    uRy

J !ffa 11348I8I8KKKK]]:-FG   . H ##%KKM"dhhj000zz  '')//>$++BTBTBVVVV &)]]:S1LLN 2 :j!45{{vv!{{+ HG 21s   5G G 
G
G c                 
   [        [        S5      [        R                  SS9n[        R                  USS& XR                  5          UR                  5       :X  d   e[        R                  " [        SS9   [        UR                  SS	95      (       d   e S S S 5        UR                  5       nX"R                  5          UR                  5       :X  d   eUR                  R                  R                  5       R                  UR                  5       5      UR                  R                  5       :X  d   eU[        R                  -  nS
n[        R                  " [        US9   UR                  5         S S S 5        [        [!        SSS95      nUR                  5       nUS:X  d   e[        R                  US'   UR                  5       nUS:X  d   e[        / SQ/ SQ5      nUR                  5       nUS:X  d   eUR#                  5       nUS:X  d   e[        UR                  UR                  5      nUR                  5       nUS:X  d   eUR#                  5       nUS:X  d   eg ! , (       d  f       GN= f! , (       d  f       GN= f)Nr   r:   r   r   r  rn   ro   Fre   r}   r  r   r  r{   r   )皙?g @@r  r  )r   r1   r,   r/   r   r  rB   rq   rr   rs   r   r   r+   rJ   r  r   r   r  r  s          r<   test_idxmax TestSeriesReductions.test_idxmaxp  s    uRy

J !ffa 11348I8I8KKKK]]:-FG,,E,:;;;; H ##%KKM"dhhj000zz  '')//>$++BTBTBVVVV &)]]:S1LLN 2 :j!45{{vv!{{ 9o.}}}}177AGG$}}}}E HG 21s   5 I!!I3!
I03
Jc                    [        [        R                  " S[        R                  S9[	        SSS9SS9nUS:  nUR                  5       (       a   eUR                  5       (       d   e[        SS	/5      nUR                  5       (       d   eg )
Nr   rd   r    r  tsr*   r   abcT)r   r,   r-   r/   r   r0  any)rO   r  bool_seriesr   s       r<   test_all_any!TestSeriesReductions.test_all_any  s{    IIb

+\26

 1f??$$$$     E4=!uuwwwrT   c                     U" / SQ5      n[         R                  " U5      (       a   e[         R                  " U5      (       d   e[        / SQ5      n[         R                  " U5      (       d   eg )N)r   rZ   r)   r   )r,   r0  r  r	   )rO   rh   r9   s      r<   test_numpy_all_any'TestSeriesReductions.test_numpy_all_any  sL    i(66#;;vvc{{{Ivvc{{{rT   c                     [        [        R                  S/5      n[        [        R                  S/5      nUR                  SS9(       d   eUR                  SS9(       d   eUR	                  SS9(       d   eUR	                  SS9(       a   eg )NTFre   )r   r,   r   r0  r  )rO   s1r1  s      r<   test_all_any_skipna(TestSeriesReductions.test_all_any_skipna  sy    RVVTN#RVVUO$vvUv###vvTv"""vvUv###666&&&&rT   c                 x    [        / SQ/ SQS9nUR                  SS9(       d   eUR                  SS9(       a   eg )N)FFTTFT)r   r   rZ   rZ   r)   r)   rO  T)	bool_only)r   r  r0  rO   r   s     r<   test_all_any_bool_only+TestSeriesReductions.test_all_any_bool_only  s=    :BTU uutu$$$5545((((rT   c                 T    [        / SQ[        S9n[        X15      " US9nSnXE:X  d   eg )N)r   r   r   derd   re   T)r   rU   rH   )rO   all_boolean_reductionsrf   rQ  rP   rQ   s         r<   test_any_all_object_dtype.TestSeriesReductions.test_any_all_object_dtype  s/    .f=5VD!!!rT   r  Nc                 h    [        U5      n[        X25      " SS9nUS:H  =(       a    S U;  nXE:X  d   eg )NFre   r  )r   rH   )rO   r  r  rQ  rP   rQ   s         r<   !test_any_all_object_dtype_missing6TestSeriesReductions.test_any_all_object_dtype_missing  s>    
 Tl5UC *U2Gt47G!!!rT   )r\   r[   UInt64r@  zdata,expected_data)r   r   r   )rZ   rZ   rZ   r   rZ   c                     [        X4S9nXR   US:H     n[        Xa5      " US9nU[        R                  L a  U[        R                  L d  X:X  d   eg g )Nrd   r0  re   rC  )	rO   r  rf   r  r   expected_datarQ  rQ   rP   s	            r<   "test_any_all_nullable_kleene_logic7TestSeriesReductions.test_any_all_nullable_kleene_logic  sW    $ T' ()?5)HI5VD"%%H$5&:LLL:L$5rT   c                     [        SS/SS/S.5      nUR                  SSS9n[        SS/5      n[        R                  " X#5        g )NTFrZ   r)   r   )r   r  )r   r  r   r   r   )rO   r   rP   rQ   s       r<   test_any_axis1_bool_only-TestSeriesReductions.test_any_axis1_bool_only  sG    dE]!Q89Q$/4-(
v0rT   c                  	   [        SSS9R                  n[        U5      n[        U5      nSn[        R
                  " [        US9   UR                  5         S S S 5        [        R
                  " [        US9   UR                  5         S S S 5        [        R
                  " [        US9   UR                  5         S S S 5        [        R
                  " [        US9   UR                  5         S S S 5        [        R
                  " [        US9   UR                  5       R                  5         S S S 5        [        R
                  " [        US9   UR                  5       R                  5         S S S 5        UR                  S5      n[        U5      n[        U5      n[        R
                  " [        US9   UR                  5         S S S 5        [        R
                  " [        US9   UR                  5         S S S 5        [        R
                  " [        US9   UR                  5         S S S 5        [        R
                  " [        US9   UR                  5         S S S 5        [        R
                  " [        US9   UR                  5       R                  5         S S S 5        [        R
                  " [        US9   UR                  5       R                  5         S S S 5        XS   -
  n[        U5      n[        U5      nUR                  5       (       d   eUR                  5       (       a   eUR                  5       (       d   eUR                  5       (       a   eUR                  5       R                  5       (       d   eUR                  5       R                  5       (       a   eg ! , (       d  f       GNX= f! , (       d  f       GN8= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNU= f! , (       d  f       GN5= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f)Nz
1995-01-02r|   r  z6datetime64 type does not support operation '(any|all)'ro   r   r   )
r   _datar   r   rq   rr   r   r0  r  r0   )rO   dtarQ  r   r   tdas         r<   test_any_all_datetimelike.TestSeriesReductions.test_any_all_datetimelike  s    q177Sks^ G]]9C0GGI 1]]9C0GGI 1 ]]9C0GGI 1]]9C0GGI 1 ]]9C0FFHLLN 1]]9C0FFHLLN 1 ooe$Sks^]]9C0GGI 1]]9C0GGI 1 ]]9C0GGI 1]]9C0GGI 1 ]]9C0FFHLLN 1]]9C0FFHLLN 1 FlSks^wwyyy7799}wwyyy7799}vvx||~~~668<<>>!!>[ 1000 1000 1000 1000 1000 1000s   N(8N:*OOO0P5P'P&P8Q
=Q=Q.(
N7:
O	
O
O-0
O?
P
P#&
P58
Q

Q
Q+.
Q=c                    [        U[        R                  5      (       a  UR                  [        R                  L as  [        SS/US9n[        R                  " [        5         UR                  5         S S S 5        [        R                  " [        5         UR                  5         S S S 5        g [        SS/US9nUR                  5       (       d   eUR                  5       (       a   eUR                  SS9(       d   eUR                  SS9(       a   e[        [        R                  S/US9nUR                  5       (       d   eUR                  5       (       d   eUR                  SS9(       d   eUR                  SS9(       d   e[        [        R                  S/US9nUR                  5       (       a   eUR                  5       (       a   eUR                  SS9(       d   eUR                  SS9(       a   e[        SS/US9nUR                  5       (       d   eUR                  5       (       d   eUR                  SS9(       d   eUR                  SS9(       d   e[        / US9nUR                  5       (       a   eUR                  5       (       d   eUR                  SS9(       a   eUR                  SS9(       d   e[        S/US9nUR                  5       (       a   eUR                  5       (       a   eUR                  SS9(       a   eUR                  SS9(       a   e[        [        R                  /US9nUR                  5       (       a   eUR                  5       (       d   eUR                  SS9(       d   eUR                  SS9(       d   eg ! , (       d  f       GN4= f! , (       d  f       g = f)Nr   r   rd    Fre   )rI   r_   StringDtypena_valuer`   r   rq   rr   r   r  r0  r,   r   )rO   any_string_dtyperQ  s      r<   test_any_all_string_dtype.TestSeriesReductions.test_any_all_string_dtype/  s    '88 ))RUU2 #s+;<Cy)	 *y)	 *b#Y&67wwyyy7799}wwew$$$77%7(((bffc]*:;wwyyywwyyywwew$$$wwew$$$bffb\)9:7799}7799}wwew$$$77%7(((c3Z'78wwyyywwyyywwew$$$wwew$$$R/07799}wwyyy77%7(((wwew$$$bT!127799}7799}77%7(((77%7(((bffX%567799}wwyyywwew$$$wwew$$$] *)))s   #N!N3!
N03
Oc                    [        SSSS9n[        U5      [        S5      -
  nUR                  5       nUS:X  d   eUR	                  5       nUS:X  d   e[
        R                  US'   UR                  5       nUS:X  d   eUR	                  5       nUS:X  d   e[        [        SSS	95      n[        [        S
SS	95      n[        XT-
  5      n[
        R                  " XE-
  5      n[        R                  " X65        XE-
  R                  5       n[        R                  " X65        UR                  5       n[        S5      nX6:X  d   eUR                  5       n[        S5      nX6:X  d   eg )Nz2012-1-1r|   r&   r'   20120101r   r)   rZ   r  20120102r   r   )r   r   r   r  r  r,   r   absr   r   rB   r   rC   )rO   r  r   rP   r  r1  rQ   s          r<   test_timedelta64_analytics/TestSeriesReductions.test_timedelta64_analyticsh  s9   QS9C[9Z00{{{{ 1{{{{ Jz156Jz156"'?
v0'
v0 X&!!!X&!!!rT   c                 4   [        / SS9nSn[        R                  " [        US9   UR	                  5         SSS5        [        R                  " [        US9   UR	                  SS9  SSS5        Sn[        R                  " [        US9   UR                  5         SSS5        [        R                  " [        US9   UR                  SS9  SSS5        g! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nb= f! , (       d  f       g= f)	zE
Cases where ``Series.argmax`` and related should raise an exception
r/   rd   z*attempt to get argmin of an empty sequencero   NFre   z*attempt to get argmax of an empty sequence)r   rq   rr   rs   r  r  )rO   
test_inputr   s      r<   "test_assert_idxminmax_empty_raises7TestSeriesReductions.test_assert_idxminmax_empty_raises  s     Bi0
:]]:S1 2]]:S1U+ 2:]]:S1 2]]:S1U+ 21 2111 2111s/   CC'C8=D	
C$'
C58
D	
Dc           	         [        / SQ5      nUR                  5       S:X  d   eUR                  SS9S:X  d   eUR                  5       S:X  d   eUR                  SS9S:X  d   e[        SS/5      nUR                  5       S:X  d   eUR                  SS9S:X  d   eUR                  5       S:X  d   eUR                  SS9S:X  d   eU(       d  [        SSS	S	S [        R                  S
/5      nSn[
        R                  " [        US9   UR                  5         S S S 5        [
        R                  " [        US9   UR                  SS9  S S S 5        Sn[
        R                  " [        US9   UR                  5         S S S 5        [
        R                  " [        US9   UR                  SS9  S S S 5        g g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nc= f! , (       d  f       g = f)N)foobarbazr   Fre   rZ   )rZ   )r)   r  r  r  z8'>' not supported between instances of 'float' and 'str'ro   z8'<' not supported between instances of 'float' and 'str')r   r  r  r,   r   rq   rr   r   )rO   using_infer_stringrQ  ser2ser3r   s         r<   test_idxminmax_object_dtype0TestSeriesReductions.test_idxminmax_object_dtype  s   *+zz|q   zzz'1,,,zz|q   zzz'1,,,tTl#{{}!!!{{%{(A---{{}!!!{{%{(A---!5%tRVVUKLDLCy4 5y45) 5LCy4 5y45) 54 " 5444 5444s0   	F:;G.G G-:
G
G
G*-
G;c                     [        SS/SS/SS//5      nUR                  5       n[        SS/5      n[        R                  " X#5        g )	Nzimmri  biffr7  bidg      (@r   r)   )r   r  r   r   r   )rO   r   ra   rm  s       r<   test_idxminmax_object_frame0TestSeriesReductions.test_idxminmax_object_frame  sE    }udmDEiikaVn
s(rT   c                     [        / SQ5      nUR                  5       S:X  d   eUR                  5       S:X  d   eUR                  SS9S:X  d   eUR                  SS9S:X  d   eg )N))rZ   r|   )r)   r)   )r|   rZ   r)   r   Fre   )r   r  r  rv  s     r<   test_idxminmax_object_tuples1TestSeriesReductions.test_idxminmax_object_tuples  sg    -.zz|q   zz|q   zzz'1,,,zzz'1,,,rT   c                 6   [        SS/[        S5      [        S5      /[        S5      [        S5      /S.5      nUR                  5       n[        SSSS.5      n[        R
                  " X#5        UR                  5       nUS-
  n[        R
                  " XE5        g )Nr   rZ   z8.68z42.23z7.11z79.61)r9   xy)r   r   r  r   r   r   r  )rO   r   ra   rm  res2exp2s         r<   test_idxminmax_object_decimals3TestSeriesReductions.test_idxminmax_object_decimals  s    1vfoww'78foww'78
 iikQQQ/0
s(yy{Qw
t*rT   c                     [        SS/SS9nUR                  5       S:X  d   eUR                  5       S:X  d   eUR                  SS9S:X  d   eUR                  SS9S:X  d   eg )Nr   rZ   rU   rd   Fre   )r   r   r~   rv  s     r<   test_argminmax_object_ints/TestSeriesReductions.test_argminmax_object_ints  sl    aV8,zz|q   zz|q   zzz'1,,,zzz'1,,,rT   c                    [        S[        R                  * [        R                  [        R                  /5      nUR	                  5       S:X  d   e[
        R                  " [        SS9   UR	                  SS9  S S S 5        UR                  5       S:X  d   e[
        R                  " [        SS9   UR                  SS9  S S S 5        g ! , (       d  f       NV= f! , (       d  f       g = f)Nr   rZ   rn   ro   Fre   r)   )	r   r,   r-  r   r  rq   rr   rs   r  r  s     r<   test_idxminmax_with_inf,TestSeriesReductions.test_idxminmax_with_inf  s    Aw/0xxzQ]]:-FGHHEH" H xxzQ]]:-FGHHEH" HG	 HG HGs   *C
1C

C
C)c                     [        S/SS9nUR                  5       n[        R                  " S5      n[        R
                  " X#5        g )Nl     9V uint64rd   )r   r   r,   r  r   rP  )rO   r   rP   rQ   s       r<   test_sum_uint64$TestSeriesReductions.test_sum_uint64  s:    ():9912
v0rT   c                     [        / SQ5      nUR                  S5      R                  5       nU(       a  [        U[        5      (       d   eg [        U[
        R                  5      (       d   eg )N)rZ   r)   r|   r{   uint8)r   rM   r   rI   rX  r,   r  )rO   using_python_scalarsrQ  rP   s       r<   #test_signedness_preserved_after_sum8TestSeriesReductions.test_signedness_preserved_after_sum  sP    \"G$((*fc****fbii0000rT   r   )0r   r   r   r   r2  rq   r   r   r>  rF  rL  rR  r[  r`  rg  rp  rw  rz  r~  r  r  r  r  r  r  r  r  r  r,   r   r  r_   r`   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   rT   r<   r'  r'  5  s   
# [[E [[-e}=[[^lM-JK_  L >
_ B [[X7[[W&EF G 8 [[X'GH! I!0*
 [[-e}=[[Ww&89( : >( [[-e}=[[Wy)&<=
5 > >
5
% [[[8X*>? @& [[W&IJA KA
#$%"$B,\')" [[%urvvP"" [[W&OP[[ 	%%89$d|45eeRUUBEE"beeRUU^eT]$CD]beeU^eU^<=]dBEE]T4L9:]dE]T5M:;	
	M QM16"p7%r'"R, *8)-+"-
#11rT   r'  c                   8   \ rS rSr\R
                  R                  S\" \\/5      \" \\	" S5      /5      \" \	" S5      \	" S5      /5      /5      S 5       r
\R
                  R                  S\\/\\	" S5      /\	" S5      \	" S5      //5      S 5       rS rS rS	rg
)TestDatetime64SeriesReductionsi  nat_sernatc                     UR                  5       [        L d   eUR                  5       [        L d   eUR                  SS9[        L d   eUR                  SS9[        L d   eg r   )rC   r
   rB   )rO   r   s     r<   test_minmax_nat_series5TestDatetime64SeriesReductions.test_minmax_nat_series  s^     {{}###{{}###{{%{(C///{{%{(C///rT   nat_dfc                     [        U5      nUR                  5       S   [        L d   eUR                  5       S   [        L d   eUR                  SS9S   [        L d   eUR                  SS9S   [        L d   eg )Nr   Fre   )r   rC   r
   rB   )rO   r  s     r<   test_minmax_nat_dataframe8TestDatetime64SeriesReductions.test_minmax_nat_dataframe  sz     6"zz|A#%%%zz|A#%%%zzz'*c111zzz'*c111rT   c                    [        SS5      nUR                  [        R                  R	                  S5      R                  [        U5      5      5      nUR                  5       nUR                  5       n[        U[        5      (       d   e[        U[        5      (       d   eX1S   :X  d   eXAS   :X  d   eUR                  5       US   :X  d   eUR                  5       US   :X  d   eg )N1/1/2000z
12/31/2000r)   r   rW  )r   taker,   r3   r4   permutationlenrC   rB   rI   r   )rO   rngrng2the_minthe_maxs        r<   test_min_max+TestDatetime64SeriesReductions.test_min_max'  s    \2xx		--a0<<SXFG((*((*'9----'9----a&   b'!!!wwyCF"""wwyCG###rT   c                    [        SSSS9n/ SQn[        U[        R                  R	                  S5      R                  [        U5      5      US.5      nUR                  R                  5       n[        UR                  R                  S   5      n[        U[        5      (       d   eXE:X  d   eUR                  R                  5       n[        UR                  R                  S	   5      n[        U[        5      (       d   eXE:X  d   eg )
Nr
  r   4hr'   )
r   r   r   r   r   r   Cr  r  r  r)   )TSVLrW  r   )r   r   r,   r3   r4   r5   r  r  rB   r   iatrI   rC   )rO   r  lvlsr   rP   rm  s         r<   test_min_max_series2TestDatetime64SeriesReductions.test_min_max_series5  s    Rd;AYY**1-==c#hG
 		"&&),,,,}}		!%&),,,,}}rT   r   N)r   r   r   r   rq   r   r   r   r
   r   r  r  r  r  r   r   rT   r<   r  r    s    
 [[C:C5)*+Ie$i&678	
00 [[#J)E"#uy/0	
22$rT   r  c                      \ rS rSr\R
                  R                  SSS/5      S 5       r\R
                  R                  S\" S5      \" S5      4\" S5      \" S5      4/ \" S5      Q\	R                  P\" S5      4/ S	Q/ S
Q4SSS\	R                  // S
Q4/5      \R
                  R                  SSS/5      S 5       5       r\R
                  R                  SSS/5      S 5       r\R
                  R                  SSS/5      S 5       rSrg)TestCategoricalSeriesReductionsiK  functionrC   rB   c                     [        [        / SQSS95      nSU 3n[        R                  " [        US9   [        X!5      " 5         S S S 5        g ! , (       d  f       g = f)N)r   r   r   r  F)r  z)Categorical is not ordered for operation ro   )r   r   rq   rr   r   rH   )rO   r   catr   s       r<   test_min_max_unordered_raises=TestCategoricalSeriesReductions.test_min_max_unordered_raisesP  sG     [!5uEF9(D]]9C0C"$ 100s   A
Azvalues, categoriesr  cbar   r|   r)   rZ   rZ   r)   r|   c                 v    [        [        XSS95      n[        XC5      " SS9nUS:X  a  US   OUS   nXV:X  d   eg )NTr  re   rC   r   r)   )r   r   rH   )rO   rJ   r  r   r"  rP   rQ   s          r<   test_min_max_ordered4TestCategoricalSeriesReductions.test_min_max_orderedX  sF     [MN't4$,$5:a=:a=!!!rT   c                     [        [        [        R                  /SS/SS95      n[	        X15      " US9nU[        R                  L d   eg )NrZ   r)   Tr  re   r   r   r,   r   rH   )rO   r   rf   r"  rP   s        r<   "test_min_max_ordered_with_nan_onlyBTestCategoricalSeriesReductions.test_min_max_ordered_with_nan_onlyj  sB     ["&&q!fdKL'v6rT   c                     [        [        SS[        R                  S/SS/SS95      n[	        X15      " US9nUSL a  US:X  a  SOSnXE:X  d   eg U[        R                  L d   eg )Nr   r   Tr  re   rC   r+  )rO   r   rf   r"  rP   rQ   s         r<   test_min_max_skipna3TestCategoricalSeriesReductions.test_min_max_skipnaq  sn    c2663/S#JPTU
 'v6T>&%/sSH%%%RVV###rT   r   N)r   r   r   r   rq   r   r   r#  r"  r,   r   r(  r,  r/  r   r   rT   r<   r  r  K  s"   
 [[Z%8% 9% [[%[$u+&%[$u+&#tE{#BFF#T%[1	"Arvv	*	
	 [[Z%8" 9	" [[Z%8  9  [[Z%8
$ 9
$rT   r  c                      \ rS rSrS r\R                  R                  SS/ SQS/4S/ SQSS/4S	/ SQS/4S	/ SQSS/4/5      S
 5       r\R                  R                  SSS/4S	S\	R                  /4/5      S 5       r\R                  R                  SSS/S/4S	S/\	R                  /4/5      S 5       r\R                  R                  SSS/S/4S	S/\	R                  /4/5      S 5       r\R                  R                  SSS/S/4S	S/\	R                  /4/5      S 5       r\R                  R                  SS/ SQSS/4S	\	R                  /\	R                  SS/4/5      S 5       r\R                  R                  SS/ SQSS/4S	\	R                  /\	R                  SS/4/5      S 5       r\R                  R                  SS\" SS/SS/S9\" S /SS /S9\" SS// S!QSS"94S	\" \	R                  /SS/S9\" \	R                  S /SS /S9\" \	R                  SS// S!QSS"94/5      S# 5       r\R                  R                  SSS$/SS$/4S	S$/SS$/4/5      S% 5       rS& rS' r\R                  R                  S(/ S)QS/\	R,                  4/ S)QS/\	R.                  4/ S*QS+/\	R,                  4/5      S, 5       r\R                  R                  S(/ S-Q/ S.Q\	R,                  4/ S/QS0S+/\	R.                  4/5      S1 5       rS2rg3)4TestSeriesModei  c                     [        / [        R                  S9nUR                  U5      n[        R
                  " X25        g rB  )r   r,   r/   moder   r   )rO   r   r   rP   s       r<   test_mode_emptyTestSeriesMode.test_mode_empty  s-    2RZZ(
v)rT   zdropna, data, expectedT)rZ   rZ   rZ   r)   rZ   )rZ   rZ   rZ   r)   r|   r|   r|   r|   Fc                 v    [        X$S9nUR                  U5      n[        X4S9n[        R                  " Xc5        g rB  r   r4  r   r   )rO   r   r  rQ   any_real_numpy_dtyper   rP   s          r<   test_mode_numerical"TestSeriesMode.test_mode_numerical  s3     44(?
v0rT   zdropna, expectedr7  c                     [        SSS[        R                  [        R                  /5      nUR                  U5      n[        U5      n[        R
                  " XB5        g )NrZ   r)   )r   r,   r   r4  r   r   )rO   r   rQ   r   rP   s        r<   test_mode_numerical_nan&TestSeriesMode.test_mode_numerical_nan  sD    Aq!RVVRVV,-(#
v0rT   zdropna, expected1, expected2r   r  c                 ~   S/S-  S/S-  -   n[        USS9nUR                  U5      n[        USS9n[        R                  " Xb5        SSS[        R
                  [        R
                  [        R
                  /n[        U[        S9nUR                  U5      n[        U[        S9n[        R                  " Xc5        g )	Nr   r)   r   r|   r   rd   r  r  )r   r4  r   r   r,   r   rU   )rO   r   	expected1	expected2r  r   rP   s          r<   test_mode_objectTestSeriesMode.test_mode_object  s     uqyC519$4s#9C0	
v1ueRVVRVVRVV<4v&9F3	
v1rT   c                 f   S/S-  S/S-  -   n[        XTS9nUR                  U5      n[        X$S9n[        R                  " Xr5        SSS[        R
                  [        R
                  [        R
                  /n[        XTS9nUR                  U5      n[        X4S9n[        R                  " Xs5        g )Nr   r)   r   r|   rd   r  r  )r   r4  r   r   r,   r   )rO   r   r@  rA  r  r  r   rP   s           r<   test_mode_stringTestSeriesMode.test_mode_string  s     uqyC519$409=	
v1ueRVVRVVRVV<409=	
v1rT   r  c                 h   [        / SQ5      nUR                  U5      n[        U[        S9n[        R                  " XV5        [        SSS[
        R                  [
        R                  [
        R                  /5      nUR                  U5      n[        U[        S9n[        R                  " XV5        g )N)rZ   r  r  rd   rZ   r  )r   r4  rU   r   r   r,   r   )rO   r   r@  rA  r   rP   rQ   s          r<   test_mode_mixeddtype#TestSeriesMode.test_mode_mixeddtype  s    
 $%)62
v0AueRVVRVVRVV<=)62
v0rT   )
1900-05-03r   
2013-01-02r   rK  c                     [        / SQSS9nUR                  U5      n[        USS9n[        R                  " XR5        [        / SQSS9nUR                  U5      n[        USS9n[        R                  " XS5        g )N)r   rK  rJ  r   r   rG   rd   )r   rK  rJ  r   rK  r   r   r8  rO   r   r@  rA  r   rP   s         r<   test_mode_datetime!TestSeriesMode.test_mode_datetime  sy     DH
 9H5	
v1 
 9H5	
v1rT   )-1 days0 daysr   2 min1 dayc                     [        / SQSS9nUR                  U5      n[        USS9n[        R                  " XR5        [        / SQSS9nUR                  U5      n[        USS9n[        R                  " XS5        g )N)r   rP  rQ  r   r   r   rd   )rS  rS  z-1 dayz-1 day 2 minrR  rR  r   r   r8  rM  s         r<   test_mode_timedelta"TestSeriesMode.test_mode_timedelta  s|     9AR
 9,=>	
v1	 $
 9,=>	
v1rT   z'dropna, expected1, expected2, expected3r)   )r  r   r&  r  c                 n   [        [        SS[        R                  [        R                  /5      5      nUR	                  U5      n[        USS9n[
        R                  " Xb5        [        [        SSS[        R                  [        R                  /5      5      nUR	                  U5      n[        USS9n[
        R                  " Xc5        [        [        SSSSS[        R                  [        R                  // SQSS	95      nUR	                  U5      n[        USS9n[
        R                  " Xd5        g )
NrZ   r)   categoryrd   r   r|   r&  Tr  )r   r   r,   r   r4  r   r   )rO   r   r@  rA  	expected3r   rP   s          r<   test_mode_category!TestSeriesMode.test_mode_category!  s    $ ;1bffbff5679J7	
v1;3RVVRVV<=>9J7	
v1Aq!Q/It

 9J7	
v1rT               c                 h   [        / SQ[        R                  S9nUR                  U5      n[        U[        R                  S9n[        R
                  " XR5        [        SS/[        R                  S9nUR                  U5      n[        U[        R                  S9n[        R
                  " XS5        g )N)rZ   r\  r\  rd   rZ   r\  )r   r,   r  r4  r   r   rM  s         r<   test_mode_intoverflow$TestSeriesMode.test_mode_intoverflowF  s     $BII69BII6	
v1Au:RYY/9BII6	
v1rT   c                     [        SSS[        R                  [        R                  /5      n[        S[        R                  /[        S9nUR	                  SS9n[
        R                  " X25        g )NrZ   r  rd   F)r   )r   r,   r   rU   r4  r   r   )rO   r   rQ   rP   s       r<   test_mode_sort_with_na%TestSeriesMode.test_mode_sort_with_naV  sQ    AueRVVRVV455"&&/8u%
v0rT   c                     [        SSS[        R                  /SS9nUR                  5       n[        S/SS9n[        R
                  " X#5        g )NTFr\   rd   )r   r_   r`   r4  r   r   )rO   rQ  rP   rQ   s       r<   test_mode_boolean_with_na(TestSeriesMode.test_mode_boolean_with_na\  sB    dE4/yA4&	2
v0rT   zarray,expected,dtype)r   rt  rZ   rZ         ?      ?      ?       @)rf                 @rf  rf  c                 p    [        XS9R                  5       n[        X#S9n[        R                  " XB5        g rB  r8  rO   rK   rQ   r   rP   s        r<   test_single_mode_value_complex-TestSeriesMode.test_single_mode_value_complexc  s/    * +002(0
v0rT   )r   rt  rZ   rf  rg  )rs  rt  y      ?        rf  rg  )rf  rh  rf  rh  r|   rh  c                 p    [        XS9R                  5       n[        X#S9n[        R                  " XB5        g rB  r8  rj  s        r<   test_multimode_complex%TestSeriesMode.test_multimode_complex|  s/    ( +002(0
v0rT   r   N)r   r   r   r   r5  rq   r   r   r:  r,   r   r=  rB  rE  rH  rN  rU  r   rZ  r^  ra  rd  
complex128	complex64rk  rn  r   r   rT   r<   r2  r2    s   
*
 [[ <!%(1a&1L1#&)Aq62		
11 [[/4#-%!RVVAU1VW1 X1 [[&C55'"SEBFF8$	
22  [[&C55'"SEBFF8$	
22  [[&
%	!EE7RVVH#=>	1		1 [[& :|,
 RVVHrvv|\BC	

2
20 [[&2Wg4FGRVVHrvvw89	
226 [[1 QF1v6SEq#h7QFy$G	 RVVH!Q8RVVSMq#h?RVVQNy$O		
"2#"2( [[&
!U	$uug5z&BC
2	
211 [[ . . %	
(1)(1
 [[ +0	 ,V	
 1! 1rT   r2  )(r   r   decimalr   numpyr,   rq   pandasr_   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr   pandas.corer   pandas.core.arrays.string_arrowr   r=   r?   r   r'  r  r  r2  r   rT   r<   <module>ry     s           &   <(m1 m1`K K\
K1 K1\E EP1$ 1$hS1 S1rT   