
    .i                     &   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)ArrowStringArrayc                     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	
      d      t        t        d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ns)periodsunitz
US/EasterntzDr"   freq   indexr   )r	   nparangeint64float64r   r   tz_localizer   r   rangestrrandomdefault_rngstandard_normalr   )iindexesarridxseriesobjss         e/var/www/app/trading-bot/venv/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ECP|Rd;#	

++
&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@   rC   resultexpecteds        r<   test_opszTestReductions.test_ops8   s     &f%'#{+#**&67@7288CJJ#7@B673::v68&?gchh&?&AQH3d#/x077@H==H,,,X%%%    z
dtype, val)object       @)r/   rT   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 )NrU   )rY   rZ   )r
   pdNAr   )resr   s    r<   check_missingz4TestReductions.test_nanminmax.<locals>.check_missing^   s7    ((cz!..bee|#Cy rR   r   FskipnarS   )rG   )rN   r@   r   valindex_or_seriesklassr`   rC   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?@@@rR   c                    |}|t         u rd|z   nd|z   } |t        t        ddd      g      } t        ||             dk(  sJ t	        j
                  t        d      5   t        ||      d	       d d d         |t        t        ddd      t        g      } t        ||             dk(  sJ t	        j
                  t        d      5   t        ||      d	       d d d        y # 1 sw Y   uxY w# 1 sw Y   y xY w)
Nargr9   rV   rW   rX   Encountered an NA valuematchFrb   )r	   r
   r   rG   pytestraises
ValueError)rN   r@   re   rf   arg_oprC   s         r<   test_nanargminmaxz TestReductions.test_nanargminmaxz   s      #(E>uv~S(4Q/01#wsF#%***]]:-FG 	/ GC .	/ S(4Q/56#wsF#%***]]:-FG 	/ GC .	/ 	/	/ 	/	/ 	/s   C'
C3'C03C<r   rF   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)Nri   r9   ra   Frb   zempty sequencerk   )r	   rG   r
   rm   rn   ro   )rN   r@   re   r   rf   rp   rC   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           	      v   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 t        j                  t        d	
      5  |j                  d       d d d        t        j                  t        d	
      5  |j	                  d       d d d        t        t        j
                  g      }t        j                  t        d
      5  |j                          d d d        t        j                  t        d
      5  |j	                          d d d        t        j                  t        d	
      5  |j                  d       d d d        t        j                  t        d	
      5  |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        d	
      5  |j                  d       d d d        t        j                  t        d	
      5  |j	                  d       d d d        t        t        g      }t        j                  t        d
      5  |j                          d d d        t        j                  t        d
      5  |j	                          d d d        t        j                  t        d	
      5  |j                  d       d d d        t        j                  t        d	
      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   lxY w# 1 sw Y   ExY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   sxY w# 1 sw Y   Jx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.   ra   r      rX   r)      rj   rk   Frb   Encountered all NA valuesrV   rW   )r	   r,   r-   argminargmaxnanrm   rn   ro   r
   r   )rN   rC   s     r<   test_argminmaxzTestReductions.test_argminmax   s8   BIIaw/0zz|q   zz|q   RVVQ*+zz|q   zz|q   ]]:-FG 	%JJeJ$	%]]:-FG 	%JJeJ$	% RVVHo]]:-HI 	JJL	]]:-HI 	JJL	]]:-FG 	%JJeJ$	%]]:-FG 	%JJeJ$	% S(4Q/$A1FLMzz|q   zz|q   ]]:-FG 	%JJeJ$	%]]:-FG 	%JJeJ$	% SEl]]:-HI 	JJL	]]:-HI 	JJL	]]:-FG 	%JJeJ$	%]]:-FG 	%JJeJ$	% 	%=	% 	%	% 	%	 		 		% 	%	% 	%	% 	%	% 	%	 		 		% 	%	% 	%s   ;N"1N/N<5O	)OO#,O0"O=(P
PP#P/"N,/N9<O	OO #O-0O:=P
PP #P,/P8zop, expected_colr   bc                    t        t        dddd      dg      }|j                  j                  t	        d	            |d
<    t        ||      d      }||   j                  d       }t        j                  ||       y )Nz2016-01-01 00:00:00rv   UTCr!   )r"   r%   r#   r   )columnsi  secondsr|   rX   axis)	r   r   r   subtractr   rG   renametmassert_series_equal)rN   opexpected_coldfrO   rP   s         r<   test_same_tz_min_max_axis_1z*TestReductions.test_same_tz_min_max_axis_1   sv     ,aEME
 $$--	$ 783 Ra(l#**40
vx0rR   funcmaximumminimumc                     |}t        j                  dg      j                  |      }t        |      } t	        t
        |      ||      }t        j                  ||       y )N2019)r]   to_datetimer0   r   rG   r,   r   r   )rN   tz_aware_fixturer   r%   ri   rP   rO   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0rR   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 )NrX   r)   timedelta64[ns]ra   rY   ABrv   )	r   r   r
   r]   r^   r   sumr   r   )rN   r   rP   rO   s       r<   test_nan_int_timedelta_sumz)TestReductions.test_nan_int_timedelta_sum   sf    Q3K/@AQ255M9
 	!156
vx0rR   N)__name__
__module____qualname__rm   markfilterwarningsparametrizer=   rQ   r   rg   rq   rs   r{   r   r   r    rR   r<   r?   r?   7   s   [[B [[Xu~6[[UHJ/& 0 7
&$ [[Xu~6[[xb!45	
	A	 7A@ [[Xu~6/ 7/" [[Xu~6[[Wx1F&GH/ I 7/'%R [[/5#,1MN	1 O	1 [[Vi%;<1 =1
1rR   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  rv   )i  r   i)@B ru   )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 NFrb   )r   _valuesrA   rB   r   )rN   startstopstepr9   rP   rO   result2s           r<   test_max_min_rangez&TestIndexReductions.test_max_min_range   s     d+;;??$!!! ''''(""";;??$!!! ''''(""" te,CGGICGGIrR   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,   rz   rB   r   rA   rx   ry   rN   idx1idx2r9   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$$$		%rR   r   rB   rA   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   rG   r
   rN   r   rC   s      r<   !test_minmax_timedelta_empty_or_naz5TestIndexReductions.test_minmax_timedelta_empty_or_na  sx     R wsB!S(((cU#wsB!S(((c3_-wsB!S(((rR   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 supportedrk   r   outr   )
r   r,   rB   r   rA   rm   rn   ro   rx   ry   )rN   tderrmsgs      r<   test_numpy_minmax_timedelta64z1TestIndexReductions.test_numpy_minmax_timedelta64)  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-07ru   )daysz
2015-02-15   )r   r1   r   r   diffmeanr   to_framequantiler   r,   timedelta64medianr   stddropnarI   )rN   r6   sr   rO   rP   s         r<   test_timedelta_opsz&TestIndexReductions.test_timedelta_ops>  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 operation ''rk   F)numeric_only)r   r1   r   r   r   joinrm   rn   	TypeErrorrG   r   )rN   r@   r6   r   r   msgs         r<   test_invalid_td64_reductionsz0TestIndexReductions.test_invalid_td64_reductionss  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
   rB   r   rA   rx   ry   )rN   tz_naive_fixturer%   r   r   r9   s         r<   test_minmax_tzz"TestIndexReductions.test_minmax_tz  s    GBO++++ 3lC@R
 ////$< 	%C779	,2 >>>>779	,2 >>>>::<1$$$::<1$$$		%rR   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   rG   r
   r   s      r<   test_minmax_nat_datetime64z.TestIndexReductions.test_minmax_nat_datetime64  s{     B$GC$&'''SE"$GC$&'''S#sO,$GC$&'''rR   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rX   r)   rv   r   rk   r   r   )
r	   rI   rA   r,   rB   rm   rn   ro   ry   rx   )rN   r9   rP   rO   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   rv   r   r   rk   r   )r   r,   rA   rB   rm   rn   ro   )rN   r9   rO   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   rk   r   r   r   )
r   r,   rB   r   rA   rm   rn   ro   rx   ry   )rN   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   rX   r   rv   r)   )r   r
   r   rB   r   rA   rx   ry   r   s       r<   test_minmax_periodz&TestIndexReductions.test_minmax_period  s   C|\JQTU////ABx//// 3lC@s
 ////$< 	?C779|# >>>>779|# >>>>	? {{}!!!{{}!!!{{}!!!{{}!!!rR   datac                 T    t        |d      } t        ||             }|t        u sJ y )NMr   )r   rG   r
   )rN   r   r   rC   rO   s        r<   test_minmax_period_empty_natz0TestIndexReductions.test_minmax_period_empty_nat  s-     $S)!b!#}}rR   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   rk   r   r   r   )
r   r,   rB   r   rA   rm   rn   ro   rx   ry   )rN   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\nrk   zwCategorical is not ordered for operation max\nyou can use .as_ordered\(\) to change the Categorical to an ordered one\nTcr|   )r]   CategoricalIndexlistrm   rn   r   rB   rA   )rN   cir   s      r<   test_min_max_categoricalz,TestIndexReductions.test_min_max_categorical!  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   rm   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r
   r   r   r	  r   rR   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!*rR   r   c                   J   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d Zej
                  j                  dd      d         Z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d,dgdej8                  gej8                  dgg      d-        Zej
                  j                  dg d.      ej
                  j                  d/g d0ddgddggfg d1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d2ej>                  d2gej>                  dgddggfd3ej>                  d3gdej>                  gddggfd3ej>                  d2gddgddggfg      d4               Z d5 Z!d6 Z"d7 Z#d8 Z$d9 Z%d: Z&d; Z'd< Z(d= Z)d> Z*d? Z+d@ Z,dA Z-y,)BTestSeriesReductionsc                 H   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<   t        j                  |d      }t        j                  |      j                         sJ y )	Nr)   r   r      )d   r  f4rX   r   )r   r,   r3   r4   r5   copyinfrz   isinfr   rL   r   nansumall)rN   r   s2r8   r_   s        r<   test_sum_infz!TestSeriesReductions.test_sum_inf:  s    299((+;;B?@VVX!A&&1Qxx   ii##A&66zBII$OFFAqD	mmCa(xx}  """rR   r   )r/   Float32rY   rZ   rS   use_bottleneckTFzmethod, unit)r           )r         ?c                    |dv rt         j                  nt        j                  }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        |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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        |g|      } t        ||      d      }t        |      sJ t        |dg|      } t        ||      d      }t        |      sJ 	 d d d        y # 1 sw Y   y xY w)N)r  rY   r  ra   r   )	min_countrX   Trb   )rc   r  Fr  )r   r   r   r)   )r]   r^   r,   rz   option_contextr   rG   r   r   emptyr  )	rN   methodr#   r  r   itemr   rO   r   s	            r<   
test_emptyzTestSeriesReductions.test_emptyI  s    !55ruu266/@ ]	  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<< vU+A'WQ')FT>!> (WQ'!4FT>!>'WQ'!4F<< (WQ't4FdN (WQ'tqAFT>!>'WQ'tqAF<< ay.A'WQ')FS= = (WQ'!4FS= ='WQ'!4FS= = (WQ't4FS= ='WQ'tqAFS= = 288G,E:B'GB'Q/47<<>>>s%(A'WQ'!4F<<'WQ'uBF<<vU+A'WQ'!4F<<ay.A'WQ'!4F<<{]	  ]	  ]	 s   L&M++M4r  r   r   )Float64rY   rZ   c                     t        g |      } t        ||             }|t        j                  u sJ t        t        j                  g|      } t        ||             }|t        j                  u sJ y Nra   r   rG   r]   r^   )rN   r  r   eserrO   nsers         r<   &test_ops_consistency_on_empty_nullablez;TestSeriesReductions.test_ops_consistency_on_empty_nullable  sf     b&&v&( ruugU+&v&(rR   )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)Nra   m8[ns]r   r   )zoperation 'var' not allowedz.cannot perform var with type timedelta64\[ns\]z does not support operation 'var'rk   )	rG   r   floatr   r   rm   rn   r   r
   )rN   r  rO   tdserr   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   rX   r+   )r   r,   rz   r  r   assert_almost_equal)rN   serrO   s      r<   test_nansum_bugletz'TestSeriesReductions.test_nansum_buglet  s7    c266]1a&13
vq)rR   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 ra   Frb   r.   r   )	r]   r  r,   r-   r   r   intrB   rA   rN   r  r   vr   rO   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  r5  ra   Frb   r  r6  )
r]   r  r,   r-   r   r   rB   allcloser+  rA   r8  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  rY   ra   r   g ؅W4vC)r,   rJ   r   r   )rN   rd   
n_elementsnar1  result_numpyresult_maskeds          r<   test_mean_masked_overflowz.TestSeriesReductions.test_mean_masked_overflow  sm    %
XXsej()cUZ'w7wwr{
|+q000$$$rR   z	ddof, exp)rX         @)r   rT   c                     t        g dd      }t        g dd      }|j                  |      }|j                  |      }||k(  sJ ||k(  sJ y )N)rX   r)   rv   ru   r   rY   ra   r.   ddof)r   r   )rN   rH  expr1  ser_numpy_dtyperO   result_numpy_dtypes          r<   test_var_masked_arrayz*TestSeriesReductions.test_var_masked_array  s[     _G4 @d#,00d0;++++}}rR   c                     t        g dt              }|j                  d      dk(  sJ |j                  d      dk(  sJ y )N)y                                           ?ra   rX   rG  r  )r   complexr   r   rN   r1  s     r<   test_var_complex_arrayz+TestSeriesReductions.test_var_complex_array  s>    ]'2wwAw#%%%wwAw#%%%rR   )r*  rF   zM8[ns, UTC]c                     t        g |      j                  |      t        u sJ t        g |      j                  |      t        u sJ y )Nra   rb   )r   rB   r
   rA   )rN   r   rc   s      r<   +test_empty_timeseries_reductions_return_natz@TestSeriesReductions.test_empty_timeseries_reductions_return_nat  sJ     b&**&*9S@@@b&**&*9S@@@rR   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NrX   rW   r/  r   rk   r   )r,   r-   r   rx   rm   rn   ro   )rN   r   r   rO   rP   r   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rV  )r,   r-   r   ry   rm   rn   ro   )rN   r   r1  rO   rP   r   s         r<   test_numpy_argmaxz&TestSeriesReductions.test_numpy_argmax/  s    yyBT&399T?!!!!!!4]]:S1 	%IIct$	% 	% 	%rX  c                    t        g d      j                  |      }t        ddt        j                  g|      }t        j                  t        d      5  |j                  d       d d d        t        j                  t        d      5  |j                  d       d d d        |j                         }t        j                  t        d      5  |j                  d       d d d        t        j                  t        d      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)	N)r
   z
2015-02-08r
   r  rT   r/  rj   rk   Frb   )r   as_unitr   r,   rz   rm   rn   ro   idxminidxmaxr   )rN   r#   dtir1  r   s        r<   test_idxmin_dt64indexz*TestSeriesReductions.test_idxmin_dt64index@  s	   89AA$Gc3's3]]:-FG 	%JJeJ$	%]]:-FG 	%JJeJ$	% \\^]]:-FG 	$IIUI#	$]]:-FG 	$IIUI#	$ 	$	% 	%	% 	%	$ 	$	$ 	$s0   D$D0D<E$D-0D9<EEc                    t        t        d      t        j                  d      }t        j                  |dd ||j                            |j                         k(  sJ t        j                  t        d      5  |j                  d	       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  |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   ?xY w# 1 sw Y   nxY w)Nr   r:   r   r      rj   rk   Frb   rw   20130102r   r"   r   rX   )r   r1   r,   r/   rz   r]  rB   rm   rn   ro   r   r+   rI   tolistrx   r   rN   string_seriesnonaallnar   r   rO   s          r<   test_idxminz TestSeriesReductions.test_idxminO  s    uRy

J !ffa ]11348I8I8KKKK]]:-FG 	/   .	/ ##%DKKM"dhhj000zz  '')//>$++BTBTBVVVV &)]]:S1 	LLN	 :j!45{{vv!{{+	/ 	/	 	s   :G
G
GG c                    t        t        d      t        j                  d      }t        j                  |dd ||j                            |j                         k(  sJ t        j                  t        d      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  |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   r:   r   r   rb  rj   rk   Frb   rw   rc  r   rd  ru   r   )皙?g @@rm  rl  )r   r1   r,   r/   rz   r^  rA   rm   rn   ro   r   r   r+   rI   re  ry   r   r]  rf  s          r<   test_idxmaxz TestSeriesReductions.test_idxmaxp  s    uRy

J !ffa ]11348I8I8KKKK]]:-FG 	<,,E,:;;;	< ##%DKKM"dhhj000zz  '')//>$++BTBTBVVVV &)]]:S1 	LLN	 :j!45{{vv!{{ 9o.}}}}177AGG$}}}}E	< 	<	 	s   :I"%I/"I,/I8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   ra   r    rd  tsr*   r   abcT)r   r,   r-   r/   r   r  any)rN   rp  bool_seriesr   s       r<   test_all_anyz!TestSeriesReductions.test_all_any  ss    IIb

+\26

 1f??$$$    E4=!uuwwrR   c                      |g d      }t        j                  |      rJ t        j                  |      sJ t        g d      }t        j                  |      sJ y )N)r   rX   r)   r   )r,   r  rr  r	   )rN   re   r9   s      r<   test_numpy_all_anyz'TestSeriesReductions.test_numpy_all_any  sF    i(66#;vvc{{Ivvc{{rR   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 )NTFrb   )r   r,   rz   r  rr  )rN   s1r  s      r<   test_all_any_skipnaz(TestSeriesReductions.test_all_any_skipna  sy    RVVTN#RVVUO$vvUv###vvTv"""vvUv###666&&&&rR   c                 v    t        g dg d      }|j                  d      sJ |j                  d      rJ y )N)FFTTFT)r   r   rX   rX   r)   r)   r/  T)	bool_only)r   rr  r  rN   r   s     r<   test_all_any_bool_onlyz+TestSeriesReductions.test_all_any_bool_only  s=    :BTU uutu$$$5545((((rR   c                 b    t        g dt              } t        ||      |      }d}||k(  sJ y )N)r   r|   r  dera   rb   T)r   rS   rG   )rN   all_boolean_reductionsrc   r1  rO   rP   s         r<   test_any_all_object_dtypez.TestSeriesReductions.test_any_all_object_dtype  s6    .f=545VD!!!rR   r   Nc                 d    t        |      } t        ||      d      }|dk(  xr d |v}||k(  sJ y )NFrb   rr  )r   rG   )rN   r   r  r1  rO   rP   s         r<   !test_any_all_object_dtype_missingz6TestSeriesReductions.test_any_all_object_dtype_missing  sE    
 Tl545UC *U2Gt47G!!!rR   )rZ   rY   UInt64r"  zdata,expected_data)r   r   r   )rX   rX   rX   r   rX   c                     t        ||      }||   |dk(     } t        ||      |      }|t        j                  u r|t        j                  u s||k(  sJ y y )Nra   r  rb   r%  )	rN   r  rc   r   r   expected_datar1  rP   rO   s	            r<   "test_any_all_nullable_kleene_logicz7TestSeriesReductions.test_any_all_nullable_kleene_logic  sb    $ T' ()?5)HI545VD"%%H$5&H:LLL:L$5rR   c                     t        ddgddgd      }|j                  dd      }t        ddg      }t        j                  ||       y )NTFrX   r)   r   )r   r{  )r   rr  r   r   r   )rN   r   rO   rP   s       r<   test_any_axis1_bool_onlyz-TestSeriesReductions.test_any_axis1_bool_only  sI    dE]!Q89Q$/4-(
vx0rR   c                    t        dd      j                  }t        |      }t        |      }d}t	        j
                  t        |      5  |j                          d d d        t	        j
                  t        |      5  |j                          d d d        t	        j
                  t        |      5  |j                          d d d        t	        j
                  t        |      5  |j                          d d d        t	        j
                  t        |      5  |j                         j                          d d d        t	        j
                  t        |      5  |j                         j                          d d d        |j                  d      }t        |      }t        |      }t	        j
                  t        |      5  |j                          d d d        t	        j
                  t        |      5  |j                          d d d        t	        j
                  t        |      5  |j                          d d d        t	        j
                  t        |      5  |j                          d d d        t	        j
                  t        |      5  |j                         j                          d d d        t	        j
                  t        |      5  |j                         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   Lx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   xY w# 1 sw Y   mx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   xY w# 1 sw Y   uxY w# 1 sw Y   @xY w)Nz
1995-01-02rv   rd  z6datetime64 type does not support operation '(any|all)'rk   r~   r   )
r   _datar   r   rm   rn   r   r  rr  r0   )rN   dtar1  r   r   tdas         r<   test_any_all_datetimelikez.TestSeriesReductions.test_any_all_datetimelike  s    q177Sks^ G]]9C0 	GGI	]]9C0 	GGI	 ]]9C0 	GGI	]]9C0 	GGI	 ]]9C0 	FFHLLN	]]9C0 	FFHLLN	 ooe$Sks^]]9C0 	GGI	]]9C0 	GGI	 ]]9C0 	GGI	]]9C0 	GGI	 ]]9C0 	FFHLLN	]]9C0 	FFHLLN	 CFlSks^wwyy779}wwyy779}vvx||~~668<<>!!>[	 		 		 		 		 		 		 		 		 		 		 		 	s   N&?N33O 'OOO'O4:P.P"PP(P5&N03N= O
OO$'O14O>PPP%(P25P?c                    t        |t        j                        r|j                  t        j                  u rtt        ddg|      }t        j                  t              5  |j                          d d d        t        j                  t              5  |j                          d d d        y t        ddg|      }|j                         sJ |j                         rJ |j                  d      sJ |j                  d      rJ t        t        j                  dg|      }|j                         sJ |j                         sJ |j                  d      sJ |j                  d      sJ t        t        j                  dg|      }|j                         rJ |j                         rJ |j                  d      sJ |j                  d      rJ t        ddg|      }|j                         sJ |j                         sJ |j                  d      sJ |j                  d      sJ t        g |      }|j                         rJ |j                         sJ |j                  d      rJ |j                  d      sJ t        dg|      }|j                         rJ |j                         rJ |j                  d      rJ |j                  d      rJ t        t        j                  g|      }|j                         rJ |j                         sJ |j                  d      sJ |j                  d      sJ y # 1 sw Y   xY w# 1 sw Y   y xY w)Nr   r|   ra    Frb   )rH   r]   StringDtypena_valuer^   r   rm   rn   r   rr  r  r,   rz   )rN   any_string_dtyper1  s      r<   test_any_all_string_dtypez.TestSeriesReductions.test_any_all_string_dtype/  s    '8 ))RUU2 #s+;<Cy) 	y) 	b#Y&67wwyy779}wwew$$$77%7(((bffc]*:;wwyywwyywwew$$$wwew$$$bffb\)9:779}779}wwew$$$77%7(((c3Z'78wwyywwyywwew$$$wwew$$$R/0779}wwyy77%7(((wwew$$$bT!12779}779}77%7(((77%7(((bffX%56779}wwyywwew$$$wwew$$$] s   MMMM%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-1rv   r&   r'   20120101r   r)   rX   rd  20120102r   r   )r   r   r   r]  r^  r,   rz   absr   r   rA   r   rB   )rN   r_  r   rO   rx  r  rP   s          r<   test_timedelta64_analyticsz/TestSeriesReductions.test_timedelta64_analyticsh  sG   QS9C[9Z00{{{{ 1{{{{ Jz156Jz156"r'?R
vx0r'
vx0 X&!!!X&!!!rR   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/   ra   z*attempt to get argmin of an empty sequencerk   NFrb   z*attempt to get argmax of an empty sequence)r   rm   rn   ro   r]  r^  )rN   
test_inputr   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)N)foobarbazr   Frb   rX   )rX   )r)   r  r  r  z8'>' not supported between instances of 'float' and 'str'rk   z8'<' not supported between instances of 'float' and 'str')r   r^  r]  r,   rz   rm   rn   r   )rN   using_infer_stringr1  ser2ser3r   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zimmrE  biffr  bidg      (@r   r)   )r   r^  r   r   r   )rN   r   r_   rI  s       r<   test_idxminmax_object_framez0TestSeriesReductions.test_idxminmax_object_frame  sG    }udmDEiikaVn
sC(rR   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))rX   rv   )r)   r)   )rv   rX   r)   r   Frb   )r   r^  r]  rQ  s     r<   test_idxminmax_object_tuplesz1TestSeriesReductions.test_idxminmax_object_tuples  sg    -.zz|q   zz|q   zzz'1,,,zzz'1,,,rR   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   rX   z8.68z42.23z7.11z79.61)r9   xy)r   r   r^  r   r   r   r]  )rN   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*rR   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   rX   rS   ra   Frb   )r   ry   rx   rQ  s     r<   test_argminmax_object_intsz/TestSeriesReductions.test_argminmax_object_ints  sl    aV8,zz|q   zz|q   zzz'1,,,zzz'1,,,rR   c                    t        dt        j                   t        j                  t        j                  g      }|j	                         dk(  sJ t        j                  t        d      5  |j	                  d       d d d        |j                         dk(  sJ t        j                  t        d      5  |j                  d       d d d        y # 1 sw Y   UxY w# 1 sw Y   y xY w)Nr   rX   rj   rk   Frb   r)   )	r   r,   r  rz   r]  rm   rn   ro   r^  r|  s     r<   test_idxminmax_with_infz,TestSeriesReductions.test_idxminmax_with_inf  s    Aw/0xxzQ]]:-FG 	#HHEH"	# xxzQ]]:-FG 	#HHEH"	# 	#		# 	#	# 	#s   +C6CCC'c                     t        dgd      }|j                         }t        j                  d      }t	        j
                  ||       y )Nl     9V uint64ra   )r   r   r,   r  r   r0  )rN   r   rO   rP   s       r<   test_sum_uint64z$TestSeriesReductions.test_sum_uint64  s<    ():9912
vx0rR   c                     t        g d      }|j                  d      j                         }|rt        |t              sJ y t        |t
        j                        sJ y )N)rX   r)   rv   ru   uint8)r   rL   r   rH   r7  r,   r  )rN   using_python_scalarsr1  rO   s       r<   #test_signedness_preserved_after_sumz8TestSeriesReductions.test_signedness_preserved_after_sum  sJ    \"G$((*fc***fbii000rR   ).r   r   r   r  rm   r   r   r!  r(  r-  r2  r:  r>  rD  rL  rR  rT  rW  rZ  r`  rj  rn  rt  rv  ry  r}  r  r,   rz   r  r]   r^   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   rR   r<   r  r  5  s   
# [[E [[-e}=[[^lM-JK_  L >
_ B [[X7[[W&EF G 8 [[X'GH! I!0*
 [[-e}=[[Ww&89( : >( [[-e}=[[Wy)&<=
5 > >
5
% [[[8X*>? @& [[W&IJA KA
#$%"$B,\')" [[%urvvP"" [[W&OP[[ 	%%89$d|45eeRUUBEE"beeRUU^eT]$CD]beeU^eU^<=]dBEE]T4L9:]dE]T5M:;	
	M QM16"p7%r'"R, *8)-+"-
#11rR   r  c                   0   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ge ed      g 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   )rB   r
   rA   )rN   r  s     r<   test_minmax_nat_seriesz5TestDatetime64SeriesReductions.test_minmax_nat_series  s^     {{}###{{}###{{%{(C///{{%{(C///rR   nat_dfc                     t        |      }|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   Frb   )r   rB   r
   rA   )rN   r  s     r<   test_minmax_nat_dataframez8TestDatetime64SeriesReductions.test_minmax_nat_dataframe  sz     6"zz|A#%%%zz|A#%%%zzz'*c111zzz'*c111rR   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   r6  )r   taker,   r3   r4   permutationlenrB   rA   rH   r   )rN   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###rR   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Lr6  r   )r   r   r,   r3   r4   r5   r  r  rA   r   iatrH   rB   )rN   r  lvlsr   rO   rI  s         r<   test_min_max_seriesz2TestDatetime64SeriesReductions.test_min_max_series5  s    Rd;AYY**1-==c#hG
 		"&&),,,}}		!%&),,,}}rR   N)r   r   r   rm   r   r   r   r
   r   r  r  r  r  r   rR   r<   r  r    s    
 [[C:C5)*+Ie$i&678	
00 [[#J)E"#uy/0	
22$rR   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g  ed      ej                   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      d        Zej                  j                  dddg      d        Zy)TestCategoricalSeriesReductionsfunctionrB   rA   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 rk   )r   r   rm   rn   r   rG   )rN   r  catr   s       r<   test_min_max_unordered_raisesz=TestCategoricalSeriesReductions.test_min_max_unordered_raisesP  sT     [!5uEF9(D]]9C0 	%"GC"$	% 	% 	%s   AAzvalues, categoriesrq  cbar   rv   r)   rX   rX   r)   rv   c                     t        t        ||d            } t        ||      d      }|dk(  r|d   n|d   }||k(  sJ y )NTr  rb   rB   r   r)   )r   r   rG   )rN   rI   r  r  r  rO   rP   s          r<   test_min_max_orderedz4TestCategoricalSeriesReductions.test_min_max_orderedX  sN     [JMN'h't4$,$5:a=:a=!!!rR   c                     t        t        t        j                  gddgd            } t	        ||      |      }|t        j                  u sJ y )NrX   r)   Tr  rb   r   r   r,   rz   rG   )rN   r  rc   r  rO   s        r<   "test_min_max_ordered_with_nan_onlyzBTestCategoricalSeriesReductions.test_min_max_ordered_with_nan_onlyj  sF     ["&&q!fdKL'h'v6rR   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  rb   rB   r  )rN   r  rc   r  rO   rP   s         r<   test_min_max_skipnaz3TestCategoricalSeriesReductions.test_min_max_skipnaq  st    c2663/S#JPTU
 (h'v6T>&%/sSHX%%%RVV###rR   N)r   r   r   rm   r   r   r  r  r,   rz   r  r  r  r   rR   r<   r  r  K  s"   
 [[Z%8% 9% [[%[$u+&%[$u+&#tE{#BFF#T%[1	"Arvv	*	
	 [[Z%8" 9	" [[Z%8  9  [[Z%8
$ 9
$rR   r  c                   ,   e Zd Z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      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fddgej                  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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(dgej*                  fg d(dgej,                  fg d)d*gej*                  fg      d+        Zej
                  j                  d'g d,g d-ej*                  fg d.d/d*gej,                  fg      d0        Zy1)2TestSeriesModec                     t        g t        j                        }|j                  |      }t	        j
                  ||       y r$  )r   r,   r/   moder   r   )rN   r   r   rO   s       r<   test_mode_emptyzTestSeriesMode.test_mode_empty  s/    2RZZ(
vq)rR   zdropna, data, expectedT)rX   rX   rX   r)   rX   )rX   rX   rX   r)   rv   rv   rv   rv   Fc                     t        ||      }|j                  |      }t        ||      }t        j                  ||       y r$  r   r  r   r   )rN   r   r   rP   any_real_numpy_dtyper   rO   s          r<   test_mode_numericalz"TestSeriesMode.test_mode_numerical  s;     434(*>?
vx0rR   zdropna, expectedr  c                     t        dddt        j                  t        j                  g      }|j                  |      }t        |      }t	        j
                  ||       y )NrX   r)   )r   r,   rz   r  r   r   )rN   r   rP   r   rO   s        r<   test_mode_numerical_nanz&TestSeriesMode.test_mode_numerical_nan  sF    Aq!RVVRVV,-(#
vx0rR   zdropna, expected1, expected2r|   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        |t              }t        j                  ||       y )	Nr   r)   r|   rv   r  ra   r  r  )r   r  r   r   r,   rz   rS   )rN   r   	expected1	expected2r   r   rO   s          r<   test_mode_objectzTestSeriesMode.test_mode_object  s     uqyC519$4s#9C0	
vy1ueRVVRVVRVV<4v&9F3	
vy1rR   c                    dgdz  dgdz  z   }t        ||      }|j                  |      }t        ||      }t        j                  ||       dddt        j
                  t        j
                  t        j
                  g}t        ||      }|j                  |      }t        ||      }t        j                  ||       y )Nr   r)   r|   rv   ra   r  r  )r   r  r   r   r,   rz   )rN   r   r  r  r  r   r   rO   s           r<   test_mode_stringzTestSeriesMode.test_mode_string  s     uqyC519$4/09,<=	
vy1ueRVVRVVRVV<4/09,<=	
vy1rR   r  c                 t   t        g d      }|j                  |      }t        |t              }t        j                  ||       t        dddt
        j                  t
        j                  t
        j                  g      }|j                  |      }t        |t              }t        j                  ||       y )N)rX   r  r  ra   rX   r  )r   r  rS   r   r   r,   rz   )rN   r   r  r  r   rO   rP   s          r<   test_mode_mixeddtypez#TestSeriesMode.test_mode_mixeddtype  s    
 $%)62
vx0AueRVVRVVRVV<=)62
vx0rR   )
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  rz   rz   rF   ra   )r   r  r  r   r  rz   rz   r  rN   r   r  r  r   rO   s         r<   test_mode_datetimez!TestSeriesMode.test_mode_datetime  s}     DH
 9H5	
vy1 
 9H5	
vy1rR   )-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  rz   rz   r   ra   )r  r  z-1 dayz-1 day 2 minr  r  rz   rz   r  r  s         r<   test_mode_timedeltaz"TestSeriesMode.test_mode_timedelta  s     9AR
 9,=>	
vy1	 $
 9,=>	
vy1rR   z'dropna, expected1, expected2, expected3r)   )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 )
NrX   r)   categoryra   r   rv   r  Tr  )r   r   r,   rz   r  r   r   )rN   r   r  r  	expected3r   rO   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1rR               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)rX   r  r  ra   rX   r  )r   r,   r  r  r   r   r  s         r<   test_mode_intoverflowz$TestSeriesMode.test_mode_intoverflowF  s     $BII69BII6	
vy1Au:RYY/9BII6	
vy1rR   c                     t        dddt        j                  t        j                  g      }t        dt        j                  gt              }|j	                  d      }t        j                  ||       y )NrX   r  ra   F)r   )r   r,   rz   rS   r  r   r   )rN   r   rP   rO   s       r<   test_mode_sort_with_naz%TestSeriesMode.test_mode_sort_with_naV  sS    AueRVVRVV455"&&/8u%
vx0rR   c                     t        dddt        j                  gd      }|j                         }t        dgd      }t	        j
                  ||       y )NTFrZ   ra   )r   r]   r^   r  r   r   )rN   r1  rO   rP   s       r<   test_mode_boolean_with_naz(TestSeriesMode.test_mode_boolean_with_na\  sD    dE4/yA4&	2
vx0rR   zarray,expected,dtype)r   rO  rX   rX         ?      ?      ?       @)r                 @r  r  c                     t        ||      j                         }t        ||      }t        j                  ||       y r$  r  rN   rJ   rP   r   rO   s        r<   test_single_mode_value_complexz-TestSeriesMode.test_single_mode_value_complexc  s5    * U+002(%0
vx0rR   )r   rO  rX   r  r  )rN  rO  y      ?        r  r  )r  r  r  r  rv   r  c                     t        ||      j                         }t        ||      }t        j                  ||       y r$  r  r  s        r<   test_multimode_complexz%TestSeriesMode.test_multimode_complex|  s5    ( U+002(%0
vx0rR   N)r   r   r   r  rm   r   r   r  r,   rz   r  r  r  r  r   r  r   r
  r  r  r  
complex128	complex64r  r  r   rR   r<   r  r    s   
*
 [[ <!%(1a&1L1#&)Aq62		
11 [[/4#-%!RVVAU1VW1 X1 [[&C55'"SEBFF8$	
22  [[&C55'"SEBFF8$	
22  [[&
%	!EE7RVVH#=>	1		1 [[& :|,
 RVVHrvv|\BC	

2
20 [[&2Wg4FGRVVHrvvw89	
226 [[1 QF1v6SEq#h7QFy$G	 RVVH!Q8RVVSMq#h?RVVQNy$O		
"2#"2( [[&
!U	$uug5z&BC
2	
211 [[ . . %	
(1)(1
 [[ +0	 ,V	
 1! 1rR   r  )(r   r   decimalr   numpyr,   rm   pandasr]   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr   pandas.corer   pandas.core.arrays.string_arrowr   r=   r?   r   r  r  r  r  r   rR   r<   <module>r#     s           &   <(m1 m1`K K\
K1 K1\E EP1$ 1$hS1 S1rR   