
    dD                     D   d dl m Z 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 e            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	timedeltaN)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          fd| D             }| |z   }|S )N
   a)namez
US/Easterntzc                 4    g | ]}t          |d           S )r   )indexr   )r   ).0idxarrs     c/var/www/html/t/fyr/venv311/lib/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randn)indexesseriesobjsr    s      @r!   get_objsr2       s    
#&&&
%%%
"3'''
#&&&
#&&&22l2CC
2C(((
2C(((G )//"

CBBBB'BBBFVDKr#   c                      e Zd Z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 ) TestReductions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)selfr5   r8   resultexpecteds        r!   test_opszTestReductions.test_ops6   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       @)float64rI   datetime64[ns]        )Int64   )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 )NrK   )rO   rQ   )r	   pdNAr   )resdtypes    r!   check_missingz4TestReductions.test_nanminmax.<locals>.check_missingU   s=    (((cz!...be|#Cyy r#   rW   FskipnarH   )r>   )rD   r5   rW   valindex_or_seriesklassrX   r8   s     `     r!   test_nanminmaxzTestReductions.test_nanminmaxF   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                 B   |}|t           u rd|z   nd|z   } |t          t          ddd          g          } t          ||                      dk    sJ  t          ||          d          }|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          ||          d          }|t          u rt          j        |          sJ d S |dk    sJ d S )	Nargr   rL   rM   rN   FrZ   )r   r	   r   r>   r   r,   isnan)rD   r5   r]   r^   arg_opr8   rE   s          r!   test_nanargminmaxz TestReductions.test_nanargminmaxq   sG     #(E>>uv~eS(4Q//011#wsF##%%****%f%%U333F??8F######R<<<<eS(4Q//566#wsF##%%****%f%%U333F??8F#######R<<<<<<r#   rW   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 )Nra   r   rY   FrZ   zempty sequencematch)r   r>   r	   pytestraises
ValueError)rD   r5   r]   rW   r^   rd   r8   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           	      6   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	
          dk    sJ |                    d	
          dk    sJ t          t          j        g          }|                                dk    sJ |                                dk    sJ |                    d	
          dk    sJ |                    d	
          dk    sJ t          t          t          ddd          t          ddd          t          g          }|                                dk    sJ |                                dk    sJ |                    d	
          dk    sJ |                    d	
          dk    sJ t          t          g          }|                                dk    sJ |                                dk    sJ |                    d	
          dk    sJ |                    d	
          dk    sJ d S )N   r=   rY   r      rN   rP      FrZ   rb   rL   rM   )r   r,   arangeargminargmaxnanr	   r   )rD   r8   s     r!   test_argminmaxzTestReductions.test_argminmax   sz   BIaw///00zz||q    zz||q    RVQ*++zz||q    zz||q    zzz''2----zzz''2----RVHoozz||r!!!!zz||r!!!!zzz''2----zzz''2----S(4Q//$A1F1FLMMzz||q    zz||q    zzz''2----zzz''2----SEllzz||r!!!!zz||r!!!!zzz''2----zzz''2------r#   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:00rp   UTC)periodsr   r   )columnsi  secondsrv   rN   axis)	r   r   r   subtractr   r>   renamer$   assert_series_equal)rD   opexpected_coldfrE   rF   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)rT   to_datetimer)   r   r>   r,   r$   r   )rD   tz_aware_fixturer   r   ra   rF   rE   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 )NrN   rP   timedelta64[ns]rY   rO   ABrp   )	r   r   r	   r,   rt   r   sumr$   r   )rD   r   rF   rE   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__ri   markparametrizer1   rG   r   r_   re   rl   ru   r   r   r    r#   r!   r4   r4   5   s       [Xu~66[UD))& & *) 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/. . .: [/5#,1MNN1 1 ON1 [Vi%;<<1 1 =<1
1 
1 
1 
1 
1r#   r4   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  rp   )i  r   i)@B ro   )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 NFrZ   )r   _valuesr6   r7   r   )rD   startstopstepr   rF   rE   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   rP   )	r   is_monotonic_increasingr,   rt   r7   r   r6   rr   rs   rD   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   r7   r6   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   r>   r	   rD   r   r8   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 supportedrg   r   outrn   )
r   r,   r7   r   r6   ri   rj   rk   rr   rs   )rD   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   is     r!   r"   z:TestIndexReductions.test_timedelta_ops.<locals>.<listcomp>1  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-07ro   )daysz
2015-02-15   )r   rangediffmeanr   r   to_framequantiler   r,   timedelta64medianr   stddropnar@   r   )rD   sr   rE   rF   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5r#   r5   )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>e  r   r#   r   |zreduction operation 'z' not allowed for this dtypezcannot perform z with type timedelta64\[ns\]zdoes not support reduction ''rg   F)numeric_only)	r   r   r   joinri   rj   	TypeErrorr>   r   )rD   r5   r   r   msgs        r!   test_invalid_td64_reductionsz0TestIndexReductions.test_invalid_td64_reductionsb  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   rP   )r   r   r	   r7   r   r6   rr   rs   )rD   tz_naive_fixturer   r   r   r   s         r!   test_minmax_tzz"TestIndexReductions.test_minmax_tzw  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   r>   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rN   rP   rp   r   rg   r   r   )
r   r@   r6   r,   r7   ri   rj   rk   rs   rr   )rD   r   rF   rE   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   rp   r   r   rg   r   )r   r,   r6   r7   ri   rj   rk   )rD   r   rE   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   rg   r   r   rn   )
r   r,   r7   r   r6   ri   rj   rk   rr   rs   )rD   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   rN   r   rp   rP   )r   r	   r   r7   r
   r6   rr   rs   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   r>   r	   )rD   r   r   r8   rE   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   rg   r   r   rn   )rT   period_ranger,   r7   r
   r6   ri   rj   rk   rr   rs   )rD   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\nrg   zwCategorical is not ordered for operation max\nyou can use .as_ordered\(\) to change the Categorical to an ordered one\nTcrv   )rT   CategoricalIndexlistri   rj   r   r7   r6   )rD   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   ri   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                   >   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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          d/                         Zej                            dg d0          ej                            d)d*d+g          ej                            dddg          ej                            d1g d2ddgddggfg d3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d4ej        d4gej        dgddggfd5ej        d5gdej        gddggfd5ej        d4gddgddggfg          d6                                                 Zd7 Zd8 Z d9 Z!ej                            d: e"g d;          e#f e"g d<          e$f e"d=d>g          e$f e"d?d?d@d@d.ej        dAg          e$fg          dB             Z%dC Z&d.S )DTestSeriesReductionsc                    t          t          j                            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d          5  t          j        |                                |                                           d d d            n# 1 swxY w Y   t          j        |d	
          }t          j        |                                          sJ d S )Nr   rn      d   f4rP   mode.use_inf_as_naTrN   r}   )r   r,   r-   r.   copyinfrt   isinfr   rB   rT   option_contextr$   assert_almost_equalr   nansumall)rD   r   s2r    rV   s        r!   test_sum_infz!TestSeriesReductions.test_sum_inf)  sd   29??2&&''VVXX!A#&1Q3x     iooc3''..t44FAAAqD	3T:: 	6 	6"15577BFFHH555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 mCa(((x}}  """""""s   &:D,,D03D0rW   )rJ   Float32rO   rQ   rH   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  rY   r   )	min_countrN   TrZ   )r[   r"  Fr   )r   r   rP   )
rT   r  r   r>   r   r,   rt   r   emptyr  )rD   methodunitr  rW   r   rE   r   s           r!   
test_emptyzTestSeriesReductions.test_empty;  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   )Float64rO   rQ   c                     t          g |          } t          ||                      }|t          j        u sJ t          t          j        g|          } t          ||                      }|t          j        u sJ d S NrY   )r   r>   rT   rU   r,   rt   )rD   r$  rW   eserrE   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 )NrY   m8[ns]r   r   )zoperation 'var' not allowedz.cannot perform var with type timedelta64\[ns\]z does not support reduction 'var'rg   )	r>   r   floatr   r   ri   rj   r   r	   )rD   r$  rE   tdserr   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   rN   r   )r   r,   rt   r  r$   r  )rD   serrE   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 rY   FrZ   r=   r   rb   )	rT   r  r,   rq   r   r   intr7   r6   rD   r  rW   vr   rE   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)float32rJ   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  r8  rY   FrZ   r  rb   )
rT   r  r,   rq   r   r   r7   allcloser/  r6   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  rO   rY   r   g ؅W4vC)r,   arrayr   r   )rD   r\   
n_elementsnar4  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)rN   g      @)r   rI   c                     t          g dd          }t          g dd          }|                    |          }|                    |          }||k    sJ ||k    sJ d S )N)rN   rP   rp   ro   rn   rO   rY   r=   )ddof)r   r   )rD   rI  expr4  ser_numpy_dtyperE   result_numpy_dtypes          r!   test_var_masked_arrayz*TestSeriesReductions.test_var_masked_array  s}     ___G444 @@@d##,00d0;;+++++}}}}}}r#   )r.  r.  r<   zM8[ns, UTC]r[   c                     t          g |                              |          t          u sJ t          g |                              |          t          u sJ d S )NrY   rZ   )r   r7   r	   r6   )rD   rW   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 NrN   rM   r3  r   rg   r   )r,   rq   r   rr   ri   rj   rk   rD   r   r   rE   rF   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 rQ  )r,   rq   r   rs   ri   rj   rk   rR  s         r!   test_numpy_argmaxz&TestSeriesReductions.test_numpy_argmax  s   yB4t$$$19T??!!!!!!!!4]:S111 	# 	#IaT""""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#rT  c                    t          j                                        d          }t          j        |dd<   ||                                         |                                k    sJ t          |                    d                    sJ |                                }||                                         |                                k    sJ |j	        j
                                        	                    |                                          |j
                                        k    sJ |t          j        z  }t          |                                          sJ t          t          dd                    }|                                }|d	k    sJ t          j        |d	<   |                                }|d
k    sJ d S )Nr0   rn      FrZ   20130102r   ry   r   rN   )r$   makeStringSeriesr   r,   NaNidxminr7   r   r   r   r@   tolistrr   rt   r   r   rD   string_seriesnonaallnar   rE   s         r!   test_idxminz TestSeriesReductions.test_idxmin,  s    +--44X>> !fad ]113348I8I8K8KKKKKM(((6677777 ##%%DKKMM"dhhjj0000z ''))//>>$+BTBTBVBVVVVV &ELLNN##### :j!44455{{{{v!{{{{{{r#   c                    t          j                                        d          }t          j        |dd<   ||                                         |                                k    sJ t          |                    d                    sJ |                                }||                                         |                                k    sJ |j	        j
                                        	                    |                                          |j
                                        k    sJ |t          j        z  }t          |                                          sJ 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 )Nr0   rn   rX  FrZ   rY  r   rZ  ro   r   )皙?g @@rf  re  )r$   r[  r   r,   r\  idxmaxr6   r   r   r   r@   r^  rs   rt   r   r   r]  r_  s         r!   test_idxmaxz TestSeriesReductions.test_idxmaxJ  s!    +--44X>> !fad ]113348I8I8K8KKKKKM(((6677777 ##%%DKKMM"dhhjj0000z ''))//>>$+BTBTBVBVVVVV &ELLNN#####:j!44455{{{{v!{{{{ 999ooo..}}}}}}}}17AG$$}}}}}}}}}}r#   c                     t          j                    }|dk    }|                                rJ |                                sJ t	          ddg          }|                                sJ d S )Nr   abcT)r$   makeTimeSeriesr  anyr   )rD   tsbool_seriesr   s       r!   test_all_anyz!TestSeriesReductions.test_all_anyu  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   rN   rP   r   )r,   r  rl  r   )rD   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 )NTFrZ   )r   r,   rt   r  rl  )rD   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   rN   rN   rP   rP   r3  T)	bool_only)r   rl  r  rD   r   s     r!   test_all_any_bool_onlyz+TestSeriesReductions.test_all_any_bool_only  s^    :::BTBTBTUUU uutu$$$$$5545(((((((r#   bool_agg_funcrl  r  c                 ~    t          g dt                    } t          ||          |          }d}||k    sJ d S )N)r   rv   r  derY   rZ   T)r   rH   r>   )rD   ry  r[   r4  rE   rF   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 )NFrZ   rl  )r   r>   )rD   r   ry  r4  rE   rF   s         r!   !test_any_all_object_dtype_missingz6TestSeriesReductions.test_any_all_object_dtype_missing  sX     Tll,m,,E::: !E)>d$.>!!!!!!r#   )rQ   rO   UInt64r'  zdata,expected_data)r   r   r   )rN   rN   rN   r   rN   c                     t          ||          }||         |dk             } t          ||          |          }|t          j        u r|t          j        u s
||k    sJ d S d S )NrY   r  rZ   )r   r>   rT   rU   )	rD   ry  r[   r   rW   expected_datar4  rF   rE   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 )NTFrN   rP   r   )r~   rv  )r   rl  r   r$   r   )rD   r   rE   rF   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-02rp   rZ  z0'(any|all)' with datetime64 dtypes is deprecatedrg   rx   r   )
r   _datar   r   r$   assert_produces_warningFutureWarningr  rl  r)   )rD   dtar4  r   r   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                 ^   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-1rp   r   ry   r;   20120101r   rP   rN   rZ  20120102r   r   )r   r   r   r]  rg  r,   rt   absr$   r   r6   r   r7   )rD   dtir   rE   rs  r  rF   s          r!   test_timedelta64_analyticsz/TestSeriesReductions.test_timedelta64_analytics  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_typerY   )foobarbaz)rN   )rP   r  r  r  c                 (   d}t          j        ||          5  |                                 ddd           n# 1 swxY w Y   t          j        ||          5  |                    d           ddd           n# 1 swxY w Y   d}t          j        ||          5  |                                 ddd           n# 1 swxY w Y   t          j        ||          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
        zbreduction operation 'argmin' not allowed for this dtype|attempt to get argmin of an empty sequencerg   NFrZ   zbreduction operation 'argmax' not allowed for this dtype|attempt to get argmax of an empty sequence)ri   rj   r]  rg  )rD   
test_input
error_typer   s       r!   test_assert_idxminmax_raisesz1TestSeriesReductions.test_assert_idxminmax_raises'  s#    9 	 ]:S111 	  	 	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 ]:S111 	, 	,U+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,9 	 ]:S111 	  	 	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 ]:S111 	, 	,U+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,sC   :>>A>>BB!CC	C#DDDc                    t          dt          j         t          j        t          j        g          }|                                dk    sJ t          j        |                    d                    sJ |                                dk    sJ t          j        |                    d                    sJ t          j        dd          5  |                                dk    sJ t          j        |                    d                    sJ |                                dk    sJ t          j        |                    d                     d d d            d S # 1 swxY w Y   d S )Nr   rN   FrZ   rP   r  T)	r   r,   r  rt   r]  rc   rg  rT   r  rw  s     r!   test_idxminmax_with_infz,TestSeriesReductions.test_idxminmax_with_infG  sx   Aw/00xxzzQx../////xxzzQx..///// 3T:: 	- 	-88::????8AHHEH223333388::????HQXXUX++,,,		- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-s   BE$$E(+E()'r   r   r   r  ri   r   r   r&  r,  r1  r5  r<  r@  rG  rM  rO  rS  rV  rc  rh  ro  rq  rt  rx  r}  r,   rt   r  rT   rU   r  r  r  r  r   rk   r   r  r  r   r#   r!   r  r  $  s       
# # #$ [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
# # #$# # #"  <) ) )V    ' ' ') ) ) [_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	

 
, ,
 
,*- - - - -r#   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   r7   r	   r6   )rD   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   FrZ   r  )rD   r  s     r!   test_minmax_nat_dataframez8TestDatetime64SeriesReductions.test_minmax_nat_dataframen  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                            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   rb   )
r   taker,   r-   permutationlenr7   r6   r?   r   )rD   rngrng2the_minthe_maxs        r!   test_min_maxz+TestDatetime64SeriesReductions.test_min_max}  s    \22xx	--c#hh7788((**((**'9-----'9-----#a&    #b'!!!!wwyyCF""""wwyyCG######r#   c                    t          ddd          }g d}t          |t          j                            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  )TSVLrb   r   )r   r   r,   r-   r.   r  r  r6   r   iatr?   r7   )rD   r  lvlsr   rE   rJ  s         r!   test_min_max_seriesz2TestDatetime64SeriesReductions.test_min_max_series  s    Rd;;;AAAc	C(A(AMMNN	"&&&),,,,,}}}}	!%%&),,,,,}}}}}}r#   N)r   r   r   ri   r   r   r   r	   r   r  r   r  r  r  r   r#   r!   r  r  Z  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functionr7   r6   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   rv   r  r{  F)r  z)Categorical is not ordered for operation rg   )r   r   ri   rj   r   r>   )rD   r  catr   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, categoriesrj  cbar   rp   rP   rN   rN   rP   rp   c                     t          t          ||d                    } t          ||          d          }|dk    r|d         n|d         }||k    sJ d S )NTr  rZ   r7   r   rP   )r   r   r>   )rD   r@   r  r  r  rE   rF   s          r!   test_min_max_orderedz4TestCategoricalSeriesReductions.test_min_max_ordered  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 )NrN   rP   Tr  rZ   r   r   r,   rt   r>   )rD   r  r[   r  rE   s        r!   "test_min_max_ordered_with_nan_onlyzBTestCategoricalSeriesReductions.test_min_max_ordered_with_nan_only  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   rv   Tr  rZ   r7   r  )rD   r  r[   r  rE   rF   s         r!   test_min_max_skipnaz3TestCategoricalSeriesReductions.test_min_max_skipna  s     c263/S#JPTUUU
 
 (h''v666T>>&%//ssSHX%%%%%%RV######r#   N)r   r   r   ri   r   r   r  r
  r,   rt   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, expectedTrY   Fc                     t          g t          j                  }|                    |          }t	          j        ||           d S r)  )r   r,   rJ   moder$   r   rD   r   rF   r   rE   s        r!   test_mode_emptyzTestSeriesMode.test_mode_empty  s@    
 2RZ(((
vx00000r#   zdropna, data, expected)rN   rN   rN   rP   rN   )rN   rN   rN   rP   rp   rp   rp   rp   dt
AllIntegerFloatc                     t          ||          }|                    |          }t          ||          }t          j        ||           d S r)  r   r  r$   r   )rD   r   r   rF   r  r   rE   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 )NrN   rP   )r   r,   rt   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, expected3rv   r  rt   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   rP   rv   rp   r  rY   r  r  )	r   r  r$   r   r,   rt   rH   rB   str)rD   r   	expected1	expected2	expected3r   r   rE   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)rN   r  r  rN   r  rY   )r   r  r$   r   r,   rt   rH   )rD   r   r  r  r   rE   rF   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  rt   rt   r<   rY   )r   r  r  r   r  rt   rt   r  rD   r   r  r  r   rE   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  rt   rt   r   rY   )r  r  z-1 dayz-1 day 2 minr  r  rt   rt   r  r  s         r!   test_mode_timedeltaz"TestSeriesMode.test_mode_timedeltaE  s     999AR
 
 
 9,=>>>	
vy111	 	 	 $
 
 
 9,=>>>	
vy11111r#   rP   )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 )
NrN   rP   categoryrY   r   rp   r  Tr  )r   r   r,   rt   r  r$   r   )rD   r   r  r  r  r   rE   s          r!   test_mode_categoryz!TestSeriesMode.test_mode_categoryg  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)rN   r  r  rY   rN   r  )r   r,   uint64r  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  rN   F)r   T)drop)
r   r,   rt   r$   r  UserWarningr  sort_valuesreset_indexr   )rD   rF   r   rE   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 )NTFrQ   rY   r   )r   rT   rU   r  r$   r   )rD   r4  rE   rF   s       r!   test_mode_boolean_with_naz(TestSeriesMode.test_mode_boolean_with_na  s[    dE4/yAAA1d)9555
vx00000r#   zarray,expected,dtype)r                 ?rN   rN         ?      ?      ?       @)r                 @r  r  c                 v    t          ||                                          }t          j        ||           d S r)  r  rD   rB  rF   rW   rE   s        r!   test_single_mode_value_complexz-TestSeriesMode.test_single_mode_value_complex  s;    * U+++0022
vx00000r#   )r   r  rN   r  r  )y                r  y      ?        r  r  )r  r  r  r  rp   r  c                 v    t          ||                                          }t          j        ||           d S r)  r  r  s        r!   test_multimode_complexz%TestSeriesMode.test_multimode_complex  s;    ( U+++0022
vx00000r#   N)r   r   r   ri   r   r   r   r,   rJ   r  r
  	typecodesr  rt   r  r  r  r  r  r   r  r  r  r  
complex128	complex64r  r  r   r#   r!   r  r    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   numpyr,   ri   pandasrT   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr$   pandas.corer   r2   r1   r4   r   r  r  r  r  r   r#   r!   <module>r
     sg         
                                            $              $ xzz^1 ^1 ^1 ^1 ^1 ^1 ^1 ^1BK K K K K K K K\
s- s- s- s- s- s- s- s-l> > > > > > > >B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#   