
    o[we@                     <   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 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timedelta_rangeto_timedelta)nanopsc            
         t          j        dd          t          j        dd          t          j        dd          t          j        dd          t          j        dd                              d          t          j        dd          t          j        dd          g} t          j	        
                    d                              d          fd| D             }| |z   }|S )N
   a)namez
US/Easterntz   c                 4    g | ]}t          |d           S )r   )indexr   )r   ).0idxarrs     Glib/python3.11/site-packages/pandas/tests/reductions/test_reductions.py
<listcomp>zget_objs.<locals>.<listcomp>-   s(    BBB3fS#...BBB    )tmmakeBoolIndexmakeIntIndexmakeFloatIndexmakeDateIndextz_localizemakePeriodIndexmakeStringIndexnprandomdefault_rngstandard_normal)indexesseriesobjsr"   s      @r#   get_objsr5   !   s    
#&&&
%%%
"3'''
#&&&
#&&&22l2CC
2C(((
2C(((G )


"
"
2
22
6
6CBBBB'BBBFVDKr%   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                     t          ||                      }t          |t                    s t          |j        |                      }n1t	           t          |j        |                      |j                  }t          |dd           7|                    d                              d          }|j        |k    sJ d S ||k    sJ d S )N)ordinalfreqr   M8[ns]int64)	getattr
isinstancer   valuesr   asi8r>   astype_value)selfr8   r;   resultexpecteds        r#   test_opszTestReductions.test_ops4   s     &f%%''#{++ 	R2wsz62244HH&?gch&?&?&A&AQQQH3d##/x0077@@H=H,,,,,,X%%%%%%r%   z
dtype, val)object       @)float64rL   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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 )NrN   )rR   rS   )r
   pdNAr   )resdtypes    r#   check_missingz4TestReductions.test_nanminmax.<locals>.check_missingV   s=    (((cz!...be|#Cyy r%   rY   FskipnarK   )rA   )rG   r8   rY   valindex_or_seriesklassrZ   r;   s     `     r#   test_nanminmaxzTestReductions.test_nanminmaxG   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???@@@@@@@r%   c                 (   |}|t           u rd|z   nd|z   } |t          t          ddd          g          } t          ||                      dk    sJ d}|t          u rd}t          j        t          |          5   t          ||          d	
          }d d d            n# 1 swxY w Y   |t          u rt          j	        |          sJ n|dk    sJ  |t          t          ddd          t          g          } t          ||                      dk    sJ t          j        t          |          5   t          ||          d	
          }d d d            n# 1 swxY w Y   |t          u rt          j	        |          sJ d S |dk    sJ d S )Nargr!   rO   rP   rQ   zNThe behavior of (DatetimeIndex|Series).argmax/argmin with skipna=False and NAsz2The behavior of Series.(idxmax|idxmin) with all-NAmatchFr\   )
r	   r
   r   rA   r   r&   assert_produces_warningFutureWarningr.   isnan)rG   r8   r_   r`   arg_opr;   msgrH   s           r#   test_nanargminmaxz TestReductions.test_nanargminmaxr   s7     #(E>>uv~eS(4Q//011#wsF##%%****# 	 F??FC'SAAA 	8 	8)WS&))777F	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8F??8F######R<<<<eS(4Q//566#wsF##%%****'SAAA 	8 	8)WS&))777F	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8F??8F#######R<<<<<<s$   =B$$B(+B(7EE"%E"rY   r?   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 )Nrc   r!   r[   Fr\   zempty sequencerd   )r	   rA   r
   pytestraises
ValueError)rG   r8   r_   rY   r`   rj   r;   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           	       
   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 d	}t          j        t          |
          5  |                    d          dk    sJ 	 d d d            n# 1 swxY w Y   t          j        t          |
          5  |                    d          dk    sJ 	 d d d            n# 1 swxY w Y   t          t          j        g          }t          j        t          |
          5  |                                dk    sJ 	 d d d            n# 1 swxY w Y   t          j        t          |
          5  |                                dk    sJ 	 d d d            n# 1 swxY w Y   t          j        t          |
          5  |                    d          dk    sJ 	 d d d            n# 1 swxY w Y   t          j        t          |
          5  |                    d          dk    sJ 	 d d d            n# 1 swxY w Y   d}t          t          t          ddd          t          ddd          t          g          }|                                dk    sJ |                                dk    sJ t          j        t          |
          5  |                    d          dk    sJ 	 d d d            n# 1 swxY w Y   t          j        t          |
          5  |                    d          dk    sJ 	 d d d            n# 1 swxY w Y   t          t          g          }t          j        t          |
          5  |                                dk    sJ 	 d d d            n# 1 swxY w Y   t          j        t          |
          5  |                                dk    sJ 	 d d d            n# 1 swxY w Y   t          j        t          |
          5  |                    d          dk    sJ 	 d d d            n# 1 swxY w Y   t          j        t          |
          5  |                    d          dk    sJ 	 d d d            d S # 1 swxY w Y   d S )N   r@   r[   r      rQ   r      z=The behavior of Index.argmax/argmin with skipna=False and NAsrd   Fr\   rf   zEThe behavior of DatetimeIndex.argmax/argmin with skipna=False and NAsrO   rP   )r	   r.   arangeargminargmaxnanr&   rg   rh   r
   r   )rG   r;   rk   s      r#   test_argminmaxzTestReductions.test_argminmax   s   BIaw///00zz||q    zz||q    RVQ*++zz||q    zz||q    M'SAAA 	2 	2::U:++r11111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2'SAAA 	2 	2::U:++r11111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 RVHoo'SAAA 	& 	&::<<2%%%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&'SAAA 	& 	&::<<2%%%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&'SAAA 	2 	2::U:++r11111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2'SAAA 	2 	2::U:++r11111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 VS(4Q//$A1F1FLMMzz||q    zz||q    'SAAA 	2 	2::U:++r11111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2'SAAA 	2 	2::U:++r11111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 SEll'SAAA 	& 	&::<<2%%%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&'SAAA 	& 	&::<<2%%%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&'SAAA 	2 	2::U:++r11111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2'SAAA 	2 	2::U:++r11111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2s   C::C>C> E

EE
F22F69F6H  HH&III6J  J$'J$7M!!M%(M%N11N58N5,PPP:Q""Q&)Q&R22R69R6TT
Tzop, expected_colr   bc                 4   t          t          ddd          dg          }|j                            t	          d                    |d	<    t          ||          d
          }||                             d           }t          j        ||           d S )Nz2016-01-01 00:00:00ru   UTC)periodsr   r   )columnsi  secondsr{   rQ   axis)	r   r   r   subtractr   rA   renamer&   assert_series_equal)rG   opexpected_coldfrH   rI   s         r#   test_same_tz_min_max_axis_1z*TestReductions.test_same_tz_min_max_axis_1   s     ,aEBBBSE
 
 
 $--	$ 7 7 7883 Ra(((l#**400
vx00000r%   funcmaximumminimumc                     |}t          j        dg                              |          }t          |          } t	          t
          |          ||          }t          j        ||           d S )N2019)rV   to_datetimer+   r   rA   r.   r&   r   )rG   tz_aware_fixturer   r   rc   rI   rH   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0r%   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 )NrQ   r   timedelta64[ns]r[   rR   ABru   )	r   r   r
   r.   ry   r   sumr&   r   )rG   r   rI   rH   s       r#   test_nan_int_timedelta_sumz)TestReductions.test_nan_int_timedelta_sum   s    Q3K/@AAAQ26N'::: 
 
 	!15566
vx00000r%   N)__name__
__module____qualname__rn   markfilterwarningsparametrizer5   rJ   r   ra   rl   rq   rz   r   r   r    r%   r#   r7   r7   3   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/)2 )2 )2V [/5#,1MNN1 1 ON1 [Vi%;<<1 1 =<1
1 
1 
1 
1 
1r%   r7   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  ru   )i  r   i)@B rt   )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 NFr\   )r   _valuesr9   r:   r   )rG   startstopstepr!   rI   rH   result2s           r#   test_max_min_rangez&TestIndexReductions.test_max_min_range   s    d++;??$$!!!! '''''("""";??$$!!!! '''''("""" te,,CGGIICGGIIr%   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   r   )	r   is_monotonic_increasingr.   ry   r:   r   r9   rw   rx   rG   idx1idx2r!   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$$$$$		% 	%r%   r   r:   r9   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   rA   r
   rG   r   r;   s      r#   !test_minmax_timedelta_empty_or_naz5TestIndexReductions.test_minmax_timedelta_empty_or_na$  s     R  wsB!!S((((cU##wsB!!S((((c3_--wsB!!S((((((r%   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 daysDr>   $the 'out' parameter is not supportedrd   r   outrs   )
r   r.   r:   r   r9   rn   ro   rp   rw   rx   )rG   tderrmsgs      r#   test_numpy_minmax_timedelta64z1TestIndexReductions.test_numpy_minmax_timedelta640  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    is     r#   r$   z:TestIndexReductions.test_timedelta_ops.<locals>.<listcomp>I  4    QQQ!Yz""Yq1u%=%=%==QQQr%   r   	   r   r   g?i(
  msz00:00:09z00:01:21z
2015-02-03z
2015-02-07rt   )daysz
2015-02-15   )r   rangediffmeanr   r   to_framequantiler   r.   timedelta64medianr   stddropnarC   r   )rG   sr   rH   rI   s        r#   test_timedelta_opsz&TestIndexReductions.test_timedelta_opsE  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5r%   r8   )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#   r$   zDTestIndexReductions.test_invalid_td64_reductions.<locals>.<listcomp>}  r   r%   r   |zreduction operation 'z' not allowed for this dtypezcannot perform z with type timedelta64\[ns\]zdoes not support reduction ''rd   F)numeric_only)	r   r   r   joinrn   ro   	TypeErrorrA   r   )rG   r8   r   r   rk   s        r#   test_invalid_td64_reductionsz0TestIndexReductions.test_invalid_td64_reductionsz  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   r   )r   r   r
   r:   r   r9   rw   rx   )rG   tz_naive_fixturer   r   r   r!   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$$$$$		% 	%r%   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   rA   r
   r   s      r#   test_minmax_nat_datetime64z.TestIndexReductions.test_minmax_nat_datetime64  s     B$GC$$&&'''''SE""$GC$$&&'''''S#sO,,$GC$$&&'''''''r%   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rQ   r   ru   r   rd   r   r   )
r	   rC   r9   r.   r:   rn   ro   rp   rx   rw   )rG   r!   rI   rH   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   ru   r   r   rd   r   )r   r.   r9   r:   rn   ro   rp   )rG   r!   rH   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   rd   r   r   rs   )
r   r.   r:   r   r9   rn   ro   rp   rw   rx   )rG   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   rQ   r   ru   r   )r   r
   r   r:   r   r9   rw   rx   r   s       r#   test_minmax_periodz&TestIndexReductions.test_minmax_period  sG   C|\JQTUUU////ABBx//// 3lC@s
 
 
 ////$< 	? 	?C7799|# > > >>>>>7799|# > > >>>>>>{{}}!!!!{{}}!!!!{{}}!!!!{{}}!!!!!!r%   datac                 n    t          |d          } t          ||                      }|t          u sJ d S )NMr   )r   rA   r
   )rG   r   r   r;   rH   s        r#   test_minmax_period_empty_natz0TestIndexReductions.test_minmax_period_empty_nat  s>     $S)))!b!!##}}}}}}r%   c                    t          j        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   rd   r   r   rs   )rV   period_ranger.   r:   r   r9   rn   ro   rp   rw   rx   )rG   prr   s      r#   test_numpy_minmax_periodz,TestIndexReductions.test_numpy_minmax_period  s   _<\BBB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-0B-C22C69C6E11E58E5F;;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\nrd   zwCategorical is not ordered for operation max\nyou can use .as_ordered\(\) to change the Categorical to an ordered one\nTcr{   )rV   CategoricalIndexlistrn   ro   r   r:   r9   )rG   cirk   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   rn   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r
   r  r  r  r   r%   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! ! !*    r%   r   c                   n   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ej                            dd          ej                            dddg          d                          Zd! Zd" Zd# Zd$ Zd% Zd& Zd' Zd( Zd) Zej                            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/dgdej        gej        dgg          d0                         Zej                            dg d1          ej                            d*d+d,g          ej                            dddg          ej                            d2g d3ddgddggfg d4ddgddggfej        ej        ej        gej        ej        gddggfd5ej        d5gej        dgddggfd6ej        d6gdej        gddggfd6ej        d5gddgddggfg          d7                                                 Zd8 Z d9 Z!d: Z"d; Z#ej                            d< e$g d=          e%f e$g d>          e&f e$d?d@g          e&f e$dAdAdBdBd/ej        dCg          e&fg          dD             Z'dE Z(dF Z)dG Z*dH Z+dI Z,dJ Z-dK Z.d/S )LTestSeriesReductionsc                    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<   d}t          j        t          |          5  t          j        d	d
          5  t          j        |	                                |	                                           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t#          j        |d          }t          j        |                                          sJ d S )Nr   r   rs      )d   r  f4"use_inf_as_na option is deprecatedrd   mode.use_inf_as_naTrQ   r   )r   r.   r/   r0   r1   copyinfry   isinfr   rE   r&   rg   rh   rV   option_contextassert_almost_equalr   nansumall)rG   r   s2r"   rk   rX   s         r#   test_sum_infz!TestSeriesReductions.test_sum_infA  s   29((++;;B??@@VVXX!A#&1Q3x     i##A&&66zBBII$OOFAAAqD	2'SAAA 	: 	:"#7>> : :&quuww999: : : : : : : : : : : : : : :	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: mCa(((x}}  """""""s6   F):E/#F/E3	3F6E3	7FF
F
rY   )rM   Float32rR   rS   rK   use_bottleneckTFzmethod, unit)r           )r         ?c                    t          j        d|          5  t          g |          } t          ||                      }||k    sJ  t          ||          d          }||k    sJ  t          ||          d          }t	          |          sJ  t          ||          d          }||k      t          ||          dd          }||k    sJ  t          ||          dd          }t	          |          sJ  t          ||          d	d          }||k    sJ  t          ||          d	d          }t	          |          sJ t          t
          j        g|          } t          ||                      }||k    sJ  t          ||          d          }||k    sJ  t          ||          d          }t	          |          sJ  t          ||          d          }||k      t          ||          dd          }||k    sJ  t          ||          dd          }t	          |          sJ t          t
          j        dg|          } t          ||                      }|d
k    sJ  t          ||          d          }|d
k    sJ  t          ||          d          }|d
k    sJ  t          ||          d          }|d
k    sJ  t          ||          dd          }|d
k    sJ t          t          j        d          |          } t          ||          d          |k    	                                sJ t          dg|          } t          ||          d          }t	          |          sJ  t          ||          d	d          }t	          |          sJ t          t
          j        g|          } t          ||          d          }t	          |          sJ t          t
          j        dg|          } t          ||          d          }t	          |          sJ 	 d d d            d S # 1 swxY w Y   d S )Nr$  r[   r   )	min_countrQ   Tr\   )r]   r(  Fr&  )r   r   r   )
rV   r  r   rA   r   r.   ry   r   emptyr   )rG   methodunitr$  rY   r   rH   r   s           r#   
test_emptyzTestSeriesReductions.test_emptyU  sP    /@@ ]	  ]	  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<< xu---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<< {%000A'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''**d27799999s%(((A'WQ''!444F<<'WQ''uBBBF<<xu---A'WQ''!444F<<{%000A'WQ''!444F<<{]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	  ]	 s   QQ++Q/2Q/r*  r   r   )Float64rR   rS   c                     t          g |          } t          ||                      }|t          j        u sJ t          t          j        g|          } t          ||                      }|t          j        u sJ d S Nr[   )r   rA   rV   rW   r.   ry   )rG   r*  rY   eserrH   nsers         r#   &test_ops_consistency_on_empty_nullablez;TestSeriesReductions.test_ops_consistency_on_empty_nullable  s~     b&&&&v&&(( rvhe,,,&v&&((r%   )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 )Nr[   m8[ns]r   r   )zoperation 'var' not allowedz.cannot perform var with type timedelta64\[ns\]z does not support reduction 'var'rd   )	rA   r   floatr   r   rn   ro   r   r
   )rG   r*  rH   tdserrk   s        r#   test_ops_consistency_on_emptyz2TestSeriesReductions.test_ops_consistency_on_empty  s4    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   rQ   r   )r   r.   ry   r  r&   r  )rG   serrH   s      r#   test_nansum_bugletz'TestSeriesReductions.test_nansum_buglet  sD    c26]1a&1113
vq)))))r%   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 r[   Fr\   r@   r   rf   )	rV   r  r.   rv   r   r   intr:   r9   rG   r$  rY   vr   rH   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)float32rM   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>  r[   Fr\   r%  rf   )
rV   r  r.   rv   r   r   r:   allcloser5  r9   r@  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  rR   r[   r   g ؅W4vC)r.   arrayr   r   )rG   r^   
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$$$$$$r%   z	ddof, exp)rQ         @)r   rL   c                     t          g dd          }t          g dd          }|                    |          }|                    |          }||k    sJ ||k    sJ d S )N)rQ   r   ru   rt   rs   rR   r[   r@   )ddof)r   r   )rG   rP  expr:  ser_numpy_dtyperH   result_numpy_dtypes          r#   test_var_masked_arrayz*TestSeriesReductions.test_var_masked_array  s}     ___G444 @@@d##,00d0;;+++++}}}}}}r%   )r4  r4  r?   zM8[ns, UTC]r]   c                     t          g |                              |          t          u sJ t          g |                              |          t          u sJ d S )Nr[   r\   )r   r:   r
   r9   )rG   rY   r]   s      r#   +test_empty_timeseries_reductions_return_natz@TestSeriesReductions.test_empty_timeseries_reductions_return_nat  sh     b&&&**&*99S@@@@b&&&**&*99S@@@@@@r%   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 NrQ   rP   r9  r   rd   r   )r.   rv   r   rw   rn   ro   rp   rG   r   r   rH   rI   rk   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 rX  )r.   rv   r   rx   rn   ro   rp   rY  s         r#   test_numpy_argmaxz&TestSeriesReductions.test_numpy_argmax5  s   yB4t$$$19T??!!!!!!!!4]:S111 	# 	#IaT""""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#r[  c                    t          ddt          j        gt          g d                    }d}t	          j        t          |          5  |                    d          }d d d            n# 1 swxY w Y   |t          u sJ d	}t	          j        t          |          5  |	                    d          }d d d            n# 1 swxY w Y   |t          u sJ |
                                }d
}t	          j        t          |          5  |                    d          }d d d            n# 1 swxY w Y   |j        dk    sJ |                                                                sJ d}t	          j        t          |          5  |	                    d          }d d d            n# 1 swxY w Y   |j        dk    sJ |                                                                sJ d S )Nr&  rL   )r
   z
2015-02-08r
   r9  0The behavior of Series.idxmin with all-NA valuesrd   Fr\   0The behavior of Series.idxmax with all-NA valuesz3The behavior of DataFrame.idxmin with all-NA valuesr?   z3The behavior of DataFrame.idxmax with all-NA values)r   r.   ry   r   r&   rg   rh   idxminr
   idxmaxr   rY   r   r   )rG   r:  rk   rX   r   s        r#   test_idxmin_dt64indexz*TestSeriesReductions.test_idxmin_dt64indexF  s   #rvm4P4P4P&Q&Q
 
 
 A'SAAA 	+ 	+**E***C	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+czzzz@'SAAA 	+ 	+**E***C	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+czzzz\\^^C'SAAA 	* 	*))5)))C	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*yH$$$$xxzz~~C'SAAA 	* 	*))5)))C	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*yH$$$$xxzz~~sH   A..A25A2!CCCD..D25D2F..F25F2c                 p   t          j                                        d          }t          j        |dd<   ||                                         |                                k    sJ d}t          j        t          |          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  }t          j        t          |          5  t          |                                          sJ 	 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 )Nr3   rs      zThe behavior of Series.idxminrd   Fr\   20130102r   r~   r   rQ   )r&   makeStringSeriesr   r.   ry   ra  r:   rg   rh   r   r   r   rC   tolistrw   r   r   rG   string_seriesrk   nonaallnar   rH   s          r#   test_idxminz TestSeriesReductions.test_idxmin`  sp    +--44X>> !fad ]113348I8I8K8KKKKK-'SAAA 	< 	<,,E,::;;;;;;	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< ##%%DKKMM"dhhjj0000z ''))//>>$+BTBTBVBVVVVV &'SAAA 	( 	(''''''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( :j!44455{{{{v!{{{{{{s$   &B::B>B>$GG
G
c                    t          j                                        d          }t          j        |dd<   ||                                         |                                k    sJ d}t          j        t          |          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  t          |                                          sJ 	 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 )Nr3   rs   re  r`  rd   Fr\   rf  r   rg  rt   r   )皙?g @@rq  rp  )r&   rh  r   r.   ry   rb  r9   rg   rh   r   r   r   rC   ri  rx   r   r   ra  rj  s          r#   test_idxmaxz TestSeriesReductions.test_idxmax  s	    +--44X>> !fad ]113348I8I8K8KKKKK@'SAAA 	< 	<,,E,::;;;;;;	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< ##%%DKKMM"dhhjj0000z ''))//>>$+BTBTBVBVVVVV &@'SAAA 	( 	(''''''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( :j!44455{{{{v!{{{{ 999ooo..}}}}}}}}17AG$$}}}}}}}}}}s$   &B::B>B>$GGGc                     t          j                    }|dk    }|                                rJ |                                sJ t	          ddg          }|                                sJ d S )Nr   abcT)r&   makeTimeSeriesr   anyr   )rG   tsbool_seriesr   s       r#   test_all_anyz!TestSeriesReductions.test_all_any  sm      1f??$$$$$      E4=!!uuwwr%   c                      |g d          }t          j        |          rJ t          j        |          sJ t          g d          }t          j        |          sJ d S )N)r   rQ   r   r   )r.   r   rv  r	   )rG   r_   r!   s      r#   test_numpy_all_anyz'TestSeriesReductions.test_numpy_all_any  sh    oiii((6#;;vc{{IIIvc{{r%   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 )NTFr\   )r   r.   ry   r   rv  )rG   s1r!  s      r#   test_all_any_skipnaz(TestSeriesReductions.test_all_any_skipna  s    RVTN##RVUO$$vvUv#####vvTv"""""vvUv#####666&&&&&&&r%   c                     t          g dg d          }|                    d          sJ |                    d          rJ d S )N)FFTTFT)r   r   rQ   rQ   r   r   r9  T)	bool_only)r   rv  r   )rG   r   s     r#   test_all_any_bool_onlyz+TestSeriesReductions.test_all_any_bool_only  s^    :::BTBTBTUUU uutu$$$$$5545(((((((r%   bool_agg_funcrv  r   c                 ~    t          g dt                    } t          ||          |          }d}||k    sJ d S )N)r   r{   r  der[   r\   T)r   rK   rA   )rG   r  r]   r:  rH   rI   s         r#   test_any_all_object_dtypez.TestSeriesReductions.test_any_all_object_dtype  sU     ...f===,m,,F;;;!!!!!!r%   r   Nc                 |    t          |          } t          ||          d          }|dk    od |v}||k    sJ d S )NFr\   rv  )r   rA   )rG   r   r  r:  rH   rI   s         r#   !test_any_all_object_dtype_missingz6TestSeriesReductions.test_any_all_object_dtype_missing  sX     Tll,m,,E::: !E)>d$.>!!!!!!r%   )rS   rR   UInt64r-  zdata,expected_data)r   r   r   )rQ   rQ   rQ   r   rQ   c                     t          ||          }||         |dk             } t          ||          |          }|t          j        u r|t          j        u s
||k    sJ d S d S )Nr[   r   r\   )r   rA   rV   rW   )	rG   r  r]   r   rY   expected_datar:  rI   rH   s	            r#   "test_any_all_nullable_kleene_logicz7TestSeriesReductions.test_any_all_nullable_kleene_logic  sy    ( T''' (%)?@,m,,F;;;"%H$5$5&H:L:L:L:L:L:L$5$5r%   c                     t          ddgddgd          }|                    dd          }t          ddg          }t          j        ||           d S )NTFrQ   r   r   )r   r  )r   rv  r   r&   r   )rG   r   rH   rI   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0r%   c                    t          dd          j        }t          |          }t          |          }d}t	          j        t          |          5  |                                sJ |                                sJ |                                sJ |                                sJ |                                                                sJ |                                                                sJ 	 d d d            n# 1 swxY w Y   |	                    d          }t          |          }t          |          }t	          j        t          |          5  |                                sJ |                                sJ |                                sJ |                                sJ |                                                                sJ |                                                                sJ 	 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-02ru   rg  z0'(any|all)' with datetime64 dtypes is deprecatedrd   r}   r   )
r   _datar   r   r&   rg   rh   r   rv  r+   )rG   dtar:  r   rk   tdas         r#   test_any_all_datetimelikez.TestSeriesReductions.test_any_all_datetimelike
  s    q1117Skks^^@'SAAA 		" 		"77997799779977996688<<>>!!!6688<<>>!!!!		" 		" 		" 		" 		" 		" 		" 		" 		" 		" 		" 		" 		" 		" 		" ooe$$Skks^^'SAAA 		" 		"77997799779977996688<<>>!!!6688<<>>!!!!		" 		" 		" 		" 		" 		" 		" 		" 		" 		" 		" 		" 		" 		" 		" CFlSkks^^wwyy7799wwyy7799vvxx||~~6688<<>>!!!!!s&   B)DDD!B)HHHc                 V   t          j        d           t          ddgd          }|                                sJ |                                rJ t          d dgd          }|                                sJ |                                sJ |                    d          rJ t          d dgd          }|                                rJ |                                rJ t          ddgd          }|                                sJ |                                sJ d S )	Npyarrow r   zstring[pyarrow_numpy]r[   Fr\   r{   )rn   importorskipr   rv  r   rG   r:  s     r#   test_any_all_pyarrow_stringz0TestSeriesReductions.test_any_all_pyarrow_string9  s/   I&&&b#Y&=>>>wwyy7799dC[(?@@@wwyywwyy77%7(((((dBZ'>???77997799c3Z'>???wwyywwyyr%   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-1ru   r   r~   r>   20120101r   r   rQ   rg  20120102r   r   )r   r   r   ra  rb  r.   ry   absr&   r   r9   r   r:   )rG   dtir   rH   r}  r!  rI   s          r#   test_timedelta64_analyticsz/TestSeriesReductions.test_timedelta64_analyticsM  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&&!!!!!!r%   ztest_input,error_typer[   foobarbazrQ   r   r  r  r  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
        rM   r[   z*attempt to get argmin of an empty sequencerd   NFr\   z*attempt to get argmax of an empty sequence)r   rn   ro   rp   ra  rb  )rG   
test_input
error_typerk   s       r#   "test_assert_idxminmax_empty_raisesz7TestSeriesReductions.test_assert_idxminmax_empty_raisesv  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 t          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 )Nr  r   Fr\   rQ   r  r  r  r  r  z8'>' not supported between instances of 'float' and 'str'rd   z8'<' not supported between instances of 'float' and 'str')r   rb  ra  r.   ry   rn   ro   r   )rG   r:  ser2ser3rk   s        r#   test_idxminmax_object_dtypez0TestSeriesReductions.test_idxminmax_object_dtype  s*   ***++zz||q    zzz''1,,,,zz||q    zzz''1,,,,tTl##{{}}!!!!{{%{((A----{{}}!!!!{{%{((A---- ueUE4GHHH]9C000 	 	KKMMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	& 	&KKuK%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&H]9C000 	 	KKMMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	& 	&KKuK%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&sH   8EE E?F""F&)F&
G++G/2G/H55H9<H9c                     t          ddgddgddgg          }|                                }t          ddg          }t          j        ||           d S )	NzimmrN  biffr&  bidg      (@r   r   )r   rb  r   r&   r   )rG   r   rX   rQ  s       r#   test_idxminmax_object_framez0TestSeriesReductions.test_idxminmax_object_frame  sW    }udmDEEiikkaVnn
sC(((((r%   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))rQ   ru   )r   r   )ru   rQ   r   r   Fr\   )r   rb  ra  r  s     r#   test_idxminmax_object_tuplesz1TestSeriesReductions.test_idxminmax_object_tuples  s    ---..zz||q    zz||q    zzz''1,,,,zzz''1,,,,,,r%   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   rQ   z8.68z42.23z7.11z79.61)r!   xy)r   r   rb  r   r&   r   ra  )rG   r   rX   rQ  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*****r%   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   rQ   rK   r[   Fr\   )r   rx   rw   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,,,,,,r%   c                 $   t          dt          j         t          j        t          j        g          }|                                dk    sJ d}t          j        t          |          5  t          j        |                    d                    sJ 	 d d d            n# 1 swxY w Y   |	                                dk    sJ d}t          j        t          |          5  t          j        |	                    d                    sJ 	 d d d            n# 1 swxY w Y   d	}t          j        t          |          5  t          j        d
d          5  |                                dk    sJ t          j        |                    d                    sJ |	                                dk    sJ t          j        |	                    d                     d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   rQ   r_  rd   Fr\   r   r`  r  r  T)r   r.   r  ry   ra  r&   rg   rh   ri   rb  rV   r  )rG   r   rk   s      r#   test_idxminmax_with_infz,TestSeriesReductions.test_idxminmax_with_inf  s   Aw/00xxzzQ@'SAAA 	4 	48AHHEH22333333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 xxzzQ@'SAAA 	4 	48AHHEH22333333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 3'SAAA 	1 	1 "#7>> 1 1xxzzQx 6 677777xxzzQ//000	1 1 1 1 1 1 1 1 1 1 1 1 1 1 1	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1s[   *+B""B&)B&$+DD #D HBG-!H-G1	1H4G1	5HH	H	c                     t          dgd          }|                                }t          j        d          }t	          j        ||           d S )Nl     9V uint64r[   )r   r   r.   r  r&   r  )rG   r   rH   rI   s       r#   test_sum_uint64z$TestSeriesReductions.test_sum_uint64  sN    ():::9122
vx00000r%   )/r   r   r   r"  rn   r   r   r,  r2  r7  r;  rB  rF  rM  rT  rV  rZ  r]  rc  rn  rr  ry  r{  r~  r  r  r.   ry   r  rV   rW   r  r  r  r  r  r   rp   r   r  r  r  r  r  r  r  r  r   r%   r#   r  r  <  su       
# # #( [EEE  [-e}==[^lM-JKK^  ^  LK >= 
^ @ [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&STT[Xe}55A A 65 UTA
# # #$# # #"     4  B- - -^    ' ' ') ) ) [_uen==[Xe}55" " 65 >=" [_uen==[%urvP " "  >=" [W&O&O&OPP[_uen==[Xe}55[ 	YY%%89YY$d|45eRUBE"beRU^eT]$CD]beU^eU^<=]dBE]T4L9:]dE]T5M:;	
	 M M  65 >= QP M1 1 1-" -" -"^  ('" '" '"R [VBi(((*5V)))**I6VT4L!!9-VUE5%rvuEFF	R	

 
, ,
 
, & & &6) ) )- - -+ + +"- - -1 1 101 1 1 1 1r%   r  c                      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eg           e
e ed          g           e
 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   r:   r
   r9   )rG   r  s     r#   test_minmax_nat_seriesz5TestDatetime64SeriesReductions.test_minmax_nat_series  sz     {{}}####{{}}####{{%{((C////{{%{((C//////r%   nat_dfc                 &   |                                 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   Fr\   r  )rG   r  s     r#   test_minmax_nat_dataframez8TestDatetime64SeriesReductions.test_minmax_nat_dataframe  s     zz||A#%%%%zz||A#%%%%zzz''*c1111zzz''*c111111r%   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/2000r   r   rf   )r   taker.   r/   r0   permutationlenr:   r9   rB   r   )rG   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######r%   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  r   )TSVLrf   r   )r   r   r.   r/   r0   r1   r  r  r9   r   iatrB   r:   )rG   r  lvlsr   rH   rQ  s         r#   test_min_max_seriesz2TestDatetime64SeriesReductions.test_min_max_series%  s    Rd;;;AAAY**1--==c#hhGG 
 
 	"&&&),,,,,}}}}	!%%&),,,,,}}}}}}r%   N)r   r   r   rn   r   r   r   r
   r   r  r   r  r  r  r   r%   r#   r  r    sH       
 [FC:FC5))*++FIIe$$ii&6&6788	
 0 0 0 [IsCj!!IsIIe,,-..Iyy''5)9)9:;;	
 2 2 2$ $ $    r%   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 ed          ej	        gz    ed          fg dg d	fd
ddej	        gg d	fg          ej                            dddg          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S )TestCategoricalSeriesReductionsfunctionr:   r9   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 rd   )r   r   rn   ro   r   rA   )rG   r  catrk   s       r#   test_min_max_unordered_raisesz=TestCategoricalSeriesReductions.test_min_max_unordered_raises@  s     [!5!5!5uEEEFFD(DD]9C000 	% 	%"GC""$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   A''A+.A+zvalues, categoriesrt  cbar   ru   r   rQ   rQ   r   ru   c                     t          t          ||d                    } t          ||          d          }|dk    r|d         n|d         }||k    sJ d S )NTr
  r\   r:   r   r   )r   r   rA   )rG   rC   r  r  r  rH   rI   s          r#   test_min_max_orderedz4TestCategoricalSeriesReductions.test_min_max_orderedH  sn     [JMMMNN'h''t444$,$5$5:a==:a=!!!!!!r%   r]   TFc                     t          t          t          j        gddgd                    } t	          ||          |          }|t          j        u sJ d S )NrQ   r   Tr
  r\   r   r   r.   ry   rA   )rG   r  r]   r  rH   s        r#   "test_min_max_ordered_with_nan_onlyzBTestCategoricalSeriesReductions.test_min_max_ordered_with_nan_onlyZ  s]     ["&q!fdKKKLL'h''v666r%   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
  r\   r:   r  )rG   r  r]   r  rH   rI   s         r#   test_min_max_skipnaz3TestCategoricalSeriesReductions.test_min_max_skipnab  s     c263/S#JPTUUU
 
 (h''v666T>>&%//ssSHX%%%%%%RV######r%   N)r   r   r   rn   r   r   r  r  r.   ry   r  r  r  r   r%   r#   r  r  ;  s       
 [Z%88% % 98% [T%[[$$u++&T%[[$$u++&T%[[BF8#TT%[[1YY			"Arv			*	
	 	 [Z%88" " 98	 	" [Z%88[Xe}55    65 98  [Z%88[Xe}55
$ 
$ 65 98
$ 
$ 
$r%   r  c                   0   e Zd Zej                            dd eg ej                  fd eg ej                  fg          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          ej                            d e
ej        d         ej        d         z                       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dgfddgej        gd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, edgej                  ej        fg d, edgej                  ej        fg d- ed.gej                  ej        fg          d/             Zej                            d+g d0 eg d1ej                  ej        fg d2 ed3d.gej                  ej        fg          d4             Zd5S )6TestSeriesModezdropna, expectedTr[   Fc                     t          g t          j                  }|                    |          }t	          j        ||           d S r/  )r   r.   rM   moder&   r   rG   r   rI   r   rH   s        r#   test_mode_emptyzTestSeriesMode.test_mode_emptyv  s@    
 2RZ(((
vx00000r%   zdropna, data, expected)rQ   rQ   rQ   r   rQ   )rQ   rQ   rQ   r   ru   ru   ru   ru   dt
AllIntegerFloatc                     t          ||          }|                    |          }t          ||          }t          j        ||           d S r/  r   r  r&   r   )rG   r   r   rI   r  r   rH   s          r#   test_mode_numericalz"TestSeriesMode.test_mode_numerical  sP     4r"""("---
vx00000r%   r&  c                     t          dddt          j        t          j        g          }|                    |          }t          |          }t	          j        ||           d S )NrQ   r   )r   r.   ry   r  r&   r   r  s        r#   test_mode_numerical_nanz&TestSeriesMode.test_mode_numerical_nan  sS    Aq!RVRV,--(##
vx00000r%   z'dropna, expected1, expected2, expected3r{   r  ry   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ddt          j        t          j        t          j        g}t          |t                                        t                    }|                    |          }t          |t                    }t          j        ||           d S )	Nr   r   r{   ru   r  r[   r  r  )	r   r  r&   r   r.   ry   rK   rE   str)rG   r   	expected1	expected2	expected3r   r   rH   s           r#   test_mode_str_objz TestSeriesMode.test_mode_str_obj  s0    uqyC519$4s###9C000	
vy111ueRVRVRV<4v&&&9F333	
vy111ueRVRVRV<4v&&&--c229C000	
vy11111r%   zdropna, expected1, expected2r  c                    t          g d          }|                    |          }t          |          }t          j        ||           t          dddt          j        t          j        t          j        g          }|                    |          }t          |t                    }t          j        ||           d S )N)rQ   r  r  rQ   r  r[   )r   r  r&   r   r.   ry   rK   )rG   r   r  r   r   rH   rI   s          r#   test_mode_mixeddtypez#TestSeriesMode.test_mode_mixeddtype  s    
 $$$%%)$$
vx000AueRVRVRV<==)6222
vx00000r%   )
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  ry   ry   r?   r[   )r   r  r  r   r  ry   ry   r  rG   r   r  r   r   rH   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1r%   )-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  ry   ry   r   r[   )r  r  z-1 dayz-1 day 2 minr  r  ry   ry   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1r%   r   )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 )
NrQ   r   categoryr[   r   ru   r  Tr
  )r   r   r.   ry   r  r&   r   )rG   r   r  r   r  r   rH   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1r%               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)rQ   r  r  r[   rQ   r  )r   r.   r  r  r&   r   r  s         r#   test_mode_intoverflowz$TestSeriesMode.test_mode_intoverflow,  s     $$$BI6669BI666	
vy111Au:RY///9BI666	
vy11111r%   c                    t          dt          j        g          }t          dddt          j        t          j        g          }t          j        t
                    5  |                    d          }|                                                    d          }d d d            n# 1 swxY w Y   t          j	        ||           d S )Nr  rQ   F)r   T)drop)
r   r.   ry   r&   rg   UserWarningr  sort_valuesreset_indexr   )rG   rI   r   rH   s       r#   test_mode_sortwarningz$TestSeriesMode.test_mode_sortwarning<  s     5"&/**AueRVRV455'44 	A 	AVV5V))F''))5545@@F	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	vx00000s   ?B((B,/B,c                     t          dddt          j        gd          }|                                }t          ddid          }t	          j        ||           d S )NTFrS   r[   r   )r   rV   rW   r  r&   r   )rG   r:  rH   rI   s       r#   test_mode_boolean_with_naz(TestSeriesMode.test_mode_boolean_with_naI  s[    dE4/yAAA1d)9555
vx00000r%   zarray,expected,dtype)r                 ?rQ   rQ         ?      ?      ?       @)r                 @r  r  c                 v    t          ||                                          }t          j        ||           d S r/  r  rG   rH  rI   rY   rH   s        r#   test_single_mode_value_complexz-TestSeriesMode.test_single_mode_value_complexP  s;    * U+++0022
vx00000r%   )r   r  rQ   r  r   )y                r  y      ?        r  r   )r  r!  r  r!  ru   r!  c                 v    t          ||                                          }t          j        ||           d S r/  r  r#  s        r#   test_multimode_complexz%TestSeriesMode.test_multimode_complexh  s;    ( U+++0022
vx00000r%   N)r   r   r   rn   r   r   r   r.   rM   r  r  	typecodesr  ry   r  r  r  r	  r  r   r  r  r  r  
complex128	complex64r$  r&  r   r%   r#   r  r  q  s       
 [
r,,,	-vvb
7S7S7S/TU 1 1	 1
 [ <<<!%(((1a&1LLL1#&)))Aq62		
  [dd2<-W0EEFF 1 1  1 [/4#-%!RVAU1VWW1 1 XW1 [1
w	(53%"&E7*KL 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 [ .--s"-000 .--s",/// %$$xr}555	
 (1 1) (1 [ +**777r}MMM	 ,++F|2<888	
  1 1!  1 1 1r%   r  )%r   r   decimalr   numpyr.   rn   pandasrV   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr&   pandas.corer   r5   r7   r   r  r  r  r  r   r%   r#   <module>r0     st                                                           $              $x1 x1 x1 x1 x1 x1 x1 x1vK K K K K K K K\
u
1 u
1 u
1 u
1 u
1 u
1 u
1 u
1pD D D D D D D DN3$ 3$ 3$ 3$ 3$ 3$ 3$ 3$lL1 L1 L1 L1 L1 L1 L1 L1 L1 L1r%   