
    [6gP-                       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 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!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,d4d
Z-	 	 	 	 	 	 d5dZ.e	j/        d             Z0e	j/        d             Z1 G d d          Z2 G d d          Z3 G d d          Z4 G d d          Z5d Z6e	j7        8                     e            d          d             Z9e	j7        :                    dg d          e	j7        :                    d d!d"g          d#                         Z;e	j7        :                    d$ ed%          ej<        g          d&             Z=d' Z>e	j7        :                    d g d(          e	j7        :                    dddg          e	j7        :                    d)d*d+g          d,                                     Z?e	j7        :                    d-g d.          d/             Z@e	j7        :                    d g d0          e	j7        :                    d1d d2g          d3                         ZAdS )6    )	timedelta)DecimalN)tzlocal)using_pyarrow_string_dtype)IS64is_platform_windows)np_version_gt2)CategoricalCategoricalDtype	DataFrameDatetimeIndexIndexPeriodIndex
RangeIndexSeries	Timestamp
date_rangeisnanotnato_datetimeto_timedelta)
algorithmsnanopsc                 $     rfd}n fd}|S )a`  
    Create a function for calling on an array.

    Parameters
    ----------
    alternative : function
        The function to be called on the array with no NaNs.
        Only used when 'skipna_alternative' is None.
    skipna_alternative : function
        The function to be called on the original array

    Returns
    -------
    function
    c                 $     | j                   S Nvalues)xskipna_alternatives    a/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/pandas/tests/frame/test_reductions.pyskipna_wrapperz+make_skipna_wrapper.<locals>.skipna_wrapper?   s    %%ah///    c                     |                                  }t          |          dk    rt          j        S  |          S )Nr   )dropnalennpnanr   nonaalternatives     r!   r"   z+make_skipna_wrapper.<locals>.skipna_wrapperD   s6    88::D4yyA~~v;t$$$r#    )r+   r    r"   s   `` r!   make_skipna_wrapperr-   -   sM       %	0 	0 	0 	0 	0 	0
	% 	% 	% 	% 	% r#   TFh㈵>: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          |          } |	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 r   r   r   r+   s    r!   wrapperz$assert_stat_op_calc.<locals>.wrapper       ;qx(((r#   r   Faxisskipna   )check_dtypertolatolr;   )r?   r@   )sumprodNo axis named 2matchrC   indexdtype)getattrr   r   tmassert_produces_warning
isinstancer   ranger&   r-   assert_series_equalapplyr   rI   pytestraises
ValueErrorr'   r(   rH   )opnamer+   frame
has_skipnar>   check_datesr?   r@   r    fdfresultr8   r"   result0result1expected	lcd_dtypeall_nar0r1units    `                    r!   assert_stat_op_calcrc   M   s   J 	vA 
Z
A>>>?@@'-- 	+ 	+(WR((**F	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+&&)))))B..3'-- 	+ 	+(WR((**F	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+&&)))))6{{ %	) 	) 	) 	) 	) -[:LMM!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,#I<<J J c            	         t          t          j        t          j        dt                    t          j        dt                    gd          t          d t          d          D             t                    t          t          d          t                    t                    } t          j
        | j        d	d
<   t          j
        | j        ddddf<   | S )z
    Fixture for DataFrame of booleans with index of unique strings

    Columns are ['A', 'B', 'C', 'D']; some entries are missing
    )      rI   r   rA   c                     g | ]}d | S foo_r,   .0is     r!   
<listcomp>z&bool_frame_with_na.<locals>.<listcomp>       333AZAZZ333r#      ABCD)rH   columnsrI      
   re      N)r   r'   concatenateonesboolzerosr   rN   objectlistr(   ilocrY   s    r!   bool_frame_with_nar      s     

WWD)))28G4+H+H+HIPQ	
 	
 	
 33r3336BBBd6ll&111
 
 
B FBGAbDM&BGBrE233JIr#   c            	         t          t          j                            d                              d          t          d t          d          D             t                    t          t          d          t                              } t          j	        | j
        dd	<   t          j	        | j
        d
dddf<   | S )z
    Fixture for DataFrame of floats with index of unique strings

    Columns are ['A', 'B', 'C', 'D']; some entries are missing
    r2   )rp   rf   c                     g | ]}d | S ri   r,   rk   s     r!   rn   z'float_frame_with_na.<locals>.<listcomp>   ro   r#   rp   rg   rq   rH   rr   rs   rt   re   ru   rv   N)r   r'   randomdefault_rngstandard_normalr   rN   r{   r|   r(   r}   r~   s    r!   float_frame_with_nar      s     

	a  009933r3336BBBd6ll&111
 
 
B FBGAbDM&BGBrE233JIr#   c                   z   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        d                     ej        d ej        d                    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        d                     ej        d ej        d                    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ej                             e            d-.          d/             Zd0 Zej                            d1d2d3g          d4             Zej                            d1d2d3g          d5             Zd6 Zd7 Zej                            d8g d9          d:             Zd; Zej                            d<d=d>gd?gd@gdAg edAgdAgB           e dCgdD'           e!dEg          dFfdGd>gd?gej        g ej"        ej        ge'           eej        gdAgB           e e#j$        gdD'           e!e#j$        g          dFfd=dHdIej        ej        gdHdIej        ej        gdej        ej        ej        g edAej        ej        ej        gdAgB           e g dJdD'           e!g dK          g dLdMfdGdHdIej        ej        gdHdIej        ej        gdej        ej        ej        g eej        dAej        ej        gdAgB           e g dNdD'           e!g dO          g dLdMfg          dP             Z%dQ Z&dR Z'dS Z(dT Z)ej                            dUdVdWe#j$        dXgd%e#j$        gz  g          dY             Z*dZ Z+ej                            d[ e,d           e g            e-g ej.        '           e-g ej/        '           e g d\]           e0g d^]          g          d_             Z1ej                            d`dadbg          ej                            dcg dd          de                         Z2df Z3dg Z4ej                            dhg di          ej                            djdd#dkdldmej        gfdd$dkej        ej        ej        gfddGdndldmej        gfg          do                         Z5ej                            dhg di          ej                            djdd#dkdpdqej        gfdd$dkej        ej        ej        gfddGdndpdqej        gfg          dr                         Z6ds Z7dt Z8du Z9dv Z:dw Z;dx Z<dy Z=dz Z>d{ Z?ej                            d|d=dGg          ej                            dddg          d}                         Z@ej                            dddg          ej                            d~          d                         ZAej                            dcd=dGg          d             ZBd ZCej                            d|d=dGg          ej                            dddg          d                         ZDej                            dddg          ej                            d~          d                         ZEej                            dcd=dGg          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                            ddGd=g          d                                     ZLej                            dddg          ej                            dddg          d                         ZMej                            d          ej                            dddg          d                         ZNd ZOej                            dddg          ej                            dddg          ej                            d|d=dGg          d                                     ZPej                            d          d             ZQd ZRej                            dg ejS        i dGfejT        i d=fejS        dg idGfejT        dg id=fejS        ddGdGgidGfejT        ddGdGgidGfejS        dd=dGgid=fejT        dd=dGgidGfejS        dd=d=gid=fejT        dd=d=gid=fejS        dGgdGgddGfejT        dGgdGgddGfejS        dGdGgdGd=gdd=fejT        dGdGgdGd=gddGfejT        d eUdd@gd'          idGfejS        d eUdd@gd'          id=fejT        d eUddgeV'          idGfejS        d eUddgeV'          id=f ej        ejT        d eUddgdD'          idG           ej        ejT        d eUddgd'          idG           ej        ejS        d eUddgdD'          id=           ej        ejS        d eUddgd'          id=           ej        ejT        d eUdd#gdD'          id=           ej        ejT        d eUdd#gd'          id=           ej        ejS        d eUdd#gdD'          id=           ej        ejS        d eUdd#gd'          id=           ej        ejT        d eUddgd'          idG           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dGfejT        d eUdd#gd'          id=fejS        d eUdd#gd'          idGf ej        ejT         eUddgdD'           eUddgd'          dd=                    d             ZWd ZXd ZYd ZZd2S )TestDataFrameAnalyticsr;   r   r=   rT   countrB   meanproductmedianminmaxnuniquevarstdsemskewscipy)markskurtc                 r   |dv r|dk    s|dv r#|r|dk    s 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          |t          j                  s|dz   }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)rB   r   r   r   r   r   rB   rA   )r   r   r   r   r   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'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   z1Cannot convert \[.*\] to numeric|does not support)flagsz|does not supportrE   r   Tr;   numeric_only)
rJ   joinrecompileSrM   PatternrQ   rR   	TypeError)selffloat_string_framer;   rT   using_infer_stringmsgs         r!   #test_stat_op_api_float_string_framez:TestDataFrameAnalytics.test_stat_op_api_float_string_frame   s   . ,,, 
 &
 +1E///G&//T:::::>>>@9$$199NCCLCC5P6!!199((DM CC UCC>))T8##jHPRPT   c2:.. 0//y444 ? ?3*F33>>>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Y/G&//TMMMMMM s   "D		DDc                 <     t          ||          |d           d S )NFr   rJ   )r   float_framer;   rT   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   rB   ss    r!   r   z7TestDataFrameAnalytics.test_stat_op_calc.<locals>.count<  s    88<<>>!r#   c                 h    t          t          j        |                                                     S r   )r&   r   unique1dr%   r   s    r!   r   z9TestDataFrameAnalytics.test_stat_op_calc.<locals>.nunique?  s#    z*188::66777r#   c                 .    t          j        | d          S Nr=   ddof)r'   r   r   s    r!   r   z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.varB      6!!$$$$r#   c                 .    t          j        | d          S r   )r'   r   r   s    r!   r   z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.stdE  r   r#   c                 r    t          j        | d          t          j        t          |                     z  S r   )r'   r   sqrtr&   r   s    r!   r   z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.semH  s*    6!!$$$rws1vv66r#   r   FT)rV   r>   rW   rB   float32gMbP?)r>   r?   )r    r   rW   r   r   r   r   r   )rc   r'   rB   astypenansumr   rC   nanprod)r   r   mixed_float_framer   r   r   r   r   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&   r'   r(   r   r   sp_statss    r!   skewnesszHTestDataFrameAnalytics.test_stat_op_calc_skew_kurtosis.<locals>.skewnessv  s/    1vvzzv===///r#   c                 p    t          |           dk     rt          j        S                     | d          S )Nrf   Fr   )r&   r'   r(   kurtosisr   s    r!   r   zDTestDataFrameAnalytics.test_stat_op_calc_skew_kurtosis.<locals>.kurt{  s2    1vvzzv$$QU$333r#   r   r   )rQ   importorskiprc   )r   r   r   r   r   s       @r!   test_stat_op_calc_skew_kurtosisz6TestDataFrameAnalytics.test_stat_op_calc_skew_kurtosiss  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   anyr'   r(   r   r   s    r!   r8   z3TestDataFrameAnalytics.test_median.<locals>.wrapper  s-    Aww{{}} v9Q<<r#   r   Tr   F)r>   rW   )rc   )r   r   	int_framer8   s       r!   test_medianz"TestDataFrameAnalytics.test_median  sX    	  	  	 
 	Hg/BPTUUUUgye	
 	
 	
 	
 	
 	
r#   method)rB   r   rC   r   r   r   r   r   rY   )gȃw@Ba@gCVZg
?Z.F?)r   r           )g94c4?g@}jX?gNr5   r1   cfoobarbazOrG   r2   r   rf   r   r=   r2   rg   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 )NrA   f8)r=   rr   r   )
r   rI   r'   object_rJ   r   r{   r   rK   rO   )r   r   rY   r;   rZ   r]   s         r!   %test_stat_operators_attempt_obj_arrayz<TestDataFrameAnalytics.test_stat_operators_attempt_obj_array  s    : y"*,,,,$V$$$///37299T??F33>>>EEfMM>!!f&>&>(,HX]]__%
vx00000r#   op)r   r   r   r   r   r   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=   r2   r   rf   )      ?       @      @      @r5   r1   r   d)intfloatstrr   )zCould not convertcould not convertz"can't multiply sequence by non-intzdoes not supportrE   use_bottleneckF)r   r   rQ   rR   r   rJ   pdoption_context)r   r   rY   r   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z"sum doesn't work for arrow stringsreasonc                 ^   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)rt   ru   rp   (   2   )r5   r1   r   r   e)	bool_dataint_datastring_datarr   r   rA   )r2      abcderg   r=   )r   reindexrB   rK   assert_numpy_array_equalr   r'   arrayr{   TrO   )r   rY   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=   r2   r   r=   r   ABCr2   Fr%   rA   r   )r;   r%   )r   r'   r(   rK   rO   r   r   r   rY   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  r2   r  r  r   r  r  rH   r   r   r   r   rK   rO   r   r  rY   rZ   r]   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  r2   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 )Nr2   z628.00r
  r=   z383.00r   z651.00z575.00rf   z1114.00TESTz241.00z572.00z609.00z820.00rs   z1223.00z)unsupported operand type|does not supportrE   r  r  g@gL@rG   )
r   r   rQ   rR   r   r   r   r{   rK   rO   )r   r   rY   rZ   r]   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\\]H
 
 
 	 	 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 )Nrf   r   c                 .    |                      d          S Nrf   r   )r   r   s    r!   <lambda>z5TestDataFrameAnalytics.test_var_std.<locals>.<lambda>"      !%%Q%-- r#   c                 .    |                      d          S r"  )r   r   s    r!   r#  z5TestDataFrameAnalytics.test_var_std.<locals>.<lambda>&  r$  r#   r2   r=     r'  r   rA   r   F)r   rP   rK   assert_almost_equalr   r'   repeatr   r   r   nanvarr   r   r   r   datetime_framerZ   r]   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)r   r   r   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 )Nr2   )rs   r   r   r   r   100)r   r   r5   r=   Tr   r   r   rA   z6unsupported operand type\(s\) for -: 'float' and 'str'rE   Fz&could not convert string to float: 'a')r   r'   r   r   r   r   r{   locrJ   rK   rO   rQ   rR   r   )r   r/  df1df2rZ   r]   r   s          r!   test_numeric_only_flagz-TestDataFrameAnalytics.test_numeric_only_flag1  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 )Nrf   r   c                 r    |                      d          t          j        t          |                     z  S r"  )r   r'   r   r&   r   s    r!   r#  z1TestDataFrameAnalytics.test_sem.<locals>.<lambda>X  s%    !%%Q%--"'#a&&//2Q r#   r2   r&  r'  r   rA   r   F)r   rP   rK   r(  r'   r)  r   r   r   nansemr   r   r   r+  s        r!   test_semzTestDataFrameAnalytics.test_semV  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   r5   )
categories
2000-01-02M8[ns]1 days)r  r  r  DEFGF   	   )r<  NaTrE  rE  r>  r(   r(   r(   r   r=   r2   r   )HIJKLMNrE  r<  rE  rE  )r(   r>  r(   r(   c                 X   t          g dddt          j        dgdt          j        t          j        t          j        gt          t          j        t          j        dt          j        gt                    t          t          j        t          j        dt          j        g          t          g d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d          t          g d          t          j        dd          d          }|t          |
                                                                       |          }t          |          }t          j        ||           d S )N)r:  r:        rt   r   r=   r5   rg   rO  r=  rF  )rC  rC  rD  rD  )rD  rD  rC  rC  )r<  r<  rE  rE  )r>  r(   r>  r(   rf   int64)r  r  r  r?  r@  rA  rB  rH  rI  rJ  rK  rL  rM  rN  r  )r   r'   r(   r   r{   r
   r   r   arangesortedkeysmoderK   assert_frame_equal)r   r%   r]   rY   rZ   s        r!   test_mode_dropnaz'TestDataFrameAnalytics.test_mode_dropnac  su   t %%%"bfa(0RVRVS"&9HHH "&"&#rv!>??"#F#F#FhWWW!"A"A"ABB!\\!\\BFBF+ #rvsBF!;<<">>>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          }|rd nt          }t	          j        |          5  |                    d          }|                    d                              d          }d d d            n# 1 swxY w Y   t	          j	        ||           d S )Nr  r5   Fr  )byT)drop)
r   r'   r(   UserWarningrK   rL   rW  sort_valuesreset_indexrX  )r   r   rY   r]   warningrZ   s         r!   test_mode_sortwarningz,TestDataFrameAnalytics.test_mode_sortwarning  s    bfbfc37899cC=122,=$$+'00 	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B33B7:B7c                     t          g ddg          }|                                }t          g ddgt          g t          j                            }t          j        ||           d S )Nr5   r1   r   rg   rr   rH   )r   rW  r   r'   rS  rK   rX  r   rY   rZ   r]   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?  r4   freqz2012-1-220120101rs   )minutessecondsr
  r  r  r  r  r   )r   r  r=   )r   r  rA   )r2   r  )r2   r  r   r   r@  20130101rA  i1  rk  )daysr  Tr   )r=   r=   r   r   20130102r3   20130105)timetime2rs  rr  off1timedelta64[ns]off2)r   r   r   r   r   r}   r2  allr   absrK   rX  copyr   r   	Timedeltarr   rO   rI   _consolidate_inplace)r   rY   diffsrZ   result2r]   mixeds          r!   test_operators_timedelta64z1TestDataFrameAnalytics.test_operators_timedelta64  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 Dayrt   r3   r  Try  )rv   rn  Fr<   r  r  ru  rG   r=   r:   r   rC  )
r   timedelta_ranger   rE  r}   r   r   rK   rO   rz  )r   tdirY   rZ   r]   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                    |rP|rt          d |D                       r5t          j                            d          }|                    |           t          |                              |          }t          d|i          }|                    |          }	|rt          d |D                       r"t          dt          j        id| d	          }
nt          dd
id| d	          }
t          j        |	|
           d S )Nc              3   2   K   | ]}|t           j        u V  d S r   r   rE  rl   values     r!   	<genexpr>zFTestDataFrameAnalytics.test_std_datetime64_with_nat.<locals>.<genexpr>9  s(      BB%ervoBBBBBBr#   z=GH#51446: Incorrect type inference on NaT in reduction resultr   r5   r  c              3   2   K   | ]}|t           j        u V  d S r   r  r  s     r!   r  zFTestDataFrameAnalytics.test_std_datetime64_with_nat.<locals>.<genexpr>B  s(      AAUbf_AAAAAAr#   ztimedelta64[]rg   l     "R: )rw  rQ   markxfailapplymarkerr   as_unitr   r   r   r   rE  rK   rO   )r   r   r<   using_array_managerrequestrb   r  dtirY   rZ   r]   s              r!   test_std_datetime64_with_natz3TestDataFrameAnalytics.test_std_datetime64_with_nat1  s5     	&	&BB6BBBBB	& ;$$V %  D %%%&!!))$//Sz""v&& 	SAA&AAAAA 	SsBFm3I$3I3I3IJJJHH sN3;Q$;Q;Q;QRRRH
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   rB   rM   r   r&   )r   empty_frameaxis0axis1s       r!   test_sum_cornerz&TestDataFrameAnalytics.test_sum_cornerI  s    kk""""%(((((%(((((5zzQ5zzQr#   rH   ME)rh  r?  c                     t          dg|          } t          ||          d          }|dv rd}n|dk    rd}nd	}t          g ||
          }t          j        ||           d S )Nr5   rc  r=   rA   )r   rw  ry   r   rS  r{   rG   r   rJ   r   rK   rO   )r   all_reductionsrH   rY   rZ   expected_dtyper]   s          r!   test_axis_1_emptyz(TestDataFrameAnalytics.test_axis_1_emptyS  s     uE222,^,,!444^++#NNw&&$NN%N"E@@@
vx00000r#   zmethod, unit)rB   r   )rC   r=   r   )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   r   float64rG   r=   )r   	min_countr  r   rt   rs   r  r  r     )r   r'   r(   rJ   r   rK   rO   r}   )r   r   rb   r   idxrY   rZ   r]   s           r!   test_sum_prod_nanopsz+TestDataFrameAnalytics.test_sum_prod_nanopsj  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]rI   rH   r  r=   )	r   r'   r(   rP   r   rB   r   rK   rO   )r   r  rY   r4  rZ   r]   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	  rf   rs   r  )r   yrt   r  r   r  r  )r   rB   r   r'   r(   rK   rO   rd  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   r5   r1   rg   r,   )r   r'   r(   rB   r   r   rK   rO   r   r  kwargsexpected_resultrY   rZ   r]   s          r!   test_sum_nanops_dtype_min_countz6TestDataFrameAnalytics.test_sum_nanops_dtype_min_count  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  rg   r,   )r   r'   r(   rC   r   r   rK   rO   r  s          r!    test_prod_nanops_dtype_min_countz7TestDataFrameAnalytics.test_prod_nanops_dtype_min_count  s     !//c26(:;;:
 
 
 ""6""/**11*==
vx00000r#   c                     |j                             t                    }t          ||j        |j                  }|t          d          z  }|                                 d S )Nr   r=   )r   r   r   r   rH   rr   r   rB   )r   r   r   rU   deltass        r!   test_sum_objectz&TestDataFrameAnalytics.test_sum_object  sS    #**3//&(9;CVWWW1%

r#   c                     t          j        |          }|                    d           |                    d           d S )Nr=   r   )r'   isnanrB   )r   r   boolss      r!   test_sum_boolz$TestDataFrameAnalytics.test_sum_bool  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  rf   r3   r   r  )r2   r   rf   z does not support reduction 'sum'rE   )r   r   r   rQ   rR   r   rB   r  s     r!   test_sum_mixed_datetimez.TestDataFrameAnalytics.test_sum_mixed_datetime  s    Z:::NNOOWWII
 
 ]9,NOOO 	 	FFHHH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A66A:=A:c                    d}t          j        t          |          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 )	Nz"Could not convert|does not supportrE   r   rA   unsupported operand typer=   r  ry   )rQ   rR   r   r   r   )r   r   r   r   meanss        r!   test_mean_cornerz'TestDataFrameAnalytics.test_mean_corner  sd   2]9C000 	, 	,###+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, ]9,FGGG 	, 	,###+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, *#.2F  ##V}F 3 : ? ? A AAAAAAAs#   A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-01r3   1D2016Yrg  )r  r  r  r?  Tr  r  r   z'mean is not implemented for PeriodArrayrE   )r   r'   rT  r   r   r  period_ranger   r   rK   rO   rQ   rR   r   rd  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  r3   r  r
  Fr  r=   )r=   r  )r=   r  r  r  rg  r?  z"mean is not implemented for PeriodrE   )r   r'   rT  r   r   r  r   r   r2  rK   rO   r  rQ   rR   r   rd  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 )
Nr2   r'  )rt   rs   )sizeInt64rg   Tr  Float64)	r'   r   r   integersr   r   r   rK   rO   )r   r-  rY   rZ   r]   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   rE   r=   r  )rQ   rR   r   r   r   r   r   )r   r   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=   rt   r   rA   r   )r   rN   r   rB   )r   rY   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 )Nrs   rt   re   ru   rv   Fr=   z3The behavior of DataFrame.idxmin with all-NA valuesrE   r:   zThe behavior of Series.idxmin)r'   r(   r}   FutureWarningrK   rL   idxminrP   r   r   rH   rI   rO   r   r   r   r<   r;   rU   rY   warnr   rZ   msg2r]   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:   rg   )r   r  r   rI   rK   rO   r   rH   r<   r;   rU   rZ   r]   s          r!   test_idxmin_emptyz(TestDataFrameAnalytics.test_idxmin_emptyC  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r2   r   r=   r2   r=   r=   xyxr   r  r2   r=   r5   r1   r  )r2   r=   r   )r   r|   r  r   rK   rO   r   r   rY   rZ   r]   s        r!   test_idxmin_numeric_onlyz/TestDataFrameAnalytics.test_idxmin_numeric_onlyP      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 DataFramerE   r2   rA   )rQ   rR   rS   r  r   r   rU   r   s       r!   test_idxmin_axis_2z)TestDataFrameAnalytics.test_idxmin_axis_2Z      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 )Nrs   rt   re   ru   rv   Fr=   z3The behavior of DataFrame.idxmax with all-NA valuesrE   r:   zThe behavior of Series.idxmax)r'   r(   r}   r  rK   rL   idxmaxrP   r   r   rH   rI   rO   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   rI   rK   rO   r  s          r!   test_idxmax_emptyz(TestDataFrameAnalytics.test_idxmax_emptyt  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   r5   r1   r  )r=   r   r=   )r   r|   r  r   rK   rO   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]rg   r=   r   r5   r1   r  r2   )r1   r   r5   zstring[pyarrow]Fr  )rQ   r   r   r  r   rK   rO   r  rd  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  )rQ   rR   rS   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   r3   )r   r2   r=   rn  T)deepr	  )r=   r   r2   r  )r   r2   r   )r   r   rf   )r=   r   r2   r   r   )r   r2   r=   r2   )r   r   rN   ry  r  r   rK   rO   r  r   rE  r2  r{  r   r  rY   rZ   r]   s        r!   test_idxmax_mixed_dtypez.TestDataFrameAnalytics.test_idxmax_mixed_dtype  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  rs   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=   r2   r   )IDr  r  rg   r
  r  r  r	  )namerI   r  )r   groupbyrJ   r   rK   rX  )r   r   expected_valuerY   rZ   r]   s         r!   !test_idxmax_idxmin_convert_dtypesz8TestDataFrameAnalytics.test_idxmax_idxmin_convert_dtypes  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   r3   rn  )r   rf   Tr  )r   r   r=   rA   )rf   r   r   )rf   r   rf   )r   r   r   rE  r}   r{  r  r   rK   rO   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   rw  	bool_onlyc                     |}t           j                            d                              t	          |                    dk    |d<    t          ||          ||           d S )Nr2   g      ?_bool_r;   r  )r'   r   r   r   r&   rJ   )r   rT   r;   r  r   r~  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  r   )r   rT   r;   r   s       r!   test_any_all_bool_with_naz0TestDataFrameAnalytics.test_any_all_bool_with_na  s*     	,"F++GGGGGGr#   z4ignore:Downcasting object dtype arrays:FutureWarningc                    |                     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)   s     r!   r"   zFTestDataFrameAnalytics.test_any_all_bool_frame.<locals>.skipna_wrapper  s#    88::$D;t$$$r#   c                 $     | j                   S r   r   r7   s    r!   r8   z?TestDataFrameAnalytics.test_any_all_bool_frame.<locals>.wrapper  r9   r#   r   Fr:   r=   rA   )r>   rD   rE   r2   r   )fillnarJ   r'   rK   rO   rP   rQ   rR   rS   r(   r   rw  )r   rT   r   rU   rX   r"   r8   r[   r\   r_   r`   ra   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=   rA   Tr  r  Fr  )r   r   r   rK   rO   rw  itemrd  s       r!   test_any_all_extraz)TestDataFrameAnalytics.test_any_all_extra1  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          }|r|dk     o| o|dk    }nd} t          ||          ||          }t	          dd|dg          }t          j        ||           d S )	Nr=   Tr2   5datar   rw  r:   )r   r'   r(   rJ   r   rK   rO   )	r   r;   r!  r<   r   rY   valrZ   r]   s	            r!   test_any_all_object_dtypez0TestDataFrameAnalytics.test_any_all_object_dtypeR  s     BFBFD)BFD).bf-	
 
 
  	ai-IJI=E3ICCC+]++fEEE4sD122
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  rA   )TTTF)
r'   r(   r   r   rE  r   r   r   rK   rO   )r   
float_datadatetime_datarY   rZ   r]   s         r!   test_any_datetimez(TestDataFrameAnalytics.test_any_datetimek  s    
 BF+
l##l##FF	
 Zm<<==Q33344
vx00000r#   c                    t          g dg dg ddt          g dt                              }|                    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col3rg   r   Tr  r  )FFT)r-  r.  r/  col4r0  F)	r   r   r{   rw  r   r'   bool_rK   rO   rd  s       r!   test_any_all_bool_onlyz-TestDataFrameAnalytics.test_any_all_bool_only~  s    YY			;M;M;MNN222&AAA
 
 

 $''333
vx000!		!		***,,,	 
 
 $''65/**
vx00000r#   zfunc, data, expectedr  r  r   r   zM8[ns, UTC]r  categoryrt   ru   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   )rM   r   )rl   r   s     r!   r  z>TestDataFrameAnalytics.test_any_all_np_func.<locals>.<genexpr>  s-      DD1z!-..DDDDDDr#   z)dtype category does not support reductionrE   rA   z0'(any|all)' with datetime64 dtypes is deprecatedc                     | j         dk    S )NrM  )kindr   s    r!   r#  z=TestDataFrameAnalytics.test_any_all_np_func.<locals>.<lambda>  s    16S= r#   F)rF   check_stacklevel)r   r   dtypesrQ   rR   r   rJ   __name__rP   r  rK   rL   rM   r'   r1  r  )r   funcr%  r]   r   r  rZ   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 )Nr5   r1   r   TF)r'   rw  r   r  r   )r   rZ   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   r2   TFr  r  r3  r?  r   )r  r;   r  r  )r   r   r{   r{  r   _get_bool_datarK   rX  rw  rO   r   )r   rY   resr]   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nerA   )r   r'   r(   r   rK   rL   cliprJ   )r   rY   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)[r:  
__module____qualname__rQ   r  parametrizeparamtd
skip_if_nor   r   r   r   r   r   r'   r(   r{   filterwarningsr   r   r  r   r  r  r  r  r  r.  r5  r9  r
   r   r   r  r   rE  rY  ra  re  r  r  r  r  r   r   rS  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'  r+  r2  r   rw  r   r   r<  r>  rB  rN  r,   r#   r!   r   r      s:        [VaV,,[FL}r}W'='=>>>FL}r}W'='=>>>	
 $,N ,N%  -,&,N\ [VaV,,[FL}r}W'='=>>>FL}r}W'='=>>>	
 "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"@ [""$$-Q   * * *"	
 	
 	
 [TD%=111 1 211 [TD%=111 1 2111 1 16* * *" [V%:%:%:;;"; "; <;";H* * * [ $cUu===&~XFFF%xj11  &!26(&999$bfX3%@@@&xx@@@%rvh//  Q/Q/RVRVRV4$c262626%BPSuUUU&;;;8   &&E&E&EFF%
 
 Q/Q/RVRVRV4$bfc2626%BPSuUUU&;;;8   &&E&E&EFF%
 
O5	
8 8r0 0s8 8r040 0 00 0 0U5 U5 U5n1 1 1  [L,EqBF8|T 1 1 1*   [JqMMM"E"BH%%%E"BJ'''M"4(((K%%%	

 

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 [ VWW[Xu~66) ) 76 XW)V  B [VaV,,[_uen==[Xe}551 1 65 >= -,1, [K 1 1 1 1 1 10 [/	
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#   r   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   rE  r   r   r   rK   rO   r   )r   rY   rA  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   r5   r5   )r   r1   )rM   r   r   rQ   skipr   r   r   rE  r   r   r2  rI   rK   rO   r   )r   r  tz_naive_fixturer  rY   rA  r]   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   rA   r=   )
r   r   r   r   r   r   rE  r   rK   rO   )r   rY   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   rg   r   rA   r=   )
r   r   r   r'   r  r   r   r   rK   rO   )r   rY   expected_float_seriess      r!   *test_min_max_dt64_api_consistency_empty_dfzBTestDataFrameReductions.test_min_max_dt64_api_consistency_empty_dfl  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=   rA   )r   r   r   rJ   rK   rO   )r   re  r   
initial_dtr]   rY   rZ   s          r!   test_preserve_timezonez.TestDataFrameReductions.test_preserve_timezonex  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   rE  rJ   rK   rO   )r   r   r<   r&  rY   r   rZ   r]   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)r5   trA   FTr5   rn  )r%  rH   r$  )r   r   r   r   rK   rO   rd  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                 2   |dk    r3|                     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 skipnar   r	  zAFor argument "skipna" expected type bool, received type NoneType.rE   r  )r  rQ   r  r  rR   rS   rJ   )r   r  frame_or_seriesr  objr   s         r!   "test_reductions_skipna_none_raisesz:TestDataFrameReductions.test_reductions_skipna_none_raises  s     W$$!!)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]rg   z2019-12-31 00:00:00.123zdatetime64[ms]r  r5   r1   r  )r   r   r   r   rK   rO   rd  s       r!   &test_reduction_timestamp_smallest_unitz>TestDataFrameReductions.test_reduction_timestamp_smallest_unit  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]rg   ztimedelta64[ms]r  r5   r1   r  )r   r   r   rz  r   rK   rO   rd  s       r!   &test_reduction_timedelta_smallest_unitz>TestDataFrameReductions.test_reduction_timedelta_smallest_unit  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:  rO  rP  rZ  r^  ra  rd  rQ   r  rQ  r   rh  rk  ro  rs  rS  skip_array_manager_invalid_testru  &skip_array_manager_not_yet_implementedrw  r,   r#   r!   rW  rW  '  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#   rW  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   rw  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=   r3  r  )rI   r  does not support reductionrE   Fr  rA   )r   to_framerQ   rR   r   rJ   r'   )r   r   serrY   s       r!   .test_any_all_categorical_dtype_nuisance_columnzBTestNuisanceColumns.test_any_all_categorical_dtype_nuisance_column  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=   r2   r2   r2   r   r}  rE   Fr  r  )r   r
   rQ   rR   r   r   r   r   )r   rY   r  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)r5   r1   r   r1   F)orderedr  zis not ordered for operationrE   r  r   rA   r  )
r
   r   r~  rQ   rR   r   rJ   r'   r   r{   )r   r   catr  rY   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:  rO  rP  rQ   r  rQ  r  r  r  r,   r#   r!   r{  r{    s        [Xu~66, , 76,*  6 [Xu~66, , 76, , ,r#   r{  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_dtyperB   r   rC   r=   c                     t          g g d|          } t          ||          d          }t          ||g|          }t          j        ||           d S Nr   r=   rg   r   r  r  r   rT   rI   	exp_value	exp_dtyperY   rZ   r]   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 Nr  rg   r=   r  )r   rJ   r   r'   r(   rK   rO   r   rT   rI   r  rY   rZ   r]   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  )rB   r  r   r  )rC   r  r=   r  UInt8UInt32UInt64)rB   r  r   r  )rC   r  r=   r  )rB   Float32r   r  )rC   r  r=   r  )rB   r  r   r  c                     t          g g d|          } t          ||          d          }t          ||g|          }t          j        ||           d S r  r  r  s           r!   "test_df_empty_nullable_min_count_0z?TestEmptyDataFrameReductions.test_df_empty_nullable_min_count_0W  sh    $ 2"~~U333$V$$q1119i0	BBB
vx00000r#   )rB   r  r  )rC   r  r  )rB   r  r  )rC   r  r  )rB   r  r  )rC   r  r  )rB   r  r  c                     t          g g d|          } t          ||          d          }t          t          j        t          j        g|          }t          j        ||           d S r  )r   rJ   r   r   NArK   rO   r  s          r!   "test_df_empty_nullable_min_count_1z?TestEmptyDataFrameReductions.test_df_empty_nullable_min_count_1q  sk    " 2"~~U333$V$$q11125"%.	:::
vx00000r#   N)r:  rO  rP  rQ   r  rQ  r'   int8rS  int_uint8uint64uintr   r  r  r  is_windows_np2_or_is32r  is_windows_or_is32r  r,   r#   r!   r  r  (  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#   r  c                    | r5t           j                            d          }|                    |           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 resultr   rC  zm8[s]rf   r2   Nat)rn  rn  Fr  r:  rm  rg   r   r:   r=   rs   rD  )rQ   r  r  r  r'   rT  r   rS  viewreshaper   r9  rI   rw  rB   r   r   rz  rE  rK   rO   )r  r  r  r-  rY   rZ   r]   s          r!   !test_sum_timedelta64_skipna_falser    s    "{  H ! 
 
 	D!!!
)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#   z#sum doesn't work with arrow stringsr   c                      t          ddggt          d                    } |                     ddi          } |                                 }t	          ddgddg          }t          j        ||           d S )Nr5   r=   abr   r1   r  r  )r   r|   r   rB   r   rK   rO   )rY   rZ   r]   s      r!   !test_mixed_frame_with_integer_sumr    sw    
 
S!H:tDzz	2	2	2B	C>	"	"BVVXXFsAhsCj111H68,,,,,r#   r   )TFNr   r   r   c                 j   t          j        d          }t          |j        d |j        gt          j                              }t          d|i          } t          ||           |          }t          t          ||           gdt          dg                    }t          j        ||           d S )NrS  rg   r  r  r  )r'   iinfor   r   r   r   
Int64Dtyper   rJ   r   rK   rO   )r   r   
int64_infor  rY   rZ   r]   s          r!   test_minmax_extensionarrayr    s     '""J
*.$
7r}
O
O
OC	GS>	"	"B WR  l;;;F	V	$	$%WI  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   r}  rE   )r   rQ   rR   r   rB   )r  rY   s     r!   .test_frame_mixed_numeric_object_with_timestampr    s     
!C5whZHH	I	IB	y(D	E	E	E  
                 s   AAAc                  p   t          g d          } |                     ddd          }t          dgt                    }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=   r5   Tr   r=   F)r;   r  r   r5   rg   z2unsupported operand type(s) for +: 'int' and 'str'rE   )r   rC   r   r{   rK   rO   r   escaperQ   rR   r   rB   )rY   rZ   r]   r   s       r!   $test_prod_sum_min_count_mixed_objectr    s    	>>>	"	"BWW!quW==Fse6***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/2B/)r   r   r   r   r   r   rI   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 )Nr2   )rf   rf   rg   r   >   r   r   r   r   r   F)r   r;   rA   )r   r'   r   r   r   rJ   to_numpyr  rQ   r   rK   r(  )r   r   rI   rY   rZ   np_arrcomp_modr]   s           r!   'test_reduction_axis_none_returns_scalarr    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  r   r   r   r   r   rC   quantiler   r   r   rB   r   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,   r   )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 numericrE   )r   r{   r   rQ   rR   r   rJ   )r  rY   argsr   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)rw  r   r   r  r  r   r   r   r   r   r   r   rC   r   r   r   r   rB   r   r  r2   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 )NrG  rg   r   r=   r   r  )r   r   r   r   r   r   r   r   rS  )rw  r   boolean)r   r   r   r   r   r   r   r   Floatr  )r   r   r  r<   )rC   r   rB   r  )r  r  zThe behavior of DataFrame.z with all-NA valuesrE   r;   r,   )r   r   r   r  r'   r(   
startswithr  rK   rL   rJ   r   rO   )r   r<   r  any_numeric_ea_dtyperY   expected_dfr  r  r  r   rZ   r]   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?r   )TTFr.   r/   N)Bdatetimer   decimalr   r   dateutil.tzr   numpyr'   rQ   pandas._configr   pandas.compatr   r   pandas.compat.numpyr	   pandas.util._test_decoratorsutil_test_decoratorsrS  pandasr   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingrK   pandas.corer   r   r  r  r-   rc   fixturer   r   r   rW  r{  r  r  r  r  r  rQ  r  rE  r  r  r  r  r  r,   r#   r!   <module>r     sC               				            5 5 5 5 5 5        / . . . . . ) ) ) ) ) ) ) ) )                                                 
 .-//F4FSt8 ((**6$h    H 		k1 k1 k1 k1\   (   "B/ B/ B/ B/ B/ B/ B/ B/J*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   )N   - - - )<)<)<==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#   