
    o[weW                     @   d dl mZ d dlmZ d dlZd dlmZ d dlZd dl	Z	d dl
mZmZ d dlmZ d dlmc m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 d dl m!Z" d dl#m$Z$m%Z%  e            re pe Z& e            pe Z'	 	 	 	 	 	 d.dZ( G d d          Z) G d d          Z* G d d          Z+ G d d          Z,d Z-d Z.e	j/        0                    dg d          e	j/        0                    dddg          d                         Z1e	j/        0                    d ed          ej2        g          d              Z3d! Z4e	j/        0                    dg d"          e	j/        0                    dd	d
g          e	j/        0                    d#d$d%g          d&                                     Z5e	j/        0                    d'g d(          d)             Z6e	j/        0                    dg d*          e	j/        0                    d+d d,g          d-                         Z7dS )/    )	timedelta)DecimalN)tzlocal)IS64is_platform_windows)np_version_gt2)CategoricalCategoricalDtype	DataFrameIndexSeries	Timestamp
date_rangeisnanotnato_datetimeto_timedelta)
algorithmsnanopsTFh㈵>:0yE>c	                    t          ||           }	|rt          dt          dd          i          }
t          j        d          5   t          |
|                       }ddd           n# 1 swxY w Y   t          |t                    sJ t          t          |
                    |
d<   t          j        d          5   t          |
|                       }ddd           n# 1 swxY w Y   t          |t                    sJ t          |          sJ |rfd}t          j	        |          } |	dd	
          } |	dd	
          }t          j
        ||                    |          |||           t          j
        ||                    |d          ||           n} |	d          } |	d          }t          j
        ||                    |          |||           | dv r0|                    |d          }t          j
        ||d	||           |r&|j        j        }||j        k    sJ ||j        k    sJ t          j        t           d          5   |	d           ddd           n# 1 swxY w Y   |r|t"          j        z  } t          ||           d          } t          ||           d          }| dv rp| dk    rdnd}t          ||j        |j                  }t          j
        ||           t          ||j        |j                  }t          j
        ||           dS dS dS )a  
    Check that operator opname works as advertised on frame

    Parameters
    ----------
    opname : str
        Name of the operator to test on frame
    alternative : function
        Function that opname is tested against; i.e. "frame.opname()" should
        equal "alternative(frame)".
    frame : DataFrame
        The object that the tests are executed on
    has_skipna : bool, default True
        Whether the method "opname" has the kwarg "skip_na"
    check_dtype : bool, default True
        Whether the dtypes of the result of "frame.opname()" and
        "alternative(frame)" should be checked.
    check_dates : bool, default false
        Whether opname should be tested on a Datetime Series
    rtol : float, default 1e-5
        Relative tolerance.
    atol : float, default 1e-8
        Absolute tolerance.
    skipna_alternative : function, default None
        NaN-safe version of alternative
    bz1/1/2001   periodsNac                 $     | j                   S Nvaluesxalternatives    Blib/python3.11/site-packages/pandas/tests/frame/test_reductions.pywrapperz$assert_stat_op_calc.<locals>.wrapper]       ;qx(((    r   Faxisskipna   )check_dtypertolatolr*   )r.   r/   )sumprodNo axis named 2matchr2   indexdtype)getattrr   r   tmassert_produces_warning
isinstancer   rangelen_make_skipna_wrapperassert_series_equalapplyr!   r8   pytestraises
ValueErrornpnanr7   )opnamer$   frame
has_skipnar-   check_datesr.   r/   skipna_alternativefdfresultr&   skipna_wrapperresult0result1expected	lcd_dtypeall_nar0r1units    `                    r%   assert_stat_op_calcrX   (   s   J 	vA 
Z
A>>>?@@'-- 	+ 	+(WR((**F	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+&&)))))B..3'-- 	+ 	+(WR((**F	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+&&)))))6{{ %	) 	) 	) 	) 	) 0>PQQ!5)))!5)))
U[[)){TX	
 	
 	
 	
 	KKaK((		
 	
 	
 	
 	
 %aQiiiGaQiiiGN##      ;;~A;66
X5t$	
 	
 	
 	

  *L&	GM))))GM)))) 
z):	;	;	;  	q				                	1$WVV$$!,,,$WVV$$!,,,_$$&((11aDd"("(CCCH"2x000d"("(CCCH"2x00000	1 	1 %$s6   	A..A25A2C((C,/C,(JJJc                      e Zd Zej                            dddg          ej                            dddddd	d
ddddd ej        dej                   ej        dej                  g          d                         Z	ej                            dddg          ej                            dddddd	d
dddd ej        dej                   ej        dej                  g          d                         Z
d Zd Zd Zej                            dg d          ej                            d eg dg dg ddg dd !           eej        d"gej        d#gej        d$gd%e&          g          ej                            d'          d(                                     Zej                            d)g d*          d+             Zd, Zd- Zej                            d.d/d0g          d1             Zej                            d.d/d0g          d2             Zd3 Zd4 Zej                            d5g d6          d7             Zd8 Zej                            d9d:d;gd<gd=gd>g ed>gd>g?           ed@g           edAg          dBfdCd;gd<gej        g ej         ej        ge&           eej        gd>g?          e!j"        g ee!j"        g          dBfd:dDdEej        ej        gdDdEej        ej        gdej        ej        ej        g ed>ej        ej        ej        gd>g?           eg dF           eg dG          g dHdIfdCdDdEej        ej        gdDdEej        ej        gdej        ej        ej        g eej        d>ej        ej        gd>g?           eg dJ           eg dK          g dHdIfg          dL             Z#dM Z$dN Z%dO Z&dP Z'ej                            dQdRdSe!j"        dTgd$e!j"        gz  g          dU             Z(dV Z)ej                            dW e*j+        d           e*j,        d           e*j-        de.&           e*j-        de/&           e*j,        ddXY           e*j0        d          g          dZ             Z1ej                            d[d\d]g          ej                            d^g d_          d`                         Z2da Z3db Z4ej                            dcg dd          ej                            dedd"dfdgdhej        gfdd#dfej        ej        ej        gfddCdidgdhej        gfg          dj                         Z5ej                            dcg dd          ej                            dedd"dfdkdlej        gfdd#dfej        ej        ej        gfddCdidkdlej        gfg          dm                         Z6dn Z7do Z8dp Z9dq Z:dr Z;ds Z<dt Z=du Z>dv Z?ej                            dwd:dCg          ej                            dddg          dx                         Z@ej                            dddg          ej                            dy          dz                         ZAej                            d^d:dCg          d{             ZBd| ZCej                            dwd:dCg          ej                            dddg          d}                         ZDej                            dddg          ej                            dy          d~                         ZEej                            d^d:dCg          d             ZFd ZGd ZHd ZIej                            dddd$gfdddgfg          d             ZJd ZKej                            dddg          ej                            dddg          ej                            ddCd:g          d                                     ZLej                            dddg          ej                            dddg          d                         ZMej                            dddg          d             ZNd ZOej                            dddg          ej                            dddg          ej                            dwd:dCg          d                                     ZPej                            d          d             ZQd ZRej                            dg ejS        i dCfejT        i d:fejS        dg idCfejT        dg id:fejS        ddCdCgidCfejT        ddCdCgidCfejS        dd:dCgid:fejT        dd:dCgidCfejS        dd:d:gid:fejT        dd:d:gid:fejS        dCgdCgddCfejT        dCgdCgddCfejS        dCdCgdCd:gdd:fejT        dCdCgdCd:gddCfejT        d eUdd=gd&          idCfejS        d eUdd=gd&          id:fejT        d eUddge.&          idCfejS        d eUddge.&          id:f ej        ejT        d eUddgd&          idC           ej        ejT        d eUddgd&          idC           ej        ejS        d eUddgd&          id:           ej        ejS        d eUddgd&          id:           ej        ejT        d eUdd"gd&          id:           ej        ejT        d eUdd"gd&          id:           ej        ejS        d eUdd"gd&          id:           ej        ejS        d eUdd"gd&          id:           ej        ejT        d eUddgd&          idC           ej        ejS        d eUddgd&          id:           ej        ejT        d eUdd"gd&          id:           ej        ejS        d eUdd"gd&          id:          ejT        d eUddgd&          id:fejS        d eUddgd&          idCfejT        d eUdd"gd&          id:fejS        d eUdd"gd&          idCf ej        ejT         eUddgd&           eUddgd&          dd:                    d             ZVd ZWd ZXd ZYd/S )TestDataFrameAnalyticsr*   r   r,   rG   countr1   meanproductmedianminmaxnuniquevarstdsemskew)markskurtc                 $   |dv r|dk    s|dv r t          ||          |           n|dv rd}no|dk    r|dk    rd	}n`d
}n]|dk    rd}nT|dk    r!|dk    rd                    ddg          }n0d}n-|dv rd}n&|dk    r t          j        dt          j                  }t          j        t          |          5   t          ||          |           d d d            n# 1 swxY w Y   |dk    r t          ||          |d           d S d S )N)r1   r_   r`   r   r[   ra   r0   )rb   rc   rd   re   rg   z(could not convert string to float: 'bar'r]   r,   z2can't multiply sequence by non-int of type 'float'z0can't multiply sequence by non-int of type 'str'r1   z7unsupported operand type\(s\) for \+: 'float' and 'str'r\   |z%Could not convert \['.*'\] to numericz/Could not convert string '(bar){30}' to numericr_   r`   z<'[><]=' not supported between instances of 'float' and 'str'r^   z Cannot convert \[.*\] to numeric)flagsr4   ra   Tr*   numeric_only)r9   joinrecompileSrB   rC   	TypeError)selffloat_string_framer*   rG   msgs        r%   #test_stat_op_api_float_string_framez:TestDataFrameAnalytics.test_stat_op_api_float_string_frame   s   ( +++		f I
 ?
 ?
 0G&//T:::::>>>@9$$199NCCLCC5P6!!199((DM CC UCC>))T8##j!DBDQQQy444 ? ?3*F33>>>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Y/G&//TMMMMMM s   ;C""C&)C&c                 <     t          ||          |d           d S )NFrm   r9   )rt   float_framer*   rG   s       r%   test_stat_op_api_float_framez3TestDataFrameAnalytics.test_stat_op_api_float_frame   s)    & 	%V$$$UCCCCCCr(   c                    d }d }d }d }d }t          d||ddd	           t          d
t          j        |                    d          dd           t          d
t          j        |t          j                   t          dt          j        |d           t          dt          j        |t          j                   t          d||           t          d||           t          d||           t          d||ddd	           d S )Nc                 D    t          |                                           S r   )r   r1   ss    r%   r[   z7TestDataFrameAnalytics.test_stat_op_calc.<locals>.count   s    88<<>>!r(   c                 h    t          t          j        |                                                     S r   )r>   r   unique1ddropnar~   s    r%   ra   z9TestDataFrameAnalytics.test_stat_op_calc.<locals>.nunique   s#    z*188::66777r(   c                 .    t          j        | d          S Nr,   ddof)rE   rb   r#   s    r%   rb   z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.var       6!!$$$$r(   c                 .    t          j        | d          S r   )rE   rc   r   s    r%   rc   z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.std   r   r(   c                 r    t          j        | d          t          j        t          |                     z  S r   )rE   rc   sqrtr>   r   s    r%   rd   z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.sem   s*    6!!$$$rws1vv66r(   ra   FT)rI   r-   rJ   r1   float32gMbP?)r-   r.   )rK   r\   rJ   r]   rb   rc   rd   r[   )rX   rE   r1   astypenansumr\   r2   nanprod)rt   float_frame_with_namixed_float_framer[   ra   rb   rc   rd   s           r%   test_stat_op_calcz(TestDataFrameAnalytics.test_stat_op_calc   s   	" 	" 	"	8 	8 	8	% 	% 	%	% 	% 	%	7 	7 	7 		
 	
 	
 	
 	F$$Y//	
 	
 	
 	
 	26.29	
 	
 	
 	
 	FBG-@dSSSSrw 3
	
 	
 	
 	
 	E3(;<<<E3(;<<<E3(;<<<	
 	
 	
 	
 	
 	
r(   c                     t          j        d          fd}fd}t          d||           t          d||           d S )Nscipy.statsc                 p    t          |           dk     rt          j        S                     | d          S )N   Fbias)r>   rE   rF   re   r#   sp_statss    r%   skewnesszHTestDataFrameAnalytics.test_stat_op_calc_skew_kurtosis.<locals>.skewness   s/    1vvzzv===///r(   c                 p    t          |           dk     rt          j        S                     | d          S )N   Fr   )r>   rE   rF   kurtosisr   s    r%   rg   zDTestDataFrameAnalytics.test_stat_op_calc_skew_kurtosis.<locals>.kurt%  s2    1vvzzv$$QU$333r(   re   rg   )rB   importorskiprX   )rt   r   r   rg   r   s       @r%   test_stat_op_calc_skew_kurtosisz6TestDataFrameAnalytics.test_stat_op_calc_skew_kurtosis  ss    &}55	0 	0 	0 	0 	0
	4 	4 	4 	4 	4
 	FH.ABBBFD*=>>>>>r(   c                 Z    d }t          d||d           t          d||dd           d S )Nc                     t          |                                           rt          j        S t          j        |           S r   )r   anyrE   rF   r^   r   s    r%   r&   z3TestDataFrameAnalytics.test_median.<locals>.wrapper.  s-    Aww{{}} v9Q<<r(   r^   Tr   F)r-   rJ   )rX   )rt   r   	int_framer&   s       r%   test_medianz"TestDataFrameAnalytics.test_median-  sX    	  	  	 
 	Hg/BPTUUUUgye	
 	
 	
 	
 	
 	
r(   method)r1   r\   r2   rb   rc   re   r_   r`   rM   )gȃw@Ba@gCVZg
?Z.F?)r   r           )g94c4?g@}jX?gNr   r   cfoobarbazOr6   r   r   r   r   r,   r   r8   z0ignore:Mismatched null-like values:FutureWarningc                 d   |j         j        t          j        k    sJ  t	          ||          |          } t	          |                    d          |          |                              t                    }|dv r|dv rd ||                                <   t          j	        ||           d S )Nr0   f8)r,   columnsrk   )
r!   r8   rE   object_r9   r   objectr   r:   r@   )rt   r   rM   r*   rN   rR   s         r%   %test_stat_operators_attempt_obj_arrayz<TestDataFrameAnalytics.test_stat_operators_attempt_obj_array8  s    : y"*,,,,$V$$$///37299T??F33>>>EEfMM>!!f&>&>(,HX]]__%
vx00000r(   op)r\   rc   rb   re   rg   rd   c                    t          g dg dg dd          }d                    g d          }t          j        t          |          5   t          ||                       d d d            n# 1 swxY w Y   t          j        dd	          5  d                    g d          }t          j        t          |          5   t          ||                       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 )
Nr,   r   r   r   )      ?       @      @      @r   r   r   d)intfloatstrrj   )Could not convertcould not convertz"can't multiply sequence by non-intr4   use_bottleneckF)r   ro   rB   rC   rs   r9   pdoption_context)rt   r   rM   rv   s       r%   test_mixed_opsz%TestDataFrameAnalytics.test_mixed_ops\  s    #||---+++ 
 
 hh  
 
 ]9C000 	 	GBOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 /77 		" 		"((   C y444 " "B!!!" " " " " " " " " " " " " " "		" 		" 		" 		" 		" 		" 		" 		" 		" 		" 		" 		" 		" 		" 		" 		" 		" 		"sH   A11A58A53DC)D)C-	-D0C-	1DDDc                 ^   t          g dg dg dd          }|                    g d           |                    d          }t          j        |j        t          j        g dt          	                     |j	                            d
          }t          j
        ||           d S )N)TTFFF)
         (   2   )r   r   r   r   e)	bool_dataint_datastring_datar   r   r0   )r      abcder   r,   )r   reindexr1   r:   assert_numpy_array_equalr!   rE   arrayr   Tr@   )rt   rM   testalts       r%   test_reduce_mixed_framez.TestDataFrameAnalytics.test_reduce_mixed_frame{  s    >>>000888 
 
 	

CCC
DDDvv1v~~
#K"3"3"36BBB	
 	
 	
 dhhAh
tS)))))r(   c           	         t          g dg ddt          j        dgd          }t          j        |                                t          dddd                     t          j        |                    d          t          dddd                     t          j        |                    d	          t          dddd
                     t          j        |                    dd          t          dddd
                     d S )Nr,   r,   r,   r,   r   r   r,   r   ABCr   Fr   r0   r   )r*   r   )r   rE   rF   r:   r@   ra   r   rt   rM   s     r%   test_nuniquez#TestDataFrameAnalytics.test_nunique  s   YYYYYYa^LLMM
rzz||V!!!4L4L-M-MNNN
JJeJ$$f111-E-E&F&F	
 	
 	
 	rzzqz116aA!:L:L3M3MNNN
JJAeJ,,fqQ5G5G.H.H	
 	
 	
 	
 	
r(   tzNUTCc                     t          ddgt          d|          gdz  d          }|                                }t          dt          d|          gddg	          }t	          j        ||           d S )
Nr,   2000r   r   r   r   r   r   r   r7   r   r   r\   r   r:   r@   rt   r   rM   rN   rR   s        r%    test_mean_mixed_datetime_numericz7TestDataFrameAnalytics.test_mean_mixed_datetime_numeric  s     aV9V+C+C+C*Dq*HIIJJ3	&R 8 8 89#sLLL
vx00000r(   c                     t          dt          d|          gdz  i          }|                                }t          t          d|          gdg          }t	          j        ||           d S )Nr   r   r   r   r   r   r   s        r%   test_mean_includes_datetimesz3TestDataFrameAnalytics.test_mean_includes_datetimes  su    
 i26667!;<==9V3334SEBBB
vx00000r(   c                    dd t          d          ddd t          d          ddd t          d          ddd t          d          dd	d t          d
          dddt          d          ddd t          d          dd	d t          d          ddd t          d          ddd t          d          dg
}t          |          }t          j        t          d          5  |                                 d d d            n# 1 swxY w Y   |ddg                                         }t          ddgddgt                    }t          j	        ||           d S )Nr   z628.00r   r,   z383.00r   z651.00z575.00r   z1114.00TESTz241.00z572.00z609.00z820.00   z1223.00unsupported operand typer4   r   r   g@gL@r6   )
r   r   rB   rC   rs   r\   r   r   r:   r@   )rt   r   rM   rN   rR   s        r%   test_mean_mixed_string_decimalz5TestDataFrameAnalytics.test_mean_mixed_string_decimal  s   
 $WX%6%677$WX%6%677$WX%6%677$WX%6%677$WY%7%788&wx'8'899$WX%6%677$WX%6%677$WX%6%677$WY%7%788
 q\\]9,FGGG 	 	GGIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	S#J$$&&3,sCjGGG
vx00000s   !DD	Dc                    |                     d          }|                    d           }t          j        ||           |                    d          }|                    d           }t          j        ||           t          j        t
          j                            d                              d          dd          }t          j
        |d	          }|dk                                     rJ t          j        d
d          5  t          j
        |d	          }|dk                                     rJ 	 d d d            d S # 1 swxY w Y   d S )Nr   r   c                 .    |                      d          S Nr   r   )rc   r   s    r%   <lambda>z5TestDataFrameAnalytics.test_var_std.<locals>.<lambda>      !%%Q%-- r(   c                 .    |                      d          S r   )rb   r   s    r%   r   z5TestDataFrameAnalytics.test_var_std.<locals>.<lambda>  r   r(   r   r,     r   r   r0   r   F)rc   rA   r:   assert_almost_equalrb   rE   repeatrandomdefault_rngr   nanvarr   r   r   rt   datetime_framerN   rR   arrs        r%   test_var_stdz#TestDataFrameAnalytics.test_var_std  s   ###++!''(?(?@@
vx000###++!''(?(?@@
vx000i	--a0077	BBD!LLs+++QJ##%%%%%/77 	* 	*]3Q///F
''))))))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s   1EEEmeth)rd   rb   rc   c                 4   t          t          j                            d                              d          g d          }|                    dt          i          }d|j        d<   t          t          j                            d                              d          g d          }|                    dt          i          }d|j        d<    t          ||          d	d
          } t          |ddg         |          d	          }t          j
        ||            t          ||          d	d
          } t          |ddg         |          d	          }t          j
        ||           d}t          j        t          |          5   t          ||          d	d           d d d            n# 1 swxY w Y   d}t          j        t          |          5   t          ||          d	d           d d d            d S # 1 swxY w Y   d S )Nr   )r   r   r   r   r   100)r   r   r   r,   Trm   r   r   r0   z6unsupported operand type\(s\) for -: 'float' and 'str'r4   Fz&could not convert string to float: 'a')r   rE   r  r  standard_normalr   r   locr9   r:   r@   rB   rC   rs   )rt   r
  df1df2rN   rR   rv   s          r%   test_numeric_only_flagz-TestDataFrameAnalytics.test_numeric_only_flag  s    I!!!$$44V<<)))
 
 

 jj%))!I!!!$$44V<<)))
 
 

 jj%))#d##>>>573u~.551===
x000#d##>>>573u~.551===
x000 H]9C000 	; 	;GCAE::::	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	;6]9C000 	; 	;GCAE::::	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	;s$   F<<G G $HHHc                 2   |                     d          }|                    d           }t          j        ||           t	          j        t          j                            d                              d          dd          }t          j	        |d          }|dk     
                                rJ t          j        d	d
          5  t          j	        |d          }|dk     
                                rJ 	 d d d            d S # 1 swxY w Y   d S )Nr   r   c                 r    |                      d          t          j        t          |                     z  S r   )rc   rE   r   r>   r   s    r%   r   z1TestDataFrameAnalytics.test_sem.<locals>.<lambda>  s%    !%%Q%--"'#a&&//2Q r(   r   r   r   r   r0   r   F)rd   rA   r:   r  rE   r  r  r  r   nansemr   r   r   r  s        r%   test_semzTestDataFrameAnalytics.test_sem  sN   ###++!''(Q(QRR
vx000i	--a0077	BBD!LLs+++QJ##%%%%%/77 	* 	*]3Q///F
''))))))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s   1DDDzdropna, expectedT   g      $@r   r   )
categories2000-1-21 days)r   r   r   DEFGF   	   )r  NaTr   r   r  rF   rF   rF   r   r,   r   r   )HIJKLMNr   r  r   r   )rF   r  rF   rF   c                 (   t          g dddt          j        dgdt          j        t          j        t          j        gt          j        t          j        dt          j        gt          t          j        t          j        dt          j        g          t	          g d          t          g d          g dg d	ddt          j        t          j        gt          dt          j        dt          j        g          t	          g d
          t          g d          t          j        dd          d          }|t          |                                                   	                    |          }t          |          }t          j        ||           d S )N)r  r        r   r   r,   r   r*  r!  )r  r  r  r  )r  r  r  r  )r  r  r   r   )r  rF   r  rF   r   int64r   )r   r   r   r  r  r  r  r#  r$  r%  r&  r'  r(  r)  r   )r   rE   rF   r	   r   r   arangesortedkeysmoder:   assert_frame_equal)rt   r   rR   rM   rN   s        r%   test_mode_dropnaz'TestDataFrameAnalytics.test_mode_dropna  sV   l %%%"bfa(0fbfc262 "&"&#rv!>?? !B!B!BCC!"A"A"ABB!\\!\\BFBF+ #rvsBF!;<< !G!G!GHH!"D"D"DEEYq000 
 
& F8==??++,111@@X&&
fh/////r(   c                    t          dt          j        t          j        ddgi          }t          ddt          j        gi          }t          j        t
                    5  |                    d          }|                    d                              d          }d d d            n# 1 swxY w Y   t          j	        ||           d S )Nr   r   Fr   )byT)drop)
r   rE   rF   r:   r;   UserWarningr2  sort_valuesreset_indexr3  )rt   rM   rR   rN   s       r%   test_mode_sortwarningz,TestDataFrameAnalytics.test_mode_sortwarningS  s    bfbfc37899cC=122'44 	G 	GWWEW**F''3'//;;;FFF	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	fh/////s    AB--B14B1c                     t          g ddg          }|                                }t          g ddgt          g t          j                            }t          j        ||           d S )Nr   r   r   r   r   r7   )r   r2  r   rE   r.  r:   r3  rt   rM   rN   rR   s       r%   test_mode_empty_dfz)TestDataFrameAnalytics.test_mode_empty_df`  se    rC:...R#s528;T;T;TUUU
fh/////r(   c           
         t          t          ddd          t          ddd          t          d          t          dd          z
  d	          }t          |d
         |d         z
  |d
         |d         z
  d          }|                                }|j        d         |j        d         k    sJ |j        d         |j        d         k    sJ |                    d          }||j        d         k                                    sJ |                                }|j        d         |j        d         k    sJ |j        d         |j        d         k    sJ |                    d          }||d
         k                                    sJ |	                                }t          |          }t          |d
         |d         z
  |d         |d
         z
  d          }t          j        ||           t          j        ||           |                                }d|d<   d|d<   d|d<   t          d          |d<   |                                }t          t          j        t          d                    t          j        t          d                    dddt          d          g|j                  }t          j        ||           |                    dd           }t          g d!g d"          }t          j        ||           |d
dg                             d          }t          t          d          gdz            }t          j        ||           |d
dg                                         }t          t          d          t          d          gd
dg          }t          j        ||           t          t          d#d$          t          d%d$          d&          }|d'         |d(         z
  |d)<   |d)         j        d*k    sJ |d(         |d'         z
  |d+<   |                                 |d)         j        d*k    sJ |d+         j        d*k    sJ d S ),Nz2012-1-1r   r  r   freqz2012-1-220120101r   )minutessecondsr   r   r   r   r   r   )r   r   r,   )r   r   r0   )r   r   )r   r   r   r   r  20130101r  i1  rE  )daysr   Trm   )r,   r,   r   r   20130102r   20130105)timetime2rM  rL  off1timedelta64[ns]off2)r   r   r   r   r_   ilocr  allr`   absr:   r3  copyr   r   	Timedeltar   r@   r8   _consolidate_inplace)rt   rM   diffsrN   result2rR   mixeds          r%   test_operators_timedelta64z1TestDataFrameAnalytics.test_operators_timedelta64f  s   
AC@@@
AC@@@z**Yq!-L-L-LL 
 
 3"S' 13"S'8IJJKK {1~6!22222{1~6!22222""%)F++0022222 {1~6!22222{1~6!22222""%*$))+++++ e**2c7RW#42c7RW;LMMNN
fh///
gx000 

c
c
c
z**c
 Yz:::;;YB///00*%% -

 

 

 	vx000 55+++YYY777
vx000 Sz"&&q))9"---.233
vx000Sz"&&((z***I2,>,>,>?Sz
 
 
 	vx000 ":q999#J::: 
 
 [2f:-6
&z#44444Z"W+-6

!!!&z#44444&z#4444444r(   c                 ,   t          j        dd          }t          ||dd          }t           j        |j        d<   |                    d	          }t          |d
                                         t           j        gd
dgd          }t          j        ||           |                    dd          }t          t          j	        d          gdz  t           j        t          j	        d          gz             }t          j        ||           d S )Nz1 Dayr   r   r   TrT  )rH  Fr+   r   r   rO  r6   r,   r)   r   r  )
r   timedelta_ranger   r   rQ  rc   r   r:   r@   rU  )rt   tdirM   rN   rR   s        r%   !test_std_timedelta64_skipna_falsez8TestDataFrameAnalytics.test_std_timedelta64_skipna_false  s     "555Ss++$777&u%%W[[]]BF#C:=N
 
 
 	vx000Qu--2<??+a/262<??2KKLL
vx00000r(   r!   z
2022-01-01z
2022-01-02z
2022-01-03c                    |rU|rt          d |D                       r:t          j                            d          }|j                            |           t          dt          |          i          }|                    |          }|rt          d |D                       rt          dt          j        id          }nt          dd	id          }t          j        ||           d S )
Nc              3   2   K   | ]}|t           j        u V  d S r   r   r   .0values     r%   	<genexpr>zFTestDataFrameAnalytics.test_std_datetime64_with_nat.<locals>.<genexpr>  s(      BB%ervoBBBBBBr(   z=GH#51446: Incorrect type inference on NaT in reduction resultreasonr   r^  c              3   2   K   | ]}|t           j        u V  d S r   rd  re  s     r%   rh  zFTestDataFrameAnalytics.test_std_datetime64_with_nat.<locals>.<genexpr>  s(      AAUbf_AAAAAAr(   rO  r   l     "R: )rR  rB   markxfailnode
add_markerr   r   rc   r   r   r   r:   r@   )	rt   r!   r+   using_array_managerrequestrl  rM   rN   rR   s	            r%   test_std_datetime64_with_natz3TestDataFrameAnalytics.test_std_datetime64_with_nat  s     	*	*BB6BBBBB	* ;$$V %  D L##D)))[00122v&& 	NAA&AAAAA 	NsBFm3DEEEHH sN3;LMMMH
vx00000r(   c                 &   t                      }|                    d          }|                    d          }t          |t                    sJ t          |t                    sJ t	          |          dk    sJ t	          |          dk    sJ d S )Nr   r,   )r   r1   r<   r   r>   )rt   empty_frameaxis0axis1s       r%   test_sum_cornerz&TestDataFrameAnalytics.test_sum_corner  s    kk""""%(((((%(((((5zzQ5zzQr(   r7   r(  )rB  c                     t          dg|          } t          ||          d          }|dv rd}n|dk    rd}nd	}t          g ||
          }t          j        ||           d S )Nr   r=  r,   r0   )r   rR  boolr[   r.  r   r6   r   r9   r   r:   r@   )rt   all_reductionsr7   rp  rM   rN   expected_dtyperR   s           r%   test_axis_1_emptyz(TestDataFrameAnalytics.test_axis_1_empty  s     uE222,^,,!444^++#NNw&&$NN%N"E@@@
vx00000r(   zmethod, unit)r1   r   )r2   r,   rn   )NTFc                 V   g d}t          ||g|t          j        gt          j        t          j        gd          } t          ||          |          }t	          |||g|d          }t          j        ||            t          ||          |d          }t	          ||t          j        g|          }t          j        ||            t          ||          |d          }t	          |||g|d          }t          j        ||            t          |j        dd          |          |d          }t	          |t          j        t          j        g|          }t          j        ||           t          |gd	z  |gd
z  t          j        gd
z  z   d          } t          ||          |d
          }t	          |ddg          }t          j        ||            t          ||          |d          }t	          |ddg          }t          j        ||           d S )Nr   rn   float64r6   r,   )rn   	min_countr   r   r   r   r   r   r      )r   rE   rF   r9   r   r:   r@   rQ  )rt   r   rW   rn   idxrM   rN   rR   s           r%   test_sum_prod_nanopsz+TestDataFrameAnalytics.test_sum_prod_nanops  s:    oodD\rvbfbfEUVVWW$V$$,???4t,CyIII
vx000 %V$$,!LLL4rv.c:::
vx000 %V$$,!LLL4t,CyIII
vx000-f--<STUUU40<<<
vx000 dVb[vzRVHqL/HIIJJ$V$$,!LLL&c
333
vx000$V$$,!LLL&c
333
vx00000r(   c                    g d}t          ddgdt          j        gt          j        t          j        gd          }|                    t                    }|                                }t          g dd|          }t          j        ||           |                    d          }t          j        ||           |                    d          }t          ddt          j        gd|          }t          j        ||           d S )Nr   r   )r   r   r   m8[ns]r8   r7   r  r,   )	r   rE   rF   rA   r   r1   r   r:   r@   )rt   r  rM   r  rN   rR   s         r%   test_sum_nanops_timedeltaz0TestDataFrameAnalytics.test_sum_nanops_timedelta'  s    ooaV1bf+RVRV<LMMNNhh|$$ )))83???
vx000 1%%
vx000 1%%1a.DDD
vx00000r(   c                     t          g dg dd          }|                    d          }t          t          j        t          j        gddg          }t          j        ||           d S )	Nr   r   r   r  )r#   yr   r  r#   r  r   )r   r1   r   rE   rF   r:   r@   r>  s       r%   test_sum_nanops_min_countz0TestDataFrameAnalytics.test_sum_nanops_min_count<  sj    YYYYYY7788"%%2626*3*===
vx00000r(   
float_type)float16r   r  zkwargs, expected_result)r*   r  g	@g333333@r)   c                     t          g dddt          j        gd|          } |j        di |}t	          |                              |          }t          j        ||           d S )N)r   gffffff@皙@g@r   r   r   r    )r   rE   rF   r1   r   r   r:   r@   rt   r  kwargsexpected_resultrM   rN   rR   s          r%   test_sum_nanops_dtype_min_countz6TestDataFrameAnalytics.test_sum_nanops_dtype_min_countC  sv     ___CBF3CDDJWWW!!&!!/**11*==
vx00000r(   r   r   c                     t          g dddt          j        gd|          } |j        di |}t	          |                              |          }t          j        ||           d S )N)r   r   r  r   r  r   r  )r   rE   rF   r2   r   r   r:   r@   r  s          r%    test_prod_nanops_dtype_min_countz7TestDataFrameAnalytics.test_prod_nanops_dtype_min_countS  s     !//c26(:;;:
 
 
 ""6""/**11*==
vx00000r(   c                     |j                             t                    }t          ||j        |j                  }|t          d          z  }|                                 d S )Nr7   r   r,   )r!   r   r   r   r7   r   r   r1   )rt   rz   r!   rH   deltass        r%   test_sum_objectz&TestDataFrameAnalytics.test_sum_objecte  sS    #**3//&(9;CVWWW1%

r(   c                     t          j        |          }|                    d           |                    d           d S )Nr,   r   )rE   isnanr1   )rt   rz   boolss      r%   test_sum_boolz$TestDataFrameAnalytics.test_sum_boolk  s3    %%		!		!r(   c                    t          t          dd          g dd                              g d          }t          j        t
          d          5  |                                 d d d            d S # 1 swxY w Y   d S )	Nr   r   r   r   r   )r   r   r   z does not support reduction 'sum'r4   )r   r   r   rB   rC   rs   r1   r   s     r%   test_sum_mixed_datetimez.TestDataFrameAnalytics.test_sum_mixed_datetimeq  s    Z:::NNOOWWII
 
 ]9,NOOO 	 	FFHHH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A66A:=A:c                    t          j        t          d          5  |                    d           d d d            n# 1 swxY w Y   t          j        t          d          5  |                    d           d d d            n# 1 swxY w Y   |d         dk    |d<   |                    d          }|d         |d         j                                        k    sJ d S )	Nr   r4   r   r0   r   r,   r   ry  )rB   rC   rs   r\   r!   )rt   rz   ru   meanss       r%   test_mean_cornerz'TestDataFrameAnalytics.test_mean_cornery  s`   ]9,?@@@ 	, 	,###+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, ]9,FGGG 	, 	,###+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, *#.2F  ##V}F 3 : ? ? A AAAAAAAs!   ?AA%BBBc           
         t          t          j        d          t          dd          t	          j        dd          t	          j        ddd          d          }|                    d	
          }t          ddi          }t          j
        ||           t          j        t          d          5  |                                 d d d            d S # 1 swxY w Y   d S )Nr   
2016-01-01r   1D2016r   rA  )r   r   r   r  Tr  r   z'mean is not implemented for PeriodArrayr4   )r   rE   r/  r   r   r_  period_ranger\   r   r:   r@   rB   rC   rs   r>  s       r%   test_mean_datetimelikez-TestDataFrameAnalytics.test_mean_datetimelike  s   
 Yq\\a888'a888_VQSAAA	 
 
 d++3*%%
vx000]9,UVVV 	 	GGIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   6CCCc                    t          t          j        d          t          dd          t	          j        dd          d          }|                    d          }t          d|j        d	         |j        d
         d          }t          j
        ||           t	          j        ddd          |d<   t          j        t          d          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nr   r  r   r  r   Fr  r,   )r,   r   )r,   r   r  r   rA  r  z"mean is not implemented for Periodr4   )r   rE   r/  r   r   r_  r\   r   r  r:   r@   r  rB   rC   rs   r>  s       r%   )test_mean_datetimelike_numeric_only_falsez@TestDataFrameAnalytics.test_mean_datetimelike_numeric_only_false  s>   Yq\\a888'a888 
 
 e,,vRVF^LLMM
vx000 /&!#>>>3]9,PQQQ 	( 	(GGG'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   C66C:=C:c                 N   t           j                            d                              dd          }t	          |d          }|                    d          }t	          |                                                              d	          }t          j        ||           d S )
Nr   r   )r   r   )sizeInt64r   Tr  Float64)	rE   r  r  integersr   r\   r   r:   r@   )rt   r  rM   rN   rR   s        r%   *test_mean_extensionarray_numeric_only_truezATestDataFrameAnalytics.test_mean_extensionarray_numeric_only_true  s    i##A&&//7/CCs'***d++S>>&&((//	::
vx00000r(   c                 H   t          j        t          d          5  |                    d           d d d            n# 1 swxY w Y   t          j        t          d          5  |                    d           d d d            n# 1 swxY w Y   t          j        t          d          5  |                    d           d d d            n# 1 swxY w Y   t          j        t          d          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nr   r4   r,   r   )rB   rC   rs   rc   rb   r\   re   )rt   ru   s     r%   test_stats_mixed_typez,TestDataFrameAnalytics.test_stats_mixed_type  s   ]9,?@@@ 	& 	&""1%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&]9,?@@@ 	& 	&""1%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&]9,FGGG 	' 	'##A&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	']9,?@@@ 	' 	'##A&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	'sE   >AA$BB
B
,CCC4DDDc                     t          t          d          t          d                    }t          |          }|                    d          d         dk    sJ d S )Nr,   r   r  r0   r   )r   r=   r   r1   )rt   rM   r  s      r%   test_sum_boolsz%TestDataFrameAnalytics.test_sum_bools  sU    U1XXuRyy999Ryyay  #r))))))r(   r+   c                 D   |}t           j        |j        dd<   t           j        |j        dddd f<   ||fD ]}d }|du s|dk    r||u rd nt          }d}t	          j        ||	          5  |                    ||
          }	d d d            n# 1 swxY w Y   d}
t	          j        ||
	          5  |                    t          j        ||
          }d d d            n# 1 swxY w Y   |	                    |j
        j                  }t	          j        |	|           d S )Nr   r      r   r]  Fr,   z3The behavior of DataFrame.idxmin with all-NA valuesr4   r)   zThe behavior of Series.idxmin)rE   rF   rQ  FutureWarningr:   r;   idxminrA   r   r   r7   r8   r@   rt   rz   r   r+   r*   rH   rM   warnrv   rN   msg2rR   s               r%   test_idxminz"TestDataFrameAnalytics.test_idxmin      6
1R4!#
2b5"##:)$ 	5 	5BD$!))!YttMGC+D<<< = =V<<= = = = = = = = = = = = = = = 3D+D=== M M88FMV8LLM M M M M M M M M M M M M M Mrx~66H"684444	5 	5$   *BB	B	1#C  C$	'C$	z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                     |dk    rt          |          }nt          |          }|                    ||          }t          |j                  }t	          j        ||           d S Nr   r   r   r)   r   )r   r  r   r8   r:   r@   rt   r7   r+   r*   rH   rN   rR   s          r%   test_idxmin_emptyz(TestDataFrameAnalytics.test_idxmin_empty  o     199E***EEe,,,E477,,,
vx00000r(   c                     t          g dg dt          d          d          }|                    |          }|rt          ddgdd	g
          }nt          g dg d
          }t	          j        ||           d S )Nr   r   r,   r   r,   r,   xyxr   r  r   r,   r   r   r   )r   r,   r   )r   listr  r   r:   r@   rt   rn   rM   rN   rR   s        r%   test_idxmin_numeric_onlyz/TestDataFrameAnalytics.test_idxmin_numeric_only      YYYYYYT%[[IIJJ55 	@q!fS#J777HHiii???H
vx00000r(   c                     |}d}t          j        t          |          5  |                    d           d d d            d S # 1 swxY w Y   d S Nz)No axis named 2 for object type DataFramer4   r   r0   )rB   rC   rD   r  rt   rz   rH   rv   s       r%   test_idxmin_axis_2z)TestDataFrameAnalytics.test_idxmin_axis_2      9]:S111 	! 	!LLaL   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!   AAAc                 D   |}t           j        |j        dd<   t           j        |j        dddd f<   ||fD ]}d }|du s|dk    r||u rd nt          }d}t	          j        ||	          5  |                    ||
          }	d d d            n# 1 swxY w Y   d}
t	          j        ||
	          5  |                    t          j        ||
          }d d d            n# 1 swxY w Y   |	                    |j
        j                  }t	          j        |	|           d S )Nr   r   r  r   r]  Fr,   z3The behavior of DataFrame.idxmax with all-NA valuesr4   r)   zThe behavior of Series.idxmax)rE   rF   rQ  r  r:   r;   idxmaxrA   r   r   r7   r8   r@   r  s               r%   test_idxmaxz"TestDataFrameAnalytics.test_idxmax  r  r  c                     |dk    rt          |          }nt          |          }|                    ||          }t          |j                  }t	          j        ||           d S r  )r   r  r   r8   r:   r@   r  s          r%   test_idxmax_emptyz(TestDataFrameAnalytics.test_idxmax_empty  r  r(   c                     t          g dg dt          d          d          }|                    |          }|rt          ddgdd	g
          }nt          g dg d
          }t	          j        ||           d S )Nr  r  r  r   r  r,   r   r   r   r   )r,   r   r,   )r   r  r  r   r:   r@   r  s        r%   test_idxmax_numeric_onlyz/TestDataFrameAnalytics.test_idxmax_numeric_only  r  r(   c                 x   t          j        d           t          g dg ddd          }|                                }t	          ddgd	d
g          }t          j        ||           |                                }t	          ddgd	d
g          }t          j        ||           t          d	g did          }|                    d          }t	          dgd	g          }t          j        ||           |                    d          }t	          dgd	g          }t          j        ||           d S )Npyarrowr  r  r  zint64[pyarrow]r   r,   r   r   r   r   r   )r   r   r   zstring[pyarrow]Fr  )rB   r   r   r  r   r:   r@   r  r>  s       r%   test_idxmax_arrow_typesz.TestDataFrameAnalytics.test_idxmax_arrow_types%  sD   I&&&YYYYYY77?OPPP1a&c
333
vx0001a&c
333
vx000___-5FGGG..1#cU+++
vx000..1#cU+++
vx00000r(   c                     |}d}t          j        t          |          5  |                    d           d d d            d S # 1 swxY w Y   d S r  )rB   rC   rD   r  r  s       r%   test_idxmax_axis_2z)TestDataFrameAnalytics.test_idxmax_axis_2;  r  r  c                    t          dd          }t          g dt          d          d d d         |                    d          d          }|                                }t          g d	g d
          }t          j        ||           |                                }t          g dg d
          }t          j        ||           t          j
        |j        d<   |                                }t          g d	g d
          }t          j        ||           |                                }t          g dg d
          }t          j        ||           |d d d         |d<   |                                 |                                }t          g dg d
          }t          j        ||           |                                }t          g dg d
          }t          j        ||           d S )Nr  r   r   )r   r   r,   rH  T)deepr   )r,   r   r   r   )r   r   r   )r   r   r   )r,   r   r   r   r   )r   r   r,   r   )r   r   r=   rT  r  r   r:   r@   r  r   r   r  rV  rt   dtirM   rN   rR   s        r%   test_idxmax_mixed_dtypez.TestDataFrameAnalytics.test_idxmax_mixed_dtypeA  s   q111 999q$$B$CHH$H<O<OPPQQ)))999555
vx000)))999555
vx000 vt)))999555
vx000)))999555
vx000 DDbD	1
!!!,,,lll;;;
vx000,,,lll;;;
vx00000r(   zop, expected_valuer  r  r   c                    t          g dg ddd          }|                    d          } t          ||                      }t          d|it          dd	gdd
                    }t	          j        ||           d S )N)d   r  r     r  r  )r   r   r   r,   r   r   )IDrg  r  r   r  rg  r  r  )namer8   r   )r   groupbyr9   r   r:   r3  )rt   r   expected_valuerM   rN   rR   s         r%   !test_idxmax_idxmin_convert_dtypesz8TestDataFrameAnalytics.test_idxmax_idxmin_convert_dtypesg  s     444+++  
 
 
 ZZ R""n%c
W===
 
 
 	fh/////r(   c                    t          dd          }t          ||d d d         dd          }t          j        |j        d<   |                                 |                    d	
          }t          g d          }t          j	        ||           |
                    d	
          }t          g d          }t          j	        ||           d S )Nr  r   r   rH  )r   r   Tr\  )r   r   r,   r0   )r   r   r   )r   r   r   )r   r   r   r   rQ  rV  r  r   r:   r@   r  r  s        r%   "test_idxmax_dt64_multicolumn_axis1z9TestDataFrameAnalytics.test_idxmax_dt64_multicolumn_axis1}  s    q11133ttt9--D999
!!!"")))$$
vx000"")))$$
vx00000r(   r   rR  	bool_onlyc                     |}t           j                            d                              t	          |                    dk    |d<    t          ||          ||           d S )Nr   g      ?_bool_r*   r  )rE   r  r  r  r>   r9   )rt   rG   r*   r  ru   rY  s         r%   test_any_all_mixed_floatz/TestDataFrameAnalytics.test_any_all_mixed_float  sa    
 #)//22BB3u::NNQTThvDI>>>>>>r(   c                 <     t          ||          |d           d S )NFr  ry   )rt   rG   r*   bool_frame_with_nas       r%   test_any_all_bool_with_naz0TestDataFrameAnalytics.test_any_all_bool_with_na  s*     	,"F++GGGGGGr(   c                    |                     d          }t          t          |          t          ||          }fd}fd} |dd          } |dd          }t          j        ||                    |                     t          j        ||                    |d                      |d          } |d          }t          j        ||                    |                     t          j        ||                    |d          d	           t          j        t          d
          5   |d           d d d            n# 1 swxY w Y   |t          j	        z  }	 t          |	|          d          }
 t          |	|          d          }|dk    r.|

                                rJ |
                                rJ d S |
                                sJ |                                sJ d S )NTc                 L    |                                  j        } |          S r   )r   r!   )r#   nonar$   s     r%   rO   zFTestDataFrameAnalytics.test_any_all_bool_frame.<locals>.skipna_wrapper  s#    88::$D;t$$$r(   c                 $     | j                   S r   r    r"   s    r%   r&   z?TestDataFrameAnalytics.test_any_all_bool_frame.<locals>.wrapper  r'   r(   r   Fr)   r,   r0   )r-   r3   r4   r   r   )fillnar9   rE   r:   r@   rA   rB   rC   rD   rF   r   rR  )rt   rG   r  rH   rL   rO   r&   rP   rQ   rT   rU   rV   r$   s               @r%   test_any_all_bool_framez.TestDataFrameAnalytics.test_any_all_bool_frame  s`    #))$//b&))E6""	% 	% 	% 	% 	%	) 	) 	) 	) 	) !5)))!5)))
wG(<(<===
wG!(D(DEEE!)))!)))
wN(C(CDDD
U[[a[88e	
 	
 	
 	

 ]:->??? 	 	A1IIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 $WVV$$!,,,$WVV$$!,,,U??vvxxvvxx6688OOO6688OOOOOs   9EEEc                 0   t          g dg dg ddg d          }|ddg                             d	
          }t          g dg d          }t          j        ||           |ddg                             d	d          }t          j        ||           |                    d	          }t          g dg d          }t          j        ||           |                    d	d          }t          j        ||           |                    d 
                                          }|du sJ |                    d 
                                          }|du sJ |dg                             d 
                                          }|du sJ d S )N)TFF)TTF)TTTr   r   r   r   r   r,   r0   Tr  r  Fr   )r   r   r   r:   r@   rR  itemr>  s       r%   test_any_all_extraz)TestDataFrameAnalytics.test_any_all_extra  s   )))(((''' 
 "//
 
 
 S#J###++---___EEE
vx000S#J##d#;;
vx000...oooFFF
vx000T**
vx000 T""''))T""''))~~~~SED))..00~~~~~~r(   bool_agg_funcc           	         t          dt          j        t          j        dgt          j        dt          j        dgt          j        t          j        t          j        dgt          j        t          j        dt          j        gg          } t          ||          ||          }t	          g d          }t          j        ||           d S )Nr,   Tr   5datar)   )TTTT)r   rE   rF   r9   r   r:   r@   )rt   r*   r  r+   rM   rN   rR   s          r%   test_any_all_object_dtypez0TestDataFrameAnalytics.test_any_all_object_dtype  s    
 BFBFD)BFD).bf-	
 
 
 ,]++fEEE22233
vx00000r(   zAignore:'any' with datetime64 dtypes is deprecated.*:FutureWarningc                 >   dt           j        dt           j        g}t          d          t          d          t          j        t          j        g}t          ||d          }|                    d          }t          g d          }t          j	        ||           d S )Nr,   r   z
1960-02-15z
1960-02-16r   r0   )TTTF)
rE   rF   r   r   r   r   r   r   r:   r@   )rt   
float_datadatetime_datarM   rN   rR   s         r%   test_any_datetimez(TestDataFrameAnalytics.test_any_datetime  s    
 BF+
l##l##FF	
 Zm<<==Q33344
vx00000r(   c                 t   t          g dg dg dd          }|                    d          }t          t          j        g           }t          j        ||           t          g dg dg dg dd	          }|                    d          }t          d
di          }t          j        ||           d S )Nr   r  )NNN)col1col2col3Tr   r  )FFT)r  r  r  col4r  F)r   rR  r   rE   bool_r:   r@   r>  s       r%   test_any_all_bool_onlyz-TestDataFrameAnalytics.test_any_all_bool_only  s    YY			;M;M;MNN
 
 $''333
vx000!		!		***,,,	 
 
 $''65/**
vx00000r(   zfunc, data, expectedr   r   r   r   zM8[ns]zM8[ns, UTC]r  categoryr   r   c                 
   t          |          }t          d |j        D                       rt          j        t
          d          5   ||           d d d            n# 1 swxY w Y   t          j        t
          d          5   t          t          |          |j                  d            d d d            d S # 1 swxY w Y   d S d}|j                            d                                           rt          }nd }t          j        ||d          5   ||          }d d d            n# 1 swxY w Y   t          |t          j                  sJ |                                |u sJ t          j        ||          5   t          t          |          |j                  d           }d d d            n# 1 swxY w Y   t          |t          j                  sJ |                                |u sJ d S )	Nc              3   @   K   | ]}t          |t                    V  d S r   )r<   r
   )rf  r#   s     r%   rh  z>TestDataFrameAnalytics.test_any_all_np_func.<locals>.<genexpr>^  s-      DD1z!-..DDDDDDr(   z)dtype category does not support reductionr4   r0   z0'(any|all)' with datetime64 dtypes is deprecatedc                     | j         dk    S )Nr(  )kindr   s    r%   r   z=TestDataFrameAnalytics.test_any_all_np_func.<locals>.<lambda>k  s    16S= r(   F)r5   check_stacklevel)r   r   dtypesrB   rC   rs   r9   __name__rA   r  r:   r;   r<   rE   r  r  )rt   funcr  rR   rv   r  rN   s          r%   test_any_all_np_funcz+TestDataFrameAnalytics.test_any_all_np_func'  s4   j DDDDDDD 	-!L     T


               !L   C C 8	$77TBBBBC C C C C C C C C C C C C C C C C C
 EC{  !8!899==?? $+DeTTT $ $d$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ fbh/////;;==H,,,, +D<<< L L@4$-@@dKKKL L L L L L L L L L L L L L L fbh/////;;==H,,,,,,sH   	A!!A%(A%-CCCD66D:=D:-GGGc                     t          j        t          ddg                                                    }|du sJ t          j        t          ddg                                                    }|du sJ d S )Nr   r   r   TF)rE   rR  r   r  r   )rt   rN   s     r%   test_any_all_objectz*TestDataFrameAnalytics.test_any_all_object}  st    	3*55566;;==~~~~	3*55566;;==r(   c                    t          ddgddgd                              t                    }|                                 t	          ddg          |d<   |d                             d          |d<   |                                }|dg         }t          j        ||           |                    dd	
          }t	          dgdg          }t          j	        ||           |ddg                             dd	
          }t          j	        ||           |                    dd 
          sJ |
                    dd	
          }t	          dgdg          }t          j	        ||           |dg         
                    dd	
          }t          j	        ||           |
                    dd 
          sJ d S )Nr   r   TFr   r   r  r  r   )r  r*   r   r   )r   r   r   rV  r   _get_bool_datar:   r3  rR  r@   r   )rt   rM   resrR   s       r%   test_any_all_object_bool_onlyz4TestDataFrameAnalytics.test_any_all_object_bool_only  s   eQZtUm<<==DDVLL
!!!$&&3 S'..,,3 !!se9
c8,,,fft!f,,4&...
sH--- #sn  4a 88
sH---vv4v00000fft!f,,4&...
sH--- #immdm33
sH---vv4v0000000r(   c                    t          g d          }t          dt          j        dt          j        gi          }t          g d          }t          t          j        t          j        dg          }t	          j        d           5  |                    |d           dD ]} t          ||          |d	           	 d d d            d S # 1 swxY w Y   d S )
N)r   r   r   r   r   r   r,   r   )lowerr*   )ltlegtgeeqner0   )r   rE   rF   r   r:   r;   clipr9   )rt   rM   df_nanr   s_nanr   s         r%   test_series_broadcastingz/TestDataFrameAnalytics.test_series_broadcasting  s    ''C"&#rv!6788999*++'-- 	/ 	/KKaaK(((: / /BA...../	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/s   8CCC)Zr  
__module____qualname__rB   rl  parametrizeparamtdskip_if_no_scipyrw   r{   r   r   r   r   rE   rF   r   filterwarningsr   r   r   r   r   r   r   r	  r  r  r	   r   r   r   r   r   r4  r;  r?  rZ  ra  rr  rw  r:   makeRangeIndexmakeDateIndexmakeNumericIndexr   r   makePeriodIndexr}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   rR  r   r  r  r#  r/  r  r(   r%   rZ   rZ      s        [VaV,,[FLr':;;;FLr':;;;	
 $"N "N%  -,&"NH [VaV,,[FLr':;;;FLr':;;;	
 "D D#  -,$D6
 6
 6
p? ? ? 	
 	
 	
 [MMM  [I  
 '    ,++  " I261+261+261+FFfUUU%	
 . [ RSS1 1 TS/  61 [T#P#P#PQQ" " RQ"<* * *"	
 	
 	
 [TD%=111 1 211 [TD%=111 1 2111 1 12* * *" [V%:%:%:;;"; "; <;";H* * * [ $cUu===$j\22%xj11  &!26(&999$bfX3%@@@&%rvh//  Q/Q/RVRVRV4$c262626%BPSuUUU$%F%F%FGG%&E&E&EFF%  Q/Q/RVRVRV4$bfc2626%BPSuUUU$%F%F%FGG%&E&E&EFF% K1	
4 4j0 0k4 4j000 0 00 0 0U5 U5 U5n1 1 1  [L,EqBF8|T 1 1 1(   [Ba  BQB---B///BQS)))Bq!!	

 

1 
1
 

1 [^j+-FGG[^-@-@-@AA1 1 BA HG1@1 1 1*1 1 1 [\+L+L+LMM[!a((3RV*<=a((262626*BC5))Cbf+=>	
 1 1  NM1 [\+L+L+LMM[!a((3RV*<=a((262626*BC5))Cbf+=>	
 1 1  NM1      B B B  (( ( ((1 1 1' ' '* * * [Xe}55[VaV,,5 5 -, 655$ [VaV,,[ VWW	1 	1 XW -,	1 [^dE];;1 1 <;1! ! ! [Xe}55[VaV,,5 5 -, 655$ [VaV,,[ VWW	1 	1 XW -,	1 [^dE];;1 1 <;11 1 1,! ! !$1 $1 $1L [
QF	hA/0 0 0	 0$1 1 1$ [Xu~66[VaV,,[[5$-88? ? 98 -, 76? [Xu~66[VaV,,H H -, 76H [Xu~66) ) 76)V  B [VaV,,[_uen==[Xe}551 1 65 >= -,1 [K 1 1 1 1 1 1. [/	
VR/	
VR/	
 Vc2Y&/	
 Vc2Y%	/	

 VcE5>*E2/	
 VcE5>*E2/	
 VcD%=)40/	
 VcD%=)51/	
 VcD$<($//	
 VcD$<($//	
 VE7%1159/	
 VE7%1159/	
 VE5>>>E/	
 VE5>>>F/	
  Vc663*G<<<=uE!/	
" Vc663*G<<<=tD#/	
$ Vc661a&4445u=%/	
& Vc661a&4445t<'/	
( FL#vvq!fH'E'E'E!FNN)/	
* FL#vvq!fM'J'J'J!KUSS+/	
, FL#vvq!fH'E'E'E!FMM-/	
. FL#vvq!fM'J'J'J!KTRR//	
0 FL#vvq!fH'E'E'E!FMM1/	
2 FL#vvq!fM'J'J'J!KTRR3/	
4 FL#vvq!fH'E'E'E!FMM5/	
6 FL#vvq!fM'J'J'J!KTRR7/	
8 FL#vvq!fH'E'E'E!FNN9/	
: FL#vvq!fH'E'E'E!FMM;/	
< FL#vvq!fH'E'E'E!FMM=/	
> FL#vvq!fH'E'E'E!FMM?/	
D Vc661a&
;;;<dCE/	
F Vc661a&
;;;<eDG/	
H Vc661a&
;;;<dCI/	
J Vc661a&
;;;<eDK/	
N FLR999R999   O/	
2 2f!- !-g2 2f!-F   1  1  1J/ / / / /r(   rZ   c                   V   e Zd Zd Zd Zd Zd Zej        	                    dddg          ej        	                    dd	d
g          de
fd                        Zej        	                    dd	d
g          d             Zd Zd Zej        d             Zej        d             ZdS )TestDataFrameReductionsc                    t          dt          j        t          j        t          d          gi          }|                                }t          t          d          gdg          }t          j        ||           |                                }t          t          d          gdg          }t          j        ||           t          dt          j        t          j        gi          }|                                }t          t          j        gdg          }t          j        ||           |                                }t          t          j        gdg          }t          j        ||           d S )Nr   z
2012-05-01r   )	r   r   r   r   r_   r   r:   r@   r`   )rt   rM   r"  exps       r%   test_min_max_dt64_with_NaTz2TestDataFrameReductions.test_min_max_dt64_with_NaT  s8   	,0G0GHIJJffhhi--.ug>>>
sC(((ffhhi--.ug>>>
sC((( /011ffhhbfXeW---
sC(((ffhhbfXeW---
sC(((((r(   c                    |}t          |t                    r"t                      rt          j        d           t          t          d|          t          d|          gt          d|          t          j        gd          }|	                    dd	          }t          |j        d
         t          j        g          }|j        |d         j        k    sJ t          j        ||           |                    dd	          }t          |j        d         t          j        g          }|j        |d         j        k    sJ t          j        ||           d S )NzSGH#37659 OSError raised within tzlocal bc Windows chokes in times before 1970-01-01z2020-01-01 08:00:00r   z1920-02-01 09:00:00z2020-02-01 08:00:00r  r,   Fr)   )r   r   r   )r   r   )r<   r   r   rB   skipr   r   r   r   r_   r   r  r8   r:   r@   r`   )rt   rq  tz_naive_fixturer   rM   r"  rR   s          r%   'test_min_max_dt64_with_NaT_skipna_falsez?TestDataFrameReductions.test_min_max_dt64_with_NaT_skipna_false  s\   b'"" 	':'<'< 	K4  
  3;;;3;;;   5"===rvF 
 
 ff!Ef**26&>26233~C....
sH---ff!Ef**26&>26233~C....
sH-----r(   c                 J   t          dt          g           i          }t          t          g                     }|                    d          j        t
          j        u |                                t
          j        u k    sJ |                    d          j        t
          j        u |                                t
          j        u k    sJ t          j	        |                    d          |           t          j	        |                    d          |           d S )Nr#   r   r0   r,   )
r   r   r   r_   r#   r   r   r`   r:   r@   )rt   rM   expected_dt_seriess      r%   *test_min_max_dt64_api_consistency_with_NaTzBTestDataFrameReductions.test_min_max_dt64_api_consistency_with_NaT  s    
 [__-..#KOO44A BF*0B0F0F0H0HBF0RSSSSA BF*0B0F0F0H0HBF0RSSSS 	rvv1v~~/ABBB
rvv1v~~/ABBBBBr(   c                 T   t          dg i          }t          g t                    }t          j        |                    d          j                  t          j        |                                          k    sJ t          j        |                    d          j                  t          j        |                                          k    sJ t          j	        |                    d          |           t          j	        |                    d          |           d S )Nr#   r   r   r0   r,   )
r   r   r   rE   r  r_   r#   r`   r:   r@   )rt   rM   expected_float_seriess      r%   *test_min_max_dt64_api_consistency_empty_dfzBTestDataFrameReductions.test_min_max_dt64_api_consistency_empty_df  s     Ry!! &r 7 7 7xA())RX6K6O6O6Q6Q-R-RRRRRxA())RX6K6O6O6Q6Q-R-RRRRR
rvv1v~~/DEEE
rvv1v~~/DEEEEEr(   initialz2018-10-08 13:36:45+00:00z2018-10-08 13:36:45+03:00r   r_   r`   c                     t          |          }t          |g          }t          |g          } t          ||          d          }t	          j        ||           d S )Nr,   r0   )r   r   r   r9   r:   r@   )rt   rJ  r   
initial_dtrR   rM   rN   s          r%   test_preserve_timezonez.TestDataFrameReductions.test_preserve_timezone	  sd     !))
:,''z""$V$$!,,,
vx00000r(   c                    t          dd          }t          t          t          j        t          j        |g          t          t          j        ||g          d          }t          ||          } |d|          }|rt          t          j        ||g          }n&t          t          j        t          j        |g          }t          j        ||           d S )Nz
1900-01-01T)utcr  r,   r)   )r   r   r   r   r   r9   r:   r@   )rt   r   r+   valrM   r   rN   rR   s           r%   !test_minmax_tzaware_skipna_axis_1z9TestDataFrameReductions.test_minmax_tzaware_skipna_axis_1  s     ,D111"&"&#.//fbfc3=O6P6PQQ
 
 R  6*** 	5rvsC011HHrvrvs344H
vx00000r(   c           
         t          t          ddg          t          t          dd          t          dd          g          d          }|                    d          }t          ddgd	d
g          }t	          j        ||           |                    d          }t          ddg          }t	          j        ||           d S )Nr   r   r,   ms)r   tr0   FTr   rT  )r  r7   r  )r   r   r   r   r:   r@   r>  s       r%   test_frame_any_with_timedeltaz5TestDataFrameReductions.test_frame_any_with_timedelta%  s    QF^^\!S11<43H3HIJJ 
 
 Qt}S#J???
vx000Qt}---
vx00000r(   c                 <   |dk    r8|j                             t          j                            d                      |g d          }d}t          j        t          |          5   t          ||          d            d d d            d S # 1 swxY w Y   d S )Nr[   zCount does not accept skipnari  r   zAFor argument "skipna" expected type bool, received type NoneType.r4   r^  )rn  ro  rB   rl  rm  rC   rD   r9   )rt   rq  frame_or_seriesr{  objrv   s         r%   "test_reductions_skipna_none_raisesz:TestDataFrameReductions.test_reductions_skipna_none_raises6  s     W$$L##!!)G!HH   oiii((Q]:S111 	6 	6(GC((5555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6s   )BBBc                 P   t          t          t          d          gd          t          t          d          gd          d          }|                                }t          t          d          t          d          gdddg	          }t	          j        ||           d S )
Nz
2019-12-31zdatetime64[s]r   z2019-12-31 00:00:00.123zdatetime64[ms]r  r   r   r  )r   r   r   r`   r:   r@   r>  s       r%   &test_reduction_timestamp_smallest_unitz>TestDataFrameReductions.test_reduction_timestamp_smallest_unitB  s     Y|445_MMM899:BR   
 
 |$$i0I&J&JK"*
 
 

 	vx00000r(   c                 x   t          t          t          j        d          gd          t          t          j        d          gd          d          }|                                }t          t          j        d          t          j        d          gdddg          }t          j        ||           d S )	Nr  ztimedelta64[s]r   ztimedelta64[ms]r  r   r   r  )r   r   r   rU  r`   r:   r@   r>  s       r%   &test_reduction_timedelta_smallest_unitz>TestDataFrameReductions.test_reduction_timedelta_smallest_unitU  s     R\(334<LMMMR\(334<MNNN 
 
 \(##R\(%;%;<#*
 
 

 	vx00000r(   N)r  r0  r1  r?  rC  rF  rI  rB   rl  r2  r   rM  rQ  rU  rY  r4  skip_array_manager_invalid_testr[  &skip_array_manager_not_yet_implementedr]  r  r(   r%   r<  r<    sO       ) ) ).. . .<C C C
F 
F 
F [	$&AB  [Xu~661c 1 1 1 76	 
1 [Xu~661 1 7611 1 1"
6 
6 
6 '1 1 ('1$ .1 1 /.1 1 1r(   r<  c                       e Zd Zej                            dddg          d             Zd Zej                            dddg          d             Zd	S )
TestNuisanceColumnsr   r   rR  c                 j   t          ddgdd          }|                                }t          j        t          d          5   t          ||                       d d d            n# 1 swxY w Y   t          j        t          d          5   t          t          |          |           d d d            n# 1 swxY w Y   t          j        t          d          5   t          ||          d	           d d d            n# 1 swxY w Y   t          j        t          d          5   t          ||          d 	           d d d            n# 1 swxY w Y   t          j        t          d          5   t          t          |          |d
           d d d            d S # 1 swxY w Y   d S )Nr   r,   r  r   )r8   r  does not support reductionr4   Fr   r0   )r   to_framerB   rC   rs   r9   rE   )rt   r   serrM   s       r%   .test_any_all_categorical_dtype_nuisance_columnzBTestNuisanceColumns.test_any_all_categorical_dtype_nuisance_columnh  s    aV:C888\\^^ ]9,HIII 	# 	# GC  """	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# ]9,HIII 	% 	%GB$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% ]9,HIII 	1 	1GB%0000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 ]9,HIII 	0 	0GB$////	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 ]9,HIII 	, 	,GB++++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,sZ   A))A-0A-B::B>B> DDD-EEE:!F((F,/F,c                 l   t          dt          g d          i          }|d         }t          j        t          d          5  |                                 d d d            n# 1 swxY w Y   t          j        t          d          5  |                    d           d d d            n# 1 swxY w Y   t          j        t          d          5  |                                 d d d            n# 1 swxY w Y   |d                             t                    |d<   t          j        t          d          5  |                    d           d d d            n# 1 swxY w Y   t          j        t          d          5  |                                 d d d            d S # 1 swxY w Y   d S )Nr   )r,   r   r   r   r   rc  r4   Fr  r   )r   r	   rB   rC   rs   r^   r   r   )rt   rM   re  s      r%   -test_median_categorical_dtype_nuisance_columnzATestNuisanceColumns.test_median_categorical_dtype_nuisance_column~  s   [99:;;g ]9,HIII 	 	JJLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9,HIII 	* 	*II5I)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* ]9,HIII 	 	IIKKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 S'..%%3]9,HIII 	* 	*II5I)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* ]9,HIII 	 	IIKKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sZ   A%%A),A)B..B25B2C55C9<C9>E!!E%(E%F))F-0F-r_   r`   c                    t          g dd          }t          |          }|                    d          }t          j        t
          d          5   t          ||                       d d d            n# 1 swxY w Y   t          j        t
          d          5   t          t          |          |           d d d            n# 1 swxY w Y   t          j        t
          d          5   t          ||          d           d d d            n# 1 swxY w Y   t          j        t
          d          5   t          ||                       d d d            n# 1 swxY w Y   t          j        t
          d          5   t          t          |          |d	           d d d            n# 1 swxY w Y   |d                             t                    |d
<   t          j        t
          d          5   t          ||                       d d d            n# 1 swxY w Y   t          j        t
          d          5   t          t          |          |d	           d d d            d S # 1 swxY w Y   d S )N)r   r   r   r   F)orderedr   zis not ordered for operationr4   r  r   r0   r   )
r	   r   rd  rB   rC   rs   r9   rE   r   r   )rt   r   catre  rM   s        r%   :test_min_max_categorical_dtype_non_ordered_nuisance_columnzNTestNuisanceColumns.test_min_max_categorical_dtype_non_ordered_nuisance_column  s    ...>>>Skk\\# ]9,JKKK 	# 	# GC  """	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# ]9,JKKK 	% 	%GB$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% ]9,JKKK 	4 	4GBU3333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 ]9,JKKK 	" 	"GB!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" ]9,JKKK 	, 	,GB++++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, S'..((3]9,JKKK 	" 	"GB!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" ]9,JKKK 	, 	,GB++++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,s~   A88A<?A<C		CC/DDD<E!!E%(E%!F44F8;F8=H""H&)H&!I66I:=I:N)	r  r0  r1  rB   rl  r2  rf  rh  rl  r  r(   r%   ra  ra  g  s        [Xu~66, , 76,*  6 [Xu~66, , 76, , ,r(   ra  c                   b   e Zd Zej                            ddej        dej        fdej        dej	        fdej        dej        fdej        dej        fdej
        dej        fdej
        dej        fdej        dej        fdej        dej        fdej        dej        fdej        dej        fdej        dej        fg          d             Zej                            ddej        ej        fdej        ej        fdej        ej        fdej        ej        fdej
        ej        fdej
        ej        fdej        ej        fdej        ej        fdej        ej        fdej        ej        fdej        ej        fg          d             Zej                            ddd	derd
ndfdd	derd
ndfdd	derd
ndfddddderdndfddderdndfdddddg          d             Zej                            ddd	erd
ndfdd	erd
ndfdddderdndfdderdndfdddddg          d             ZdS ) TestEmptyDataFrameReductionsz#opname, dtype, exp_value, exp_dtyper1   r   r2   r,   c                     t          g g d|          } t          ||          d          }t          ||g|          }t          j        ||           d S Nr   r,   r   r   r  rz  rt   rG   r8   	exp_value	exp_dtyperM   rN   rR   s           r%   test_df_empty_min_count_0z6TestEmptyDataFrameReductions.test_df_empty_min_count_0  sh    " 2"~~U333$V$$q1119i0	BBB
vx00000r(   zopname, dtype, exp_dtypec                     t          g g d|          } t          ||          d          }t          t          j        t          j        g|          }t          j        ||           d S Nrq  r   r,   r  )r   r9   r   rE   rF   r:   r@   rt   rG   r8   rt  rM   rN   rR   s          r%   test_df_empty_min_count_1z6TestEmptyDataFrameReductions.test_df_empty_min_count_1  sl    " 2"~~U333$V$$q1112626*)<<<
vx00000r(   Int8Int32r  )r1   r  r   r  )r2   r  r,   r  UInt8UInt32UInt64)r1   r~  r   r~  )r2   r~  r,   r~  )r1   Float32r   r  )r2   r  r,   r  )r1   r  r   r  c                     t          g g d|          } t          ||          d          }t          ||g|          }t          j        ||           d S rp  rz  rr  s           r%   "test_df_empty_nullable_min_count_0z?TestEmptyDataFrameReductions.test_df_empty_nullable_min_count_0  sh    $ 2"~~U333$V$$q1119i0	BBB
vx00000r(   )r1   r  r  )r2   r  r  )r1   r~  r~  )r2   r~  r~  )r1   r  r  )r2   r  r  )r1   r  r  c                     t          g g d|          } t          ||          d          }t          t          j        t          j        g|          }t          j        ||           d S rw  )r   r9   r   r   NAr:   r@   rx  s          r%   "test_df_empty_nullable_min_count_1z?TestEmptyDataFrameReductions.test_df_empty_nullable_min_count_1  sk    " 2"~~U333$V$$q11125"%.	:::
vx00000r(   N)r  r0  r1  rB   rl  r2  rE   int8r.  int_uint8uint64uintr   r  ru  ry  is_windows_np2_or_is32r  is_windows_or_is32r  r  r(   r%   rn  rn    s$       [-BGQ)RWa)BHa*RXq"(+BHa+RXq"'*BIq"),RY29-BJ2:.RZBJ/BJ2:.	
  1 1!  1 ["BGRZ(RWbj)BHbj)RXrz*BHbj)RXrz*BIrz*RY
+BJ
+RZ,BJ
+	
  1 1!  1 [-FA+A NwPVQ,B!OQVQ,B!OQ()GQ-C!QSWa.D"R(((T*+,-,	
 "1 1# "1 ["F(:GWWIV);HggJ%&G*<Jhh(LW+=Kxx8M'()*)	
  1 1!  1 1 1r(   rn  c                    | r:t           j                            d          }|j                            |           t          j        d                              t
          j                  	                    d          
                    dd          }d|d<   t          |          }|j        |j        k                                    sJ |                    d	
          }t!          t#          j        d          t"          j        gd          }t)          j        ||           |                    dd	          }t)          j        ||           |                    dd	          }t!          t#          j        d          t#          j        d          t#          j        d          t"          j        gd          }t)          j        ||           d S )Nz3Incorrect type inference on NaT in reduction resultri  r  zm8[s]r   r   Nat)rH  rH  Fr^  r  rG  r   r   r)   r,   r   r  )rB   rl  rm  rn  ro  rE   r/  r   r.  viewreshaper   r  r8   rR  r1   r   r   rU  r   r:   r@   )rp  rq  rl  r  rM   rN   rR   s          r%   !test_sum_timedelta64_skipna_falser    s    &{  H ! 
 
 	%%%
)A,,

bh
'
'
,
,W
5
5
=
=a
C
CCCK	3BI"'')))))VV5V!!Fr|B///8HHHH68,,,VV5V))F68,,,VV5V))FL###L###L###F		
   H 68,,,,,r(   c                      t          ddggt          d                    } |                     ddi          } |                                 }t	          ddgddg          }t          j        ||           d S )Nr   r,   abr   r   r  r   )r   r  r   r1   r   r:   r@   )rM   rN   rR   s      r%   !test_mixed_frame_with_integer_sumr  <  su    	S!H:tDzz	2	2	2B	C>	"	"BVVXXFsAhsCj111H68,,,,,r(   rn   )TFNr   r_   r`   c                 n   t          j        d          }t          |j        d |j        gt          j                              }t          d|i          } t          ||           |          }t          t          ||           gdt          dgd                    }t          j        ||           d S )Nr.  r   r  r  r   r  )rE   iinfor   r`   r_   r   
Int64Dtyper   r9   r   r:   r@   )r   rn   
int64_infore  rM   rN   rR   s          r%   test_minmax_extensionarrayr  E  s     '""J
*.$
7r}
O
O
OC	GS>	"	"B WR  l;;;F	V	$	$%WIX...  H
 68,,,,,r(   ts_valuez
2000-01-01c                     t          dgdgdg| gd          }t          j        t          d          5  |                                 d d d            d S # 1 swxY w Y   d S )Nr,   g?r   r   rc  r4   )r   rB   rC   rs   r1   )r  rM   s     r%   .test_frame_mixed_numeric_object_with_timestampr  U  s     
!C5whZHH	I	IB	y(D	E	E	E  
                 s   AAAc                  b   t          g d          } |                     ddd          }t          dg          }t          j        ||           t          j        d          }t          j        t          |          5  | 
                    ddd           d d d            d S # 1 swxY w Y   d S )	N)r,   r   Tr   r,   F)r*   r  rn   r   z2unsupported operand type(s) for +: 'int' and 'str'r4   )r   r2   r   r:   r@   rp   escaperB   rC   rs   r1   )rM   rN   rR   rv   s       r%   $test_prod_sum_min_count_mixed_objectr  ]  s    	>>>	"	"BWW!quW==Fse}}H68,,,
)H
I
IC	y	,	,	, 8 8
A7778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8s   >B$$B(+B()r_   r`   r\   r^   re   rg   r8   r  r  c                    t          t          j                            d                              d          |          } t          ||           d |          }|                    t          j                  }| dv rOt          j	        d          }| dk    rd}  t          ||           |d	d 
          }t          j        ||           d S  t          t          |           |d           }||k    sJ d S )Nr   )r   r   r   rm   >   rg   re   r   rg   r   F)r   r*   r0   )r   rE   r  r  r  r9   to_numpyr  rB   r   r:   r  )r   rn   r8   rM   rN   np_arrcomp_modrR   s           r%   'test_reduction_axis_none_returns_scalarr  j  s    
29((++;;FCC5	Q	Q	QB WR  dFFFF[[rz[**F!!!&}55VF,78V,,V%dKKK
vx00000&72v&&vD999!!!!!!r(   kernel)corrcorrwithcovr  r  rg   r`   r\   r^   r_   r2   quantilerd   re   rc   r1   rb   c                 L   t          g dt          d          }| dk    r|fnd}d                    g d          }| dk    rd}d	}d                    ||g          }t          j        t
          |
          5   t          ||           |  d d d            d S # 1 swxY w Y   d S )Nr   r  r  r  rj   )znot allowed for this dtypez%argument must be a string or a numberz"not supported between instances ofr   z*argument must be a string or a real numberr^   zTCannot convert \[\[<class 'object'> <class 'object'> <class 'object'>\]\] to numericzPCannot convert \[<class 'object'> <class 'object'> <class 'object'>\] to numericr4   )r   r   ro   rB   rC   rs   r9   )r  rM   argsrv   msg1r  s         r%   test_fails_on_non_numericr    s   0 
00	1	1Bj((B55bD
((	
 	
 	
 C / 	
- 	 hhd|$$	y	,	,	, # #FT""# # # # # # # # # # # # # # # # # #s   8BB B)rR  r   r[   r  r  rg   r   r`   r\   r^   r_   ra   r2   r]   rd   re   rc   r1   rb   r  r   c           	         t          t          g d|          t          ddt          j        dg|          d          }t          g ddd	t          j        d
gd          }| dv rd}n%| dv rd}n| dv r|                    d          sd}n|}i }| dvr||d<   | dv r||d<   d }d }	|s| dv rt          }d|  d}	t          j	        ||	          5   t          ||           dddi|}
d d d            n# 1 swxY w Y   t          j	        ||	          5   t          ||           dddi|}d d d            n# 1 swxY w Y   | dvr|                    |          }t          j        |
|           d S )Nr"  r   r   r,   r   r  )r   r   r   r   r   r   r   ri   r.  )rR  r   boolean)rg   r   r\   r^   rd   re   rc   rb   Floatr  )r[   ra   r  r+   )r2   r]   r1   r  )r  r  zThe behavior of DataFrame.z with all-NA valuesr4   r*   r  )r   r   r   r  rE   rF   
startswithr  r:   r;   r9   r   r@   )r   r+   r  any_numeric_ea_dtyperM   expected_dfr|  r  r  rv   rN   rR   s               r%   test_numeric_ea_axis_1r    s   6 
,@AAAArua(0DEEE	
 	

 
B %%%sBFC(	
 	
 K %%% 	>	!	!"	 	 	
 	
 #--g66	
 #-F555!x+++'{D
C Gf 444F6FFF		#D	4	4	4 7 7$V$$66!6v667 7 7 7 7 7 7 7 7 7 7 7 7 7 7		#D	4	4	4 B B/7;//AAQA&AAB B B B B B B B B B B B B B B)))??>2268,,,,,s$   C55C9<C9D;;D?D?)TTFr   r   N)8datetimer   decimalr   rp   dateutil.tzr   numpyrE   rB   pandas.compatr   r   pandas.compat.numpyr   pandas.util._test_decoratorsutil_test_decoratorsr4  pandasr   r	   r
   r   r   r   r   r   r   r   r   r   pandas._testing_testingr:   pandas.corer   r   r  r  rX   rZ   r<  ra  rn  r  r  rl  r2  r  r   r  r  r  r  r  r  r(   r%   <module>r     s               				                   / . . . . . ) ) ) ) ) ) ) ) )                                          
 .-//F4FSt8 ((**6$h  		k1 k1 k1 k1\_/ _/ _/ _/ _/ _/ _/ _/D)l1 l1 l1 l1 l1 l1 l1 l1^O, O, O, O, O, O, O, O,d^1 ^1 ^1 ^1 ^1 ^1 ^1 ^1B- - -D- - - )<)<)<==E5>22- - 32 >=- ii&=&=rv%FGG  HG
8 
8 
8 #S#S#STT$779i"899" " :9 87 UT"$    ,# #- ,#8    0 q!f--1- 1- .-1 21- 1- 1-r(   