
    Owgf                     &   d dl m Z mZ d dlmZ d dlZd dlZd dlZd dlm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d dlm Z  d Z! G d d	      Z" G d
 d      Z# G d d      Z$ G d d      Z% G d d      Z& G d d      Z'y)    )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                     t        ddgdz  d      t        t        j                  d      t        j                  d      t        t        j                  d      t        j                  d      t        t        dd	      d      t        t        dd	      d      j                  d
      t        t        ddd      d      t        t        d      D  cg c]  } t        |        c} d      g}t        j                  j                  d      j                  d      }|D cg c]  }t        ||d       }}||z   }|S c c} w c c}w )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         ^/var/www/horilla/myenv/lib/python3.12/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)!s1v)4
G ))


"
2
22
6C:AB3fS#.BFBVDK * Cs   E$Ec                      e Zd Zej                  j                  d      ej                  j                  dddg      ej                  j                  d e             d                      Zej                  j                  dddg      ej                  j                  ddd	d
 e	ddd      fddg      d               Z
ej                  j                  dddg      d        Zej                  j                  dddg      ej                  j                  dddg      d               Zd Zej                  j                  dddgddgg      d        Zej                  j                  dddg      d        Zd Zy )!TestReductionsz8ignore:Period with BDay freq is deprecated:FutureWarningopnamemaxminobjc                     t        ||             }t        |t              set        |j                  t              r/ t        t        j                  |j                        |             }nL t        |j                  |             }n0t         t        |j                  |             |j                        }t        |dd       2|j                  d      j                  d      }|j                  |k(  sJ y ||k(  sJ y )N)ordinalr'   r$   M8[ns]r-   )getattr
isinstancer   valuesr   r+   arrayr   asi8r'   astype_value)selfr?   rB   resultexpecteds        r;   test_opszTestReductions.test_ops8   s     &f%'#{+#**&DE@7288CJJ#7@B673::v68&?gchh&?&AQH3d#/x077@H==H,,,X%%%    z
dtype, val)object       @)r.   rS   datetime64[ns]        )Int64r(   )booleanTc                    |}fd} |d g      } | t        ||                   sJ  | t        ||      d            sJ  |g       } | t        ||                   sJ  | t        ||      d            sJ dk(  ry  |d |g      } t        ||             |k(  sJ  | t        ||      d            sJ  |d |d g      } t        ||             |k(  sJ  | t        ||      d            sJ y )Nc                 `    dk(  r| t         u S dv r| t        j                  u S t        |       S )NrT   )rX   rY   )r
   pdNAr   )resr   s    r;   check_missingz4TestReductions.test_nanminmax.<locals>.check_missing^   s7    ((cz!..bee|#Cy rQ   r   FskipnarR   )rF   )rM   r?   r   valindex_or_seriesklassr_   rB   s     `     r;   test_nanminmaxzTestReductions.test_nanminmaxO   s7     	! TF%(1WS&134441WS&1?@@@Be$1WS&134441WS&1?@@@HT3Ku-#wsF#%,,,1WS&1?@@@T3%U3#wsF#%,,,1WS&1?@@@rQ   c                    |}|t         u rd|z   nd|z   } |t        t        ddd      g      } t        ||             dk(  sJ d}|t        u rd}t        j                  t        |      5   t        ||      d	
      }d d d        |t        u rt        j                        s	J dk(  sJ  |t        t        ddd      t        g      } t        ||             dk(  sJ t        j                  t        |      5   t        ||      d	
      }d d d        |t        u rt        j                  |      sJ y |dk(  sJ y # 1 sw Y   xY w# 1 sw Y   =xY w)Nargr8   rU   rV   rW   zNThe behavior of (DatetimeIndex|Series).argmax/argmin with skipna=False and NAsz2The behavior of Series.(idxmax|idxmin) with all-NAmatchFra   )
r	   r
   r   rF   r   tmassert_produces_warningFutureWarningr+   isnan)rM   r?   rd   re   arg_oprB   msgrN   s           r;   test_nanargminmaxz TestReductions.test_nanargminmaxz   sV     #(E>uv~S(4Q/01#wsF#%***# 	 F?FC''SA 	8)WS&)7F	8F?88F###R<<S(4Q/56#wsF#%***''SA 	8)WS&)7F	8F?88F###R<<	8 	8	8 	8s   +E <E E	Er   rE   zdatetime64[ns, UTC]c                    |}|t         u rd|z   nd|z   } |g |      } t        ||             t        u sJ  t        ||      d      t        u sJ t        j                  t
        d      5   t        ||              d d d        t        j                  t
        d      5   t        ||      d       d d d        y # 1 sw Y   AxY w# 1 sw Y   y xY w)Nrh   r8   r`   Fra   zempty sequenceri   )r	   rF   r
   pytestraises
ValueError)rM   r?   rd   r   re   rp   rB   s          r;   test_nanops_empty_objectz'TestReductions.test_nanops_empty_object   s      #(E>uv~Be$#wsF#%,,,#wsF#51S888]]:-=> 	# GC "	#]]:-=> 	/ GC .	/ 	/	# 	#	/ 	/s   .C #C C	Cc           	      	   t        t        j                  dd            }|j                         dk(  sJ |j	                         dk(  sJ t        t        j
                  dt        j
                  dg      }|j                         dk(  sJ |j	                         dk(  sJ d	}t        j                  t        |
      5  |j                  d      dk(  sJ 	 d d d        t        j                  t        |
      5  |j	                  d      dk(  sJ 	 d d d        t        t        j
                  g      }t        j                  t        |
      5  |j                         dk(  sJ 	 d d d        t        j                  t        |
      5  |j	                         dk(  sJ 	 d d d        t        j                  t        |
      5  |j                  d      dk(  sJ 	 d d d        t        j                  t        |
      5  |j	                  d      dk(  sJ 	 d d d        d}t        t        t        ddd      t        ddd      t        g      }|j                         dk(  sJ |j	                         dk(  sJ t        j                  t        |
      5  |j                  d      dk(  sJ 	 d d d        t        j                  t        |
      5  |j	                  d      dk(  sJ 	 d d d        t        t        g      }t        j                  t        |
      5  |j                         dk(  sJ 	 d d d        t        j                  t        |
      5  |j	                         dk(  sJ 	 d d d        t        j                  t        |
      5  |j                  d      dk(  sJ 	 d d d        t        j                  t        |
      5  |j	                  d      dk(  sJ 	 d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   wxY w# 1 sw Y   HxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   bxY w# 1 sw Y   %xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nr   r-   r`   r      rW   r(      z=The behavior of Index.argmax/argmin with skipna=False and NAsri   Fra   rk   zEThe behavior of DatetimeIndex.argmax/argmin with skipna=False and NAsrU   rV   )r	   r+   r,   argminargmaxnanrl   rm   rn   r
   r   )rM   rB   rq   s      r;   test_argminmaxzTestReductions.test_argminmax   s   BIIaw/0zz|q   zz|q   RVVQ*+zz|q   zz|q   M''SA 	2::U:+r111	2''SA 	2::U:+r111	2 RVVHo''SA 	&::<2%%%	&''SA 	&::<2%%%	&''SA 	2::U:+r111	2''SA 	2::U:+r111	2 VS(4Q/$A1FLMzz|q   zz|q   ''SA 	2::U:+r111	2''SA 	2::U:+r111	2 SEl''SA 	&::<2%%%	&''SA 	&::<2%%%	&''SA 	2::U:+r111	2''SA 	2::U:+r111	2 	2?	2 	2	2 	2	& 	&	& 	&	2 	2	2 	2	2 	2	2 	2	& 	&	& 	&	2 	2	2 	2s   =O.9O;P	PP"?P/P<Q	QQ#Q/Q;.O8;PPP"P,/P9<Q	QQ #Q,/Q8;Rzop, expected_colr   bc                    t        t        ddd      dg      }|j                  j                  t	        d            |d	<    t        ||      d
      }||   j                  d       }t        j                  ||       y )Nz2016-01-01 00:00:00rz   UTC)r"   r$   r   )columnsi  secondsr   rW   axis)	r   r   r   subtractr   rF   renamerl   assert_series_equal)rM   opexpected_coldfrN   rO   s         r;   test_same_tz_min_max_axis_1z*TestReductions.test_same_tz_min_max_axis_1   ss     ,aEBSE
 $$--	$ 783 Ra(l#**40
vx0rQ   funcmaximumminimumc                     |}t        j                  dg      j                  |      }t        |      } t	        t
        |      ||      }t        j                  ||       y )N2019)r\   to_datetimer/   r   rF   r+   rl   r   )rM   tz_aware_fixturer   r$   rh   rO   rN   s          r;   (test_numpy_reduction_with_tz_aware_dtypez7TestReductions.test_numpy_reduction_with_tz_aware_dtype   sR     nnfX&2226#;"T"8X6
vx0rQ   c                     t        t        ddt        gd      t        ddt        j                  gd      d      }t        t        d      dd      }|j                         }t        j                  ||       y )NrW   r(   timedelta64[ns]r`   rX   ABrz   )	r   r   r
   r+   r}   r   sumrl   r   )rM   r   rO   rN   s       r;   test_nan_int_timedelta_sumz)TestReductions.test_nan_int_timedelta_sum   sf    Q3K/@AQ266N':
 	!156
vx0rQ   N)__name__
__module____qualname__rt   markfilterwarningsparametrizer<   rP   r   rf   rr   rw   r~   r   r   r    rQ   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
1rQ   r>   c            	          e Zd Zej                  j                  dg d      d        Zd Zej                  j                  dddg      d        Zd	 Z	d
 Z
ej                  j                  dg d      d        Zd Zej                  j                  dddg      d        Zd Zd Zd Zd Zej                  j                  dddg      ej                  j                  dg egeeegg      d               Zd Zd Zy)TestIndexReductionszstart,stop,step))r   i  rz   )i  r   i)@B ry   )r   r   )r   r      c                    t        |||      }|j                  j                         }|j                         }||k(  sJ |j                  d      }||k(  sJ |j                  j                         }|j                         }||k(  sJ |j                  d      }||k(  sJ t        |||       }t	        |j                               sJ t	        |j                               sJ y NFra   )r   _valuesr@   rA   r   )rM   startstopstepr8   rO   rN   result2s           r;   test_max_min_rangez&TestIndexReductions.test_max_min_range   s     d+;;??$!!! ''''(""";;??$!!! ''''(""" te,CGGICGGIrQ   c                 n   t        g d      }|j                  sJ t        dt        j                  ddg      }|j                  rJ ||fD ]h  }|j	                         t        d      k(  sJ |j                         t        d      k(  sJ |j                         dk(  sJ |j                         dk(  rhJ  y )N)1 days2 days3 daysr   r   r
   r   r(   )	r   is_monotonic_increasingr+   r}   rA   r   r@   r{   r|   rM   idx1idx2r8   s       r;   test_minmax_timedelta64z+TestIndexReductions.test_minmax_timedelta64  s    <=++++ x5AB////$< 	%C779	( 3333779	( 3333::<1$$$::<1$$$		%rQ   r   rA   r@   c                    t        g       } t        ||             t        u sJ t        t        g      } t        ||             t        u sJ t        t        t        t        g      } t        ||             t        u sJ y N)r   rF   r
   rM   r   rB   s      r;   !test_minmax_timedelta_empty_or_naz5TestIndexReductions.test_minmax_timedelta_empty_or_na,  sx     R wsB!S(((cU#wsB!S(((c3_-wsB!S(((rQ   c                 T   t        ddd      }t        j                  |      t        d      k(  sJ t        j                  |      t        d      k(  sJ d}t        j                  t        |      5  t        j                  |d       d d d        t        j                  t        |      5  t        j                  |d       d d d        t        j                  |      dk(  sJ t        j                  |      d	k(  sJ d}t        j                  t        |      5  t        j                  |d       d d d        t        j                  t        |      5  t        j                  |d       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ]xY w# 1 sw Y   y xY w)
Nz
16815 daysz
16820 daysr%   r'   $the 'out' parameter is not supportedri   r   outr   )
r   r+   rA   r   r@   rt   ru   rv   r{   r|   )rM   tderrmsgs      r;   test_numpy_minmax_timedelta64z1TestIndexReductions.test_numpy_minmax_timedelta648  sG   \<cBvvbzY|4444vvbzY|44447]]:V4 	FF21	]]:V4 	FF21	 yy}!!!yy}!!!7]]:V4 	!IIba 	!]]:V4 	!IIba 	! 	!	 		 		! 	!	! 	!s0   2E:-FFF:FFFF'c           
         t        t        d      D cg c]  }t        d      t        ||z        z    c}      }|j	                         }|j                         }t        t        d            }||k(  sJ |j                         j                         }|d   |k(  sJ |j                  d      }t        t        j                  dd            }||k(  sJ |j                         }t        d	      }||k(  sJ |j                         j                         }|d   |k(  sJ |j                         }t        d
      }||k(  sJ |j                         j                         }|d   |k(  sJ |j                         }t        t        |j                         j                         j                               }||k(  sJ |j                         j                         }|d   |k(  sJ t        t        d      t        d      g      }|j	                         j                         t        d      k(  sJ t        t        d      t        d      t        d      g      }|j	                         j                         t        d      k(  sJ y c c}w )Nr   20130101r   	   r   g?i(
  msz00:00:09z00:01:21z
2015-02-03z
2015-02-07ry   )daysz
2015-02-15   )r   r0   r   r   diffmeanr   to_framequantiler   r+   timedelta64medianr   stddropnarH   )rM   r5   sr   rN   rO   s         r;   test_timedelta_opsz&TestIndexReductions.test_timedelta_opsM  s?    GLRyQ!Yz"Yq1u%==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           
         t        t        d      D cg c]  }t        d      t        ||z        z    c}      }|j	                         }dj                  d| dd| dd	| d
g      }t        j                  t        |      5   t        ||              d d d        t        j                  t        |      5   t        |j                         |      d       d d d        y c c}w # 1 sw Y   TxY w# 1 sw Y   y xY w)Nr   r   r   |zreduction operation 'z' not allowed for this dtypezcannot perform z with type timedelta64\[ns\]zdoes not support reduction ''ri   F)numeric_only)r   r0   r   r   r   joinrt   ru   	TypeErrorrF   r   )rM   r?   r5   r   r   rq   s         r;   test_invalid_td64_reductionsz0TestIndexReductions.test_invalid_td64_reductions  s    GLRyQ!Yz"Yq1u%==Q
 VVXhh'x/KL"6(*FG.vha8
 ]]9C0 	"GB!	" ]]9C0 	?*GBKKM6*>	? 	? R	" 	"	? 	?s   "C'C,<"C8,C58Dc                 x   |}t        g d|      }|j                  sJ t        dt        ddt        g|      }|j                  rJ ||fD ]l  }|j                         t	        d|      k(  sJ |j                         t	        d|      k(  sJ |j                         dk(  sJ |j                         dk(  rlJ  y )N)
2011-01-01
2011-01-02
2011-01-03r#   r   r   r   r   r(   )r   r   r
   rA   r   r@   r{   r|   )rM   tz_naive_fixturer$   r   r   r8   s         r;   test_minmax_tzz"TestIndexReductions.test_minmax_tz  s    GBO++++ 3lC@R
 ////$< 	%C779	,2 >>>>779	,2 >>>>::<1$$$::<1$$$		%rQ   c                    t        g       }t         t        ||                   sJ t        t        g      }t         t        ||                   sJ t        t        t        t        g      }t         t        ||                   sJ y r   )r   r   rF   r
   r   s      r;   test_minmax_nat_datetime64z.TestIndexReductions.test_minmax_nat_datetime64  s{     B$GC$&'''SE"$GC$&'''S#sO,$GC$&'''rQ   c                    t        g d      }|j                  j                         }t        j                  |      }||k(  sJ |j                  j	                         }t        j                  |      }||k(  sJ d}t        j                  t        |      5  t        j                  |d       d d d        t        j                  t        |      5  t        j                  |d       d d d        |j                  j                         }t        j                  |      }||k(  sJ |j                  j                         }t        j                  |      }||k(  sJ d}t        j                  t        |      5  t        j                  |d       d d d        t        j                  t        |      5  t        j                  |d       d d d        y # 1 sw Y   *xY w# 1 sw Y   xY w# 1 sw Y   ^xY w# 1 sw Y   y xY w)NrW   r(   rz   r   ri   r   r   )
r	   rH   r@   r+   rA   rt   ru   rv   r|   r{   )rM   r8   rO   rN   r   s        r;   test_numpy_minmax_integerz-TestIndexReductions.test_numpy_minmax_integer  s   I::>>#!!!::>>#!!!7]]:V4 	FF3A	]]:V4 	FF3A	 ::$$&3!!!::$$&3!!!7]]:V4 	"IIcq!	"]]:V4 	"IIcq!	" 	"!	 		 		" 	"	" 	"s0   GG$;G06G<G!$G-0G9<Hc                    t        ddd      }t        j                  |      }|dk(  sJ t        j                  |      }|dk(  sJ d}t	        j
                  t        |      5  t        j                  |d       d d d        t	        j
                  t        |      5  t        j                  |d       d d d        y # 1 sw Y   ExY w# 1 sw Y   y xY w)Nr   r   rz   r   r   ri   r   )r   r+   r@   rA   rt   ru   rv   )rM   r8   rN   r   s       r;   test_numpy_minmax_rangez+TestIndexReductions.test_numpy_minmax_range  s    B"{{{{7]]:V4 	FF3A	]]:V4 	FF3A	 		 		 	s   #B?C?CCc                 R   t        dd      }t        j                  |      t        d      k(  sJ t        j                  |      t        d      k(  sJ d}t        j                  t        |      5  t        j                  |d	       d d d        t        j                  t        |      5  t        j                  |d	       d d d        t        j                  |      dk(  sJ t        j                  |      d
k(  sJ d}t        j                  t        |      5  t        j                  |d	       d d d        t        j                  t        |      5  t        j                  |d	       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ]xY w# 1 sw Y   y xY w)N
2016-01-15
2016-01-20r   endz2016-01-15 00:00:00z2016-01-20 00:00:00r   ri   r   r   r   )
r   r+   rA   r   r@   rt   ru   rv   r{   r|   )rM   drr   s      r;   test_numpy_minmax_datetime64z0TestIndexReductions.test_numpy_minmax_datetime64  sK   l=vvbzY'<====vvbzY'<====7]]:V4 	FF21	 ]]:V4 	FF21	 yy}!!!yy}!!!7]]:V4 	!IIba 	! ]]:V4 	!IIba 	! 	!	 		 		! 	!	! 	!s0   1E9,FFF9FFFF&c                    t        t        dddgd      }|j                  rJ |dd  j                  sJ t        dt        ddt        gd      }|j                  rJ ||fD ]B  }|j                         t	        dd      k(  sJ |j                         t	        dd      k(  rBJ  |j                         dk(  sJ |j                         dk(  sJ |j                         dk(  sJ |j                         d	k(  sJ y )
Nr   r   r   r%   r   rW   r   rz   r(   )r   r
   r   rA   r   r@   r{   r|   r   s       r;   test_minmax_periodz&TestIndexReductions.test_minmax_period  s   C|\JQTU////ABx//// 3lC@s
 ////$< 	?C779|# >>>>779|# >>>>	? {{}!!!{{}!!!{{}!!!{{}!!!rQ   datac                 T    t        |d      } t        ||             }|t        u sJ y )NMr   )r   rF   r
   )rM   r   r   rB   rN   s        r;   test_minmax_period_empty_natz0TestIndexReductions.test_minmax_period_empty_nat  s-     $S)!b!#}}rQ   c                 Z   t        dd      }t        j                  |      t        dd      k(  sJ t        j                  |      t        dd      k(  sJ d}t        j                  t        |      5  t        j                  |d	       d d d        t        j                  t        |      5  t        j                  |d	       d d d        t        j                  |      dk(  sJ t        j                  |      d
k(  sJ d}t        j                  t        |      5  t        j                  |d	       d d d        t        j                  t        |      5  t        j                  |d	       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ]xY w# 1 sw Y   y xY w)Nr   r   r   r%   r   r   ri   r   r   r   )
r   r+   rA   r   r@   rt   ru   rv   r{   r|   )rM   prr   s      r;   test_numpy_minmax_periodz,TestIndexReductions.test_numpy_minmax_period  sI   ,?vvbzVLs;;;;vvbzVLs;;;;7]]:V4 	FF21	]]:V4 	FF21	 yy}!!!yy}!!!7]]:V4 	!IIba 	!]]:V4 	!IIba 	! 	!	 		 		! 	!	! 	!s0   5E=0F	!FF!=F	FF!F*c                    t        j                  t        d      t        d      d      }d}t        j                  t
        |      5  |j                          d d d        d}t        j                  t
        |      5  |j                          d d d        t        j                  t        d      t        d      d      }|j                         d	k(  sJ |j                         d
k(  sJ y # 1 sw Y   xY w# 1 sw Y   jxY w)NaabbcacabF
categoriesorderedzwCategorical is not ordered for operation min\nyou can use .as_ordered\(\) to change the Categorical to an ordered one\nri   zwCategorical is not ordered for operation max\nyou can use .as_ordered\(\) to change the Categorical to an ordered one\nTcr   )r\   CategoricalIndexlistrt   ru   r   rA   r@   )rM   cirq   s      r;   test_min_max_categoricalz,TestIndexReductions.test_min_max_categorical0  s      hDKQVWY 	 ]]9C0 	FFH	Y 	 ]]9C0 	FFH	   hDKQUVvvx3vvx3	 		 	s   C,>C8,C58DN)r   r   r   rt   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r
   r   r   r
  r   rQ   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!*rQ   r   c                   ~   e Zd Zd Zej
                  j                  dg d      ej
                  j                  dddg      ej
                  j                  ddd	g      d
                      Zej
                  j                  dddg      ej
                  j                  dg d      d               Zej
                  j                  dg d      d        Z	d Z
ej
                  j                  dddg      ej
                  j                  dddg      d               Zej
                  j                  dddg      ej
                  j                  dddg      d               Zd Zej
                  j                  dddg      d        Zej
                  j                  dd      ej
                  j                  dddg      d                Zd! Zd" Zd# Zd$ Zd% Zd& Zd' Zd( Zd) Zej
                  j                  d*d+d,g      ej
                  j                  dddg      d-               Zej
                  j                  d*d+d,g      ej
                  j                  d.dd/gd/dgdej6                  gej6                  dgg      d0               Zej
                  j                  dg d1      ej
                  j                  d*d+d,g      ej
                  j                  dddg      ej
                  j                  d2g d3ddgddggfg d4ddgddggfej<                  ej<                  ej<                  gej<                  ej<                  gddggfd5ej<                  d5gej<                  dgddggfd6ej<                  d6gdej<                  gddggfd6ej<                  d5gddgddggfg      d7                             Zd8 Z d9 Z!d: Z"d; Z#ej
                  j                  d< e$g d=      e%f e$g d>      e&f e$d?d@g      e&f e$dAdAdBdBd/ej6                  dCg      e&fg      dD        Z'dE Z(dF Z)dG Z*dH Z+dI Z,dJ Z-dK Z.y/)LTestSeriesReductionsc                 f   t        t        j                  j                  d      j	                  d            }|j                         }t        j                  |dd t        j                  |dd t        j                  |j                               sJ t        j                  j                  d      j	                  d      j                  d      }t        j                  |d d df<   d}t        j                  t        |      5  t        j                  d	d
      5  t        j                   |j                         |j                                d d d        d d d        t#        j$                  |d      }t        j                  |      j'                         sJ y # 1 sw Y   NxY w# 1 sw Y   RxY w)Nr(   r   r      )d   r  f4"use_inf_as_na option is deprecatedri   mode.use_inf_as_naTrW   r   )r   r+   r2   r3   r4   copyinfr}   isinfr   rK   rl   rm   rn   r\   option_contextassert_almost_equalr   nansumall)rM   r   s2r7   rq   r^   s         r;   test_sum_infz!TestSeriesReductions.test_sum_infI  s:   299((+;;B?@VVX!A&&1Qxx   ii##A&66zBII$OFFAqD	2''SA 	:""#7> :&&quuw9:	: mmCa(xx}  """	: :	: 	:s$   F'3FF'F$	 F''F0r   )r.   Float32rX   rY   rR   use_bottleneckTFzmethod, unit)r           )r         ?c                    t        j                  d|      5  t        g |      } t        ||             }||k(  sJ  t        ||      d      }||k(  sJ  t        ||      d      }t	        |      sJ  t        ||      d      }||k(    t        ||      dd      }||k(  sJ  t        ||      dd      }t	        |      sJ  t        ||      d	d      }||k(  sJ  t        ||      d	d      }t	        |      sJ t        t
        j                  g|      } t        ||             }||k(  sJ  t        ||      d      }||k(  sJ  t        ||      d      }t	        |      sJ  t        ||      d      }||k(    t        ||      dd      }||k(  sJ  t        ||      dd      }t	        |      sJ t        t
        j                  dg|      } t        ||             }|d
k(  sJ  t        ||      d      }|d
k(  sJ  t        ||      d      }|d
k(  sJ  t        ||      d      }|d
k(  sJ  t        ||      dd      }|d
k(  sJ t        t        j                  d      |      } t        ||      d      |k(  j                         sJ t        dg|      } t        ||      d      }t	        |      sJ  t        ||      d	d      }t	        |      sJ t        t
        j                  g|      } t        ||      d      }t	        |      sJ t        t
        j                  dg|      } t        ||      d      }t	        |      sJ 	 d d d        y # 1 sw Y   y xY w)Nr  r`   r   )	min_countrW   Tra   )rb   r!  Fr  )r   r   r(   )
r\   r  r   rF   r   r+   r}   r   emptyr  )rM   methodunitr  r   r   rN   r   s           r;   
test_emptyzTestSeriesReductions.test_empty]  s    /@ ]	  r'A'WQ')FT>!> (WQ'!4FT>!>'WQ'!4F<< (WQ't4FdN (WQ'tqAFT>!>'WQ'tqAF<<'WQ'uBFT>!>'WQ'uBF<< xu-A'WQ')FT>!> (WQ'!4FT>!>'WQ'!4F<< (WQ't4FdN (WQ'tqAFT>!>'WQ'tqAF<< {%0A'WQ')FS= = (WQ'!4FS= ='WQ'!4FS= = (WQ't4FS= ='WQ'tqAFS= = 288G,E:B'GB'*d277999s%(A'WQ'!4F<<'WQ'uBF<<xu-A'WQ'!4F<<{%0A'WQ'!4F<<{]	  ]	  ]	 s   MM>>Nr#  r   r   )Float64rX   rY   c                     t        g |      } t        ||             }|t        j                  u sJ t        t        j
                  g|      } t        ||             }|t        j                  u sJ y Nr`   )r   rF   r\   r]   r+   r}   )rM   r#  r   eserrN   nsers         r;   &test_ops_consistency_on_empty_nullablez;TestSeriesReductions.test_ops_consistency_on_empty_nullable  sf     b&&v&( rvvhe,&v&(rQ   )r   r   r   r   c                 `    t        t        t              |             }t        |      sJ t        g d      }|dk(  rIdj	                  g d      }t        j                  t        |      5   t        ||              d d d        y  t        ||             }|t        u sJ y # 1 sw Y   y xY w)Nr`   m8[ns]r   r   )zoperation 'var' not allowedz.cannot perform var with type timedelta64\[ns\]z does not support reduction 'var'ri   )	rF   r   floatr   r   rt   ru   r   r
   )rM   r#  rN   tdserrq   s        r;   test_ops_consistency_on_emptyz2TestSeriesReductions.test_ops_consistency_on_empty  s     6e,f57F|| r*U?((C y4 )&v&() ) ,WUF+-FS= =	) )s   -B$$B-c                     t        dt        j                  gddg      }t        j                  |      }t	        j
                  |d       y )Nr  r   rW   r*   )r   r+   r}   r  rl   r  )rM   serrN   s      r;   test_nansum_bugletz'TestSeriesReductions.test_nansum_buglet  s7    c266]1a&13
vq)rQ   int32r-   c                    t        j                  d|      5  t        j                  d|      }t	        |      }|j                  d      }t        |      |j                  d      k(  sJ |j                  d      }t        |      dk(  sJ |j                  d      }t        |      |d   k(  sJ 	 d d d        y # 1 sw Y   y xY w)	Nr  @KL r`   Fra   r-   r   rk   )	r\   r  r+   r,   r   r   intrA   r@   rM   r  r   vr   rN   s         r;   test_sum_overflow_intz*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%'''	( 	( 	(s   BB==Cfloat32r.   c                    t        j                  d|      5  t        j                  d|      }t	        |      }|j                  d      }||j                  |      k(  sJ |j                  d      }t        j                  t        |      d      sJ |j                  d      }t        j                  t        |      |d         sJ 	 d d d        y # 1 sw Y   y xY w)Nr  r7  r`   Fra   r  rk   )
r\   r  r+   r,   r   r   rA   allcloser.  r@   r9  s         r;   test_sum_overflow_floatz,TestSeriesReductions.test_sum_overflow_float   s     /@ 		5		'/Aq	AUU%U(FQUUU////UU%U(F;;uV}c222UU%U(F;;uV}ae444		5 		5 		5s   B5CCc                     d}d}t        j                  |g|z        }t        |g|z  d      }t        j                  |      }|j                         }||z
  dk(  sJ |dk(  sJ y )Nl     ;r  rX   r`   r   g ؅W4vC)r+   rI   r   r   )rM   rc   
n_elementsnar3  result_numpyresult_maskeds          r;   test_mean_masked_overflowz.TestSeriesReductions.test_mean_masked_overflow  sm    %
XXsej()cUZ'w7wwr{
|+q000$$$rQ   z	ddof, exp)rW         @)r   rS   c                     t        g dd      }t        g dd      }|j                  |      }|j                  |      }||k(  sJ ||k(  sJ y )N)rW   r(   rz   ry   r   rX   r`   r-   )ddof)r   r   )rM   rH  expr3  ser_numpy_dtyperN   result_numpy_dtypes          r;   test_var_masked_arrayz*TestSeriesReductions.test_var_masked_array  s[     _G4 @d#,00d0;++++}}rQ   )r-  r-  rE   zM8[ns, UTC]rb   c                     t        g |      j                  |      t        u sJ t        g |      j                  |      t        u sJ y )Nr`   ra   )r   rA   r
   r@   )rM   r   rb   s      r;   +test_empty_timeseries_reductions_return_natz@TestSeriesReductions.test_empty_timeseries_reductions_return_nat$  sJ     b&**&*9S@@@b&**&*9S@@@rQ   c                 l   t        j                  dd      }t        ||      }t        j                  |      }t        j                  |      }||k(  sJ |j                         }||k(  sJ d}t	        j
                  t        |      5  t        j                  ||       d d d        y # 1 sw Y   y xY wNrW   rV   r2  r   ri   r   )r+   r,   r   r{   rt   ru   rv   )rM   r   r   rN   rO   rq   s         r;   test_numpy_argminz&TestSeriesReductions.test_numpy_argmin+  s    yyB4t$199T?!!!!!!4]]:S1 	#IIaT"	# 	# 	#   	B**B3c                 l   t        j                  dd      }t        ||      }t        j                  |      }t        j                  |      }||k(  sJ |j                         }||k(  sJ d}t	        j
                  t        |      5  t        j                  ||       d d d        y # 1 sw Y   y xY wrP  )r+   r,   r   r|   rt   ru   rv   )rM   r   r3  rN   rO   rq   s         r;   test_numpy_argmaxz&TestSeriesReductions.test_numpy_argmax=  s    yyBT&399T?!!!!!!4]]:S1 	%IIct$	% 	% 	%rR  c                    t        g d      j                  |      }t        ddt        j                  g|      }d}t        j                  t        |      5  |j                  d      }d d d        t        u sJ d	}t        j                  t        |      5  |j                  d      }d d d        |t        u sJ |j                         }d
}t        j                  t        |      5  |j                  d      }d d d        |j                  d| dk(  sJ |j                         j                         sJ d}t        j                  t        |      5  |j                  d      }d d d        |j                  d| dk(  sJ |j                         j                         sJ y # 1 sw Y   AxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   exY w)N)r
   z
2015-02-08r
   r  rS   r2  0The behavior of Series.idxmin with all-NA valuesri   Fra   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}   rl   rm   rn   idxminr
   idxmaxr   r   r   r  )rM   r$  dtir3  rq   r^   r   s          r;   test_idxmin_dt64indexz*TestSeriesReductions.test_idxmin_dt64indexN  s   89AA$Gc3's3@''SA 	+**E**C	+czz@''SA 	+**E**C	+czz\\^C''SA 	*))5))C	*yyc$qM)))xxz~~C''SA 	*))5))C	*yyc$qM)))xxz~~%	+ 	+	+ 	+	* 	*
	* 	*s0   F*F7,GG*F47GGGc                    t        t        d      t        j                  d      }t        j                  |dd ||j                            |j                         k(  sJ d}t        j                  t        |      5  t        |j                  d	            sJ 	 d d d        |j                         }||j                            |j                         k(  sJ |j                  j                  j                         j                  |j                               |j                  j                         k(  sJ |t        j                  z  }t        j                  t        |      5  t        |j                               sJ 	 d d d        t        t!        d
d            }|j                         }|dk(  sJ t        j                  |d<   |j                         }|dk(  sJ y # 1 sw Y   IxY w# 1 sw Y   nxY w)Nr   r9   r   r      zThe behavior of Series.idxminri   Fra   20130102r   r!   r   rW   )r   r0   r+   r.   r}   rZ  rA   rl   rm   rn   r   r   r*   rH   tolistr{   r   rM   string_seriesrq   nonaallnar   rN   s          r;   test_idxminz TestSeriesReductions.test_idxming  s    uRy

J !ffa ]11348I8I8KKKK-''SA 	<,,E,:;;;	< ##%DKKM"dhhj000zz  '')//>$++BTBTBVVVV &''SA 	('''	( :j!45{{vv!{{)	< 	<	( 	(s   <G"%G/"G,/G8c                    t        t        d      t        j                  d      }t        j                  |dd ||j                            |j                         k(  sJ d}t        j                  t        |      5  t        |j                  d	            sJ 	 d d d        |j                         }||j                            |j                         k(  sJ |j                  j                  j                         j                  |j                               |j                  j                         k(  sJ |t        j                  z  }d}t        j                  t        |      5  t        |j                               sJ 	 d d d        t        t!        d
d            }|j                         }|dk(  sJ t        j                  |d<   |j                         }|dk(  sJ t        g dg d      }|j                         }|dk(  sJ |j#                         }|dk(  sJ t        |j                  |j                        }|j                         }|dk(  sJ |j#                         }|dk(  sJ y # 1 sw Y   xY w# 1 sw Y   xY w)Nr   r9   r   r   r_  rW  ri   Fra   r`  r   r!   ry   r   )皙?g @@ri  rh  )r   r0   r+   r.   r}   r[  r@   rl   rm   rn   r   r   r*   rH   ra  r|   r   rZ  rb  s          r;   test_idxmaxz TestSeriesReductions.test_idxmax  s"    uRy

J !ffa ]11348I8I8KKKK@''SA 	<,,E,:;;;	< ##%DKKM"dhhj000zz  '')//>$++BTBTBVVVV &@''SA 	('''	( :j!45{{vv!{{ 9o.}}}}177AGG$}}}}E	< 	<	( 	(s   <I0'I=0I:=Jc                    t        t        j                  dt        j                        t	        dd      d      }|dkD  }|j                         rJ |j                         sJ t        dd	g      }|j                         sJ y )
Nr   r`   r    r!   tsr)   r   abcT)r   r+   r,   r.   r   r  any)rM   rl  bool_seriesr   s       r;   test_all_anyz!TestSeriesReductions.test_all_any  ss    IIb

+\26

 1f??$$$    E4=!uuwwrQ   c                      |g d      }t        j                  |      rJ t        j                  |      sJ t        g d      }t        j                  |      sJ y )N)r   rW   r(   r   )r+   r  rn  r	   )rM   rd   r8   s      r;   test_numpy_all_anyz'TestSeriesReductions.test_numpy_all_any  sF    i(66#;vvc{{Ivvc{{rQ   c                    t        t        j                  dg      }t        t        j                  dg      }|j                  d      sJ |j                  d      sJ |j	                  d      sJ |j	                  d      rJ y )NTFra   )r   r+   r}   r  rn  )rM   s1r  s      r;   test_all_any_skipnaz(TestSeriesReductions.test_all_any_skipna  sy    RVVTN#RVVUO$vvUv###vvTv"""vvUv###666&&&&rQ   c                 v    t        g dg d      }|j                  d      sJ |j                  d      rJ y )N)FFTTFT)r   r   rW   rW   r(   r(   r2  T)	bool_only)r   rn  r  )rM   r   s     r;   test_all_any_bool_onlyz+TestSeriesReductions.test_all_any_bool_only  s=    :BTU uutu$$$5545((((rQ   bool_agg_funcrn  r  c                 b    t        g dt              } t        ||      |      }d}||k(  sJ y )N)r   r   r  der`   ra   T)r   rR   rF   )rM   ry  rb   r3  rN   rO   s         r;   test_any_all_object_dtypez.TestSeriesReductions.test_any_all_object_dtype  s7     .f=,m,F;!!!rQ   r   Nc                 d    t        |      } t        ||      d      }|dk(  xr d |v}||k(  sJ y )NFra   rn  )r   rF   )rM   r   ry  r3  rN   rO   s         r;   !test_any_all_object_dtype_missingz6TestSeriesReductions.test_any_all_object_dtype_missing  sD     Tl,m,E: !E)>d$.>!!!rQ   )rY   rX   UInt64r&  zdata,expected_data)r   r   r   )rW   rW   rW   r   rW   c                     t        ||      }||   |dk(     } t        ||      |      }|t        j                  u r|t        j                  u s||k(  sJ y y )Nr`   r  ra   )r   rF   r\   r]   )	rM   ry  rb   r   r   expected_datar3  rO   rN   s	            r;   "test_any_all_nullable_kleene_logicz7TestSeriesReductions.test_any_all_nullable_kleene_logic  s`    ( T' (%)?@,m,F;"%%H$5&H:LLL:L$5rQ   c                     t        ddgddgd      }|j                  dd      }t        ddg      }t        j                  ||       y )NTFrW   r(   r   )r   rw  )r   rn  r   rl   r   )rM   r   rN   rO   s       r;   test_any_axis1_bool_onlyz-TestSeriesReductions.test_any_axis1_bool_only  sI    dE]!Q89Q$/4-(
vx0rQ   c                    t        dd      j                  }t        |      }t        |      }d}t	        j
                  t        |      5  |j                         sJ |j                         sJ |j                         sJ |j                         sJ |j                         j                         sJ |j                         j                         sJ 	 d d d        |j                  d      }t        |      }t        |      }t	        j
                  t        |      5  |j                         sJ |j                         sJ |j                         sJ |j                         sJ |j                         j                         sJ |j                         j                         sJ 	 d d d        ||d   z
  }t        |      }t        |      }|j                         sJ |j                         rJ |j                         sJ |j                         rJ |j                         j                         sJ |j                         j                         rJ y # 1 sw Y   xY w# 1 sw Y   xY w)Nz
1995-01-02rz   r!   z0'(any|all)' with datetime64 dtypes is deprecatedri   r   r   )
r   _datar   r   rl   rm   rn   r  rn  r/   )rM   dtar3  r   rq   tdas         r;   test_any_all_datetimelikez.TestSeriesReductions.test_any_all_datetimelike  s    q177Sks^@''SA 		"7799779977997799668<<>!>668<<>!>		" ooe$Sks^''SA 		"7799779977997799668<<>!>668<<>!>		" CFlSks^wwyy779}wwyy779}vvx||~~668<<>!!>K		" 		"		" 		"s   B	IB	I%I"%I.c                    t        j                  d       t        ddgd      }|j                         sJ |j	                         rJ t        d dgd      }|j                         sJ |j	                         sJ |j	                  d      rJ t        d dgd      }|j                         rJ |j	                         rJ t        ddgd      }|j                         sJ |j	                         sJ y )	Npyarrow r   zstring[pyarrow_numpy]r`   Fra   r   )rt   importorskipr   rn  r  rM   r3  s     r;   test_any_all_pyarrow_stringz0TestSeriesReductions.test_any_all_pyarrow_stringD  s    I&b#Y&=>wwyy779}dC[(?@wwyywwyy77%7(((dBZ'>?779}779}c3Z'>?wwyywwyyrQ   c                    t        ddd      }t        |      t        d      z
  }|j                         }|dk(  sJ |j	                         }|dk(  sJ t
        j                  |d<   |j                         }|dk(  sJ |j	                         }|dk(  sJ t        t        dd	            }t        t        d
d	            }t        ||z
        }t        j                  ||z
        }t        j                  ||       ||z
  j                         }t        j                  ||       |j                         }t        d      }||k(  sJ |j                         }t        d      }||k(  sJ y )Nz2012-1-1rz   r%   r&   20120101r   r(   rW   r!   20120102r   r   )r   r   r   rZ  r[  r+   r}   absrl   r   r@   r   rA   )rM   r\  r   rN   rt  r  rO   s          r;   test_timedelta64_analyticsz/TestSeriesReductions.test_timedelta64_analyticsX  sG   QS9C[9Z00{{{{ 1{{{{ Jz156Jz156"r'?R
vx0r'
vx0 X&!!!X&!!!rQ   ztest_input,error_typer`   foobarbazrW   r(   r  r  r  c                 .   t        g d      }d}t        j                  t        |      5  |j	                          ddd       t        j                  t        |      5  |j	                  d       ddd       d}t        j                  t        |      5  |j                          ddd       t        j                  t        |      5  |j                  d       ddd       y# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   XxY w# 1 sw Y   yxY w)	zU
        Cases where ``Series.argmax`` and related should raise an exception
        r.   r`   z*attempt to get argmin of an empty sequenceri   NFra   z*attempt to get argmax of an empty sequence)r   rt   ru   rv   rZ  r[  )rM   
test_input
error_typerq   s       r;   "test_assert_idxminmax_empty_raisesz7TestSeriesReductions.test_assert_idxminmax_empty_raises  s     Bi0
:]]:S1 	 	 ]]:S1 	,U+	,:]]:S1 	 	 ]]:S1 	,U+	, 	,	  	 	, 	,	  	 	, 	,s/   C'C3C?D'C03C<?DDc           	         t        g d      }|j                         dk(  sJ |j                  d      dk(  sJ |j                         dk(  sJ |j                  d      dk(  sJ t        ddg      }|j                         dk(  sJ |j                  d      dk(  sJ |j                         dk(  sJ |j                  d      dk(  sJ |st        ddd	d	d t        j                  d
g      }d}t        j                  t        |      5  |j                          d d d        t        j                  t        |      5  |j                  d       d d d        d}t        j                  t        |      5  |j                          d d d        t        j                  t        |      5  |j                  d       d d d        y y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   YxY w# 1 sw Y   y xY w)Nr  r   Fra   rW   r  r  r  r  r  z8'>' not supported between instances of 'float' and 'str'ri   z8'<' not supported between instances of 'float' and 'str')r   r[  rZ  r+   r}   rt   ru   r   )rM   using_infer_stringr3  ser2ser3rq   s         r;   test_idxminmax_object_dtypez0TestSeriesReductions.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 y4 *5)*LCy4 y4 *5)* * " * * * *s0   
G>G6G*G+GGG(+G4c                     t        ddgddgddgg      }|j                         }t        ddg      }t        j                  ||       y )	NzimmrF  biffr  bidg      (@r   r(   )r   r[  r   rl   r   )rM   r   r^   rI  s       r;   test_idxminmax_object_framez0TestSeriesReductions.test_idxminmax_object_frame  sG    }udmDEiikaVn
sC(rQ   c                     t        g d      }|j                         dk(  sJ |j                         dk(  sJ |j                  d      dk(  sJ |j                  d      dk(  sJ y )N))rW   rz   )r(   r(   )rz   rW   r(   r   Fra   )r   r[  rZ  r  s     r;   test_idxminmax_object_tuplesz1TestSeriesReductions.test_idxminmax_object_tuples  sg    -.zz|q   zz|q   zzz'1,,,zzz'1,,,rQ   c                 6   t        ddgt        d      t        d      gt        d      t        d      gd      }|j                         }t        dddd      }t	        j
                  ||       |j                         }|dz
  }t	        j
                  ||       y )Nr   rW   z8.68z42.23z7.11z79.61)r8   xy)r   r   r[  r   rl   r   rZ  )rM   r   r^   rI  res2exp2s         r;   test_idxminmax_object_decimalsz3TestSeriesReductions.test_idxminmax_object_decimals  s    1vfoww'78foww'78
 iikQQQ/0
sC(yy{Qw
tT*rQ   c                     t        ddgd      }|j                         dk(  sJ |j                         dk(  sJ |j                  d      dk(  sJ |j                  d      dk(  sJ y )Nr   rW   rR   r`   Fra   )r   r|   r{   r  s     r;   test_argminmax_object_intsz/TestSeriesReductions.test_argminmax_object_ints  sl    aV8,zz|q   zz|q   zzz'1,,,zzz'1,,,rQ   c                    t        dt        j                   t        j                  t        j                  g      }|j	                         dk(  sJ d}t        j                  t        |      5  t        j                  |j	                  d            sJ 	 d d d        |j                         dk(  sJ d}t        j                  t        |      5  t        j                  |j                  d            sJ 	 d d d        d	}t        j                  t        |      5  t        j                  d
d      5  |j	                         dk(  sJ t        j                  |j	                  d            sJ |j                         dk(  sJ t        j                  |j                  d             d d d        d d d        y # 1 sw Y   )xY w# 1 sw Y   xY w# 1 sw Y   +xY w# 1 sw Y   y xY w)Nr   rW   rV  ri   Fra   r(   rW  r  r  T)r   r+   r  r}   rZ  rl   rm   rn   ro   r[  r\   r  )rM   r   rq   s      r;   test_idxminmax_with_infz,TestSeriesReductions.test_idxminmax_with_inf  s   Aw/0xxzQ@''SA 	488AHHEH2333	4 xxzQ@''SA 	488AHHEH2333	4 3''SA 	1 ""#7> 1xxzQ&xx 6777xxzQ&/0	1	1 	1	4 	4
	4 	41 1	1 	1s=   -(F=(G
G"5A7G,G"=G
GG	G""G+c                     t        dgd      }|j                         }t        j                  d      }t	        j
                  ||       y )Nl     9V uint64r`   )r   r   r+   r  rl   r  )rM   r   rN   rO   s       r;   test_sum_uint64z$TestSeriesReductions.test_sum_uint64  s<    ():9912
vx0rQ   )/r   r   r   r  rt   r   r   r%  r+  r0  r4  r;  r?  rE  rL  rN  rQ  rT  r]  rf  rj  rp  rr  ru  rx  r}  r+   r}   r  r\   r]   r  r  r  r  r  r   rv   r   r  r  r  r  r  r  r  r  r   rQ   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1rQ   r  c                   T   e Zd Zej                  j                  d eeeg       ee ed      g       e ed       ed      g      g      d        Z	ej                  j                  d e
eeg       e
e ed      g       e
 ed       ed      g      g      d        Zd Zd Zy)	TestDatetime64SeriesReductionsnat_sernatc                     |j                         t        u sJ |j                         t        u sJ |j                  d      t        u sJ |j                  d      t        u sJ y r   rA   r
   r@   )rM   r  s     r;   test_minmax_nat_seriesz5TestDatetime64SeriesReductions.test_minmax_nat_series  s^     {{}###{{}###{{%{(C///{{%{(C///rQ   nat_dfc                     |j                         d   t        u sJ |j                         d   t        u sJ |j                  d      d   t        u sJ |j                  d      d   t        u sJ y )Nr   Fra   r  )rM   r  s     r;   test_minmax_nat_dataframez8TestDatetime64SeriesReductions.test_minmax_nat_dataframe  sp     zz|A#%%%zz|A#%%%zzz'*c111zzz'*c111rQ   c                    t        dd      }|j                  t        j                  j	                  d      j                  t        |                  }|j                         }|j                         }t        |t              sJ t        |t              sJ ||d   k(  sJ ||d   k(  sJ |j                         |d   k(  sJ |j                         |d   k(  sJ y )N1/1/2000z
12/31/2000r(   r   rk   )r   taker+   r2   r3   permutationlenrA   r@   rG   r   )rM   rngrng2the_minthe_maxs        r;   test_min_maxz+TestDatetime64SeriesReductions.test_min_max#  s    \2xx		--a0<<SXFG((*((*'9---'9---#a&   #b'!!!wwyCF"""wwyCG###rQ   c                    t        ddd      }g d}t        |t        j                  j	                  d      j                  t        |            |d      }|j                  j                         }t        |j                  j                  d         }t        |t              sJ ||k(  sJ |j                  j                         }t        |j                  j                  d	         }t        |t              sJ ||k(  sJ y )
Nr  r   4hr&   )
r   r   r   r   r   r   Cr  r  r  r(   )TSVLrk   r   )r   r   r+   r2   r3   r4   r  r  r@   r   iatrG   rA   )rM   r  lvlsr   rN   rI  s         r;   test_min_max_seriesz2TestDatetime64SeriesReductions.test_min_max_series1  s    Rd;AYY**1-==c#hG
 		"&&),,,}}		!%&),,,}}rQ   N)r   r   r   rt   r   r   r   r
   r   r  r   r  r  r  r   rQ   r;   r  r     s    
 [[C:C5)*+Ie$i&678	
00 [[sCj!sIe,-.y'5)9:;	
22$rQ   r  c                      e Zd Zej                  j                  dddg      d        Zej                  j                  d ed       ed      f ed       ed      f ed      ej                  gz    ed      fg dg d	fd
ddej                  gg d	fg      ej                  j                  dddg      d               Z
ej                  j                  dddg      ej                  j                  dddg      d               Zej                  j                  dddg      ej                  j                  dddg      d               Zy)TestCategoricalSeriesReductionsfunctionrA   r@   c                     t        t        g dd            }d| }t        j                  t        |      5   t        ||              d d d        y # 1 sw Y   y xY w)N)r   r   r  r{  F)r  z)Categorical is not ordered for operation ri   )r   r   rt   ru   r   rF   )rM   r  catrq   s       r;   test_min_max_unordered_raisesz=TestCategoricalSeriesReductions.test_min_max_unordered_raisesL  sT     [!5uEF9(D]]9C0 	%"GC"$	% 	% 	%s   AAzvalues, categoriesrm  cbar   rz   r(   rW   rW   r(   rz   c                     t        t        ||d            } t        ||      d      }|dk(  r|d   n|d   }||k(  sJ y )NTr  ra   rA   r   r(   )r   r   rF   )rM   rH   r  r  r  rN   rO   s          r;   test_min_max_orderedz4TestCategoricalSeriesReductions.test_min_max_orderedT  sN     [JMN'h't4$,$5:a=:a=!!!rQ   rb   TFc                     t        t        t        j                  gddgd            } t	        ||      |      }|t        j                  u sJ y )NrW   r(   Tr  ra   r   r   r+   r}   rF   )rM   r  rb   r  rN   s        r;   "test_min_max_ordered_with_nan_onlyzBTestCategoricalSeriesReductions.test_min_max_ordered_with_nan_onlyf  sF     ["&&q!fdKL'h'v6rQ   c                     t        t        ddt        j                  dgddgd            } t	        ||      |      }|du r|dk(  rdnd}||k(  sJ y |t        j                  u sJ y )Nr   r   Tr  ra   rA   r  )rM   r  rb   r  rN   rO   s         r;   test_min_max_skipnaz3TestCategoricalSeriesReductions.test_min_max_skipnan  sv     c2663/S#JPTU
 (h'v6T>&%/sSHX%%%RVV###rQ   N)r   r   r   rt   r   r   r  r  r+   r}   r  r  r  r   rQ   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
$rQ   r  c                      e Zd Zej                  j                  dd eg ej                        fd eg ej                        fg      d        Z	ej                  j                  ddg ddgfdg d	dd
gfdg ddgfdg d	dd
gfg      ej                  j                  d e
ej                  d   ej                  d   z               d               Zej                  j                  dddgfddej                  gfg      d        Zej                  j                  dddgdgdgfddgej                  gdgfg      d        Zej                  j                  dddgdgfddgej                  gfg      d        Zej                  j                  ddg dddgfdej                  gej                  ddgfg      d        Zej                  j                  ddg dddgfdej                  gej                  ddgfg      d         Zej                  j                  dd edd!gdd!g"       ed#gdd#g"       ed
dgg d$d%      fd eej                  gdd!g"       eej                  d#gdd#g"       eej                  d
dgg d$d%      fg      d&        Zej                  j                  ddd'gdd'gfdd'gdd'gfg      d(        Zd) Zd* Zej                  j                  d+g d, edgej0                        ej0                  fg d, edgej2                        ej2                  fg d- ed.gej0                        ej0                  fg      d/        Zej                  j                  d+g d0 eg d1ej0                        ej0                  fg d2 ed3d.gej2                        ej2                  fg      d4        Zy5)6TestSeriesModezdropna, expectedTr`   Fc                     t        g t        j                        }|j                  |      }t	        j
                  ||       y r(  )r   r+   r.   moderl   r   rM   r   rO   r   rN   s        r;   test_mode_emptyzTestSeriesMode.test_mode_empty  s1    
 2RZZ(
vx0rQ   zdropna, data, expected)rW   rW   rW   r(   rW   )rW   rW   rW   r(   rz   rz   rz   rz   dt
AllIntegerFloatc                     t        ||      }|j                  |      }t        ||      }t        j                  ||       y r(  r   r  rl   r   )rM   r   r   rO   r  r   rN   s          r;   test_mode_numericalz"TestSeriesMode.test_mode_numerical  s9     4r"("-
vx0rQ   r  c                     t        dddt        j                  t        j                  g      }|j                  |      }t        |      }t	        j
                  ||       y )NrW   r(   )r   r+   r}   r  rl   r   r  s        r;   test_mode_numerical_nanz&TestSeriesMode.test_mode_numerical_nan  sF    Aq!RVVRVV,-(#
vx0rQ   z'dropna, expected1, expected2, expected3r   r  r}   c                    dgdz  dgdz  z   }t        |d      }|j                  |      }t        |d      }t        j                  ||       dddt        j
                  t        j
                  t        j
                  g}t        |t              }|j                  |      }t        ||dgk(  rd nt              }t        j                  ||       dddt        j
                  t        j
                  t        j
                  g}t        |t              j                  t              }|j                  |      }t        |      }t        j                  ||       y )	Nr   r(   r   rz   r  r`   r  r  )	r   r  rl   r   r+   r}   rR   rK   r1   )rM   r   	expected1	expected2	expected3r   r   rN   s           r;   test_mode_str_objz TestSeriesMode.test_mode_str_obj  s	    uqyC519$4s#9C0	
vy1ueRVVRVVRVV<4v&9I%4HDfU	
vy1ueRVVRVVRVV<4v&--c29%	
vy1rQ   zdropna, expected1, expected2r  c                 x   t        g d      }|j                  |      }t        |      }t        j                  ||       t        dddt        j
                  t        j
                  t        j
                  g      }|j                  |      }t        ||dgk(  rd nt              }t        j                  ||       y )N)rW   r  r  rW   r  r`   )r   r  rl   r   r+   r}   rR   )rM   r   r  r  r   rN   rO   s          r;   test_mode_mixeddtypez#TestSeriesMode.test_mode_mixeddtype  s    
 $%)$
vx0AueRVVRVVRVV<=)93G4VT
vx0rQ   )
1900-05-03r   
2013-01-02r   r  c                    t        g dd      }|j                  |      }t        |d      }t        j                  ||       t        g dd      }|j                  |      }t        |d      }t        j                  ||       y )N)r   r  r  r}   r}   rE   r`   )r   r  r  r   r  r}   r}   r  rM   r   r  r  r   rN   s         r;   test_mode_datetimez!TestSeriesMode.test_mode_datetime  s}     DH
 9H5	
vy1 
 9H5	
vy1rQ   )-1 days0 daysr   2 min1 dayc                    t        g dd      }|j                  |      }t        |d      }t        j                  ||       t        g dd      }|j                  |      }t        |d      }t        j                  ||       y )N)r   r  r   r}   r}   r   r`   )r  r  z-1 dayz-1 day 2 minr  r  r}   r}   r  r  s         r;   test_mode_timedeltaz"TestSeriesMode.test_mode_timedelta  s     9AR
 9,=>	
vy1	 $
 9,=>	
vy1rQ   r(   )r  r   r  r  c                    t        t        ddt        j                  t        j                  g            }|j	                  |      }t        |d      }t        j                  ||       t        t        dddt        j                  t        j                  g            }|j	                  |      }t        |d      }t        j                  ||       t        t        dddddt        j                  t        j                  gg dd	            }|j	                  |      }t        |d      }t        j                  ||       y )
NrW   r(   categoryr`   r   rz   r  Tr  )r   r   r+   r}   r  rl   r   )rM   r   r  r  r  r   rN   s          r;   test_mode_categoryz!TestSeriesMode.test_mode_category  s    $ ;1bffbff5679J7	
vy1;3RVVRVV<=>9J7	
vy1Aq!Q/It

 9J7	
vy1rQ               c                    t        g dt        j                        }|j                  |      }t        |t        j                        }t	        j
                  ||       t        ddgt        j                        }|j                  |      }t        |t        j                        }t	        j
                  ||       y )N)rW   r  r  r`   rW   r  )r   r+   r  r  rl   r   r  s         r;   test_mode_intoverflowz$TestSeriesMode.test_mode_intoverflow8  s     $BII69BII6	
vy1Au:RYY/9BII6	
vy1rQ   c                 ~   t        dt        j                  g      }t        dddt        j                  t        j                  g      }t        j                  t
              5  |j                  d      }|j                         j                  d      }d d d        t        j                  |       y # 1 sw Y    xY w)Nr  rW   F)r   T)drop)
r   r+   r}   rl   rm   UserWarningr  sort_valuesreset_indexr   )rM   rO   r   rN   s       r;   test_mode_sortwarningz$TestSeriesMode.test_mode_sortwarningH  s     5"&&/*AueRVVRVV45''4 	AVV5V)F'')5545@F	A 	vx0		A 	As   !3B33B<c                     t        dddt        j                  gd      }|j                         }t        ddid      }t	        j
                  ||       y )NTFrY   r`   r   )r   r\   r]   r  rl   r   )rM   r3  rN   rO   s       r;   test_mode_boolean_with_naz(TestSeriesMode.test_mode_boolean_with_naU  sF    dE4/yA1d)95
vx0rQ   zarray,expected,dtype)r                 ?rW   rW         ?      ?      ?       @)r                 @r  r  c                 f    t        ||      j                         }t        j                  ||       y r(  r  rM   rI   rO   r   rN   s        r;   test_single_mode_value_complexz-TestSeriesMode.test_single_mode_value_complex\  s)    * U+002
vx0rQ   )r   r  rW   r  r  )y                r  y      ?        r  r  )r  r  r  r  rz   r  c                 f    t        ||      j                         }t        j                  ||       y r(  r  r  s        r;   test_multimode_complexz%TestSeriesMode.test_multimode_complext  s)    ( U+002
vx0rQ   N)r   r   r   rt   r   r   r   r+   r.   r  r  	typecodesr  r}   r  r  r  r  r  r   r  r
  r  r  
complex128	complex64r  r  r   rQ   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! 1rQ   r  )(r   r   decimalr   numpyr+   rt   pandasr\   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingrl   pandas.corer   pandas.core.arrays.string_arrowr   r<   r>   r   r  r  r  r  r   rQ   r;   <module>r&     s           &   J(|1 |1~K K\
y
1 y
1xD DN3$ 3$lL1 L1rQ   