
    bMh)                       d dl mZ d dlmZ d dlZd dlmZ d dlZd dl	Z	d dl
mZmZ d dlmZ d dlmc mZ d dlZd dlmZmZmZmZmZmZmZmZmZmZmZ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*d1d	Z+	 	 	 	 	 	 d2dZ,e	j-        d             Z.e	j-        d             Z/ G d d          Z0 G d d          Z1 G d d          Z2 G d d          Z3d Z4d Z5e	j6        7                    dg d          e	j6        7                    dddg          d                          Z8e	j6        7                    d! ed"          ej9        g          d#             Z:d$ Z;e	j6        7                    dg d%          e	j6        7                    dd
dg          e	j6        7                    d&d'd(g          d)                                     Z<e	j6        7                    d*g d+          d,             Z=e	j6        7                    dg d-          e	j6        7                    d.d d/g          d0                         Z>dS )3    )	timedelta)DecimalN)tzlocal)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    b/var/www/html/test/jupyter/venv/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_wrapperB   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matchrB   indexdtype)getattrr   r   tmassert_produces_warning
isinstancer   ranger%   r,   assert_series_equalapplyr   rH   pytestraises
ValueErrorr&   r'   rG   )opnamer*   frame
has_skipnar=   check_datesr>   r?   r   fdfresultr7   r!   result0result1expected	lcd_dtypeall_nar0r1units    `                    r    assert_stat_op_calcrb   K   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
    )      rH   r   r@   c                     g | ]}d | S foo_r+   .0is     r    
<listcomp>z&bool_frame_with_na.<locals>.<listcomp>       333AZAZZ333r"      ABCD)rG   columnsrH      
   rd      N)r   r&   concatenateonesboolzerosr   rM   objectlistr'   ilocrX   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
    r1   )ro   re   c                     g | ]}d | S rh   r+   rj   s     r    rm   z'float_frame_with_na.<locals>.<listcomp>   rn   r"   ro   rf   rp   rG   rq   rr   rs   rd   rt   ru   N)r   r&   randomdefault_rngstandard_normalr   rM   rz   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                      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d- Zd. Zej                            d/d0d1g          d2             Zej                            d/d0d1g          d3             Zd4 Zd5 Zej                            d6g d7          d8             Zd9 Zej                            d:d;d<gd=gd>gd?g ed?gd?g@           edAgdB'           edCg          dDfdEd<gd=gej        g e ej        gdF'           eej        gd?g@           ee!j"        gdB'           ee!j"        g          dDfd;dGdHej        ej        gdGdHej        ej        gdej        ej        ej        g ed?ej        ej        ej        gd?g@           eg dIdB'           eg dJ          g dKdLfdEdGdHej        ej        gdGdHej        ej        gdej        ej        ej        g eej        d?ej        ej        gd?g@           eg dMdB'           eg dN          g dKdLfg          dO             Z#dP Z$dQ Z%dR Z&dS Z'ej                            dTdUdVe!j"        dWgd%e!j"        gz  g          dX             Z(dY Z)ej                            dZ e*d           eg            e+g ej,        '           e+g ej-        '           eg d[\           e.g d]\          g          d^             Z/ej                            d_d`dag          ej                            dbg dc          dd                         Z0de Z1df Z2ej                            dgg dh          ej                            didd#djdkdlej        gfdd$djej        ej        ej        gfddEdmdkdlej        gfg          dn                         Z3ej                            dgg dh          ej                            didd#djdodpej        gfdd$djej        ej        ej        gfddEdmdodpej        gfg          dq                         Z4dr Z5ds Z6dt Z7du Z8dv Z9dw Z:dx Z;dy Z<dz Z=ej                            d{d;dEg          ej                            dddg          d|                         Z>ej                            dddg          ej                            d}          d~                         Z?ej                            dbd;dEg          d             Z@d ZAej                            dddg          d             ZBej                            dddg          ej                            d}          d                         ZCej                            dbd;dEg          d             ZDd ZEd ZFd ZGej                            dddd%gfdddgfg          d             ZHd ZIej                            dddg          ej                            dddg          ej                            ddEd;g          d                                     ZJej                            dddg          ej                            dddg          d                         ZKej                            d          ej                            dddg          d                         ZLd ZMej                            dddg          ej                            dddg          ej                            d{d;dEg          d                                     ZNej                            d          d             ZOd ZPej                            dg ejQ        i dEfejR        i d;fejQ        dg idEfejR        dg id;fejQ        ddEdEgidEfejR        ddEdEgidEfejQ        dd;dEgid;fejR        dd;dEgidEfejQ        dd;d;gid;fejR        dd;d;gid;fejQ        dEgdEgddEfejR        dEgdEgddEfejQ        dEdEgdEd;gdd;fejR        dEdEgdEd;gddEfejR        d e dd>gd'          idEfejQ        d e dd>gd'          id;fejR        d e ddgeS'          idEfejQ        d e ddgeS'          id;f ej        ejR        d e ddgdB'          idE           ej        ejR        d e ddgd'          idE           ej        ejQ        d e ddgdB'          id;           ej        ejQ        d e ddgd'          id;           ej        ejR        d e dd#gdB'          id;           ej        ejR        d e dd#gd'          id;           ej        ejQ        d e dd#gdB'          id;           ej        ejQ        d e dd#gd'          id;           ej        ejR        d e ddgd'          idE           ej        ejQ        d e ddgd'          id;           ej        ejR        d e dd#gd'          id;           ej        ejQ        d e dd#gd'          id;          ejR        d e ddgd'          id;fejQ        d e ddgd'          idEfejR        d e dd#gd'          id;fejQ        d e dd#gd'          idEf ej        ejR         e ddgdB'           e ddgd'          dd;                    d             ZTd ZUd ZVd ZWd0S )TestDataFrameAnalyticsr:   r   r<   rS   countrA   meanproductmedianminmaxnuniquevarstdsemskewscipy)markskurtc                 b   |dv r|dk    s|dv r t          ||          |           n|dv rd}no|dk    r|dk    rd	}n`d
}n]|dk    rd}nT|dk    r!|dk    rd                    ddg          }n0d}n-|dv rd}n&|dk    r t          j        dt          j                  }t          |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)rA   r   r   r   r   r   r@   )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'rA   z7unsupported operand type\(s\) for \+: 'float' and 'str'r   |z%Could not convert \['.*'\] to numericz/Could not convert string '(bar){30}' to numericr   r   z<'[><]=' not supported between instances of 'float' and 'str'r   z@Cannot convert \[.*\] to numeric|does not support|Cannot perform)flagsz*|does not support|Cannot perform reductionrD   r   Tr:   numeric_only)
rI   joinrecompileSrL   PatternrP   rQ   	TypeError)selffloat_string_framer:   rS   msgs        r    #test_stat_op_api_float_string_framez:TestDataFrameAnalytics.test_stat_op_api_float_string_frame   s   ( +++		f I
 ?
 ?
 0G&//T:::::>>>@9$$199NCCLCC5P6!!199((DM CC UCC>))T8##jW$   c2:.. IHH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   rI   )r   float_framer:   rS   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   rA   ss    r    r   z7TestDataFrameAnalytics.test_stat_op_calc.<locals>.count5  s    88<<>>!r"   c                 h    t          t          j        |                                                     S r   )r%   r   unique1dr$   r   s    r    r   z9TestDataFrameAnalytics.test_stat_op_calc.<locals>.nunique8  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>.var;      6!!$$$$r"   c                 .    t          j        | d          S r   )r&   r   r   s    r    r   z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.std>  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>.semA  s*    6!!$$$rws1vv66r"   r   FT)rU   r=   rV   rA   float32gMbP?)r=   r>   )r   r   rV   r   r   r   r   r   )rb   r&   rA   astypenansumr   rB   nanprod)r   r   mixed_float_framer   r   r   r   r   s           r    test_stat_op_calcz(TestDataFrameAnalytics.test_stat_op_calc4  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>.skewnesso  s/    1vvzzv===///r"   c                 p    t          |           dk     rt          j        S                     | d          S )Nre   Fr   )r%   r&   r'   kurtosisr   s    r    r   zDTestDataFrameAnalytics.test_stat_op_calc_skew_kurtosis.<locals>.kurtt  s2    1vvzzv$$QU$333r"   r   r   )rP   importorskiprb   )r   r   r   r   r   s       @r    test_stat_op_calc_skew_kurtosisz6TestDataFrameAnalytics.test_stat_op_calc_skew_kurtosisl  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    r7   z3TestDataFrameAnalytics.test_median.<locals>.wrapper}  s-    Aww{{}} v9Q<<r"   r   Tr   F)r=   rV   )rb   )r   r   	int_framer7   s       r    test_medianz"TestDataFrameAnalytics.test_median|  sX    	  	  	 
 	Hg/BPTUUUUgye	
 	
 	
 	
 	
 	
r"   method)rA   r   rB   r   r   r   r   r   rX   )gȃw@Ba@gCVZg
?Z.F?)r   r           )g94c4?g@}jX?gNr4   r0   cfoobarbazOrF   r1   r   re   r   r<   r1   rf   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 )Nr@   f8)r<   rq   r   )
r   rH   r&   object_rI   r   rz   r   rJ   rN   )r   r   rX   r:   rY   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  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<   r1   r   re   )      ?       @      @      @r4   r0   r   d)intfloatstrr   )zCould not convertcould not convertz"can't multiply sequence by non-intzdoes not supportzCannot performrD   use_bottleneckF)r   r   rP   rQ   r   rI   pdoption_context)r   r   rX   r   s       r    test_mixed_opsz%TestDataFrameAnalytics.test_mixed_ops  s    #||---+++ 
 
 hh  
 
 ]9C000 	 	GBOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 /77 	" 	"y444 " "B!!!" " " " " " " " " " " " " " "	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"sH   A11A58A5C*-CC*C	C*C	C**C.1C.c                 ^   t          g dg dg dd          }|                    g d           |                    d          }t          j        |j        t          j        g dt          	                     |j	                            d
          }t          j
        ||           d S )N)TTFFF)rs   rt   ro   (   2   )r4   r0   r   r   e)	bool_dataint_datastring_datarq   r   r@   )r1      abcderf   r<   )r   reindexrA   rJ   assert_numpy_array_equalr   r&   arrayrz   TrN   )r   rX   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<   r1   r   r<   r   ABCr1   Fr$   r@   r   )r:   r$   )r   r&   r'   rJ   rN   r   r   r   rX   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  r1   r  r  r   r  r  rG   r   r   r   r   rJ   rN   r   r  rX   rY   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  r1   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 )Nr1   z628.00r  r<   z383.00r   z651.00z575.00re   z1114.00TESTz241.00z572.00z609.00z820.00rr   z1223.00z8unsupported operand type|does not support|Cannot performrD   r  r	  g@gL@rF   )
r   r   rP   rQ   r   r   r   rz   rJ   rN   )r   r   rX   rY   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\\]W
 
 
 	 	 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 )Nre   r   c                 .    |                      d          S Nre   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"   r1   r<     r#  r   r@   r   F)r   rO   rJ   assert_almost_equalr   r&   repeatr   r   r   nanvarr   r   r   r   datetime_framerY   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 )Nr1   )rr   r   r   r   r   100)r   r   r4   r<   Tr   r   r   r@   z6unsupported operand type\(s\) for -: 'float' and 'str'rD   Fz&could not convert string to float: 'a')r   r&   r   r   r   r   rz   locrI   rJ   rN   rP   rQ   r   )r   r+  df1df2rY   r\   r   s          r    test_numeric_only_flagz-TestDataFrameAnalytics.test_numeric_only_flag   s    I!!!$$44V<<)))
 
 

 jj%))!I!!!$$44V<<)))
 
 

 jj%))#d##>>>573u~.551===
x000#d##>>>573u~.551===
x000 H]9C000 	; 	;GCAE::::	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	;6]9C000 	; 	;GCAE::::	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	;s$   F<<G G $HHHc                 2   |                     d          }|                    d           }t          j        ||           t	          j        t          j                            d                              d          dd          }t          j	        |d          }|dk     
                                rJ t          j        d	d
          5  t          j	        |d          }|dk     
                                rJ 	 d d d            d S # 1 swxY w Y   d S )Nre   r   c                 r    |                      d          t          j        t          |                     z  S r  )r   r&   r   r%   r   s    r    r  z1TestDataFrameAnalytics.test_sem.<locals>.<lambda>G  s%    !%%Q%--"'#a&&//2Q r"   r1   r"  r#  r   r@   r   F)r   rO   rJ   r$  r&   r%  r   r   r   nansemr   r   r   r'  s        r    test_semzTestDataFrameAnalytics.test_semE  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   r4   )
categories
2000-01-02M8[ns]1 days)r  r  r	  DEFGFr      	   )r8  NaTrA  rA  r:  r'   r'   r'   r   r<   r1   r   )HIJKLMNrA  r8  rA  rA  )r'   r:  r'   r'   c                 N   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d          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)r6  r6        rs   r   r<   r4   r   rf   rK  r9  rB  )r?  r?  r@  r@  )r@  r@  r?  r?  )r8  r8  rA  rA  )r:  r'   r:  r'   re   int64)r  r  r	  r;  r<  r=  r>  rD  rE  rF  rG  rH  rI  rJ  r
  )r   r&   r'   r   r	   r   r   arangesortedkeysmoderJ   assert_frame_equal)r   r$   r\   rX   rY   s        r    test_mode_dropnaz'TestDataFrameAnalytics.test_mode_dropnaR  su   t %%%"bfa(0RVRVS"&9GGG "&"&#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          }|                    d          }t	          j        ||           d S )Nr  r4   Fr
  )r   r&   r'   rS  rJ   rT  )r   using_infer_stringrX   r\   rY   s        r    test_mode_sort_with_naz-TestDataFrameAnalytics.test_mode_sort_with_na  se    bfbfc37899cC=122&&
fh/////r"   c                     t          g ddg          }|                                }t          g ddgt          g t          j                            }t          j        ||           d S )Nr4   r0   r   rf   rq   rG   )r   rS  r   r&   rO  rJ   rT  r   rX   rY   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;  r3   freqz2012-1-220120101rr   )minutessecondsr  r  r	  r  r  r   )r   r  r<   )r   r  r@   )r1   r  )r1   r  r   r   r<  20130101r=  i1  rb  )daysr  Tr   )r<   r<   r   r   20130102r2   20130105)timetime2rj  ri  off1timedelta64[ns]off2)r   r   r   r   r   r|   r.  allr   absrJ   rT  copyr   r   	Timedeltarq   rN   rH   _consolidate_inplace)r   rX   diffsrY   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 Dayrs   r2   r  Trp  )ru   re  Fr;   r  r  rl  rF   r<   r9   r   r?  )
r   timedelta_ranger   rA  r|   r   r   rJ   rN   rq  )r   tdirX   rY   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   rA  rk   values     r    	<genexpr>zFTestDataFrameAnalytics.test_std_datetime64_with_nat.<locals>.<genexpr>   s(      BB%ervoBBBBBBr"   z=GH#51446: Incorrect type inference on NaT in reduction resultreasonr4   ry  c              3   2   K   | ]}|t           j        u V  d S r   r  r  s     r    r  zFTestDataFrameAnalytics.test_std_datetime64_with_nat.<locals>.<genexpr>)  s(      AAUbf_AAAAAAr"   ztimedelta64[]rf   l     "R: )rn  rP   markxfailapplymarkerr   as_unitr   r   r   r   rA  rJ   rN   )r   r   r;   using_array_managerrequestra   r  dtirX   rY   r\   s              r    test_std_datetime64_with_natz3TestDataFrameAnalytics.test_std_datetime64_with_nat  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   rA   rL   r   r%   )r   empty_frameaxis0axis1s       r    test_sum_cornerz&TestDataFrameAnalytics.test_sum_corner0  s    kk""""%(((((%(((((5zzQ5zzQr"   rG   ME)r_  r;  c                     t          dg|          } t          ||          d          }|dv rd}n|dk    rd}nd	}t          g ||
          }t          j        ||           d S )Nr4   rZ  r<   r@   )r   rn  rx   r   rO  rz   rF   r   rI   r   rJ   rN   )r   all_reductionsrG   rX   rY   expected_dtyper\   s          r    test_axis_1_emptyz(TestDataFrameAnalytics.test_axis_1_empty:  s     uE222,^,,!444^++#NNw&&$NN%N"E@@@
vx00000r"   zmethod, unit)rA   r   )rB   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   float64rF   r<   )r   	min_countr  r   rs   rr   r  r  r     )r   r&   r'   rI   r   rJ   rN   r|   )r   r   ra   r   idxrX   rY   r\   s           r    test_sum_prod_nanopsz+TestDataFrameAnalytics.test_sum_prod_nanopsQ  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]rH   rG   r  r<   )	r   r&   r'   rO   r   rA   r   rJ   rN   )r   r  rX   r0  rY   r\   s         r    test_sum_nanops_timedeltaz0TestDataFrameAnalytics.test_sum_nanops_timedeltas  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  re   rr   r  )r   yrs   r  r   r  r  )r   rA   r   r&   r'   rJ   rN   r[  s       r    test_sum_nanops_min_countz0TestDataFrameAnalytics.test_sum_nanops_min_count  sj    YYYYYY7788"%%2626*3*===
vx00000r"   
float_type)float16r   r  zkwargs, expected_result)r:   r  g	@g333333@r9   c                     t          g dddt          j        gd|          } |j        di |}t	          |                              |          }t          j        ||           d S )N)r   gffffff@皙@g@r   r4   r0   rf   r+   )r   r&   r'   rA   r   r   rJ   rN   r   r  kwargsexpected_resultrX   rY   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  rf   r+   )r   r&   r'   rB   r   r   rJ   rN   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   rG   rq   r   rA   )r   r   r   rT   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&   isnanrA   )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  re   r2   r   r  )r1   r   re   z does not support reduction 'sum'rD   )r   r   r   rP   rQ   r   rA   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 )	Nz1Could not convert|does not support|Cannot performrD   r   r@   unsupported operand typer<   r  rx   )rP   rQ   r   r   r   )r   r   r   r   meanss        r    test_mean_cornerz'TestDataFrameAnalytics.test_mean_corner  sd   A]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-01r2   1D2016Yr^  )r  r  r	  r;  Tr  r  r   z'mean is not implemented for PeriodArrayrD   )r   r&   rP  r   r   rz  period_ranger   r   rJ   rN   rP   rQ   r   r[  s       r    test_mean_datetimelikez-TestDataFrameAnalytics.test_mean_datetimelike  s   
 Yq\\a888'a888_VQSAAA	 
 
 d++3*%%
vx000]9,UVVV 	 	GGIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   6CCCc                    t          t          j        d          t          dd          t	          j        dd          d          }|                    d          }t          d|j        d	         |j        d
         d          }t          j
        ||           t	          j        ddd          |d<   t          j        t          d          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nr   r  r2   r  r  Fr  r<   )r<   r  )r<   r	  r  r  r^  r;  z"mean is not implemented for PeriodrD   )r   r&   rP  r   r   rz  r   r   r.  rJ   rN   r  rP   rQ   r   r[  s       r    )test_mean_datetimelike_numeric_only_falsez@TestDataFrameAnalytics.test_mean_datetimelike_numeric_only_false  s>   Yq\\a888'a888 
 
 e,,vRVF^LLMM
vx000 /&!#>>>3]9,PQQQ 	( 	(GGG'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   C66C:=C:c                 N   t           j                            d                              dd          }t	          |d          }|                    d          }t	          |                                                              d	          }t          j        ||           d S )
Nr1   r#  )rs   rr   )sizeInt64rf   Tr  Float64)	r&   r   r   integersr   r   r   rJ   rN   )r   r)  rX   rY   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   rD   r<   r  )rP   rQ   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<   rs   r   r@   r   )r   rM   r   rA   )r   rX   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 )Nrr   rs   rd   rt   ru   Fr<   z3The behavior of DataFrame.idxmin with all-NA valuesrD   r9   zThe behavior of Series.idxmin)r&   r'   r|   FutureWarningrJ   rK   idxminrO   r   r   rG   rH   rN   r   r   r   r;   r:   rT   rX   warnr   rY   msg2r\   s               r    test_idxminz"TestDataFrameAnalytics.test_idxmin  s    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   r9   rf   )r   r  r   rH   rJ   rN   r   rG   r;   r:   rT   rY   r\   s          r    test_idxmin_emptyz(TestDataFrameAnalytics.test_idxmin_empty*  o     199E***EEe,,,E477,,,
vx00000r"   c                     t          g dg dt          d          d          }|                    |          }|rt          ddgdd	g
          }nt          g dg d
          }t	          j        ||           d S )Nr1   r   r<   r1   r<   r<   xyxr   r  r1   r<   r4   r0   r  )r1   r<   r   )r   r{   r  r   rJ   rN   r   r   rX   rY   r\   s        r    test_idxmin_numeric_onlyz/TestDataFrameAnalytics.test_idxmin_numeric_only7      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 DataFramerD   r1   r@   )rP   rQ   rR   r  r   r   rT   r   s       r    test_idxmin_axis_2z)TestDataFrameAnalytics.test_idxmin_axis_2A      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 )Nrr   rs   rd   rt   ru   Fr<   z3The behavior of DataFrame.idxmax with all-NA valuesrD   r9   zThe behavior of Series.idxmax)r&   r'   r|   r  rJ   rK   idxmaxrO   r   r   rG   rH   rN   r  s               r    test_idxmaxz"TestDataFrameAnalytics.test_idxmaxG  s   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 	5r  c                     |dk    rt          |          }nt          |          }|                    ||          }t          |j                  }t	          j        ||           d S r  )r   r  r   rH   rJ   rN   r  s          r    test_idxmax_emptyz(TestDataFrameAnalytics.test_idxmax_emptyZ  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   r4   r0   r  )r<   r   r<   )r   r{   r  r   rJ   rN   r  s        r    test_idxmax_numeric_onlyz/TestDataFrameAnalytics.test_idxmax_numeric_onlyg  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]rf   r<   r   r4   r0   r  r1   )r0   r   r4   zstring[pyarrow]Fr  )rP   r   r   r  r   rJ   rN   r  r[  s       r    test_idxmax_arrow_typesz.TestDataFrameAnalytics.test_idxmax_arrow_typesq  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  )rP   rQ   rR   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   r2   )r   r1   r<   re  T)deepr  )r<   r   r1   r  )r   r1   r   )r   r   re   )r<   r   r1   r   r   )r   r1   r<   r1   )r   r   rM   rp  r  r   rJ   rN   r  r   rA  r.  rr  r   r  rX   rY   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  rr   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<   r1   r   )IDr  r  rf   r  r  r   r  )namerH   r  )r   groupbyrI   r   rJ   rT  )r   r   expected_valuerX   rY   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   r2   re  )r   re   Trx  )r   r   r<   r@   )re   r   r   )re   r   re   )r   r   r   rA  r|   rr  r  r   rJ   rN   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   rn  	bool_onlyc                     |}t           j                            d                              t	          |                    dk    |d<    t          ||          ||           d S )Nr1   g      ?_bool_r:   r	  )r&   r   r   r   r%   rI   )r   rS   r:   r	  r   ru  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   rS   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   r6   s    r    r7   z?TestDataFrameAnalytics.test_any_all_bool_frame.<locals>.wrapper  r8   r"   r   Fr9   r<   r@   )r=   rC   rD   r1   r   )fillnarI   r&   rJ   rN   rO   rP   rQ   rR   r'   r   rn  )r   rS   r~   rT   rW   r!   r7   rZ   r[   r^   r_   r`   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<   r@   Tr  r	  Fr	  )r   r   r   rJ   rN   rn  itemr[  s       r    test_any_all_extraz)TestDataFrameAnalytics.test_any_all_extra  s   )))(((''' 
 "//
 
 
 S#J###++---___EEE
vx000S#J##d#;;
vx000...oooFFF
vx000T**
vx000 T""''))T""''))~~~~SED))..00~~~~~~r"   bool_agg_funcc           	         t          dt          j        t          j        dgt          j        dt          j        dgt          j        t          j        t          j        dgt          j        t          j        dt          j        gg          } t          ||          ||          }t	          g d          }t          j        ||           d S )Nr<   Tr1   5datar9   )TTTT)r   r&   r'   rI   r   rJ   rN   )r   r:   r  r;   rX   rY   r\   s          r    test_any_all_object_dtypez0TestDataFrameAnalytics.test_any_all_object_dtype8  s    
 BFBFD)BFD).bf-	
 
 
 ,]++fEEE22233
vx00000r"   zAignore:'any' with datetime64 dtypes is deprecated.*:FutureWarningc                 >   dt           j        dt           j        g}t          d          t          d          t          j        t          j        g}t          ||d          }|                    d          }t          g d          }t          j	        ||           d S )Nr<   r   z
1960-02-15z
1960-02-16r  r@   )TTTF)
r&   r'   r   r   rA  r   r   r   rJ   rN   )r   
float_datadatetime_datarX   rY   r\   s         r    test_any_datetimez(TestDataFrameAnalytics.test_any_datetimeJ  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col3rf   r   Tr  r  )FFT)r$  r%  r&  col4r'  F)	r   r   rz   rn  r   r&   bool_rJ   rN   r[  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  categoryrs   rt   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   )rL   r
   )rk   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 reductionrD   r@   z0'(any|all)' with datetime64 dtypes is deprecatedc                     | j         dk    S )NrI  )kindr   s    r    r  z=TestDataFrameAnalytics.test_any_all_np_func.<locals>.<lambda>  s    16S= r"   F)rE   check_stacklevel)r   r   dtypesrP   rQ   r   rI   __name__rO   r  rJ   rK   rL   r&   r(  r  )r   funcr  r\   r   r  rY   s          r    test_any_all_np_funcz+TestDataFrameAnalytics.test_any_all_np_funcu  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 )Nr4   r0   r   TF)r&   rn  r   r  r   )r   rY   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   r1   TFr  r	  r*  r;  r   )r	  r:   r  r  )r   r   rz   rr  r   _get_bool_datarJ   rT  rn  rN   r   )r   rX   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ner@   )r   r&   r'   r   rJ   rK   cliprI   )r   rX   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)Xr1  
__module____qualname__rP   r  parametrizeparamtd
skip_if_nor   r   r   r   r   r   r&   r'   rz   filterwarningsr   r   r  r  r  r  r  r*  r1  r5  r	   r   r   r   r   rA  rU  rX  r\  rv  r|  r  r  r   r   rO  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"  r)  r   rn  r   r3  r5  r9  rE  r+   r"   r    r   r      s        [VaV,,[FL}r}W'='=>>>FL}r}W'='=>>>	
 $'N 'N%  -,&'NR [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"2* * *"	
 	
 	
 [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  &666$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! ! ! [VaV,,5 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   rA  r   r   r   rJ   rN   r   )r   rX   r8  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<   Fr9   )r   r4   r4   )r   r0   )rL   r   r   rP   skipr   r   r   rA  r   r   r.  rH   rJ   rN   r   )r   r  tz_naive_fixturer  rX   r8  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   r@   r<   )
r   r   r   r   r   r   rA  r   rJ   rN   )r   rX   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   rf   r   r@   r<   )
r   r   r   r&   r  r   r   r   rJ   rN   )r   rX   expected_float_seriess      r    *test_min_max_dt64_api_consistency_empty_dfzBTestDataFrameReductions.test_min_max_dt64_api_consistency_empty_dfK  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<   r@   )r   r   r   rI   rJ   rN   )r   r\  r   
initial_dtr\   rX   rY   s          r    test_preserve_timezonez.TestDataFrameReductions.test_preserve_timezoneW  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<   r9   )r   r   r   r   rA  rI   rJ   rN   )r   r   r;   valrX   r   rY   r\   s           r    !test_minmax_tzaware_skipna_axis_1z9TestDataFrameReductions.test_minmax_tzaware_skipna_axis_1d  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)r4   tr@   FTr4   rf  )r  rG   r  )r   r   r   r   rJ   rN   r[  s       r    test_frame_any_with_timedeltaz5TestDataFrameReductions.test_frame_any_with_timedeltas  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.rD   ry  )r  rP   r  r  rQ   rR   rI   )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]rf   z2019-12-31 00:00:00.123zdatetime64[ms]r  r4   r0   r  )r   r   r   r   rJ   rN   r[  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]rf   ztimedelta64[ms]r  r4   r0   r  )r   r   r   rq  r   rJ   rN   r[  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)r1  rF  rG  rQ  rU  rX  r[  rP   r  rH  r   r_  rc  rg  rk  rJ  skip_array_manager_invalid_testrm  &skip_array_manager_not_yet_implementedro  r+   r"   r    rN  rN    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"   rN  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   rn  c                 j   t          ddgdd          }|                                }t          j        t          d          5   t          ||                       d d d            n# 1 swxY w Y   t          j        t          d          5   t          t          |          |           d d d            n# 1 swxY w Y   t          j        t          d          5   t          ||          d	           d d d            n# 1 swxY w Y   t          j        t          d          5   t          ||          d 	           d d d            n# 1 swxY w Y   t          j        t          d          5   t          t          |          |d
           d d d            d S # 1 swxY w Y   d S )Nr   r<   r*  r  )rH   r  does not support reductionrD   Fr  r@   )r   to_framerP   rQ   r   rI   r&   )r   r   serrX   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<   r1   r1   r1   r   ru  rD   Fr  r  )r   r	   rP   rQ   r   r   r   r   )r   rX   rw  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)r4   r0   r   r0   F)orderedr  zis not ordered for operationrD   r  r   r@   r  )
r	   r   rv  rP   rQ   r   rI   r&   r   rz   )r   r   catrw  rX   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)	r1  rF  rG  rP   r  rH  rx  rz  r~  r+   r"   r    rs  rs    s        [Xu~66, , 76,*  6 [Xu~66, , 76, , ,r"   rs  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_dtyperA   r   rB   r<   c                     t          g g d|          } t          ||          d          }t          ||g|          }t          j        ||           d S Nr   r<   rf   r   r  r  r   rS   rH   	exp_value	exp_dtyperX   rY   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  rf   r<   r  )r   rI   r   r&   r'   rJ   rN   r   rS   rH   r  rX   rY   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  )rA   r  r   r  )rB   r  r<   r  UInt8UInt32UInt64)rA   r  r   r  )rB   r  r<   r  )rA   Float32r   r  )rB   r  r<   r  )rA   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_06  sh    $ 2"~~U333$V$$q1119i0	BBB
vx00000r"   )rA   r  r  )rB   r  r  )rA   r  r  )rB   r  r  )rA   r  r  )rB   r  r  )rA   r  r  c                     t          g g d|          } t          ||          d          }t          t          j        t          j        g|          }t          j        ||           d S r  )r   rI   r   r   NArJ   rN   r  s          r    "test_df_empty_nullable_min_count_1z?TestEmptyDataFrameReductions.test_df_empty_nullable_min_count_1P  sk    " 2"~~U333$V$$q11125"%.	:::
vx00000r"   N)r1  rF  rG  rP   r  rH  r&   int8rO  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  r?  zm8[s]re   r1   Nat)re  re  Fry  r6  rd  rf   r   r9   r<   rr   r@  )rP   r  r  r  r&   rP  r   rO  viewreshaper   r0  rH   rn  rA   r   r   rq  rA  rJ   rN   )r  r  r  r)  rX   rY   r\   s          r    !test_sum_timedelta64_skipna_falser  h  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"   c                      t          ddggt          d                    } |                     ddi          } |                                 }t	          ddgddg          }t          j        ||           d S )Nr4   r<   abr   r0   r  r  )r   r{   r   rA   r   rJ   rN   )rX   rY   r\   s      r    !test_mixed_frame_with_integer_sumr    su    	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 )NrO  rf   r  r  r  )r&   iinfor   r   r   r   
Int64Dtyper   rI   r   rJ   rN   )r   r   
int64_inforw  rX   rY   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   z5does not support (operation|reduction)|Cannot performrD   )r   rP   rQ   r   rA   )r  rX   s     r    .test_frame_mixed_numeric_object_with_timestampr    s     
!C5whZHH	I	IB	P
 
 
   	                 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<   r4   Tr   r<   F)r:   r  r   r4   rf   z2unsupported operand type(s) for +: 'int' and 'str'rD   )r   rB   r   rz   rJ   rN   r   escaperP   rQ   r   rA   )rX   rY   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   rH   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 )Nr1   )re   re   rf   r   >   r   r   r   r   r   F)r   r:   r@   )r   r&   r   r   r   rI   to_numpyr  rP   r   rJ   r$  )r   r   rH   rX   rY   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   rB   quantiler   r   r   rA   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 numericrD   )r   rz   r   rP   rQ   r   rI   )r  rX   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)rn  r   r   r  r  r   r   r   r   r   r   r   rB   r   r   r   r   rA   r   r  r1   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 )NrC  rf   r   r<   r   r  )r   r   r   r   r   r   r   r   rO  )rn  r   boolean)r   r   r   r   r   r   r   r   Floatr  )r   r   r  r;   )rB   r   rA   r  )r  r  zThe behavior of DataFrame.z with all-NA valuesrD   r:   r+   )r   r   r   r  r&   r'   
startswithr  rJ   rK   rI   r   rN   )r   r;   r  any_numeric_ea_dtyperX   expected_dfr  r  r  r   rY   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)?datetimer   decimalr   r   dateutil.tzr   numpyr&   rP   pandas.compatr   r   pandas.compat.numpyr   pandas.util._test_decoratorsutil_test_decoratorsrJ  pandasr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingrJ   pandas.corer   r   r  r  r,   rb   fixturer~   r   r   rN  rs  r  r  r  r  rH  r  rA  r  r  r  r  r  r+   r"   r    <module>r     s               				                   / . . . . . ) ) ) ) ) ) ) ) )                                                 
 .-//F4FSt8 ((**6$h    H 		k1 k1 k1 k1\   (   "c/ c/ c/ c/ c/ c/ c/ c/L)l1 l1 l1 l1 l1 l1 l1 l1^O, O, O, O, O, O, O, O,d^1 ^1 ^1 ^1 ^1 ^1 ^1 ^1B- - -D- - - )<)<)<==E5>22- - 32 >=- ii&=&=rv%FGG  HG
8 
8 
8 #S#S#STT$779i"899" " :9 87 UT"$    ,# #- ,#8    0 q!f--1- 1- .-1 21- 1- 1-r"   