
    Pi                     L   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'dS )    )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                              d          t          t          ddd          d          t          d t          d          D             d          g} t          j                            d                              d          fd| D             }| |z   }|S )NTF   a)name
   dtyper   
2020-01-01ns)periodsunitz
US/EasterntzDr"   freqc                 ,    g | ]}t          |          S  )str.0is     {/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/reductions/test_reductions.py
<listcomp>zget_objs.<locals>.<listcomp>-   s    )))!s1vv)))       c                 4    g | ]}t          |d           S )r   indexr   )r   )r-   idxarrs     r/   r0   zget_objs.<locals>.<listcomp>1   s(    BBB3fS#...BBBr1   )r	   nparangeint64float64r   r   tz_localizer   r   rangerandomdefault_rngstandard_normal)indexesseriesobjsr7   s      @r/   get_objsrD   #   s@   tUmac***bimm28#666bimm2:C888jrEEECPPP|Rd;;;#	
 	
 	

++
&
&LrDDD3OOO))uRyy)))444
G )


"
"
2
22
6
6CBBBB'BBBFVDKr1   c                   (   e Zd Zej                            d          ej                            dddg          ej                            d e                      d                                     Zej                            dddg          ej                            ddd	d
 e	ddd          fddg          d                         Z
ej                            dddg          d             Zej                            dddg          ej                            dddg          d                         Zd Zej                            dddgddgg          d             Zej                            dddg          d             Zd Zd S )!TestReductionsz8ignore:Period with BDay freq is deprecated:FutureWarningopnamemaxminobjc                 2    t          ||                      }t          |t                    sht          |j        t                    r0 t          t          j        |j                  |                      }nO t          |j        |                      }n1t           t          |j        |                      |j	                  }t          |dd           7|
                    d          
                    d          }|j        |k    sJ d S ||k    sJ d S )N)ordinalr(   r%   M8[ns]r:   )getattr
isinstancer   valuesr   r8   arrayr   asi8r(   astype_value)selfrG   rJ   resultexpecteds        r/   test_opszTestReductions.test_ops8   s    &f%%''#{++ 	R#*&677 9@728CJ#7#7@@BB673:v6688&?gch&?&?&A&AQQQH3d##/x0077@@H=H,,,,,,X%%%%%%r1   z
dtype, val)object       @)r;   rZ   datetime64[ns]        )Int64r2   )booleanTc                    |}fd} |d g          } | t          ||                                sJ  | t          ||          d                    sJ  |g           } | t          ||                                sJ  | t          ||          d                    sJ dk    rd S  |d |g          } t          ||                      |k    sJ  | t          ||          d                    sJ  |d |d g          } t          ||                      |k    sJ  | t          ||          d                    sJ d S )Nc                 d    dk    r	| t           u S dv r| t          j        u S t          |           S )Nr[   )r_   r`   )r
   pdNAr   )resr   s    r/   check_missingz4TestReductions.test_nanminmax.<locals>.check_missing^   s=    (((cz!...be|#Cyy r1   r   FskipnarY   )rN   )rU   rG   r   valindex_or_seriesklassrf   rJ   s     `     r/   test_nanminmaxzTestReductions.test_nanminmaxO   s     	! 	! 	! 	! 	! eTF%(((}1WS&113344444}1WS&11???@@@@@eBe$$$}1WS&113344444}1WS&11???@@@@@HFeT3Ku---#wsF##%%,,,,}1WS&11???@@@@@eT3%U333#wsF##%%,,,,}1WS&11???@@@@@@@r1   c                 n   |}|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            n# 1 swxY w Y    |t          t          ddd          t          g          } t          ||                      dk    sJ t	          j        t          d          5   t          ||          d	           d d d            d S # 1 swxY w Y   d S )
Nargr6   r\   r]   r^   Encountered an NA valuematchFrh   )r	   r
   r   rN   pytestraises
ValueError)rU   rG   rk   rl   arg_oprJ   s         r/   test_nanargminmaxz TestReductions.test_nanargminmaxz   s     #(E>>uv~eS(4Q//011#wsF##%%****]:-FGGG 	/ 	/ GC  ....	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ eS(4Q//566#wsF##%%****]:-FGGG 	/ 	/ GC  ....	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/s$   0BBBD**D.1D.r   rM   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            n# 1 swxY w Y   t          j        t
          d          5   t          ||          d           d d d            d S # 1 swxY w Y   d S )Nro   r6   rg   Frh   zempty sequencerq   )r	   rN   r
   rs   rt   ru   )rU   rG   rk   r   rl   rv   rJ   s          r/   test_nanops_empty_objectz'TestReductions.test_nanops_empty_object   s     #(E>>uv~eBe$$$#wsF##%%,,,,#wsF##5111S8888]:-=>>> 	# 	# GC  """	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#]:-=>>> 	/ 	/ GC  ....	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/s$   B''B+.B+C55C9<C9c           	      p	   t          t          j        dd                    }|                                dk    sJ |                                dk    sJ t          t          j        dt          j        dg          }|                                dk    sJ |                                dk    sJ t          j        t          d	
          5  |                    d           d d d            n# 1 swxY w Y   t          j        t          d	
          5  |                    d           d d d            n# 1 swxY w Y   t          t          j        g          }t          j        t          d
          5  |                                 d d d            n# 1 swxY w Y   t          j        t          d
          5  |                                 d d d            n# 1 swxY w Y   t          j        t          d	
          5  |                    d           d d d            n# 1 swxY w Y   t          j        t          d	
          5  |                    d           d d d            n# 1 swxY w Y   t          t          t          ddd          t          ddd          t          g          }|                                dk    sJ |                                dk    sJ t          j        t          d	
          5  |                    d           d d d            n# 1 swxY w Y   t          j        t          d	
          5  |                    d           d d d            n# 1 swxY w Y   t          t          g          }t          j        t          d
          5  |                                 d d d            n# 1 swxY w Y   t          j        t          d
          5  |                                 d d d            n# 1 swxY w Y   t          j        t          d	
          5  |                    d           d d d            n# 1 swxY w Y   t          j        t          d	
          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nr   r:   rg   r      r^   r2      rp   rq   Frh   Encountered all NA valuesr\   r]   )r	   r8   r9   argminargmaxnanrs   rt   ru   r
   r   )rU   rJ   s     r/   test_argminmaxzTestReductions.test_argminmax   s   BIaw///00zz||q    zz||q    RVQ*++zz||q    zz||q    ]:-FGGG 	% 	%JJeJ$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%]:-FGGG 	% 	%JJeJ$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% RVHoo]:-HIII 	 	JJLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:-HIII 	 	JJLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:-FGGG 	% 	%JJeJ$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%]:-FGGG 	% 	%JJeJ$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% S(4Q//$A1F1FLMMzz||q    zz||q    ]:-FGGG 	% 	%JJeJ$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%]:-FGGG 	% 	%JJeJ$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% SEll]:-HIII 	 	JJLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:-HIII 	 	JJLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:-FGGG 	% 	%JJeJ$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%]:-FGGG 	% 	%JJeJ$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   C11C58C5D::D>D>:FF"FG""G&)G&H++H/2H/I44I8;I8	L,,L03L0M55M9<M90OOO7PPP>Q!!Q%(Q%R++R/2R/zop, expected_colr   bc                 6   t          t          dddd          dg          }|j                            t	          d	                    |d
<    t          ||          d          }||                             d           }t          j        ||           d S )Nz2016-01-01 00:00:00r|   UTCr!   )r"   r%   r#   r   )columnsi  secondsr   r^   axis)	r   r   r   subtractr   rN   renametmassert_series_equal)rU   opexpected_coldfrV   rW   s         r/   test_same_tz_min_max_axis_1z*TestReductions.test_same_tz_min_max_axis_1   s     ,aEMMME
 
 
 $--	$ 7 7 7883 Ra(((l#**400
vx00000r1   funcmaximumminimumc                     |}t          j        dg                              |          }t          |          } t	          t
          |          ||          }t          j        ||           d S )N2019)rc   to_datetimer<   r   rN   r8   r   r   )rU   tz_aware_fixturer   r%   ro   rW   rV   s          r/   (test_numpy_reduction_with_tz_aware_dtypez7TestReductions.test_numpy_reduction_with_tz_aware_dtype   sg     nfX&&22266#;;"T""8X66
vx00000r1   c                     t          t          ddt          gd          t          ddt          j        gd          d          }t          t          d          dd          }|                                }t          j        ||           d S )Nr^   r2   timedelta64[ns]rg   r_   ABr|   )	r   r   r
   rc   rd   r   sumr   r   )rU   r   rW   rV   s       r/   test_nan_int_timedelta_sumz)TestReductions.test_nan_int_timedelta_sum   s    Q3K/@AAAQ25M999 
 
 	!15566
vx00000r1   N)__name__
__module____qualname__rs   markfilterwarningsparametrizerD   rX   r   rm   rw   ry   r   r   r   r   r*   r1   r/   rF   rF   7   s!       [B  [Xu~66[UHHJJ//& & 0/ 76 
&$ [Xu~66[xxb!445	
	 	A A	 	 76A@ [Xu~66/ / 76/" [Xu~66[Wx1F&GHH/ / IH 76/'% '% '%R [/5#,1MNN	1 	1 ON	1 [Vi%;<<1 1 =<1
1 
1 
1 
1 
1r1   rF   c            	          e Zd Zej                            dg d          d             Zd Zej                            dddg          d             Zd	 Z	d
 Z
ej                            dg d          d             Zd Zej                            dddg          d             Zd Zd Zd Zd Zej                            dddg          ej                            dg egeeegg          d                         Zd Zd ZdS )TestIndexReductionszstart,stop,step))r   i  r|   )i  r   i)@B r{   )r   r   )r   r      c                 $   t          |||          }|j                                        }|                                }||k    sJ |                    d          }||k    sJ |j                                        }|                                }||k    sJ |                    d          }||k    sJ t          |||           }t	          |                                          sJ t	          |                                          sJ d S NFrh   )r   _valuesrH   rI   r   )rU   startstopstepr6   rW   rV   result2s           r/   test_max_min_rangez&TestIndexReductions.test_max_min_range   s    d++;??$$!!!! '''''("""";??$$!!!! '''''("""" te,,CGGIICGGIIr1   c                    t          g d          }|j        sJ t          dt          j        ddg          }|j        rJ ||fD ]}|                                t          d          k    sJ |                                t          d          k    sJ |                                dk    sJ |                                dk    sJ d S )N)1 days2 days3 daysr   r   r
   r   r2   )	r   is_monotonic_increasingr8   r   rI   r   rH   r~   r   rU   idx1idx2r6   s       r/   test_minmax_timedelta64z+TestIndexReductions.test_minmax_timedelta64  s    <<<==++++ x5ABB////$< 	% 	%C7799	( 3 333337799	( 3 33333::<<1$$$$::<<1$$$$$		% 	%r1   r   rI   rH   c                 V   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 d S N)r   rN   r
   rU   r   rJ   s      r/   !test_minmax_timedelta_empty_or_naz5TestIndexReductions.test_minmax_timedelta_empty_or_na  s     R  wsB!!S((((cU##wsB!!S((((c3_--wsB!!S((((((r1   c                    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            n# 1 swxY w Y   t          j        t          |          5  t          j        |d           d d d            n# 1 swxY w Y   t          j        |          dk    sJ t          j	        |          d	k    sJ d}t          j        t          |          5  t          j        |d           d d d            n# 1 swxY w Y   t          j        t          |          5  t          j	        |d           d d d            d S # 1 swxY w Y   d S )
Nz
16815 daysz
16820 daysr&   r(   $the 'out' parameter is not supportedrq   r   outr   )
r   r8   rI   r   rH   rs   rt   ru   r~   r   )rU   tderrmsgs      r/   test_numpy_minmax_timedelta64z1TestIndexReductions.test_numpy_minmax_timedelta64)  s   \<cBBBvbzzY|444444vbzzY|4444447]:V444 	 	F21	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:V444 	 	F21	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 y}}!!!!y}}!!!!7]:V444 	! 	!Iba    	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!]:V444 	! 	!Iba    	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!sH   >B!!B%(B%C**C.1C.E))E-0E-F33F7:F7c                 (   t          d t          d          D                       }|                                }|                                }t	          t          d                    }||k    sJ |                                                                }|d         |k    sJ |                    d          }t          t          j
        dd                    }||k    sJ |                                }t	          d	          }||k    sJ |                                                                }|d         |k    sJ |                                }t	          d
          }||k    sJ |                                                                }|d         |k    sJ |                                }t	          t          |                                j                                                            }||k    sJ |                                                                }|d         |k    sJ t          t!          d          t!          d          g          }|                                                                t          d          k    sJ t          t!          d          t!          d          t!          d          g          }|                                                                t          d          k    sJ d S )Nc                 T    g | ]%}t          d           t          ||z            z   &S 20130101r   r   r   r,   s     r/   r0   z:TestIndexReductions.test_timedelta_ops.<locals>.<listcomp>B  4    QQQ!Yz""Yq1u%=%=%==QQQr1   r   	   r   r   g?i(
  msz00:00:09z00:01:21z
2015-02-03z
2015-02-07r{   )daysz
2015-02-15   )r   r=   diffmeanr   r   to_framequantiler   r8   timedelta64medianr   stddropnarP   r   )rU   sr   rV   rW   s        r/   test_timedelta_opsz&TestIndexReductions.test_timedelta_ops>  s    QQuRyyQQQ
 
 VVXX	! 4 4 455!!!!##%%ayH$$$$S!!R^D$7788!!!!
++!!!!%%''ayH$$$$ 
++!!!!""$$ayH$$$$ ryy{{'9 : : > > @ @AA!!!!""$$ayH$$$$ Il++Y|-D-DEFFvvxx  I1$5$5$55555|$$i&=&=y?V?VW
 
 vvxx  I1$5$5$5555555r1   rG   )skewkurtsemprodvarc                    t          d t          d          D                       }|                                }d                    d| dd| dd| d	g          }t	          j        t          |
          5   t          ||                       d d d            n# 1 swxY w Y   t	          j        t          |
          5   t          |                                |          d           d d d            d S # 1 swxY w Y   d S )Nc                 T    g | ]%}t          d           t          ||z            z   &S r   r   r,   s     r/   r0   zDTestIndexReductions.test_invalid_td64_reductions.<locals>.<listcomp>v  r   r1   r   |zreduction operation 'z' not allowed for this dtypezcannot perform z with type timedelta64\[ns\]zdoes not support operation ''rq   F)numeric_only)	r   r=   r   joinrs   rt   	TypeErrorrN   r   )rU   rG   r   r   msgs        r/   test_invalid_td64_reductionsz0TestIndexReductions.test_invalid_td64_reductionss  s   QQuRyyQQQ
 
 VVXXhhLLLLG6GGG8v888
 
 ]9C000 	" 	"GB!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" ]9C000 	? 	?*GBKKMM6**>>>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	?s$   :BB#&B#-C??DDc                    |}t          g d|          }|j        sJ t          dt          ddt          g|          }|j        rJ ||fD ]}|                                t	          d|          k    sJ |                                t	          d|          k    sJ |                                dk    sJ |                                dk    sJ d S )N)
2011-01-01
2011-01-02
2011-01-03r$   r   r   r   r   r2   )r   r   r
   rI   r   rH   r~   r   )rU   tz_naive_fixturer%   r   r   r6   s         r/   test_minmax_tzz"TestIndexReductions.test_minmax_tz  s   GGGBOOO++++ 3lC@R
 
 
 ////$< 	% 	%C7799	,2 > > >>>>>7799	,2 > > >>>>>::<<1$$$$::<<1$$$$$		% 	%r1   c                 z   t          g           }t           t          ||                                sJ t          t          g          }t           t          ||                                sJ t          t          t          t          g          }t           t          ||                                sJ d S r   )r   r   rN   r
   r   s      r/   test_minmax_nat_datetime64z.TestIndexReductions.test_minmax_nat_datetime64  s     B$GC$$&&'''''SE""$GC$$&&'''''S#sO,,$GC$$&&'''''''r1   c                 "   t          g d          }|j                                        }t          j        |          }||k    sJ |j                                        }t          j        |          }||k    sJ d}t          j        t          |          5  t          j        |d           d d d            n# 1 swxY w Y   t          j        t          |          5  t          j        |d           d d d            n# 1 swxY w Y   |j                                        }t          j        |          }||k    sJ |j        	                                }t          j	        |          }||k    sJ d}t          j        t          |          5  t          j	        |d           d d d            n# 1 swxY w Y   t          j        t          |          5  t          j        |d           d d d            d S # 1 swxY w Y   d S )Nr^   r2   r|   r   rq   r   r   )
r	   rP   rH   r8   rI   rs   rt   ru   r   r~   )rU   r6   rW   rV   r   s        r/   test_numpy_minmax_integerz-TestIndexReductions.test_numpy_minmax_integer  s   III:>>##!!!!:>>##!!!!7]:V444 	 	F3A	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:V444 	 	F3A	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 :$$&&3!!!!:$$&&3!!!!7]:V444 	" 	"Icq!!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"]:V444 	" 	"Icq!!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"sH   B<<C C "DD	D	F::F>F> HH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            n# 1 swxY w Y   t	          j        t          |          5  t          j        |d           d d d            d S # 1 swxY w Y   d S )Nr   r   r|   r   r   rq   r   )r   r8   rH   rI   rs   rt   ru   )rU   r6   rV   r   s       r/   test_numpy_minmax_rangez+TestIndexReductions.test_numpy_minmax_range  sY   B""{{{{{{{{7]:V444 	 	F3A	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:V444 	 	F3A	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   'B

BB0CCCc                 ~   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            n# 1 swxY w Y   t          j        t          |          5  t          j        |d	           d d d            n# 1 swxY w Y   t          j        |          dk    sJ t          j	        |          d
k    sJ d}t          j        t          |          5  t          j        |d	           d d d            n# 1 swxY w Y   t          j        t          |          5  t          j	        |d	           d d d            d S # 1 swxY w Y   d S )N
2016-01-15
2016-01-20r   endz2016-01-15 00:00:00z2016-01-20 00:00:00r   rq   r   r   r   )
r   r8   rI   r   rH   rs   rt   ru   r~   r   )rU   drr   s      r/   test_numpy_minmax_datetime64z0TestIndexReductions.test_numpy_minmax_datetime64  s   l===vbzzY'<======vbzzY'<======7]:V444 	 	F21	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]:V444 	 	F21	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 y}}!!!!y}}!!!!7]:V444 	! 	!Iba    	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! ]:V444 	! 	!Iba    	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!sH   =B  B$'B$C))C-0C-E((E,/E,F22F69F6c                 B   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 ]T}|                                t	          dd          k    sJ |                                t	          dd          k    sJ U|                                dk    sJ |                                dk    sJ |                                dk    sJ |                                d	k    sJ d S )
Nr   r   r   r&   r   r^   r   r|   r2   )r   r
   r   rI   r   rH   r~   r   r   s       r/   test_minmax_periodz&TestIndexReductions.test_minmax_period  sG   C|\JQTUUU////ABBx//// 3lC@s
 
 
 ////$< 	? 	?C7799|# > > >>>>>7799|# > > >>>>>>{{}}!!!!{{}}!!!!{{}}!!!!{{}}!!!!!!r1   datac                 n    t          |d          } t          ||                      }|t          u sJ d S )NMr   )r   rN   r
   )rU   r   r  rJ   rV   s        r/   test_minmax_period_empty_natz0TestIndexReductions.test_minmax_period_empty_nat  s>     $S)))!b!!##}}}}}}r1   c                    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            n# 1 swxY w Y   t          j        t          |          5  t          j        |d	           d d d            n# 1 swxY w Y   t          j        |          dk    sJ t          j	        |          d
k    sJ d}t          j        t          |          5  t          j        |d	           d d d            n# 1 swxY w Y   t          j        t          |          5  t          j	        |d	           d d d            d S # 1 swxY w Y   d S )Nr   r   r   r&   r   r   rq   r   r   r   )
r   r8   rI   r   rH   rs   rt   ru   r~   r   )rU   prr   s      r/   test_numpy_minmax_periodz,TestIndexReductions.test_numpy_minmax_period  s   ,???vbzzVLs;;;;;;;vbzzVLs;;;;;;;7]:V444 	 	F21	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:V444 	 	F21	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 y}}!!!!y}}!!!!7]:V444 	! 	!Iba    	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!]:V444 	! 	!Iba    	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!sH   B$$B(+B(
C--C14C1	E,,E03E0F66F:=F:c                 V   t          j        t          d          t          d          d          }d}t          j        t
          |          5  |                                 d d d            n# 1 swxY w Y   d}t          j        t
          |          5  |                                 d d d            n# 1 swxY w Y   t          j        t          d          t          d          d          }|                                d	k    sJ |                                d
k    sJ d S )NaabbcacabF
categoriesorderedzwCategorical is not ordered for operation min\nyou can use .as_ordered\(\) to change the Categorical to an ordered one\nrq   zwCategorical is not ordered for operation max\nyou can use .as_ordered\(\) to change the Categorical to an ordered one\nTcr   )rc   CategoricalIndexlistrs   rt   r   rI   rH   )rU   cir   s      r/   test_min_max_categoricalz,TestIndexReductions.test_min_max_categorical!  s    hDKKQVWWWY 	 ]9C000 	 	FFHHH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	Y 	 ]9C000 	 	FFHHH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	  hDKKQUVVVvvxx3vvxx3s$   A00A47A4B99B= B=N)r   r   r   rs   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r
   r  r  r  r*   r1   r/   r   r      s       
 [	
 	
 	
	 	 	 	0% % % [TE5>22	) 	) 32	)! ! !*36 36 36j [X'M'M'MNN? ? ON?(% % %$ [TE5>22	( 	( 32	(" " "@  &! ! !." " "( [TE5>22[Vb3%#sC%ABB  CB 32! ! !*    r1   r   c                      e Zd Zd Zej                            dg d          ej                            dddg          ej                            ddd	g          d
                                     Zej                            dddg          ej                            dg d          d                         Zej                            dg d          d             Z	d Z
ej                            dddg          ej                            dddg          d                         Zej                            dddg          ej                            dddg          d                         Zd Zej                            dddg          d             Zd Ze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                            d+dd,gd,dgdej        gej        dgg          d-             Zej                            dg d.          e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-d,S )BTestSeriesReductionsc                 l   t          t          j                            d                              d                    }|                                }t          j        |dd<   t          j        |dd<   t          j        |	                                          sJ t          j                            d                              d          
                    d          }t          j        |d d df<   t          j        |d          }t          j        |                                          sJ d S )	Nr2   r   r      )d   r  f4r^   r   )r   r8   r>   r?   r@   copyinfr   isinfr   rS   r   nansumall)rU   r   s2r7   re   s        r/   test_sum_infz!TestSeriesReductions.test_sum_inf:  s    29((++;;B??@@VVXX!A#&1Q3x     i##A&&66zBBII$OOFAAAqD	mCa(((x}}  """""""r1   r   )r;   Float32r_   r`   rY   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    
                                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            d S # 1 swxY w Y   d S )N)r!  r_   r"  rg   r   )	min_countr^   Trh   )ri   r&  Fr$  )r   r   r   r2   )rc   rd   r8   r   option_contextr   rN   r   r   emptyr  )	rU   methodr#   r"  r   itemr   rV   r   s	            r/   
test_emptyzTestSeriesReductions.test_emptyI  sZ    !555ruu26/@@ ]	  ]	  r'''A'WQ''))FT>>>> (WQ''!444FT>>>>'WQ''!444F<<< (WQ''t444FdNN (WQ''tqAAAFT>>>>'WQ''tqAAAF<<<'WQ''uBBBFT>>>>'WQ''uBBBF<<< vU+++A'WQ''))FT>>>> (WQ''!444FT>>>>'WQ''!444F<<< (WQ''t444FdNN (WQ''tqAAAFT>>>>'WQ''tqAAAF<<< ay...A'WQ''))FS==== (WQ''!444FS===='WQ''!444FS==== (WQ''t444FS===='WQ''tqAAAFS==== 28G,,E:::B'GB''Q///47<<>>>>>s%(((A'WQ''!444F<<<'WQ''uBBBF<<<vU+++A'WQ''!444F<<<ay...A'WQ''!444F<<<{]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	 s   P Q  Q$'Q$r)  r   r   )Float64r_   r`   c                     t          g |          } t          ||                      }|t          j        u sJ t          t          j        g|          } t          ||                      }|t          j        u sJ d S Nrg   r   rN   rc   rd   )rU   r)  r   eserrV   nsers         r/   &test_ops_consistency_on_empty_nullablez;TestSeriesReductions.test_ops_consistency_on_empty_nullable  s~     b&&&&v&&(( rugU+++&v&&((r1   )r   r   r   r   c                     t          t          t                    |                      }t          |          sJ t          g d          }|dk    red                    g d          }t          j        t          |          5   t          ||                       d d d            d S # 1 swxY w Y   d S  t          ||                      }|t          u sJ d S )Nrg   m8[ns]r   r   )zoperation 'var' not allowedz.cannot perform var with type timedelta64\[ns\]z does not support operation 'var'rq   )	rN   r   floatr   r   rs   rt   r   r
   )rU   r)  rV   tdserr   s        r/   test_ops_consistency_on_emptyz2TestSeriesReductions.test_ops_consistency_on_empty  s3    6e,,,f5577F||| r***U??((   C y444 ) )&v&&((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ,WUF++--FS======s   B,,B03B0c                     t          dt          j        gddg          }t          j        |          }t	          j        |d           d S )Nr$  r   r^   r5   )r   r8   r   r  r   assert_almost_equal)rU   serrV   s      r/   test_nansum_bugletz'TestSeriesReductions.test_nansum_buglet  sD    c26]1a&1113
vq)))))r1   int32r:   c                    t          j        d|          5  t          j        d|          }t	          |          }|                    d          }t          |          |                    d          k    sJ |                    d          }t          |          dk    sJ |                    d          }t          |          |d         k    sJ 	 d d d            d S # 1 swxY w Y   d S )	Nr"  @KL rg   Frh   r:   r   )	rc   r'  r8   r9   r   r   intrI   rH   rU   r"  r   vr   rV   s         r/   test_sum_overflow_intz*TestSeriesReductions.test_sum_overflow_int  s0    /@@ 	( 	( 	'///Aq		AUU%U((Fv;;!%%g%"6"66666UU%U((Fv;;!####UU%U((Fv;;!B%'''''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   CC%%C),C)float32r;   c                    t          j        d|          5  t          j        d|          }t	          |          }|                    d          }||                    |          k    sJ |                    d          }t          j        t          |          d          sJ |	                    d          }t          j        t          |          |d                   sJ 	 d d d            d S # 1 swxY w Y   d S )Nr"  r?  rg   Frh   r#  r@  )
rc   r'  r8   r9   r   r   rI   allcloser5  rH   rB  s         r/   test_sum_overflow_floatz,TestSeriesReductions.test_sum_overflow_float  s6    /@@ 		5 		5	'///Aq		AUU%U((FQUUU//////UU%U((F;uV}}c22222UU%U((F;uV}}ae444444		5 		5 		5 		5 		5 		5 		5 		5 		5 		5 		5 		5 		5 		5 		5 		5 		5 		5s   CC66C:=C:c                     d}d}t          j        |g|z            }t          |g|z  d          }t          j        |          }|                                }||z
  dk    sJ |dk    sJ d S )Nl     ;r  r_   rg   r   g ؅W4vC)r8   rQ   r   r   )rU   rj   
n_elementsnar;  result_numpyresult_maskeds          r/   test_mean_masked_overflowz.TestSeriesReductions.test_mean_masked_overflow  s    %
Xsej())cUZ'w777wr{{

|+q0000$$$$$$r1   z	ddof, exp)r^         @)r   rZ   c                     t          g dd          }t          g dd          }|                    |          }|                    |          }||k    sJ ||k    sJ d S )N)r^   r2   r|   r{   r   r_   rg   r:   ddof)r   r   )rU   rR  expr;  ser_numpy_dtyperV   result_numpy_dtypes          r/   test_var_masked_arrayz*TestSeriesReductions.test_var_masked_array  s}     ___G444 @@@d##,00d0;;+++++}}}}}}r1   c                     t          g dt                    }|                    d          dk    sJ |                    d          dk    sJ d S )N)y                                           ?rg   r^   rQ  r$  )r   complexr   r   rU   r;  s     r/   test_var_complex_arrayz+TestSeriesReductions.test_var_complex_array  sX    ]]]'222wwAw#%%%%wwAw#%%%%%%r1   )r4  rM   zM8[ns, UTC]c                     t          g |                              |          t          u sJ t          g |                              |          t          u sJ d S )Nrg   rh   )r   rI   r
   rH   )rU   r   ri   s      r/   +test_empty_timeseries_reductions_return_natz@TestSeriesReductions.test_empty_timeseries_reductions_return_nat  sh     b&&&**&*99S@@@@b&&&**&*99S@@@@@@r1   c                    t          j        dd          }t          ||          }t          j        |          }t          j        |          }||k    sJ |                                }||k    sJ d}t	          j        t          |          5  t          j        ||           d d d            d S # 1 swxY w Y   d S Nr^   r]   r9  r   rq   r   )r8   r9   r   r~   rs   rt   ru   )rU   r  r   rV   rW   r   s         r/   test_numpy_argminz&TestSeriesReductions.test_numpy_argmin  s   yB4t$$$19T??!!!!!!!!4]:S111 	# 	#IaT""""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#   B44B8;B8c                    t          j        dd          }t          ||          }t          j        |          }t          j        |          }||k    sJ |                                }||k    sJ d}t	          j        t          |          5  t          j        ||           d d d            d S # 1 swxY w Y   d S r`  )r8   r9   r   r   rs   rt   ru   )rU   r  r;  rV   rW   r   s         r/   test_numpy_argmaxz&TestSeriesReductions.test_numpy_argmax/  s   yBT&&&39T??!!!!!!!!4]:S111 	% 	%Ict$$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%rb  c                    t          g d                              |          }t          ddt          j        g|          }t          j        t          d          5  |                    d           d d d            n# 1 swxY w Y   t          j        t          d          5  |	                    d           d d d            n# 1 swxY w Y   |
                                }t          j        t          d          5  |                    d           d d d            n# 1 swxY w Y   t          j        t          d          5  |	                    d           d d d            d S # 1 swxY w Y   d S )	N)r
   z
2015-02-08r
   r$  rZ   r9  rp   rq   Frh   )r   as_unitr   r8   r   rs   rt   ru   idxminidxmaxr   )rU   r#   dtir;  r   s        r/   test_idxmin_dt64indexz*TestSeriesReductions.test_idxmin_dt64index@  sY   88899AA$GGc3's333]:-FGGG 	% 	%JJeJ$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%]:-FGGG 	% 	%JJeJ$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% \\^^]:-FGGG 	$ 	$IIUI###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$]:-FGGG 	$ 	$IIUI###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$sH   BBB'C

CCD''D+.D+E11E58E5c                 6   t          t          d          t          j        d          }t          j        |dd<   ||                                         |                                k    sJ t          j        t          d          5  |                    d	           d d d            n# 1 swxY w Y   |
                                }||                                         |                                k    sJ |j        j                                                            |                                          |j                                        k    sJ |t          j        z  }d
}t          j        t          |          5  |                                 d d d            n# 1 swxY w Y   t          t          dd                    }|                                }|dk    sJ t          j        |d<   |                                }|dk    sJ d S )Nr   rB   r   r      rp   rq   Frh   r}   20130102r   r"   r   r^   )r   r=   r8   r;   r   rg  rI   rs   rt   ru   r   r5   rP   tolistr~   r   rU   string_seriesnonaallnar   r   rV   s          r/   test_idxminz TestSeriesReductions.test_idxminO  sL    uRyy
JJJ !fad ]113348I8I8K8KKKKK]:-FGGG 	/ 	/   ...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ ##%%DKKMM"dhhjj0000z ''))//>>$+BTBTBVBVVVVV &)]:S111 	 	LLNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 :j!44455{{{{v!{{{{{{s$   B++B/2B/F))F-0F-c                    t          t          d          t          j        d          }t          j        |dd<   ||                                         |                                k    sJ t          j        t          d          5  t          |                    d	                    sJ 	 d d d            n# 1 swxY w Y   |                                }||                                         |                                k    sJ |j        j                                                            |                                          |j                                        k    sJ |t          j        z  }d
}t          j        t          |          5  |                                 d d d            n# 1 swxY w Y   t          t!          dd                    }|                                }|dk    sJ t          j        |d<   |                                }|dk    sJ t          g dg d          }|                                }|dk    sJ |                                }|dk    sJ t          |j        |j                  }|                                }|dk    sJ |                                }|dk    sJ d S )Nr   rB   r   r   rl  rp   rq   Frh   r}   rm  r   rn  r{   r   )皙?g @@rw  rv  )r   r=   r8   r;   r   rh  rH   rs   rt   ru   r   r   r5   rP   ro  r   r   rg  rp  s          r/   test_idxmaxz TestSeriesReductions.test_idxmaxp  s    uRyy
JJJ !fad ]113348I8I8K8KKKKK]:-FGGG 	< 	<,,E,::;;;;;;	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< ##%%DKKMM"dhhjj0000z ''))//>>$+BTBTBVBVVVVV &)]:S111 	 	LLNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 :j!44455{{{{v!{{{{ 999ooo..}}}}}}}}17AG$$}}}}}}}}}}s$   &B;;B?B?F99F= F=c                 6   t          t          j        dt          j                  t	          dd          d          }|dk    }|                                rJ |                                sJ t          dd	g          }|                                sJ d S )
Nr   rg   r    rn  tsr4   r   abcT)r   r8   r9   r;   r   r  any)rU   rz  bool_seriesr   s       r/   test_all_anyz!TestSeriesReductions.test_all_any  s    Ib
+++\2666
 
 

 1f??$$$$$      E4=!!uuwwwr1   c                      |g d          }t          j        |          rJ t          j        |          sJ t          g d          }t          j        |          sJ d S )N)r   r^   r2   r   )r8   r  r|  r	   )rU   rk   r6   s      r/   test_numpy_all_anyz'TestSeriesReductions.test_numpy_all_any  se    oiii((6#;;vc{{{IIIvc{{{r1   c                 2   t          t          j        dg          }t          t          j        dg          }|                    d          sJ |                    d          sJ |                    d          sJ |                    d          rJ d S )NTFrh   )r   r8   r   r  r|  )rU   s1r  s      r/   test_all_any_skipnaz(TestSeriesReductions.test_all_any_skipna  s    RVTN##RVUO$$vvUv#####vvTv"""""vvUv#####666&&&&&&&r1   c                     t          g dg d          }|                    d          sJ |                    d          rJ d S )N)FFTTFT)r   r   r^   r^   r2   r2   r9  T)	bool_only)r   r|  r  rU   r   s     r/   test_all_any_bool_onlyz+TestSeriesReductions.test_all_any_bool_only  s^    :::BTBTBTUUU uutu$$$$$5545(((((((r1   c                 ~    t          g dt                    } t          ||          |          }d}||k    sJ d S )N)r   r   r  derg   rh   T)r   rY   rN   )rU   all_boolean_reductionsri   r;  rV   rW   s         r/   test_any_all_object_dtypez.TestSeriesReductions.test_any_all_object_dtype  sT    ...f===5455VDDD!!!!!!r1   r  Nc                 |    t          |          } t          ||          d          }|dk    od |v}||k    sJ d S )NFrh   r|  )r   rN   )rU   r  r  r;  rV   rW   s         r/   !test_any_all_object_dtype_missingz6TestSeriesReductions.test_any_all_object_dtype_missing  sY    
 Tll5455UCCC *U2Gt47G!!!!!!r1   )r`   r_   UInt64r,  zdata,expected_data)r   r   r   )r^   r^   r^   r   r^   c                     t          ||          }||         |dk             } t          ||          |          }|t          j        u r|t          j        u s
||k    sJ d S d S )Nrg   r  rh   r/  )	rU   r  ri   r  r   expected_datar;  rW   rV   s	            r/   "test_any_all_nullable_kleene_logicz7TestSeriesReductions.test_any_all_nullable_kleene_logic  s{    $ T''' ()?5)HI5455VDDD"%H$5$5&H:L:L:LL:L:L$5$5r1   c                     t          ddgddgd          }|                    dd          }t          ddg          }t          j        ||           d S )NTFr^   r2   r   )r   r  )r   r|  r   r   r   )rU   r   rV   rW   s       r/   test_any_axis1_bool_onlyz-TestSeriesReductions.test_any_axis1_bool_only  s^    dE]!Q8899Q$//4-((
vx00000r1   c                 	   t          dd          j        }t          |          }t          |          }d}t	          j        t          |          5  |                                 d d d            n# 1 swxY w Y   t	          j        t          |          5  |                                 d d d            n# 1 swxY w Y   t	          j        t          |          5  |                                 d d d            n# 1 swxY w Y   t	          j        t          |          5  |                                 d d d            n# 1 swxY w Y   t	          j        t          |          5  |                                                                 d d d            n# 1 swxY w Y   t	          j        t          |          5  |                                                                 d d d            n# 1 swxY w Y   |	                    d          }t          |          }t          |          }t	          j        t          |          5  |                                 d d d            n# 1 swxY w Y   t	          j        t          |          5  |                                 d d d            n# 1 swxY w Y   t	          j        t          |          5  |                                 d d d            n# 1 swxY w Y   t	          j        t          |          5  |                                 d d d            n# 1 swxY w Y   t	          j        t          |          5  |                                                                 d d d            n# 1 swxY w Y   t	          j        t          |          5  |                                                                 d d d            n# 1 swxY w Y   ||d         z
  }t          |          }t          |          }|                                sJ |                                rJ |                                sJ |                                rJ |                                                                sJ |                                                                rJ d S )Nz
1995-01-02r|   rn  z6datetime64 type does not support operation '(any|all)'rq   r   r   )
r   _datar   r   rs   rt   r   r  r|  r<   )rU   dtar;  r   r   tdas         r/   test_any_all_datetimelikez.TestSeriesReductions.test_any_all_datetimelike  s    q1117Skks^^ G]9C000 	 	GGIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	GGIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	GGIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	GGIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	FFHHLLNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	FFHHLLNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ooe$$Skks^^]9C000 	 	GGIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	GGIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	GGIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	GGIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	FFHHLLNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	FFHHLLNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 CFlSkks^^wwyyy7799}wwyyy7799}vvxx||~~~6688<<>>!!!!!s   A33A7:A7B::B>B> DDD'EEE.'F!!F%(F%'G::G>G>I44I8;I8J;;J?J?!LL	L(M		MM/'N""N&)N&'O;;O?O?c                    t          |t          j                  r|j        t          j        u rt          ddg|          }t          j        t                    5  |	                                 d d d            n# 1 swxY w Y   t          j        t                    5  |
                                 d d d            n# 1 swxY w Y   d S t          ddg|          }|	                                sJ |
                                rJ |	                    d          sJ |
                    d          rJ t          t          j        dg|          }|	                                sJ |
                                sJ |	                    d          sJ |
                    d          sJ t          t          j        dg|          }|	                                rJ |
                                rJ |	                    d          sJ |
                    d          rJ t          ddg|          }|	                                sJ |
                                sJ |	                    d          sJ |
                    d          sJ t          g |          }|	                                rJ |
                                sJ |	                    d          rJ |
                    d          sJ t          dg|          }|	                                rJ |
                                rJ |	                    d          rJ |
                    d          rJ t          t          j        g|          }|	                                rJ |
                                sJ |	                    d          sJ |
                    d          sJ d S )Nr   r   rg    Frh   )rO   rc   StringDtypena_valuerd   r   rs   rt   r   r|  r  r8   r   )rU   any_string_dtyper;  s      r/   test_any_all_string_dtypez.TestSeriesReductions.test_any_all_string_dtype/  sF    '88	 )RU22 #s+;<<<Cy))  			              y))  			              Fb#Y&6777wwyyy7799}wwew$$$$$77%7(((((bfc]*:;;;wwyyywwyyywwew$$$$$wwew$$$$$bfb\)9:::7799}7799}wwew$$$$$77%7(((((c3Z'7888wwyyywwyyywwew$$$$$wwew$$$$$R/0007799}wwyyy77%7(((((wwew$$$$$bT!12227799}7799}77%7(((((77%7(((((bfX%56667799}wwyyywwew$$$$$wwew$$$$$$$s$   A;;A?A?C  CCc                 ^   t          ddd          }t          |          t          d          z
  }|                                }|dk    sJ |                                }|dk    sJ t
          j        |d<   |                                }|dk    sJ |                                }|dk    sJ t          t          dd	                    }t          t          d
d	                    }t          ||z
            }t          j        ||z
            }t          j	        ||           ||z
                                  }t          j	        ||           |
                                }t          d          }||k    sJ |                                }t          d          }||k    sJ d S )Nz2012-1-1r|   r&   r'   20120101r   r2   r^   rn  20120102r   r   )r   r   r   rg  rh  r8   r   absr   r   rH   r   rI   )rU   ri  r   rV   r  r  rW   s          r/   test_timedelta64_analyticsz/TestSeriesReductions.test_timedelta64_analyticsh  s   QS999C[[9Z000{{{{{{{{ 1{{{{{{{{ Jz155566Jz155566"r'??R
vx000r'
vx000 X&&!!!!X&&!!!!!!r1   c                 r   t          g d          }d}t          j        t          |          5  |                                 ddd           n# 1 swxY w Y   t          j        t          |          5  |                    d           ddd           n# 1 swxY w Y   d}t          j        t          |          5  |                                 ddd           n# 1 swxY w Y   t          j        t          |          5  |                    d           ddd           dS # 1 swxY w Y   dS )	zU
        Cases where ``Series.argmax`` and related should raise an exception
        r;   rg   z*attempt to get argmin of an empty sequencerq   NFrh   z*attempt to get argmax of an empty sequence)r   rs   rt   ru   rg  rh  )rU   
test_inputr   s      r/   "test_assert_idxminmax_empty_raisesz7TestSeriesReductions.test_assert_idxminmax_empty_raises  s)    Bi000
:]:S111 	  	 	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 ]:S111 	, 	,U+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,:]:S111 	  	 	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 ]:S111 	, 	,U+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,sG   AAA6BB BC""C&)C&D,,D03D0c           	         t          g d          }|                                dk    sJ |                    d          dk    sJ |                                dk    sJ |                    d          dk    sJ t          ddg          }|                                dk    sJ |                    d          dk    sJ |                                dk    sJ |                    d          dk    sJ |sGt          ddd	d	d t          j        d
g          }d}t          j        t          |          5  |                                 d d d            n# 1 swxY w Y   t          j        t          |          5  |                    d           d d d            n# 1 swxY w Y   d}t          j        t          |          5  |                                 d d d            n# 1 swxY w Y   t          j        t          |          5  |                    d           d d d            d S # 1 swxY w Y   d S d S )N)foobarbazr   Frh   r^   )r^   )r2   r  r  r  z8'>' not supported between instances of 'float' and 'str'rq   z8'<' not supported between instances of 'float' and 'str')r   rh  rg  r8   r   rs   rt   r   )rU   using_infer_stringr;  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%tRVUKLLDLCy444                y444 * *5)))* * * * * * * * * * * * * * *LCy444                y444 * *5)))* * * * * * * * * * * * * * * * * *	* 	*sH   ;EE #E F%%F),F)G..G25G2H88H<?H<c                     t          ddgddgddgg          }|                                }t          ddg          }t          j        ||           d S )	NzimmrO  biffr$  bidg      (@r   r2   )r   rh  r   r   r   )rU   r   re   rS  s       r/   test_idxminmax_object_framez0TestSeriesReductions.test_idxminmax_object_frame  sW    }udmDEEiikkaVnn
sC(((((r1   c                     t          g d          }|                                dk    sJ |                                dk    sJ |                    d          dk    sJ |                    d          dk    sJ d S )N))r^   r|   )r2   r2   )r|   r^   r2   r   Frh   )r   rh  rg  r[  s     r/   test_idxminmax_object_tuplesz1TestSeriesReductions.test_idxminmax_object_tuples  s    ---..zz||q    zz||q    zzz''1,,,,zzz''1,,,,,,r1   c                 t   t          ddgt          d          t          d          gt          d          t          d          gd          }|                                }t          dddd          }t	          j        ||           |                                }|dz
  }t	          j        ||           d S )Nr   r^   z8.68z42.23z7.11z79.61)r6   xy)r   r   rh  r   r   r   rg  )rU   r   re   rS  res2exp2s         r/   test_idxminmax_object_decimalsz3TestSeriesReductions.test_idxminmax_object_decimals  s    1vfooww'7'78fooww'7'78 
 
 iikkQQQ//00
sC(((yy{{Qw
tT*****r1   c                    t          ddgd          }|                                dk    sJ |                                dk    sJ |                    d          dk    sJ |                    d          dk    sJ d S )Nr   r^   rY   rg   Frh   )r   r   r~   r[  s     r/   test_argminmax_object_intsz/TestSeriesReductions.test_argminmax_object_ints  s    aV8,,,zz||q    zz||q    zzz''1,,,,zzz''1,,,,,,r1   c                    t          dt          j         t          j        t          j        g          }|                                dk    sJ t          j        t          d          5  |                    d           d d d            n# 1 swxY w Y   |                                dk    sJ t          j        t          d          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nr   r^   rp   rq   Frh   r2   )	r   r8   r  r   rg  rs   rt   ru   rh  r  s     r/   test_idxminmax_with_infz,TestSeriesReductions.test_idxminmax_with_inf  sY   Aw/00xxzzQ]:-FGGG 	# 	#HHEH"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# xxzzQ]:-FGGG 	# 	#HHEH"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s$   (BBBC//C36C3c                     t          dgd          }|                                }t          j        d          }t	          j        ||           d S )Nl     9V uint64rg   )r   r   r8   r  r   r:  )rU   r   rV   rW   s       r/   test_sum_uint64z$TestSeriesReductions.test_sum_uint64  sN    ():::9122
vx00000r1   c                     t          g d          }|                    d                                          }|rt          |t                    sJ d S t          |t
          j                  sJ d S )N)r^   r2   r|   r{   uint8)r   rS   r   rO   rA  r8   r  )rU   using_python_scalarsr;  rV   s       r/   #test_signedness_preserved_after_sumz8TestSeriesReductions.test_signedness_preserved_after_sum  sr    \\\""G$$((** 	1fc*******fbi0000000r1   ).r   r   r   r   rs   r   r   r+  r2  r7  r<  rD  rH  rN  rV  r\  r^  ra  rd  rj  rt  rx  r~  r  r  r  r  r8   r   r  rc   rd   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r*   r1   r/   r  r  5  s:       
# # # [EEE  [-e}==[^lM-JKK_  _  LK >= 
_ B [X77[W&E&E&EFF  GF 87 [X'G'G'GHH! ! IH!0* * *
 [-e}==[Ww&899( ( :9 >=( [-e}==[Wy)&<==
5 
5 >= >=
5
% 
% 
% [[8X*>??  @?& & & [W&IJJA A KJA
# # #$% % %"$ $ $  B, , ,\    ' ' ') ) )" " " [%urvP " " " [W&O&O&OPP[ 	YY%%89YY$d|45eRUBE"beRU^eT]$CD]beU^eU^<=]dBE]T4L9:]dE]T5M:;	
	 M M  QPM1 1 16" 6" 6"p7% 7% 7%r'" '" '"R, , , * * *8) ) )- - -+ + +"- - -
# 
# 
#1 1 11 1 1 1 1r1   r  c                   p   e Zd Zej                            d eeeg           ee ed          g           e ed           ed          g          g          d             Z	ej                            deege ed          g ed           ed          gg          d             Z
d Zd ZdS )	TestDatetime64SeriesReductionsnat_sernatc                     |                                 t          u sJ |                                t          u sJ |                     d          t          u sJ |                    d          t          u sJ d S r   )rI   r
   rH   )rU   r  s     r/   test_minmax_nat_seriesz5TestDatetime64SeriesReductions.test_minmax_nat_series  sz     {{}}####{{}}####{{%{((C////{{%{((C//////r1   nat_dfc                 D   t          |          }|                                d         t          u sJ |                                d         t          u sJ |                    d          d         t          u sJ |                    d          d         t          u sJ d S )Nr   Frh   )r   rI   r
   rH   )rU   r  s     r/   test_minmax_nat_dataframez8TestDatetime64SeriesReductions.test_minmax_nat_dataframe  s     6""zz||A#%%%%zz||A#%%%%zzz''*c1111zzz''*c111111r1   c                 .   t          dd          }|                    t          j                            d                              t          |                              }|                                }|                                }t          |t                    sJ t          |t                    sJ ||d         k    sJ ||d         k    sJ |                                |d         k    sJ |                                |d         k    sJ d S )N1/1/2000z
12/31/2000r2   r   r@  )r   taker8   r>   r?   permutationlenrI   rH   rO   r   )rU   rngrng2the_minthe_maxs        r/   test_min_maxz+TestDatetime64SeriesReductions.test_min_max'  s    \22xx	--a00<<SXXFFGG((**((**'9-----'9-----#a&    #b'!!!!wwyyCF""""wwyyCG######r1   c                 .   t          ddd          }g d}t          |t          j                            d                              t          |                    |d          }|j                                        }t          |j        j
        d                   }t          |t                    sJ ||k    sJ |j                                        }t          |j        j
        d	                   }t          |t                    sJ ||k    sJ d S )
Nr  r   4hr'   )
r   r   r   r   r   r   Cr  r  r  r2   )TSVLr@  r   )r   r   r8   r>   r?   r@   r  r  rH   r   iatrO   rI   )rU   r  lvlsr   rV   rS  s         r/   test_min_max_seriesz2TestDatetime64SeriesReductions.test_min_max_series5  s    Rd;;;AAAY**1--==c#hhGG 
 
 	"&&&),,,,,}}}}	!%%&),,,,,}}}}}}r1   N)r   r   r   rs   r   r   r   r
   r   r  r  r  r  r*   r1   r/   r  r    s*       
 [FC:FC5))*++FIIe$$ii&6&6788	
 0 0 0 [#J))E""#Yuyy//0	
 2 2 2$ $ $    r1   r  c                   :   e Zd Zej                            dddg          d             Ze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                            dddg          d                         Z
ej                            dddg          d             Zej                            dddg          d             ZdS )TestCategoricalSeriesReductionsfunctionrI   rH   c                     t          t          g dd                    }d| }t          j        t          |          5   t          ||                       d d d            d S # 1 swxY w Y   d S )N)r   r   r  r  F)r  z)Categorical is not ordered for operation rq   )r   r   rs   rt   r   rN   )rU   r  catr   s       r/   test_min_max_unordered_raisesz=TestCategoricalSeriesReductions.test_min_max_unordered_raisesP  s     [!5!5!5uEEEFFD(DD]9C000 	% 	%"GC""$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   A''A+.A+zvalues, categoriesr{  cbar   r|   r2   r^   r^   r2   r|   c                     t          t          ||d                    } t          ||          d          }|dk    r|d         n|d         }||k    sJ d S )NTr  rh   rI   r   r2   )r   r   rN   )rU   rP   r  r  r  rV   rW   s          r/   test_min_max_orderedz4TestCategoricalSeriesReductions.test_min_max_orderedX  sn     [JMMMNN'h''t444$,$5$5:a==:a=!!!!!!r1   c                     t          t          t          j        gddgd                    } t	          ||          |          }|t          j        u sJ d S )Nr^   r2   Tr  rh   r   r   r8   r   rN   )rU   r  ri   r  rV   s        r/   "test_min_max_ordered_with_nan_onlyzBTestCategoricalSeriesReductions.test_min_max_ordered_with_nan_onlyj  s]     ["&q!fdKKKLL'h''v666r1   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 d S |t          j        u sJ d S )Nr   r   Tr  rh   rI   r  )rU   r  ri   r  rV   rW   s         r/   test_min_max_skipnaz3TestCategoricalSeriesReductions.test_min_max_skipnaq  s    c263/S#JPTUUU
 
 (h''v666T>>&%//ssSHX%%%%%%RV######r1   N)r   r   r   rs   r   r   r  r  r8   r   r  r  r  r*   r1   r/   r  r  K  s       
 [Z%88% % 98% [T%[[$$u++&T%[[$$u++&#ttE{{#BF#TT%[[1YY			"Arv			*	
	 	 [Z%88" " 98	 	" [Z%88    98  [Z%88
$ 
$ 98
$ 
$ 
$r1   r  c                      e Zd Zd Ze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                            d
ddgfddej	        gfg          d             Z
ej                            dddgdgfddgej	        gfg          d             Zej                            dddgdgfddgej	        gfg          d             Zej                            dddgdgfddgej	        gfg          d             Zej                            ddg dddgfdej	        gej	        ddgfg          d             Zej                            ddg dddgfdej	        gej	        ddgfg          d             Ze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                            ddd#gdd#gfdd#gdd#gfg          d$             Zd% Zd& Ze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                            d'g d,g d-ej        fg d.d/d*gej        fg          d0             Zd1S )2TestSeriesModec                     t          g t          j                  }|                    |          }t	          j        ||           d S r.  )r   r8   r;   moder   r   )rU   r   r   rV   s       r/   test_mode_emptyzTestSeriesMode.test_mode_empty  s>    2RZ(((
vq)))))r1   zdropna, data, expectedT)r^   r^   r^   r2   r^   )r^   r^   r^   r2   r|   r|   r|   r|   Fc                     t          ||          }|                    |          }t          ||          }t          j        ||           d S r.  r   r  r   r   )rU   r   r  rW   any_real_numpy_dtyper   rV   s          r/   test_mode_numericalz"TestSeriesMode.test_mode_numerical  sR     43444(*>???
vx00000r1   zdropna, expectedr$  c                     t          dddt          j        t          j        g          }|                    |          }t          |          }t	          j        ||           d S )Nr^   r2   )r   r8   r   r  r   r   )rU   r   rW   r   rV   s        r/   test_mode_numerical_nanz&TestSeriesMode.test_mode_numerical_nan  sS    Aq!RVRV,--(##
vx00000r1   zdropna, expected1, expected2r   r  c                    dgdz  dgdz  z   }t          |d          }|                    |          }t          |d          }t          j        ||           dddt          j        t          j        t          j        g}t          |t                    }|                    |          }t          |t                    }t          j        ||           d S )	Nr   r2   r   r|   r  rg   r  r  )r   r  r   r   r8   r   rY   )rU   r   	expected1	expected2r  r   rV   s          r/   test_mode_objectzTestSeriesMode.test_mode_object  s     uqyC519$4s###9C000	
vy111ueRVRVRV<4v&&&9F333	
vy11111r1   c                    dgdz  dgdz  z   }t          ||          }|                    |          }t          ||          }t          j        ||           dddt          j        t          j        t          j        g}t          ||          }|                    |          }t          ||          }t          j        ||           d S )Nr   r2   r   r|   rg   r  r  )r   r  r   r   r8   r   )rU   r   r  r   r  r  r   rV   s           r/   test_mode_stringzTestSeriesMode.test_mode_string  s     uqyC519$4/0009,<===	
vy111ueRVRVRV<4/0009,<===	
vy11111r1   r  c                    t          g d          }|                    |          }t          |t                    }t          j        ||           t          dddt
          j        t
          j        t
          j        g          }|                    |          }t          |t                    }t          j        ||           d S )N)r^   r  r  rg   r^   r  )r   r  rY   r   r   r8   r   )rU   r   r  r   r   rV   rW   s          r/   test_mode_mixeddtypez#TestSeriesMode.test_mode_mixeddtype  s    
 $$$%%)6222
vx000AueRVRVRV<==)6222
vx00000r1   )
1900-05-03r   
2013-01-02r   r  c                 >   t          g dd          }|                    |          }t          |d          }t          j        ||           t          g dd          }|                    |          }t          |d          }t          j        ||           d S )N)r   r  r  r   r   rM   rg   )r   r  r  r   r  r   r   r  rU   r   r  r   r   rV   s         r/   test_mode_datetimez!TestSeriesMode.test_mode_datetime  s     DDDH
 
 
 9H555	
vy111   
 
 
 9H555	
vy11111r1   )-1 days0 daysr   2 min1 dayc                 >   t          g dd          }|                    |          }t          |d          }t          j        ||           t          g dd          }|                    |          }t          |d          }t          j        ||           d S )N)r   r  r  r   r   r   rg   )r  r  z-1 dayz-1 day 2 minr  r  r   r   r  r	  s         r/   test_mode_timedeltaz"TestSeriesMode.test_mode_timedelta  s     999AR
 
 
 9,=>>>	
vy111	 	 	 $
 
 
 9,=>>>	
vy11111r1   z'dropna, expected1, expected2, expected3r2   )r  r   r  r  c                    t          t          ddt          j        t          j        g                    }|                    |          }t          |d          }t          j        ||           t          t          dddt          j        t          j        g                    }|                    |          }t          |d          }t          j        ||           t          t          dddddt          j        t          j        gg dd	                    }|                    |          }t          |d          }t          j        ||           d S )
Nr^   r2   categoryrg   r   r|   r  Tr  )r   r   r8   r   r  r   r   )rU   r   r  r   	expected3r   rV   s          r/   test_mode_categoryz!TestSeriesMode.test_mode_category!  s-   $ ;1bfbf566779J777	
vy111;3RVRV<==>>9J777	
vy111Aq!Q/IIIt  
 

 9J777	
vy11111r1               c                    t          g dt          j                  }|                    |          }t          |t          j                  }t	          j        ||           t          ddgt          j                  }|                    |          }t          |t          j                  }t	          j        ||           d S )N)r^   r  r  rg   r^   r  )r   r8   r  r  r   r   r	  s         r/   test_mode_intoverflowz$TestSeriesMode.test_mode_intoverflowF  s     $$$BI6669BI666	
vy111Au:RY///9BI666	
vy11111r1   c                     t          dddt          j        t          j        g          }t          dt          j        gt                    }|                    d          }t          j        ||           d S )Nr^   r  rg   F)r   )r   r8   r   rY   r  r   r   )rU   r   rW   rV   s       r/   test_mode_sort_with_naz%TestSeriesMode.test_mode_sort_with_naV  sb    AueRVRV4555"&/888u%%
vx00000r1   c                     t          dddt          j        gd          }|                                }t          dgd          }t	          j        ||           d S )NTFr`   rg   )r   rc   rd   r  r   r   )rU   r;  rV   rW   s       r/   test_mode_boolean_with_naz(TestSeriesMode.test_mode_boolean_with_na\  sY    dE4/yAAA4&	222
vx00000r1   zarray,expected,dtype)r   rY  r^   r^         ?      ?      ?       @)r                 @r  r  c                     t          ||                                          }t          ||          }t          j        ||           d S r.  r  rU   rQ   rW   r   rV   s        r/   test_single_mode_value_complexz-TestSeriesMode.test_single_mode_value_complexc  sM    * U+++0022(%000
vx00000r1   )r   rY  r^   r  r  )rX  rY  y      ?        r  r  )r  r  r  r  r|   r  c                     t          ||                                          }t          ||          }t          j        ||           d S r.  r  r   s        r/   test_multimode_complexz%TestSeriesMode.test_multimode_complex|  sM    ( U+++0022(%000
vx00000r1   N)r   r   r   r  rs   r   r   r  r8   r   r  r  r  r  r
  r  r   r  r  r  r  
complex128	complex64r!  r#  r*   r1   r/   r  r    s       
* * *
 [ <<<!%(((1a&1LLL1#&)))Aq62		
 1 1 1 [/4#-%!RVAU1VWW1 1 XW1 [&C55'"SEBF8$	
 2 2 2  [&C55'"SEBF8$	
 2 2 2  [&
%	!EE7RVH#=> 	1 	1	 	1 [& :::|,
 RVHrv|\BC	

 
2 2
 
20 [&222Wg4FGRVHrvw89	
 2 2 26 [1 QF1v666SEq#h777QFyyy$GGG	 RVH!Q888RVSMq#h???RVQNyyy$OOO		
 "2 2# "2( [&
!U	$uug5z&BC 
2 
2	 
21 1 11 1 1 [ .-- .-- %$$	
 (1 1) (1
 [ +**000	 ,++V	
  1 1!  1 1 1r1   r  )(r   r   decimalr   numpyr8   rs   pandasrc   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   rD   rF   r   r  r  r  r  r*   r1   r/   <module>r-     s                                                             &             < < < < < <  (m1 m1 m1 m1 m1 m1 m1 m1`K K K K K K K K\
K1 K1 K1 K1 K1 K1 K1 K1\E E E E E E E EP1$ 1$ 1$ 1$ 1$ 1$ 1$ 1$hS1 S1 S1 S1 S1 S1 S1 S1 S1 S1r1   