
    Mhf                     &   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)ArrowStringArrayNumpySemanticsc                  \   [        SS/S-  SS9[        [        R                  " S5      [        R                  SS9[        [        R                  " S5      [        R                  SS9[        [        SSS	9SS9[        [        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periodsz
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         Y/var/www/html/env/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:Ejr:EQQ 	R 	
 	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)selfr@   rC   resultexpecteds        r;   test_opsTestReductions.test_ops8   s     %'#{++#**&DEE"288CJJ#7@B"3::v68gchh&?&AQH3d#/x077@H==H,,,%%%    z
dtype, val)object       @)r.   rU   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      $ )NrV   )rZ   r[   )r
   pdNAr   )resr   s    r;   check_missing4TestReductions.test_nanminmax.<locals>.check_missing^   s7    ((cz!..bee|#Cy rS   r   FskipnarT   )rG   )rN   r@   r   valindex_or_seriesklassra   rC   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?@@@@rS   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SnU[        L a  Sn[
        R                  " [        US9   [        XT5      " S	S
9nS S S 5        U[        L a  [        R                  " W5      (       d   eOWS:X  d   eU" [        [        SSS5      [        /5      n[        XT5      " 5       S:X  d   e[
        R                  " [        US9   [        XT5      " S	S
9nS S S 5        U[        L a  [        R                  " U5      (       d   eg US:X  d   eg ! , (       d  f       N= f! , (       d  f       NO= f)Nargr8   rW   rX   rY   zNThe behavior of (DatetimeIndex|Series).argmax/argmin with skipna=False and NAsz2The behavior of Series.(idxmax|idxmin) with all-NAmatchFrd   )
r	   r
   r   rG   r   tmassert_produces_warningFutureWarningr+   isnan)rN   r@   rg   rh   arg_oprC   msgrO   s           r;   test_nanargminmax TestReductions.test_nanargminmaxz   sB     #(E>uv~S(4Q/01s#%***# 	 F?FC''SAS)7F BF?88F####R<<S(4Q/56s#%***''SAS)7F BF?88F####R<< BA BAs   +E?E
E
E&r   rF   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)Nrl   r8   rc   Frd   zempty sequencerm   )r	   rG   r
   pytestraises
ValueError)rN   r@   rg   r   rh   rt   rC   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           	      H	   [        [        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S	n[        R                  " [        US
9   UR                  SS9S:X  d   e S S S 5        [        R                  " [        US
9   UR	                  SS9S:X  d   e S S S 5        [        [        R
                  /5      n[        R                  " [        US
9   UR                  5       S:X  d   e S S S 5        [        R                  " [        US
9   UR	                  5       S:X  d   e S S S 5        [        R                  " [        US
9   UR                  SS9S:X  d   e S S S 5        [        R                  " [        US
9   UR	                  SS9S:X  d   e S S S 5        Sn[        [        [        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                  " [        US
9   UR                  SS9S:X  d   e S S S 5        [        R                  " [        US
9   UR	                  SS9S:X  d   e S S S 5        [        [        /5      n[        R                  " [        US
9   UR                  5       S:X  d   e S S S 5        [        R                  " [        US
9   UR	                  5       S:X  d   e S S S 5        [        R                  " [        US
9   UR                  SS9S:X  d   e S S S 5        [        R                  " [        US
9   UR	                  SS9S:X  d   e S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNs= f! , (       d  f       GNM= f! , (       d  f       GN'= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNI= f! , (       d  f       GN"= f! , (       d  f       N= f! , (       d  f       g = f)Nr   r-   rc   r      rY   r(      z=The behavior of Index.argmax/argmin with skipna=False and NAsrm   Frd   ro   zEThe behavior of DatetimeIndex.argmax/argmin with skipna=False and NAsrW   rX   )r	   r+   r,   argminargmaxnanrp   rq   rr   r
   r   )rN   rC   ru   s      r;   test_argminmaxTestReductions.test_argminmax   s}   BIIaw/0zz|q   zz|q   RVVQ*+zz|q   zz|q   M''SA::U:+r111 B''SA::U:+r111 B RVVHo''SA::<2%%% B''SA::<2%%% B''SA::U:+r111 B''SA::U:+r111 B VS(4Q/$A1FLMzz|q   zz|q   ''SA::U:+r111 B''SA::U:+r111 B SEl''SA::<2%%% B''SA::<2%%% B''SA::U:+r111 B''SA::U:+r111 BA? BAAA BAAAAAAA BAAA BAAAAAAAs   =O5O O2 P9P1P(P:<QQ=Q06R.R
O 
O/2
P
P
P%(
P7:
Q	
Q
Q-0
Q?
R
R!zop, expected_colr   bc                     [        [        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   UTC)r"   r$   r   )columnsi  secondsr   rY   axis)	r   r   r   subtractr   rG   renamerp   assert_series_equal)rN   opexpected_coldfrO   rP   s         r;   test_same_tz_min_max_axis_1*TestReductions.test_same_tz_min_max_axis_1   sk     ,aEBSE
 $$--	$ 783a(#**40
v0rS   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_datetimer/   r   rG   r+   rp   r   )rN   tz_aware_fixturer   r$   rl   rP   rO   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0rS   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 )NrY   r(   timedelta64[ns]rc   rZ   ABr   )	r   r   r
   r+   r   r   sumrp   r   )rN   r   rP   rO   s       r;   test_nan_int_timedelta_sum)TestReductions.test_nan_int_timedelta_sum   sd    Q3K/@AQ266N':
 	!156
v0rS    N)__name__
__module____qualname____firstlineno__ry   markfilterwarningsparametrizer<   rQ   r   ri   rv   r|   r   r   r   r   __static_attributes__r   rS   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/)2V [[/5#,1MN1 O1 [[Vi%;<1 =1
1rS   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 NFrd   )r   _valuesrA   rB   r   )rN   startstopstepr8   rP   rO   result2s           r;   test_max_min_range&TestIndexReductions.test_max_min_range   s     d+;;??$!!! ''''""";;??$!!! ''''""" te,CGGICGGIrS   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   rB   r   rA   r   r   rN   idx1idx2r8   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$$$	  rS   r   rB   rA   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   rG   r
   rN   r   rC   s      r;   !test_minmax_timedelta_empty_or_na5TestIndexReductions.test_minmax_timedelta_empty_or_na,  sl     R s!S(((cU#s!S(((c3_-s!S(((rS   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 supportedrm   r   outr   )
r   r+   rB   r   rA   ry   rz   r{   r   r   )rN   tderrmsgs      r;   test_numpy_minmax_timedelta641TestIndexReductions.test_numpy_minmax_timedelta648  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   r0   r   r   diffmeanr   to_framequantiler   r+   timedelta64medianr   stddropnarI   )rN   r5   sr   rO   rP   s         r;   test_timedelta_ops&TestIndexReductions.test_timedelta_opsM  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r@   )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 reduction ''rm   F)numeric_only)r   r0   r   r   r   joinry   rz   	TypeErrorrG   r   )rN   r@   r5   r   r   ru   s         r;   test_invalid_td64_reductions0TestIndexReductions.test_invalid_td64_reductions  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
   rB   r   rA   r   r   )rN   tz_naive_fixturer$   r   r   r8   s         r;   test_minmax_tz"TestIndexReductions.test_minmax_tz  s    GBO++++ 3lC@R
 ////<C779	,2 >>>>779	,2 >>>>::<1$$$::<1$$$	  rS   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   rG   r
   r   s      r;   test_minmax_nat_datetime64.TestIndexReductions.test_minmax_nat_datetime64  su     BGC$&''''SE"GC$&''''S#sO,GC$&''''rS   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rY   r(   r   r   rm   r   r   )
r	   rI   rA   r+   rB   ry   rz   r{   r   r   )rN   r8   rP   rO   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   rm   r   )r   r+   rA   rB   ry   rz   r{   )rN   r8   rO   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   rm   r   r   r   )
r   r+   rB   r   rA   ry   rz   r{   r   r   )rN   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   rY   r   r   r(   )r   r
   r   rB   r   rA   r   r   r   s       r;   test_minmax_period&TestIndexReductions.test_minmax_period  s    C|\JQTU////ABx//// 3lC@s
 ////<C779|# >>>>779|# >>>>   {{}!!!{{}!!!{{}!!!{{}!!!rS   datac                 N    [        USS9n[        X15      " 5       nU[        L d   eg )NMr   )r   rG   r
   )rN   r   r  rC   rO   s        r;   test_minmax_period_empty_nat0TestIndexReductions.test_minmax_period_empty_nat  s)     $S)!#}}rS   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   rm   r   r   r   )
r   r+   rB   r   rA   ry   rz   r{   r   r   )rN   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\nrm   zwCategorical is not ordered for operation max\nyou can use .as_ordered\(\) to change the Categorical to an ordered one\nTcr   )r^   CategoricalIndexlistry   rz   r   rB   rA   )rN   ciru   s      r;   test_min_max_categorical,TestIndexReductions.test_min_max_categorical0  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   ry   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r
   r  r  r%  r   r   rS   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!*rS   r   c                      \ 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\R                  R                  SS5      \R                  R                  S SS/5      S! 5       5       rS" rS# rS$ rS% rS& rS' rS( rS) 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S0/S0S/S\R8                  /\R8                  S//5      S1 5       5       r\R                  R                  S/ S2Q5      \R                  R                  S+S,S-/5      \R                  R                  S SS/5      \R                  R                  S3/ S4QSS/SS//4/ S5QSS/SS//4\R>                  \R>                  \R>                  /\R>                  \R>                  /SS//4S6\R>                  S6/\R>                  S/SS//4S7\R>                  S7/S\R>                  /SS//4S7\R>                  S6/SS/SS//4/5      S8 5       5       5       5       r S9 r!S: r"S; r#S< r$\R                  R                  S=\%" / SS>9\&4\%" / S?Q5      \'4\%" S@SA/5      \'4\%" SBSBSCSCS0\R8                  SD/5      \'4/5      SE 5       r(SF r)SG r*SH r+SI r,SJ r-SK r.SL r/SMr0g0)NTestSeriesReductionsiD  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'   Sn[        R                  " [        US9   [        R                  " S	S
5         [        R                   " UR                  5       UR                  5       5        S S S 5        S S S 5        ["        R$                  " USS9n[        R                  " U5      R'                  5       (       d   eg ! , (       d  f       NW= f! , (       d  f       N`= f)Nr(   r   r      )d   r+  f4"use_inf_as_na option is deprecatedrm   mode.use_inf_as_naTrY   r   )r   r+   r2   r3   r4   copyinfr   isinfr   rL   rp   rq   rr   r^   option_contextassert_almost_equalr   nansumall)rN   r   s2r7   ru   r`   s         r;   test_sum_inf!TestSeriesReductions.test_sum_infI  s4   299((+;;B?@VVX!A&&1Qxx    ii##A&66zBII$OFFAqD	2''SA""#7>&&quuw9 ? B mmCa(xx}  """"	 ?> BAs$   F6 4F%F6%
F3	/F66
Gr   )r.   Float32rZ   r[   rT   use_bottleneckTFzmethod, unit)r           )r         ?c                    [         R                  " SU5         [        / US9n[        XQ5      " 5       nXb:X  d   e[        XQ5      " SS9nXb:X  d   e[        XQ5      " SS9n[	        U5      (       d   e[        XQ5      " SS9nXb:H    [        XQ5      " SSS9nXb:X  d   e[        XQ5      " SSS9n[	        U5      (       d   e[        XQ5      " S	SS9nXb:X  d   e[        XQ5      " S	SS9n[	        U5      (       d   e[        [
        R                  /US9n[        XQ5      " 5       nXb:X  d   e[        XQ5      " SS9nXb:X  d   e[        XQ5      " SS9n[	        U5      (       d   e[        XQ5      " SS9nXb:H    [        XQ5      " SSS9nXb:X  d   e[        XQ5      " SSS9n[	        U5      (       d   e[        [
        R                  S/US9n[        XQ5      " 5       nUS
:X  d   e[        XQ5      " SS9nUS
:X  d   e[        XQ5      " SS9nUS
:X  d   e[        XQ5      " SS9nUS
:X  d   e[        XQ5      " SSS9nUS
:X  d   e[        [
        R                  " S5      US9n[        Xq5      " S5      U:H  R                  5       (       d   e[        S/US9n[        XQ5      " SS9n[	        U5      (       d   e[        XQ5      " S	SS9n[	        U5      (       d   e[        [
        R                  /US9n[        XQ5      " SS9n[	        U5      (       d   e[        [
        R                  S/US9n[        XQ5      " SS9n[	        U5      (       d   e S S S 5        g ! , (       d  f       g = f)Nr:  rc   r   )	min_countrY   Trd   )re   r>  Fr<  )r   r   r(   )
r^   r2  r   rG   r   r+   r   r   emptyr5  )rN   methodunitr:  r   r   rO   r   s           r;   
test_emptyTestSeriesReductions.test_empty]  sG    /@ r'AQ')F>!> Q'!4F>!>Q'!4F<<< Q't4FN Q'tqAF>!>Q'tqAF<<<Q'uBF>!>Q'uBF<<< xu-AQ')F>!> Q'!4F>!>Q'!4F<<< Q't4FN Q'tqAF>!>Q'tqAF<<< {%0AQ')FS= = Q'!4FS= =Q'!4FS= = Q't4FS= =Q'tqAFS= = 288G,E:BB'*d2779999s%(AQ'!4F<<<Q'uBF<<<xu-AQ'!4F<<<{%0AQ'!4F<<<{ A@@s   L*M
Mr@  r   r   )Float64rZ   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 Nrc   )r   rG   r^   r_   r+   r   )rN   r@  r   eserrO   nsers         r;   &test_ops_consistency_on_empty_nullable;TestSeriesReductions.test_ops_consistency_on_empty_nullable  s^     b&&( rvvhe,&(rS   )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)Nrc   m8[ns]r   r   )zoperation 'var' not allowedz.cannot perform var with type timedelta64\[ns\]z does not support reduction 'var'rm   )	rG   r   floatr   r   ry   rz   r   r
   )rN   r@  rO   tdserru   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 )Nr<  r   rY   r*   )r   r+   r   r4  rp   r3  )rN   serrO   s      r;   test_nansum_buglet'TestSeriesReductions.test_nansum_buglet  s7    c266]1a&13
vq)rS   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)	Nr:  @KL rc   Frd   r-   r   ro   )	r^   r2  r+   r,   r   r   intrB   rA   rN   r:  r   vr   rO   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)Nr:  rX  rc   Frd   r;  ro   )
r^   r2  r+   r,   r   r   rB   allcloserM  rA   rZ  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+  rZ   rc   r   g ؅W4vC)r+   rJ   r   r   )rN   rf   
n_elementsnarS  result_numpyresult_maskeds          r;   test_mean_masked_overflow.TestSeriesReductions.test_mean_masked_overflow  sk    %
XXsej()cUZ'w7wwr{
+q000$$$rS   z	ddof, exp)rY         @)r   rU   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)rY   r(   r   r   r   rZ   rc   r-   )ddof)r   r   )rN   rl  exprS  ser_numpy_dtyperO   result_numpy_dtypes          r;   test_var_masked_array*TestSeriesReductions.test_var_masked_array  sV     _G4 @d#,00d0;+++}}rS   )rL  rL  rF   zM8[ns, UTC]re   c                     [        / US9R                  US9[        L d   e[        / US9R                  US9[        L d   eg )Nrc   rd   )r   rB   r
   rA   )rN   r   re   s      r;   +test_empty_timeseries_reductions_return_nat@TestSeriesReductions.test_empty_timeseries_reductions_return_nat$  sJ     b&**&*9S@@@b&**&*9S@@@rS   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NrY   rX   rR  r   rm   r   )r+   r,   r   r   ry   rz   r{   )rN   r  r   rO   rP   ru   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rv  )r+   r,   r   r   ry   rz   r{   )rN   r  rS  rO   rP   ru   s         r;   test_numpy_argmax&TestSeriesReductions.test_numpy_argmax=  s    yyBT&399T?!!!!!!4]]:S1IIc$ 211ry  c                    [        / SQ5      R                  U5      n[        SS[        R                  /US9nSn[
        R                  " [        US9   UR                  SS9nS S S 5        W[        L d   eS	n[
        R                  " [        US9   UR                  SS9nS S S 5        U[        L d   eUR                  5       nS
n[
        R                  " [        US9   UR                  SS9nS S S 5        UR                  SU S3:X  d   eUR                  5       R                  5       (       d   eSn[
        R                  " [        US9   UR                  SS9nS S S 5        UR                  SU S3:X  d   eUR                  5       R                  5       (       d   eg ! , (       d  f       GNE= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f)N)r
   z
2015-02-08r
   r<  rU   rR  0The behavior of Series.idxmin with all-NA valuesrm   Frd   0The behavior of Series.idxmax with all-NA valuesz3The behavior of DataFrame.idxmin with all-NA valueszM8[]z3The behavior of DataFrame.idxmax with all-NA values)r   as_unitr   r+   r   rp   rq   rr   idxminr
   idxmaxr   r   r   r5  )rN   rA  dtirS  ru   r`   r   s          r;   test_idxmin_dt64index*TestSeriesReductions.test_idxmin_dt64indexN  s   89AA$Gc3's3@''SA**E**C Bczz@''SA**E**C Bczz\\^C''SA))5))C Byyc$qM)))xxz~~C''SA))5))C Byyc$qM)))xxz~~% BA BA BA
 BAs0   F!F3GG!
F03
G
G
G$c                 
   [        [        S5      [        R                  SS9n[        R                  USS& XR                  5          UR                  5       :X  d   eSn[        R                  " [        US9   [        UR                  SS	95      (       d   e S S S 5        UR                  5       nX3R                  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[        R                  " [        US9   [        UR                  5       5      (       d   e 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NQ= f! , (       d  f       Nw= f)Nr   r9   r   r      zThe behavior of Series.idxminrm   Frd   20130102r   r!   r   rY   )r   r0   r+   r.   r   r  rB   rp   rq   rr   r   r   r*   rI   tolistr   r   rN   string_seriesru   nonaallnar   rO   s          r;   test_idxmin TestSeriesReductions.test_idxming  s    uRy

J !ffa 11348I8I8KKKK-''SA,,E,:;;;; B ##%KKM"dhhj000zz  '')//>$++BTBTBVVVV &''SA'''' B :j!45{{vv!{{) BA BAs   7 G"!!G4"
G14
Hc                 0   [        [        S5      [        R                  SS9n[        R                  USS& XR                  5          UR                  5       :X  d   eSn[        R                  " [        US9   [        UR                  SS	95      (       d   e S S S 5        UR                  5       nX3R                  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       5      (       d   e 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   r9   r   r   r  r  rm   Frd   r  r   r!   r   r  )皙?g @@r  r  )r   r0   r+   r.   r   r  rA   rp   rq   rr   r   r   r*   rI   r  r   r   r  r  s          r;   test_idxmax TestSeriesReductions.test_idxmax  s    uRy

J !ffa 11348I8I8KKKK@''SA,,E,:;;;; B ##%KKM"dhhj000zz  '')//>$++BTBTBVVVV &@''SA'''' B :j!45{{vv!{{ 9o.}}}}177AGG$}}}}E BA BAs   7 I4#!J4
J
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   rc   r    r!   tsr)   r   abcT)r   r+   r,   r.   r   r5  any)rN   r  bool_seriesr   s       r;   test_all_any!TestSeriesReductions.test_all_any  s{    IIb

+\26

 1f??$$$$     E4=!uuwwwrS   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   rY   r(   r  )r+   r5  r  r	   )rN   rg   r8   s      r;   test_numpy_all_any'TestSeriesReductions.test_numpy_all_any  sL    i(66#;;vvc{{{Ivvc{{{rS   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 )NTFrd   )r   r+   r   r5  r  )rN   s1r6  s      r;   test_all_any_skipna(TestSeriesReductions.test_all_any_skipna  sy    RVVTN#RVVUO$vvUv###vvTv"""vvUv###666&&&&rS   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   rY   rY   r(   r(   rR  T)	bool_only)r   r  r5  )rN   r   s     r;   test_all_any_bool_only+TestSeriesReductions.test_all_any_bool_only  s=    :BTU uutu$$$5545((((rS   bool_agg_funcr  r5  c                 T    [        / SQ[        S9n[        X15      " US9nSnXE:X  d   eg )N)r   r   r!  derc   rd   T)r   rT   rG   )rN   r  re   rS  rO   rP   s         r;   test_any_all_object_dtype.TestSeriesReductions.test_any_all_object_dtype  s1     .f=,F;!!!rS   r  Nc                 h    [        U5      n[        X25      " SS9nUS:H  =(       a    S U;  nXE:X  d   eg )NFrd   r  )r   rG   )rN   r  r  rS  rO   rP   s         r;   !test_any_all_object_dtype_missing6TestSeriesReductions.test_any_all_object_dtype_missing  s>     Tl,E: !E)>d$.>!!!rS   )r[   rZ   UInt64rD  zdata,expected_data)r   r   r   )rY   rY   rY   r   rY   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 )Nrc   r5  rd   )r   rG   r^   r_   )	rN   r  re   r  r   expected_datarS  rP   rO   s	            r;   "test_any_all_nullable_kleene_logic7TestSeriesReductions.test_any_all_nullable_kleene_logic  sV    ( T' (%)?@,F;"%%H$5&:LLL:L$5rS   c                     [        SS/SS/S.5      nUR                  SSS9n[        SS/5      n[        R                  " X#5        g )NTFrY   r(   r   )r   r  )r   r  r   rp   r   )rN   r   rO   rP   s       r;   test_any_axis1_bool_only-TestSeriesReductions.test_any_axis1_bool_only  sG    dE]!Q89Q$/4-(
v0rS   c                    [        SSS9R                  n[        U5      n[        U5      nSn[        R
                  " [        US9   UR                  5       (       d   eUR                  5       (       d   eUR                  5       (       d   eUR                  5       (       d   eUR                  5       R                  5       (       d   eUR                  5       R                  5       (       d   e S S S 5        UR                  S5      n[        U5      n[        U5      n[        R
                  " [        US9   UR                  5       (       d   eUR                  5       (       d   eUR                  5       (       d   eUR                  5       (       d   eUR                  5       R                  5       (       d   eUR                  5       R                  5       (       d   e 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N= f! , (       d  f       N= f)Nz
1995-01-02r   r!   z0'(any|all)' with datetime64 dtypes is deprecatedrm   r   r   )
r   _datar   r   rp   rq   rr   r5  r  r/   )rN   dtarS  r   ru   tdas         r;   test_any_all_datetimelike.TestSeriesReductions.test_any_all_datetimelike  s    q177Sks^@''SA77999779997799977999668<<>>!>668<<>>!> B ooe$Sks^''SA77999779997799977999668<<>>!>668<<>>!> B FlSks^wwyyy7799}wwyyy7799}vvx||~~~668<<>>!!>K BA BAs   B'J*6B'J<*
J9<
K
c                 ,   [         R                  " S5        [        SS/SS9nUR                  5       (       d   eUR	                  5       (       a   e[        S S/SS9nUR                  5       (       d   eUR	                  5       (       d   eUR	                  SS9(       a   e[        S S/SS9nUR                  5       (       a   eUR	                  5       (       a   e[        SS/SS9nUR                  5       (       d   eUR	                  5       (       d   eg )	Npyarrow r   zstring[pyarrow_numpy]rc   Frd   r   )ry   importorskipr   r  r5  rN   rS  s     r;   test_any_all_pyarrow_string0TestSeriesReductions.test_any_all_pyarrow_stringD  s    I&b#Y&=>wwyyy7799}dC[(?@wwyyywwyyy77%7(((dBZ'>?7799}7799}c3Z'>?wwyyywwyyyrS   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(   rY   r!   20120102r   r   )r   r   r   r  r  r+   r   absrp   r   rA   r   rB   )rN   r  r   rO   r  r6  rP   s          r;   test_timedelta64_analytics/TestSeriesReductions.test_timedelta64_analyticsX  s9   QS9C[9Z00{{{{ 1{{{{ Jz156Jz156"'?
v0'
v0 X&!!!X&!!!rS   ztest_input,error_typerc   foobarbazrY   r(   r  r  r  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.   rc   z*attempt to get argmin of an empty sequencerm   NFrd   z*attempt to get argmax of an empty sequence)r   ry   rz   r{   r  r  )rN   
test_input
error_typeru   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)Nr  r   Frd   rY   r  r  r  r  r  z8'>' not supported between instances of 'float' and 'str'rm   z8'<' not supported between instances of 'float' and 'str')r   r  r  r+   r   ry   rz   r   )rN   using_infer_stringrS  ser2ser3ru   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zimmrj  biffr<  bidg      (@r   r(   )r   r  r   rp   r   )rN   r   r`   rm  s       r;   test_idxminmax_object_frame0TestSeriesReductions.test_idxminmax_object_frame  sE    }udmDEiikaVn
s(rS   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))rY   r   )r(   r(   )r   rY   r(   r   Frd   )r   r  r  r  s     r;   test_idxminmax_object_tuples1TestSeriesReductions.test_idxminmax_object_tuples  sg    -.zz|q   zz|q   zzz'1,,,zzz'1,,,rS   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   rY   z8.68z42.23z7.11z79.61)r8   xy)r   r   r  r   rp   r   r  )rN   r   r`   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*rS   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   rY   rT   rc   Frd   )r   r   r   r  s     r;   test_argminmax_object_ints/TestSeriesReductions.test_argminmax_object_ints  sl    aV8,zz|q   zz|q   zzz'1,,,zzz'1,,,rS   c                    [        S[        R                  * [        R                  [        R                  /5      nUR	                  5       S:X  d   eSn[
        R                  " [        US9   [        R                  " UR	                  SS95      (       d   e S S S 5        UR                  5       S:X  d   eSn[
        R                  " [        US9   [        R                  " UR                  SS95      (       d   e S S S 5        S	n[
        R                  " [        US9   [        R                  " S
S5         UR	                  5       S:X  d   e[        R                  " UR	                  SS95      (       d   eUR                  5       S:X  d   e[        R                  " UR                  SS95        S S S 5        S S S 5        g ! , (       d  f       GN2= f! , (       d  f       N= f! , (       d  f       N:= f! , (       d  f       g = f)Nr   rY   r~  rm   Frd   r(   r  r-  r.  T)r   r+   r0  r   r  rp   rq   rr   rs   r  r^   r2  )rN   r   ru   s      r;   test_idxminmax_with_inf,TestSeriesReductions.test_idxminmax_with_inf  sy   Aw/0xxzQ@''SA88AHHEH23333 B xxzQ@''SA88AHHEH23333 B 3''SA ""#7>xxzQ&xx 67777xxzQ&/0	 ? BA BA
 BA ?> BAs=   ,+G+G G78A:G&2G7
G
G#&
G4	0G77
Hc                     [        S/SS9nUR                  5       n[        R                  " S5      n[        R
                  " X#5        g )Nl     9V uint64rc   )r   r   r+   r  rp   r3  )rN   r   rO   rP   s       r;   test_sum_uint64$TestSeriesReductions.test_sum_uint64  s:    ():9912
v0rS   r   )1r   r   r   r   r7  ry   r   r   rB  rI  rO  rT  r\  ra  rh  rp  rs  rw  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   r   rS   r;   r(  r(  D  s   
#( [[E [[-e}=[[^lM-JK^  L >
^ @ [[X7[[W&EF G 8 [[X'GH! I!0*
 [[-e}=[[Ww&89( : >( [[-e}=[[Wy)&<=
5 > >
5
% [[[8X*>? @ [[W&ST[[Xe}5A 6 UA
#$%" 2B-^') [[_uen=[[Xe}5" 6 >" [[_uen=[[%urvvP" >" [[W&OP[[_uen=[[Xe}5[[ 	%%89$d|45eeRUUBEE"beeRUU^eT]$CD]beeU^eU^<=]dBEE]T4L9:]dE]T5M:;	
	M 6 > Q M1-"^('"R [[Bi(*5)*I6T4L!9-UE5%rvvuEF	R	

,
, *8)-+"-101rS   r(  c                   \   \ rS rSr\R
                  R                  S\" \\/5      \" \\	" S5      /5      \" \	" S5      \	" S5      /5      /5      S 5       r
\R
                  R                  S\" \\/5      \" \\	" S5      /5      \" \	" S5      \	" S5      /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   rB   r
   rA   )rN   r  s     r;   test_minmax_nat_series5TestDatetime64SeriesReductions.test_minmax_nat_series  s^     {{}###{{}###{{%{(C///{{%{(C///rS   nat_dfc                     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   Frd   r  )rN   r  s     r;   test_minmax_nat_dataframe8TestDatetime64SeriesReductions.test_minmax_nat_dataframe  sp     zz|A#%%%zz|A#%%%zzz'*c111zzz'*c111rS   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   ro   )r   taker+   r2   r3   permutationlenrB   rA   rH   r   )rN   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###rS   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Lro   r   )r   r   r+   r2   r3   r4   r  r  rA   r   iatrH   rB   )rN   r  lvlsr   rO   rm  s         r;   test_min_max_series2TestDatetime64SeriesReductions.test_min_max_series1  s    Rd;AYY**1-==c#hG
 		"&&),,,,}}		!%&),,,,}}rS   r   N)r   r   r   r   ry   r   r   r   r
   r   r  r   r  r  r  r   r   rS   r;   r  r     s    
 [[C:C5)*+Ie$i&678	
00 [[sCj!sIe,-.y'5)9:;	
22$rS   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      \	R                  /-   \" 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      \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g)TestCategoricalSeriesReductionsiG  functionrB   rA   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 rm   )r   r   ry   rz   r   rG   )rN   r  catru   s       r;   test_min_max_unordered_raises=TestCategoricalSeriesReductions.test_min_max_unordered_raisesL  sG     [!5uEF9(D]]9C0C"$ 100s   A
Azvalues, categoriesr  cbar  r   r(   rY   rY   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  rd   rB   r   r(   )r   r   rG   )rN   rI   r  r  r  rO   rP   s          r;   test_min_max_ordered4TestCategoricalSeriesReductions.test_min_max_orderedT  sF     [MN't4$,$5:a=:a=!!!rS   re   TFc                     [        [        [        R                  /SS/SS95      n[	        X15      " US9nU[        R                  L d   eg )NrY   r(   Tr  rd   r   r   r+   r   rG   )rN   r  re   r  rO   s        r;   "test_min_max_ordered_with_nan_onlyBTestCategoricalSeriesReductions.test_min_max_ordered_with_nan_onlyf  sB     ["&&q!fdKL'v6rS   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  rd   rB   r%  )rN   r  re   r  rO   rP   s         r;   test_min_max_skipna3TestCategoricalSeriesReductions.test_min_max_skipnan  sp     c2663/S#JPTU
 'v6T>&%/sSH%%%RVV###rS   r   N)r   r   r   r   ry   r   r   r  r#  r+   r   r"  r&  r)  r   r   rS   r;   r  r  G  sY   
 [[Z%8% 9% [[%[$u+&%[$u+&%[BFF8#T%[1	"Arvv	*	
	 [[Z%8" 9	" [[Z%8[[Xe}5  6 9  [[Z%8[[Xe}5
$ 6 9
$rS   r  c                   H   \ rS rSr\R
                  R                  SS\" / \R                  S94S\" / \R                  S94/5      S 5       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      \R
                  R                  S\" \R                  S   \R                  S   -   5      5      S 5       5       r\R
                  R                  SSS/4SS	\R                  /4/5      S 5       r\R
                  R                  SSS/S/S/4SS/\R                  /S/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	/\R2                  S9\R2                  4/ S-Q\" S	/\R4                  S9\R4                  4/ S.Q\" S//\R2                  S9\R2                  4/5      S0 5       r\R
                  R                  S,/ S1Q\" / S2Q\R2                  S9\R2                  4/ S3Q\" S4S//\R4                  S9\R4                  4/5      S5 5       rS6rg7)8TestSeriesModei}  zdropna, expectedTrc   Fc                     [        / [        R                  S9nUR                  U5      n[        R
                  " XB5        g rF  )r   r+   r.   moderp   r   rN   r   rP   r   rO   s        r;   test_mode_emptyTestSeriesMode.test_mode_empty  s/    
 2RZZ(
v0rS   zdropna, data, expected)rY   rY   rY   r(   rY   )rY   rY   rY   r(   r   r   r   r   dt
AllIntegerFloatc                 v    [        X$S9nUR                  U5      n[        X4S9n[        R                  " Xc5        g rF  r   r.  rp   r   )rN   r   r  rP   r2  r   rO   s          r;   test_mode_numerical"TestSeriesMode.test_mode_numerical  s3     4"(-
v0rS   r<  c                     [        SSS[        R                  [        R                  /5      nUR                  U5      n[        U5      n[        R
                  " XB5        g )NrY   r(   )r   r+   r   r.  rp   r   r/  s        r;   test_mode_numerical_nan&TestSeriesMode.test_mode_numerical_nan  sD    Aq!RVVRVV,-(#
v0rS   z'dropna, expected1, expected2, expected3r   r  r   c                    S/S-  S/S-  -   n[        USS9nUR                  U5      n[        USS9n[        R                  " Xr5        SSS[        R
                  [        R
                  [        R
                  /n[        U[        S9nUR                  U5      n[        X3S/:X  a  S O[        S9n[        R                  " Xs5        SSS[        R
                  [        R
                  [        R
                  /n[        U[        S9R                  [        5      nUR                  U5      n[        U5      n[        R                  " Xt5        g )	Nr   r(   r   r   r!  rc   r  r  )	r   r.  rp   r   r+   r   rT   rL   r1   )rN   r   	expected1	expected2	expected3r  r   rO   s           r;   test_mode_str_obj TestSeriesMode.test_mode_str_obj  s    uqyC519$4s#9C0	
v1ueRVVRVVRVV<4v&9%4HDfU	
v1ueRVVRVVRVV<4v&--c29%	
v1rS   zdropna, expected1, expected2r  c                 r   [        / SQ5      nUR                  U5      n[        U5      n[        R                  " XV5        [        SSS[        R
                  [        R
                  [        R
                  /5      nUR                  U5      n[        X3S/:X  a  S O[        S9n[        R                  " XV5        g )N)rY   r  r  rY   r  rc   )r   r.  rp   r   r+   r   rT   )rN   r   r=  r>  r   rO   rP   s          r;   test_mode_mixeddtype#TestSeriesMode.test_mode_mixeddtype  s    
 $%)$
v0AueRVVRVVRVV<=)3G4VT
v0rS   )
1900-05-03r   
2013-01-02r   rF  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   rF  rE  r   r   rF   rc   )r   rF  rE  r   rF  r   r   r6  rN   r   r=  r>  r   rO   s         r;   test_mode_datetime!TestSeriesMode.test_mode_datetime  sy     DH
 9H5	
v1 
 9H5	
v1rS   )-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   rK  rL  r   r   r   rc   )rN  rN  z-1 dayz-1 day 2 minrM  rM  r   r   r6  rH  s         r;   test_mode_timedelta"TestSeriesMode.test_mode_timedelta  s|     9AR
 9,=>	
v1	 $
 9,=>	
v1rS   r(   )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 )
NrY   r(   categoryrc   r   r   r   Tr  )r   r   r+   r   r.  rp   r   )rN   r   r=  r>  r?  r   rO   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1rS               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)rY   rV  rV  rc   rY   rV  )r   r+   r  r.  rp   r   rH  s         r;   test_mode_intoverflow$TestSeriesMode.test_mode_intoverflow8  s     $BII69BII6	
v1Au:RYY/9BII6	
v1rS   c                    [        S[        R                  /5      n[        SSS[        R                  [        R                  /5      n[        R                  " [
        5         UR                  SS9nUR                  5       R                  SS9nS S S 5        [        R                  " WU5        g ! , (       d  f       N&= f)Nr  rY   F)r   T)drop)
r   r+   r   rp   rq   UserWarningr.  sort_valuesreset_indexr   )rN   rP   r   rO   s       r;   test_mode_sortwarning$TestSeriesMode.test_mode_sortwarningH  s     5"&&/*AueRVVRVV45''4VV5V)F'')5545@F 5 	vx0	 54s   "-B//
B=c                     [        SSS[        R                  /SS9nUR                  5       n[        SS0SS9n[        R
                  " X#5        g )NTFr[   rc   r   )r   r^   r_   r.  rp   r   )rN   rS  rO   rP   s       r;   test_mode_boolean_with_na(TestSeriesMode.test_mode_boolean_with_naU  sD    dE4/yA1d)95
v0rS   zarray,expected,dtype)r                 ?rY   rY         ?      ?      ?       @)re                 @re  re  c                 ^    [        XS9R                  5       n[        R                  " XB5        g rF  r6  rN   rJ   rP   r   rO   s        r;   test_single_mode_value_complex-TestSeriesMode.test_single_mode_value_complex\  s%    * +002
v0rS   )r   rd  rY   re  rf  )y                rd  y      ?        re  rf  )re  rg  re  rg  r   rg  c                 ^    [        XS9R                  5       n[        R                  " XB5        g rF  r6  ri  s        r;   test_multimode_complex%TestSeriesMode.test_multimode_complext  s%    ( +002
v0rS   r   N)r   r   r   r   ry   r   r   r   r+   r.   r0  r#  	typecodesr7  r   r:  r@  rC  rI  rP  r   rT  rX  r_  rb  
complex128	complex64rj  rm  r   r   rS   r;   r,  r,  }  st   
 [[
r,	-vb

7S/TU1	1
 [[ <!%(1a&1L1#&)Aq62		
 [[d2<<-W0EEF11 [[/4#-%!RVVAU1VW1 X1 [[1
w	(53%"&&E7*KL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 [[ .s"--0 .s",,/ %xr}}5	
(1)(1 [[ +7r}}M	 ,F|2<<8	
 1! 1rS   r,  )(r   r   decimalr   numpyr+   ry   pandasr^   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingrp   pandas.corer   pandas.core.arrays.string_arrowr   r<   r>   r   r(  r  r  r,  r   rS   r;   <module>ry     s           &   J(|1 |1~K K\
y
1 y
1xD DN3$ 3$lL1 L1rS   