
    Oh)                    b   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       xr e xs e Z) e       xs e Z*d/d	Z+	 	 	 	 	 	 d0dZ,e	jZ                  d        Z.e	jZ                  d        Z/ G d d      Z0 G d d      Z1 G d d      Z2 G d d      Z3d Z4d Z5e	jl                  jo                  dg d      e	jl                  jo                  dddg      d               Z8e	jl                  jo                  d ed       ejr                  g      d!        Z:d" Z;e	jl                  jo                  dg d#      e	jl                  jo                  dd
dg      e	jl                  jo                  d$d%d&g      d'                      Z<e	jl                  jo                  d(g d)      d*        Z=e	jl                  jo                  dg d+      e	jl                  jo                  d,d d-g      d.               Z>y)1    )	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}|S  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    j/var/www/html/diagnosisapp-backend/venv/lib/python3.12/site-packages/pandas/tests/frame/test_reductions.pyskipna_wrapperz+make_skipna_wrapper.<locals>.skipna_wrapper=   s    %ahh//    c                 p    | j                         }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   s-    88:D4yA~vvt$$r"    )r*   r   r!   s   `` r    make_skipna_wrapperr,   +   s"      	0 	% r"   TFc	                    t        ||       }	|rt        dt        dd      i      }
t        j                  d      5   t        |
|              }ddd       t        t              sJ t        t        |
            |
d<   t        j                  d      5   t        |
|              }ddd       t        |t              sJ t        |      sJ |ryfd}t        |      } |	dd	
      } |	dd	
      }t        j                  ||j                  |      |||       t        j                  ||j                  |d      ||       n} |	d      } |	d      }t        j                  ||j                  |      |||       | dv r-|j                  |d      }t        j                  ||d	||       |r8|j                  j                  }||j                  k(  sJ ||j                  k(  sJ t        j                  t         d      5   |	d       ddd       |r|t"        j$                  z  } t        ||       d      } t        ||       d      }| dv rz| dk(  rdnd}t        ||j&                  |j                        }t        j                  ||       t        ||j&                  |j                        }t        j                  ||       yyy# 1 sw Y   xY w# 1 sw Y   AxY w# 1 sw Y   xY w)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       qxx((r"   r   Faxisskipna   )check_dtypertolatolr8   )r<   r=   )sumprodNo axis named 2matchr@   indexdtype)getattrr   r   tmassert_produces_warning
isinstancer   ranger%   r,   assert_series_equalapplyr   rF   pytestraises
ValueErrorr&   r'   rE   )opnamer*   frame
has_skipnar;   check_datesr<   r=   r   fdfresultr5   r!   result0result1expected	lcd_dtypeall_nar0r1units    `                    r    assert_stat_op_calcr`   K   s   J 	vAZ
A>?@''- 	+(WR(*F	+&&)))B.3''- 	+(WR(*F	+&&)))6{{	) -[:LM5)5)
U[[){TX	
 	KKaK(		
 %QiGQiGN#  ;;~A;6
X5t$	

 LL&&	GMM)))GMM))) 
z):	; 	q	 $WVV$!,$WVV$!,_$&(1aDd"(("((CH""2x0d"(("((CH""2x0 %	 s	+ 	+
	+ 	+` s#   KK&
K3K#&K03K<c            
         t        t        j                  t        j                  dt              t        j
                  dt              gd      t        t        d      D  cg c]  } d|  	 c} t              t        t        d      t              t              }t        j                  |j                  d	d
 t        j                  |j                  ddddf<   |S c c} w )z
    Fixture for DataFrame of booleans with index of unique strings

    Columns are ['A', 'B', 'C', 'D']; some entries are missing
    )      rF   r   r>      foo_ABCD)rE   columnsrF      
   rb      N)r   r&   concatenateonesboolzerosr   rK   objectlistr'   ilocirV   s     r    bool_frame_with_narv      s     

WWWD)288G4+HIPQ	
 r3AtA3Z36Bd6l&1
B FFBGGAbM&&BGGBrE23JI 4s   "C c            
         t        t        j                  j                  d      j	                  d      t        t        d      D  cg c]  } d|  	 c} t              t        t        d      t                    }t        j                  |j                  dd	 t        j                  |j                  d
dddf<   |S c c} w )z
    Fixture for DataFrame of floats with index of unique strings

    Columns are ['A', 'B', 'C', 'D']; some entries are missing
    r/   )re   rc   re   rf   rd   rg   rE   rh   ri   rj   rb   rk   rl   N)r   r&   randomdefault_rngstandard_normalr   rK   rq   rr   r'   rs   rt   s     r    float_frame_with_nar|      s     

		a 009r3AtA3Z36Bd6l&1
B FFBGGAbM&&BGGBrE23JI 4s   B>c                      e Zd Zej                  j                  dddg      ej                  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                  j                  dddg      ej                  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                  j                  dg d      ej                  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                  j%                  d(      d)                      Zej                  j                  d*g d+      d,        Zd- Zd. Zej                  j                  d/d0d1g      d2        Zej                  j                  d/d0d1g      d3        Zd4 Zd5 Zej                  j                  d6g d7      d8        Zd9 Zej                  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!jD                  gdB'       ee!jD                  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                  j                  dTdUdVe!jD                  dWgd%e!jD                  gz  g      dX        Z(dY Z)ej                  j                  dZ e*d       eg        e+g ejX                  '       e+g ejZ                  '       eg d[\       e.g d]\      g      d^        Z/ej                  j                  d_d`dag      ej                  j                  dbg dc      dd               Z0de Z1df Z2ej                  j                  dgg dh      ej                  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                  j                  dgg dh      ej                  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                  j                  d{d;dEg      ej                  j                  dddg      d|               Z>ej                  j                  dddg      ej                  j%                  d}      d~               Z?ej                  j                  dbd;dEg      d        Z@d ZAej                  j                  dddg      d        ZBej                  j                  dddg      ej                  j%                  d}      d               ZCej                  j                  dbd;dEg      d        ZDd ZEd ZFd ZGej                  j                  dddd%gfdddgfg      d        ZHd ZIej                  j                  dddg      ej                  j                  dddg      ej                  j                  ddEd;g      d                      ZJej                  j                  dddg      ej                  j                  dddg      d               ZKej                  j%                  d      ej                  j                  dddg      d               ZLd ZMej                  j                  dddg      ej                  j                  dddg      ej                  j                  d{d;dEg      d                      ZNej                  j%                  d      d        ZOd ZPej                  j                  dg ej                  i dEfej                  i d;fej                  dg idEfej                  dg id;fej                  ddEdEgidEfej                  ddEdEgidEfej                  dd;dEgid;fej                  dd;dEgidEfej                  dd;d;gid;fej                  dd;d;gid;fej                  dEgdEgddEfej                  dEgdEgddEfej                  dEdEgdEd;gdd;fej                  dEdEgdEd;gddEfej                  d e dd>gd'      idEfej                  d e dd>gd'      id;fej                  d e ddgeS'      idEfej                  d e ddgeS'      id;f ej                  ej                  d e ddgdB'      idE       ej                  ej                  d e ddgd'      idE       ej                  ej                  d e ddgdB'      id;       ej                  ej                  d e ddgd'      id;       ej                  ej                  d e dd#gdB'      id;       ej                  ej                  d e dd#gd'      id;       ej                  ej                  d e dd#gdB'      id;       ej                  ej                  d e dd#gd'      id;       ej                  ej                  d e ddgd'      idE       ej                  ej                  d e ddgd'      id;       ej                  ej                  d e dd#gd'      id;       ej                  ej                  d e dd#gd'      id;      ej                  d e ddgd'      id;fej                  d e ddgd'      idEfej                  d e dd#gd'      id;fej                  d e dd#gd'      idEf ej                  ej                   e ddgdB'       e ddgd'      dd;            d        ZTd ZUd ZVd ZWy0)TestDataFrameAnalyticsr8   r   r:   rQ   countr?   meanproductmedianminmaxnuniquevarstdsemskewscipy)markskurtc                     |dv r|dk(  s|dv r t        ||      |       n|dv rd}nj|dk(  r|dk(  rd	}n]d
}nZ|dk(  rd}nR|dk(  r|dk(  rdj                  ddg      }n4d}n1|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        |dk7  r t        ||      |d       y y # 1 sw Y   $xY w)N)r?   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'r?   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 reductionrB   r   Tr8   numeric_only)
rG   joinrecompileSrJ   PatternrN   rO   	TypeError)selffloat_string_framer8   rQ   msgs        r    #test_stat_op_api_float_string_framez:TestDataFrameAnalytics.test_stat_op_api_float_string_frame   s5   ( ++	f I
 ?
 0G&/T:>>@9$19NCLC5P6!19((DMC UC>)T8#jjW$$ c2::.HHy4 ?3*F3>?Y/G&/TM ? ?s   DDc                 ,     t        ||      |d       y )NFr   rG   )r   float_framer8   rQ   s       r    test_stat_op_api_float_framez3TestDataFrameAnalytics.test_stat_op_api_float_frame  s    & 	%V$$UCr"   c                    d }d }d }d }d }t        d||ddd	       t        d
t        j                  |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	       y )Nc                 4    t        |       j                         S r   )r   r?   ss    r    r   z7TestDataFrameAnalytics.test_stat_op_calc.<locals>.count5  s    8<<>!r"   c                 Z    t        t        j                  | j                                     S r   )r%   r   unique1dr$   r   s    r    r   z9TestDataFrameAnalytics.test_stat_op_calc.<locals>.nunique8  s    z**188:677r"   c                 0    t        j                  | d      S Nr:   ddof)r&   r   r   s    r    r   z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.var;      66!!$$r"   c                 0    t        j                  | d      S r   )r&   r   r   s    r    r   z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.std>  r   r"   c                 n    t        j                  | d      t        j                  t        |             z  S r   )r&   r   sqrtr%   r   s    r    r   z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.semA  s$    66!!$rwws1v66r"   r   FT)rS   r;   rT   r?   float32gMbP?)r;   r<   )r   r   rT   r   r   r   r   r   )r`   r&   r?   astypenansumr   r@   nanprod)r   r|   mixed_float_framer   r   r   r   r   s           r    test_stat_op_calcz(TestDataFrameAnalytics.test_stat_op_calc4  s    	"	8	%	%	7 		
 	FF$$Y/	
 	266.299	
 	FBGG-@dSrww 3

	
 	E3(;<E3(;<E3(;<	
r"   c                 x    t        j                  d      fd}fd}t        d||       t        d||       y )Nscipy.statsc                 f    t        |       dk  rt        j                  S j                  | d      S )N   Fbias)r%   r&   r'   r   r   sp_statss    r    skewnesszHTestDataFrameAnalytics.test_stat_op_calc_skew_kurtosis.<locals>.skewnesso  s*    1vzvv===//r"   c                 f    t        |       dk  rt        j                  S j                  | d      S )Nrc   Fr   )r%   r&   r'   kurtosisr   s    r    r   zDTestDataFrameAnalytics.test_stat_op_calc_skew_kurtosis.<locals>.kurtt  s-    1vzvv$$QU$33r"   r   r   )rN   importorskipr`   )r   r|   r   r   r   s       @r    test_stat_op_calc_skew_kurtosisz6TestDataFrameAnalytics.test_stat_op_calc_skew_kurtosisl  s9    &&}5	0
	4
 	FH.ABFD*=>r"   c                 H    d }t        d||d       t        d||dd       y )Nc                 ~    t        |       j                         rt        j                  S t        j                  |       S r   )r   anyr&   r'   r   r   s    r    r5   z3TestDataFrameAnalytics.test_median.<locals>.wrapper}  s&    Aw{{}vv99Q<r"   r   Tr   F)r;   rT   )r`   )r   r|   	int_framer5   s       r    test_medianz"TestDataFrameAnalytics.test_median|  s,    	 
 	Hg/BPTUgye	
r"   method)r?   r   r@   r   r   r   r   r   rV   )gȃw@Ba@gCVZg
?Z.F?)r   r           )g94c4?g@}jX?gNr2   r.   cfoobarbazOrD   r/   r   rc   r   r:   r/   rd   z0ignore:Mismatched null-like values:FutureWarningc                 H   |j                   j                  t        j                  k(  sJ  t	        ||      |      } t	        |j                  d      |      |      j                  t              }|dv r|dv rd ||j                         <   t        j                  ||       y )Nr>   f8)r:   rh   r   )
r   rF   r&   object_rG   r   rq   r   rH   rL   )r   r   rV   r8   rW   rZ   s         r    %test_stat_operators_attempt_obj_arrayz<TestDataFrameAnalytics.test_stat_operators_attempt_obj_array  s    : yy"**,,,$V$$/37299T?F3>EEfM>!f&>(,HX]]_%
vx0r"   op)r   r   r   r   r   r   c                    t        g dg dg dd      }dj                  g d      }t        j                  t        |      5   t        ||              d d d        t        j                  dd	      5  t        j                  t        |      5   t        ||              d d d        d d d        y # 1 sw Y   ^xY w# 1 sw Y   xY w# 1 sw Y   y xY w)
Nr:   r/   r   rc   )      ?       @      @      @r2   r.   r   d)intfloatstrr   )zCould not convertcould not convertz"can't multiply sequence by non-intzdoes not supportzCannot performrB   use_bottleneckF)r   r   rN   rO   r   rG   pdoption_context)r   r   rV   r   s       r    test_mixed_opsz%TestDataFrameAnalytics.test_mixed_ops  s     #-+
 hh
 ]]9C0 	GBO	 /7 	"y4 "B!"	" 	"	 	" "	" 	"s0   B34CB?"C3B<?C	CCc                 T   t        g dg dg dd      }|j                  g d       |j                  d      }t        j                  |j
                  t        j                  g dt        	             |j                  j                  d
      }t        j                  ||       y )N)TTFFF)rj   rk   re   (   2   )r2   r.   r   r   e)	bool_dataint_datastring_datarh   r   r>   )r/      abcderd   r:   )r   reindexr?   rH   assert_numpy_array_equalr   r&   arrayrq   TrL   )r   rV   testalts       r    test_reduce_mixed_framez.TestDataFrameAnalytics.test_reduce_mixed_frame  s    >08
 	

C
Dvv1v~
##KK"36B	
 ddhhAh
tS)r"   c           	         t        g dg ddt        j                  dgd      }t        j                  |j                         t        dddd             t        j                  |j                  d      t        dddd             t        j                  |j                  d	      t        dddd
             t        j                  |j                  dd      t        dddd
             y )Nr:   r:   r:   r:   r/   r   r:   r   ABCr/   Fr$   r>   r   )r8   r$   )r   r&   r'   rH   rL   r   r   r   rV   s     r    test_nuniquez#TestDataFrameAnalytics.test_nunique  s    YYa^LM
rzz|V!!!4L-MN
JJeJ$f111-E&F	
 	rzzqz16aA!:L3MN
JJAeJ,fqQ5G.H	
r"   tzNUTCc                     t        ddgt        d|      gdz  d      }|j                         }t        dt        d|      gddg	      }t	        j
                  ||       y )
Nr:   2000r  r/   r   r   r   r   r   rE   r   r   r   r   rH   rL   r   r  rV   rW   rZ   s        r     test_mean_mixed_datetime_numericz7TestDataFrameAnalytics.test_mean_mixed_datetime_numeric  s]     aV9V+C*Dq*HIJ3	&R 89#sL
vx0r"   c                     t        dt        d|      gdz  i      }|j                         }t        t        d|      gdg      }t	        j
                  ||       y )Nr   r  r  r/   r
  r  r  s        r    test_mean_includes_datetimesz3TestDataFrameAnalytics.test_mean_includes_datetimes  sU    
 i267!;<=9V34SEB
vx0r"   c                 8   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  |j                          d d d        |ddg   j                         }t        ddgddgt              }t        j                  ||       y # 1 sw Y   KxY w)Nr/   z628.00r   r:   z383.00r   z651.00z575.00rc   z1114.00TESTz241.00z572.00z609.00z820.00ri   z1223.00z8unsupported operand type|does not support|Cannot performrB   r   r   g@gL@rD   )
r   r   rN   rO   r   r   r   rq   rH   rL   )r   r   rV   rW   rZ   s        r    test_mean_mixed_string_decimalz5TestDataFrameAnalytics.test_mean_mixed_string_decimal  s   
 $WX%67$WX%67$WX%67$WX%67$WY%78&wx'89$WX%67$WX%67$WX%67$WY%78
 q\]]W
 	 GGI	 S#J$$&3,sCjG
vx0	 	s   5DDc                 z   |j                  d      }|j                  d       }t        j                  ||       |j	                  d      }|j                  d       }t        j                  ||       t        j                  t
        j                  j                  d      j                  d      dd      }t        j                  |d	      }|dk  j                         rJ t        j                  d
d      5  t        j                  |d	      }|dk  j                         rJ 	 d d d        y # 1 sw Y   y xY w)Nrc   r   c                 &    | j                  d      S Nrc   r   )r   r   s    r    <lambda>z5TestDataFrameAnalytics.test_var_std.<locals>.<lambda>      !%%Q%- r"   c                 &    | j                  d      S r  )r   r   s    r    r  z5TestDataFrameAnalytics.test_var_std.<locals>.<lambda>  r  r"   r/   r:     r  r   r>   r   F)r   rM   rH   assert_almost_equalr   r&   repeatry   rz   r   nanvarr   r   r   r   datetime_framerW   rZ   arrs        r    test_var_stdz#TestDataFrameAnalytics.test_var_std  s   ###+!''(?@
vx0###+!''(?@
vx0ii		--a077	BD!Ls+QJ##%%%/7 	*]]3Q/F
''))))	* 	* 	*s   :-D11D:meth)r   r   r   c                    t        t        j                  j                  d      j	                  d      g d      }|j                  dt        i      }d|j                  d<   t        t        j                  j                  d      j	                  d      g d      }|j                  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        d}t        j                  t        |      5   t        ||      d	d       d d d        y # 1 sw Y   DxY w# 1 sw Y   y xY w)Nr/   )ri   r   r   r   r   100)r   r   r2   r:   Tr   r   r   r>   z6unsupported operand type\(s\) for -: 'float' and 'str'rB   Fz&could not convert string to float: 'a')r   r&   ry   rz   r{   r   rq   locrG   rH   rL   rN   rO   r   )r   r"  df1df2rW   rZ   r   s          r    test_numeric_only_flagz-TestDataFrameAnalytics.test_numeric_only_flag   s    II!!!$44V<)

 jj%)!II!!!$44V<)

 jj%)#d#>573u~.51=
x0#d#>573u~.51=
x0 H]]9C0 	;GCAE:	;6]]9C0 	;GCAE:	; 	;	; 	;	; 	;s   $F<G<GGc                    |j                  d      }|j                  d       }t        j                  ||       t	        j
                  t        j                  j                  d      j                  d      dd      }t        j                  |d      }|dk  j                         rJ t        j                  d	d
      5  t        j                  |d      }|dk  j                         rJ 	 d d d        y # 1 sw Y   y xY w)Nrc   r   c                 d    | j                  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"   r/   r  r  r   r>   r   F)r   rM   rH   r  r&   r  ry   rz   r   nansemr   r   r   r  s        r    test_semzTestDataFrameAnalytics.test_semE  s    ###+!''(QR
vx0ii		--a077	BD!Ls+QJ##%%%/7 	*]]3Q/F
''))))	* 	* 	*s    -C77D zdropna, expectedT   g      $@r   r2   )
categories
2000-01-02M8[ns]1 days)r   r   r   DEFGFr      	   )r/  NaTr8  r8  r1  r'   r'   r'   r   r:   r/   r   )HIJKLMNr8  r/  r8  r8  )r'   r1  r'   r'   c                 Z   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        |j                                  j                  |      }t        |      }t        j                  ||       y )N)r-  r-        rj   r   r:   r2   r   rd   rB  r0  r9  )r6  r6  r7  r7  )r7  r7  r6  r6  )r/  r/  r8  r8  )r1  r'   r1  r'   rc   int64)r   r   r   r2  r3  r4  r5  r;  r<  r=  r>  r?  r@  rA  r  )r   r&   r'   r   r	   r   r   arangesortedkeysmoderH   assert_frame_equal)r   r$   rZ   rV   rW   s        r    test_mode_dropnaz'TestDataFrameAnalytics.test_mode_dropnaR  s'   t %"bffa(0RVVRVVS"&&9G "&&"&&#rvv!>?"#FhW!"AB!!BFFBFF+ #rvvsBFF!;<">h ""DEYYq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      }|j                  d      }t	        j
                  ||       y )Nr   r2   Fr  )r   r&   r'   rJ  rH   rK  )r   using_infer_stringrV   rZ   rW   s        r    test_mode_sort_with_naz-TestDataFrameAnalytics.test_mode_sort_with_na  sY    bffbffc3789cC=12&
fh/r"   c                     t        g ddg      }|j                         }t        g ddgt        g t        j                              }t        j                  ||       y )Nr2   r.   r   rd   rh   rE   )r   rJ  r   r&   rF  rH   rK  r   rV   rW   rZ   s       r    test_mode_empty_dfz)TestDataFrameAnalytics.test_mode_empty_df  sJ    rC:.R#s5288;T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	                         }|j
                  d   |j                  d   k(  sJ |j
                  d   |j                  d   k(  sJ |j	                  d      }||j                  d   k(  j                         sJ |j                         }|j
                  d   |j                  d   k(  sJ |j
                  d   |j                  d   k(  sJ |j                  d      }||d
   k(  j                         sJ |j                         }t        |      }t        |d
   |d   z
  |d   |d
   z
  d      }t        j                  ||       t        j                  ||       |j                         }d|d<   d|d<   d|d<   t        d      |d<   |j	                         }t        t        j                  t        d            t        j                  t        d            dddt        d      g|j                         }t        j"                  ||       |j	                  dd       }t        g d!g d"      }t        j"                  ||       |d
dg   j	                  d      }t        t        d      gdz        }t        j"                  ||       |d
dg   j	                         }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+<   |j'                          |d)   j$                  d*k(  sJ |d+   j$                  d*k(  sJ y ),Nz2012-1-1r   r2  r1   freqz2012-1-220120101ri   )minutessecondsr   r   r   r   r	  r   )r   r   r:   )r   r   r>   )r/   r   )r/   r   r   r   r3  20130101r4  i1  rY  )daysr
  Tr   )r:   r:   r   r   20130102r0   20130105)timetime2ra  r`  off1timedelta64[ns]off2)r   r   r   r   r   rs   r%  allr   absrH   rK  copyr   r   	Timedeltarh   rL   rF   _consolidate_inplace)r   rV   diffsrW   result2rZ   mixeds          r    test_operators_timedelta64z1TestDataFrameAnalytics.test_operators_timedelta64  s   
AC@
AC@z*Yq!-LL
 3"S' 13"S'8IJK {{1~6!2222{{1~6!2222"%))F++00222 {{1~6!2222{{1~6!2222"%*$))+++ e*2c7RW#42c7RW;LMN
fh/
gx0 

c
c
c
z*c
 Yz:;YB/0*% --

 	vx0 5+Y7
vx0 Sz"&&q)9"-.23
vx0Sz"&&(z*I2,>?Sz
 	vx0 ":q9#J:
 [2f:-6
&z#4444Z"W+-6

!&z#4444&z#4444r"   c                     t        j                  dd      }t        ||dd      }t         j                  |j                  d<   |j                  d	      }t        |d
   j                         t         j                  gd
dgd      }t        j                  ||       |j                  dd      }t        t        j                  d      gdz  t         j                  t        j                  d      gz         }t        j                  ||       y )Nz1 Dayrj   r0   r	  Trg  )rl   r\  Fr9   r   r   rc  rD   r:   r7   r   r6  )
r   timedelta_ranger   r8  rs   r   r   rH   rL   rh  )r   tdirV   rW   rZ   s        r    !test_std_timedelta64_skipna_falsez8TestDataFrameAnalytics.test_std_timedelta64_skipna_false  s      "5Ss+$7&&u%W[[]BFF#C:=N
 	vx0Qu-2<<?+a/2662<<?2KKL
vx0r"   r   z
2022-01-01z
2022-01-02z
2022-01-03c                    |rE|rt        d |D              r1t        j                  j                  d      }|j	                  |       t        |      j                  |      }t        d|i      }|j                  |      }	|rt        d |D              r"t        dt        j                  id| d	      }
nt        dd
id| d	      }
t        j                  |	|
       y )Nc              3   @   K   | ]  }|t         j                  u   y wr   r   r8  .0values     r    	<genexpr>zFTestDataFrameAnalytics.test_std_datetime64_with_nat.<locals>.<genexpr>   s     B%ervvoB   z=GH#51446: Incorrect type inference on NaT in reduction resultreasonr2   rp  c              3   @   K   | ]  }|t         j                  u   y wr   rv  rw  s     r    rz  zFTestDataFrameAnalytics.test_std_datetime64_with_nat.<locals>.<genexpr>)  s     AUbff_Ar{  ztimedelta64[]rd   l     "R: )re  rN   markxfailapplymarkerr   as_unitr   r   r   r   r8  rH   rL   )r   r   r9   using_array_managerrequestr_   r  dtirV   rW   rZ   s              r    test_std_datetime64_with_natz3TestDataFrameAnalytics.test_std_datetime64_with_nat  s     #B6BB;;$$V % D %&!))$/Sz"v&A&AAsBFFm\$q3IJH sN3\$q;QRH
vx0r"   c                     t               }|j                  d      }|j                  d      }t        |t              sJ t        |t              sJ t	        |      dk(  sJ t	        |      dk(  sJ y )Nr   r:   )r   r?   rJ   r   r%   )r   empty_frameaxis0axis1s       r    test_sum_cornerz&TestDataFrameAnalytics.test_sum_corner0  se    k""%(((%(((5zQ5zQr"   rE   ME)rV  r2  c                     t        dg|      } t        ||      d      }|dv rd}n
|dk(  rd}nd	}t        g ||
      }t        j                  ||       y )Nr2   rQ  r:   r>   )r   re  ro   r   rF  rq   rD   r   rG   r   rH   rL   )r   all_reductionsrE   rV   rW   expected_dtyperZ   s          r    test_axis_1_emptyz(TestDataFrameAnalytics.test_axis_1_empty:  sb     uE2,^,!4^+#Nw&$N%N"E@
vx0r"   zmethod, unit)r?   r   )r@   r:   r   )NTFc                    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                  ||       y )Nr   r   float64rD   r:   )r   	min_countr
  r   rj   ri   r	  r   r      )r   r&   r'   rG   r   rH   rL   rs   )r   r   r_   r   idxrV   rW   rZ   s           r    test_sum_prod_nanopsz+TestDataFrameAnalytics.test_sum_prod_nanopsQ  s    dD\rvvbffbffEUVW$V$,?4t,CyI
vx0 %V$,!L4rvv.c:
vx0 %V$,!L4t,CyI
vx0-f-<STU40<
vx0 dVb[vzRVVHqL/HIJ$V$,!L&c
3
vx0$V$,!L&c
3
vx0r"   c                    g d}t        ddgdt        j                  gt        j                  t        j                  gd      }|j                  t              }|j                         }t        g dd|      }t        j                  ||       |j                  d      }t        j                  ||       |j                  d      }t        ddt        j                  gd|      }t        j                  ||       y )Nr   r   )r   r   r   m8[ns]rF   rE   r  r:   )	r   r&   r'   rM   r   r?   r   rH   rL   )r   r  rV   r'  rW   rZ   s         r    test_sum_nanops_timedeltaz0TestDataFrameAnalytics.test_sum_nanops_timedeltas  s    aV1bff+RVVRVV<LMNhh|$ )83?
vx0 1%
vx0 1%1a.D
vx0r"   c                     t        g dg dd      }|j                  d      }t        t        j                  t        j                  gddg      }t        j                  ||       y )	Nr   rc   ri   r  )r   yrj   r  r   r  r
  )r   r?   r   r&   r'   rH   rL   rR  s       r    test_sum_nanops_min_countz0TestDataFrameAnalytics.test_sum_nanops_min_count  sN    YY78"%266266*3*=
vx0r"   
float_type)float16r   r  zkwargs, expected_result)r8   r  g	@g333333@r7   c                     t        g dddt        j                  gd|      } |j                  di |}t	        |      j                  |      }t        j                  ||       y )N)r   gffffff@皙@g@r   r2   r.   rd   r+   )r   r&   r'   r?   r   r   rH   rL   r   r  kwargsexpected_resultrV   rW   rZ   s          r    test_sum_nanops_dtype_min_countz6TestDataFrameAnalytics.test_sum_nanops_dtype_min_count  sX     _CBFF3CDJW!&!/*11*=
vx0r"   r   r   c                     t        g dddt        j                  gd|      } |j                  di |}t	        |      j                  |      }t        j                  ||       y )N)r   r   r  r   r  rd   r+   )r   r&   r'   r@   r   r   rH   rL   r  s          r     test_prod_nanops_dtype_min_countz7TestDataFrameAnalytics.test_prod_nanops_dtype_min_count  s]     !c266(:;:
 "6"/*11*=
vx0r"   c                     |j                   j                  t              }t        ||j                  |j
                        }|t        d      z  }|j                          y )Nrx   r:   )r   r   r   r   rE   rh   r   r?   )r   r   r   rR   deltass        r    test_sum_objectz&TestDataFrameAnalytics.test_sum_object  sI    ##**3/&(9(9;CVCVW1%

r"   c                 r    t        j                  |      }|j                  d       |j                  d       y )Nr:   r   )r&   isnanr?   )r   r   boolss      r    test_sum_boolz$TestDataFrameAnalytics.test_sum_bool  s&    %		!		!r"   c                     t        t        dd      g dd      j                  g d      }t        j                  t
        d      5  |j                          d d d        y # 1 sw Y   y xY w)	Nr  rc   r0   r   r	  )r/   r   rc   z does not support reduction 'sum'rB   )r   r   r   rN   rO   r   r?   r  s     r    test_sum_mixed_datetimez.TestDataFrameAnalytics.test_sum_mixed_datetime  sU    Z:NOWW
 ]]9,NO 	FFH	 	 	s   A""A+c                    d}t        j                  t        |      5  |j                  d       d d d        t        j                  t        d      5  |j                  d       d d d        |d   dkD  |d<   |j                  d      }|d   |d   j                  j                         k(  sJ y # 1 sw Y   xY w# 1 sw Y   WxY w)	Nz1Could not convert|does not support|Cannot performrB   r   r>   unsupported operand typer:   r   ro   )rN   rO   r   r   r   )r   r   r   r   meanss        r    test_mean_cornerz'TestDataFrameAnalytics.test_mean_corner  s    A]]9C0 	,###+	, ]]9,FG 	,###+	, *#.2F  #V}F 3 : : ? ? AAAA	, 	,	, 	,s   B1B=1B:=Cc           
         t        t        j                  d      t        dd      t	        j
                  dd      t	        j                  ddd      d      }|j                  d	
      }t        ddi      }t        j                  ||       t        j                  t        d      5  |j                          d d d        y # 1 sw Y   y xY w)Nr   
2016-01-01r0   1D2016YrU  )r   r   r   r2  Tr  r   r   z'mean is not implemented for PeriodArrayrB   )r   r&   rG  r   r   rq  period_ranger   r   rH   rL   rN   rO   r   rR  s       r    test_mean_datetimelikez-TestDataFrameAnalytics.test_mean_datetimelike  s    
 YYq\a8''a8__VQSA	
 d+3*%
vx0]]9,UV 	GGI	 	 	s   *CCc                    t        t        j                  d      t        dd      t	        j
                  dd      d      }|j                  d      }t        d|j                  d	   |j                  d
   d      }t        j                  ||       t	        j                  ddd      |d<   t        j                  t        d      5  |j                  d       d d d        y # 1 sw Y   y xY w)Nr   r  r0   r  r   Fr  r:   )r:   r   )r:   r   r  r  rU  r2  z"mean is not implemented for PeriodrB   )r   r&   rG  r   r   rq  r   r   r%  rH   rL   r  rN   rO   r   rR  s       r    )test_mean_datetimelike_numeric_only_falsez@TestDataFrameAnalytics.test_mean_datetimelike_numeric_only_false  s    YYq\a8''a8
 e,vRVVF^LM
vx0 //&!#>3]]9,PQ 	(GGG'	( 	( 	(s   
C&&C/c                    t         j                  j                  d      j                  dd      }t	        |d      }|j                  d      }t	        |      j                         j                  d	      }t        j                  ||       y )
Nr/   r  )rj   ri   )sizeInt64rd   Tr  Float64)	r&   ry   rz   integersr   r   r   rH   rL   )r   r   rV   rW   rZ   s        r    *test_mean_extensionarray_numeric_only_truezATestDataFrameAnalytics.test_mean_extensionarray_numeric_only_true  so    ii##A&//7/Cs'*d+S>&&(//	:
vx0r"   c                    t        j                  t        d      5  |j                  d       d d d        t        j                  t        d      5  |j	                  d       d d d        t        j                  t        d      5  |j                  d       d d d        t        j                  t        d      5  |j                  d       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   WxY w# 1 sw Y   y xY w)Nr   rB   r:   r  )rN   rO   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 	'##A&	']]9,?@ 	'##A&	' 	'	& 	&	& 	&	' 	'	' 	's/   CC"C.;C:C"C+.C7:Dc                     t        t        d      t        d            }t        |      }|j                  d      d   dk(  sJ y )Nr:   rj   rx   r>   r   )r   rK   r   r?   )r   rV   r  s      r    test_sum_boolsz%TestDataFrameAnalytics.test_sum_bools  s=    U1XuRy9Ryyay #r)))r"   r9   c                 `   |}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  |j                  ||
      }	d d d        d}
t	        j
                  ||
	      5  |j                  t        j                  ||
      }d d d        j                  |j                  j                        }t	        j                  	|        y # 1 sw Y   xY w# 1 sw Y   SxY w)Nri   rj   rb   rk   rl   Fr:   z3The behavior of DataFrame.idxmin with all-NA valuesrB   r7   zThe behavior of Series.idxmin)r&   r'   rs   FutureWarningrH   rI   idxminrM   r   r   rE   rF   rL   r   r   r   r9   r8   rR   rV   warnr   rW   msg2rZ   s               r    test_idxminz"TestDataFrameAnalytics.test_idxmin  s    66

1R!#

2b5"#:)$ 	5BD$!)!YtMGC++D< =V<= 3D++D= M88FMMV8LMrxx~~6H""684	5
= =M M   :D/#D$D!	$D-	z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                     |dk(  rt        |      }nt        |      }|j                  ||      }t        |j                        }t	        j
                  ||       y Nr   r
  r   r7   rd   )r   r  r   rF   rH   rL   r   rE   r9   r8   rR   rW   rZ   s          r    test_idxmin_emptyz(TestDataFrameAnalytics.test_idxmin_empty*  O     19E*Ee,E47,
vx0r"   c                     t        g dg dt        d      d      }|j                  |      }|rt        ddgdd	g
      }nt        g dg d
      }t	        j
                  ||       y )Nr/   r   r:   r/   r:   r:   xyxr   r  r/   r:   r2   r.   r
  )r/   r:   r   )r   rr   r  r   rH   rL   r   r   rV   rW   rZ   s        r    test_idxmin_numeric_onlyz/TestDataFrameAnalytics.test_idxmin_numeric_only7  Z    YYT%[IJ5q!fS#J7Hi?H
vx0r"   c                     |}d}t        j                  t        |      5  |j                  d       d d d        y # 1 sw Y   y xY wNz)No axis named 2 for object type DataFramerB   r/   r>   )rN   rO   rP   r  r   r   rR   r   s       r    test_idxmin_axis_2z)TestDataFrameAnalytics.test_idxmin_axis_2A  =    9]]:S1 	!LLaL 	! 	! 	!	   <Ac                 `   |}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  |j                  ||
      }	d d d        d}
t	        j
                  ||
	      5  |j                  t        j                  ||
      }d d d        j                  |j                  j                        }t	        j                  	|        y # 1 sw Y   xY w# 1 sw Y   SxY w)Nri   rj   rb   rk   rl   Fr:   z3The behavior of DataFrame.idxmax with all-NA valuesrB   r7   zThe behavior of Series.idxmax)r&   r'   rs   r  rH   rI   idxmaxrM   r   r   rE   rF   rL   r  s               r    test_idxmaxz"TestDataFrameAnalytics.test_idxmaxG  s   66

1R!#

2b5"#:)$ 	5BD$!)!YtMGC++D< =V<= 3D++D= M88FMMV8LMrxx~~6H""684	5
= =M Mr  c                     |dk(  rt        |      }nt        |      }|j                  ||      }t        |j                        }t	        j
                  ||       y r  )r   r  r   rF   rH   rL   r  s          r    test_idxmax_emptyz(TestDataFrameAnalytics.test_idxmax_emptyZ  r  r"   c                     t        g dg dt        d      d      }|j                  |      }|rt        ddgdd	g
      }nt        g dg d
      }t	        j
                  ||       y )Nr  r  r  r   r  r:   r   r2   r.   r
  )r:   r   r:   )r   rr   r  r   rH   rL   r  s        r    test_idxmax_numeric_onlyz/TestDataFrameAnalytics.test_idxmax_numeric_onlyg  r  r"   c                 0   t        j                  d       t        g dg ddd      }|j                         }t	        ddgd	d
g      }t        j                  ||       |j                         }t	        ddgd	d
g      }t        j                  ||       t        d	g did      }|j                  d      }t	        dgd	g      }t        j                  ||       |j                  d      }t	        dgd	g      }t        j                  ||       y )Npyarrowr  r  r  zint64[pyarrow]rd   r:   r   r2   r.   r
  r/   )r.   r   r2   zstring[pyarrow]Fr  )rN   r   r   r  r   rH   rL   r  rR  s       r    test_idxmax_arrow_typesz.TestDataFrameAnalytics.test_idxmax_arrow_typesq  s    I&YY7?OP1a&c
3
vx01a&c
3
vx0_-5FG.1#cU+
vx0.1#cU+
vx0r"   c                     |}d}t        j                  t        |      5  |j                  d       d d d        y # 1 sw Y   y xY wr  )rN   rO   rP   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   |j                  d      d      }|j	                         }t        g d	g d
      }t        j                  ||       |j                         }t        g dg d
      }t        j                  ||       t        j                  |j                  d<   |j	                         }t        g d	g d
      }t        j                  ||       |j                         }t        g dg d
      }t        j                  ||       |d d d   |d<   |j                          |j	                         }t        g dg d
      }t        j                  ||       |j                         }t        g dg d
      }t        j                  ||       y )Nr  r   r0   )r   r/   r:   r\  T)deepr   )r:   r   r/   r
  )r   r/   r   )r   r   rc   )r:   r   r/   r   r   )r   r/   r:   r/   )r   r   rK   rg  r  r   rH   rL   r  r   r8  r%  ri  r   r  rV   rW   rZ   s        r    test_idxmax_mixed_dtypez.TestDataFrameAnalytics.test_idxmax_mixed_dtype  sT   q1 9q$B$CHH$H<OPQ)95
vx0)95
vx0 vvt)95
vx0)95
vx0 DbD	1
!,l;
vx0,l;
vx0r"   zop, expected_valuer  r  ri   c                     t        g dg ddd      }|j                  d      } t        ||             }t        d|it        dd	gdd
            }t	        j
                  ||       y )N)d   r  r     r  r  )r   r   r   r:   r/   r   )IDry  r  rd   r  ry  r  r  )namerF   r
  )r   groupbyrG   r   rH   rK  )r   r   expected_valuerV   rW   rZ   s         r    !test_idxmax_idxmin_convert_dtypesz8TestDataFrameAnalytics.test_idxmax_idxmin_convert_dtypes  sr     4+ 
 ZZ R"n%c
W=
 	fh/r"   c                 x   t        dd      }t        ||d d d   dd      }t        j                  |j                  d<   |j                          |j                  d	
      }t        g d      }t        j                  ||       |j                  d	
      }t        g d      }t        j                  ||       y )Nr  r   r0   r\  )r   rc   Tro  )r   r   r:   r>   )rc   r   r   )rc   r   rc   )r   r   r   r8  rs   ri  r  r   rH   rL   r  r  s        r    "test_idxmax_dt64_multicolumn_axis1z9TestDataFrameAnalytics.test_idxmax_dt64_multicolumn_axis1  s    q133tt9-D9
!")$
vx0")$
vx0r"   r   re  	bool_onlyc                     |}t         j                  j                  d      j                  t	        |            dkD  |d<    t        ||      ||       y )Nr/   g      ?_bool_r8   r  )r&   ry   rz   r{   r%   rG   )r   rQ   r8   r  r   rl  s         r    test_any_all_mixed_floatz/TestDataFrameAnalytics.test_any_all_mixed_float  sI    
 #))//2BB3u:NQTThvDI>r"   c                 ,     t        ||      |d       y )NFr  r   )r   rQ   r8   rv   s       r    test_any_all_bool_with_naz0TestDataFrameAnalytics.test_any_all_bool_with_na  s     	,"F+Gr"   z4ignore:Downcasting object dtype arrays:FutureWarningc                 t   |j                  d      }t        t        |      t        ||      }fd}fd} |dd      } |dd      }t        j                  ||j                  |             t        j                  ||j                  |d              |d      } |d      }t        j                  ||j                  |             t        j                  ||j                  |d      d	       t        j                  t        d
      5   |d       d d d        |t        j                  z  }	 t        |	|      d      }
 t        |	|      d      }|dk(  r%|
j                         rJ |j                         rJ y |
j                         sJ |j                         sJ y # 1 sw Y   xY w)NTc                 H    | j                         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   r4   s    r    r5   z?TestDataFrameAnalytics.test_any_all_bool_frame.<locals>.wrapper  r6   r"   r   Fr7   r:   r>   )r;   rA   rB   r/   r   )fillnarG   r&   rH   rL   rM   rN   rO   rP   r'   r   re  )r   rQ   rv   rR   rU   r!   r5   rX   rY   r\   r]   r^   r*   s               @r    test_any_all_bool_framez.TestDataFrameAnalytics.test_any_all_bool_frame  su   
 #))$/b&)E6"	%	) 5)5)
wG(<=
wG!(DE))
wN(CD
U[[a[8e	

 ]]:->? 	1I	 $WVV$!,$WVV$!,U?vvx<vvx<x668O8668O8	 	s   
F..F7c                    t        g dg dg ddg d      }|ddg   j                  d	
      }t        g dg d      }t        j                  ||       |ddg   j                  d	d      }t        j                  ||       |j                  d	      }t        g dg d      }t        j                  ||       |j                  d	d      }t        j                  ||       |j                  d 
      j                         }|du sJ |j                  d 
      j                         }|du sJ |dg   j                  d 
      j                         }|du sJ y )N)TFF)TTF)TTTr   r   r
  r   r   r:   r>   Tr  r  Fr   )r   r   r   rH   rL   re  itemrR  s       r    test_any_all_extraz)TestDataFrameAnalytics.test_any_all_extra  sI   )('
 "
 S#J###+-_E
vx0S#J##d#;
vx0.oF
vx0T*
vx0 T"'')T"'')~~SED)..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                  ||       y )Nr:   Tr/   5datar7   )TTTT)r   r&   r'   rG   r   rH   rL   )r   r8   r  r9   rV   rW   rZ   s          r    test_any_all_object_dtypez0TestDataFrameAnalytics.test_any_all_object_dtype8  s    
 BFFBFFD)BFFD).bff-	
 ,]+fE23
vx0r"   zAignore:'any' with datetime64 dtypes is deprecated.*:FutureWarningc                 6   dt         j                  dt         j                  g}t        d      t        d      t        j                  t        j                  g}t        ||d      }|j                  d      }t        g d      }t        j                  ||       y )Nr:   r   z
1960-02-15z
1960-02-16r	  r>   )TTTF)
r&   r'   r   r   r8  r   r   r   rH   rL   )r   
float_datadatetime_datarV   rW   rZ   s         r    test_any_datetimez(TestDataFrameAnalytics.test_any_datetimeJ  sz    
 BFF+
l#l#FFFF	
 Zm<=Q34
vx0r"   c                 t   t        g dg dg ddt        g dt                    }|j                  d      }t	        t
        j                  g 	      }t        j                  ||       t        g dg dg dg d
d      }|j                  d      }t	        ddi      }t        j                  ||       y )Nr   r  )NNN)col1col2col3rd   r   Tr  r  )FFT)r  r  r  col4r   F)	r   r   rq   re  r   r&   bool_rH   rL   rR  s       r    test_any_all_bool_onlyz-TestDataFrameAnalytics.test_any_all_bool_only]  s    	;MN2&A

 $'3
vx0!!*,	
 $'65/*
vx0r"   zfunc, data, expectedr   r	  r   r   zM8[ns, UTC]r  categoryrj   rk   c                    t        |      }t        d |j                  D              rwt        j                  t
        d      5   ||       d d d        t        j                  t
        d      5   t        t        |      |j                        d        d d d        y d}|j                  j                  d       j                         rt        }nd }t        j                  ||d      5   ||      }d d d        t        t        j                        sJ |j                         |u sJ t        j                  ||      5   t        t        |      |j                        d       }d d d        t        |t        j                        sJ |j                         |u sJ y # 1 sw Y   ZxY w# 1 sw Y   y xY w# 1 sw Y   xY w# 1 sw Y   _xY w)	Nc              3   <   K   | ]  }t        |t                y wr   )rJ   r
   )rx  r   s     r    rz  z>TestDataFrameAnalytics.test_any_all_np_func.<locals>.<genexpr>  s     D1z!-.Ds   z)dtype category does not support reductionrB   r>   z0'(any|all)' with datetime64 dtypes is deprecatedc                      | j                   dk(  S )Nr@  )kindr   s    r    r  z=TestDataFrameAnalytics.test_any_all_np_func.<locals>.<lambda>  s    166S= r"   F)rC   check_stacklevel)r   r   dtypesrN   rO   r   rG   __name__rM   r  rH   rI   rJ   r&   r!  r  )r   funcr  rZ   r   r  rW   s          r    test_any_all_np_funcz+TestDataFrameAnalytics.test_any_all_np_funcu  s   j DDD!L  T
 !L C 8	$7TBC C
 EC{{  !89==?$++DeT $d$ fbhh///;;=H,,, ++D< L@4$--@dKL fbhh///;;=H,,,9 C C$ $L Ls0   	F$/'F1,	F='G	$F.1F:=G	Gc                     t        j                  t        ddg            j                         }|du sJ t        j                  t        ddg            j                         }|du sJ y )Nr2   r.   r   TF)r&   re  r   r  r   )r   rW   s     r    test_any_all_objectz*TestDataFrameAnalytics.test_any_all_object  sZ    	3*56;;=~~	3*56;;=r"   c                    t        ddgddgd      j                  t              }|j                          t	        ddg      |d<   |d   j                  d      |d<   |j                         }|dg   }t        j                  ||       |j                  dd	
      }t	        dgdg      }t        j                  ||       |ddg   j                  dd	
      }t        j                  ||       |j                  dd 
      sJ |j                  dd	
      }t	        dgdg      }t        j                  ||       |dg   j                  dd	
      }t        j                  ||       |j                  dd 
      sJ y )Nr   r/   TFr	  r   r#  r2  r   )r  r8   r
  r   )r   r   rq   ri  r   _get_bool_datarH   rK  re  rL   r   )r   rV   resrZ   s       r    test_any_all_object_bool_onlyz4TestDataFrameAnalytics.test_any_all_object_bool_only  sn   eQZtUm<=DDVL
!$&3 S'..,3 !se9
c8,fft!f,4&.
sH- #sn  4a 8
sH-vv4v000fft!f,4&.
sH- #immdm3
sH-vv4v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  |j                  |d       dD ]  } t        ||      |d	        	 d d d        y # 1 sw Y   y xY w)
N)r   r   r   r   r   r   r:   r   )lowerr8   )ltlegtgeeqner>   )r   r&   r'   r   rH   rI   cliprG   )r   rV   df_nanr   s_nanr   s         r    test_series_broadcastingz/TestDataFrameAnalytics.test_series_broadcasting  s     'C"&&#rvv!6789*+''- 	/KKaaK(: /BA./	/ 	/ 	/s   /B??C)Xr*  
__module____qualname__rN   r  parametrizeparamtd
skip_if_nor   r   r   r   r   r   r&   r'   rq   filterwarningsr   r   r   r  r  r  r  r!  r(  r,  r	   r   r   r   r   r8  rL  rO  rS  rm  rs  r  r  r   r   rF  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   re  r   r,  r.  r2  r>  r+   r"   r    r~   r~      s    [[VaV,[[FLL}r}}W'=>FLL}r}}W'=>	
$'N% -&'NR [[VaV,[[FLL}r}}W'=>FLL}r}}W'=>	
"D# -$D6
p? 	
 [[M [[
 ' ," 2661+2661+2661+FfU%	
. [[ RS1 T/61 [[T#PQ" R"2*"	
 [[TD%=11 21 [[TD%=11 2116*" [[V%:;"; <";H* [[ $cUu=&~XF%xj1 &&6$bffX3%@&xx@%rvvh/ Q/Q/RVVRVVRVV4$c266266266%BPSuU&;8 &&EF%
 Q/Q/RVVRVVRVV4$bffc266266%BPSuU&;8 &&EF%
O5	
8r0s8r0400U5n1  [[L,EqBFF8|T11* [[qM""BHH%"BJJ'"4(%	


1

1 [[^j+-FG[[^-@A1 B H1@1*1 [[\+LM[[!a(3RVV*<=a(266266266*BC5)Cbff+=>	
1 N1 [[\+LM[[!a(3RVV*<=a(266266266*BC5)Cbff+=>	
1 N1B(((1'* [[Xe}5[[VaV,5 - 65$ [[VaV,[[ VW	1 X -	1 [[^dE];1 <1! [[VaV,5 -5$ [[VaV,[[ VW	1 X -	1 [[^dE];1 <11,!$1L [[
QF	hA/00	0$1$ [[Xu~6[[VaV,[[[5$-8? 9 - 7? [[Xu~6[[VaV,H - 7H [[ VW[[Xu~6) 7 X)VB [[VaV,[[_uen=[[Xe}51 6 > -1 [[K11 10 [[/	
VVR/	
VVR/	
 VVc2Y&/	
 VVc2Y%	/	

 VVcE5>*E2/	
 VVcE5>*E2/	
 VVcD%=)40/	
 VVcD%=)51/	
 VVcD$<($//	
 VVcD$<($//	
 VVE7%159/	
 VVE7%159/	
 VVE5>>E/	
 VVE5>>F/	
  VVc63*G<=uE!/	
" VVc63*G<=tD#/	
$ VVc61a&45u=%/	
& VVc61a&45t<'/	
( FLL#vq!fH'E!FN)/	
* FLL#vq!fM'J!KUS+/	
, FLL#vq!fH'E!FM-/	
. FLL#vq!fM'J!KTR//	
0 FLL#vq!fH'E!FM1/	
2 FLL#vq!fM'J!KTR3/	
4 FLL#vq!fH'E!FM5/	
6 FLL#vq!fM'J!KTR7/	
8 FLL#vq!fH'E!FN9/	
: FLL#vq!fH'E!FM;/	
< FLL#vq!fH'E!FM=/	
> FLL#vq!fH'E!FM?/	
D VVc61a&
;<dCE/	
F VVc61a&
;<eDG/	
H VVc61a&
;<dCI/	
J VVc61a&
;<eDK/	
N FLLR9R9 O/	
2f!-g2f!-F 1J/r"   r~   c                   P   e Zd Zd Zd Zd Zd Zej                  j                  dddg      ej                  j                  dd	d
g      de
fd              Zej                  j                  dd	d
g      d        Zd Zd Zej                   d        Zej$                  d        Zy)TestDataFrameReductionsc                    t        dt        j                  t        j                  t        d      gi      }|j	                         }t        t        d      gdg      }t        j                  ||       |j                         }t        t        d      gdg      }t        j                  ||       t        dt        j                  t        j                  gi      }|j	                         }t        t        j                  gdg      }t        j                  ||       |j                         }t        t        j                  gdg      }t        j                  ||       y )Nr   z
2012-05-01r
  )	r   r   r8  r   r   r   rH   rL   r   )r   rV   r1  exps       r    test_min_max_dt64_with_NaTz2TestDataFrameReductions.test_min_max_dt64_with_NaT  s   	,0GHIJffhi-.ug>
sC(ffhi-.ug>
sC( /01ffhbffXeW-
sC(ffhbffXeW-
sC(r"   c                    |}t        |t              rt               rt        j                  d       t        t        d|      t        d|      gt        d|      t        j                  gd      }|j                  dd	      }t        |j                  d
   t        j                  g      }|j                  |d   j                  k(  sJ t        j                  ||       |j                  dd	      }t        |j                  d   t        j                  g      }|j                  |d   j                  k(  sJ t        j                  ||       y )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:   Fr7   )r   r2   r2   )r   r.   )rJ   r   r   rN   skipr   r   r   r8  r   r   r%  rF   rH   rL   r   )r   r  tz_naive_fixturer  rV   r1  rZ   s          r    'test_min_max_dt64_with_NaT_skipna_falsez?TestDataFrameReductions.test_min_max_dt64_with_NaT_skipna_false  s   b'"':'<KK4
  3;3;   5"=rvvF
 ff!Ef*266&>26623~~C...
sH-ff!Ef*266&>26623~~C...
sH-r"   c                 ,   t        dt        g       i      }t        t        g             }|j                  d      j                  t
        j                  u |j                         t
        j                  u k(  sJ |j                  d      j                  t
        j                  u |j                         t
        j                  u k(  sJ t        j                  |j                  d      |       t        j                  |j                  d      |       y )Nr   r   r>   r:   )
r   r   r   r   r   r   r8  r   rH   rL   )r   rV   expected_dt_seriess      r    *test_min_max_dt64_api_consistency_with_NaTzBTestDataFrameReductions.test_min_max_dt64_api_consistency_with_NaT<  s    
 [_-.#KO4A  BFF*0B0F0F0HBFF0RSSSA  BFF*0B0F0F0HBFF0RSSS 	rvv1v~/AB
rvv1v~/ABr"   c                 ,   t        dg i      }t        g t              }t        j                  |j                  d      j                        t        j                  |j                               k(  sJ t        j                  |j                  d      j                        t        j                  |j                               k(  sJ t        j                  |j                  d      |       t        j                  |j                  d      |       y )Nr   rd   r   r>   r:   )
r   r   r   r&   r  r   r   r   rH   rL   )r   rV   expected_float_seriess      r    *test_min_max_dt64_api_consistency_empty_dfzBTestDataFrameReductions.test_min_max_dt64_api_consistency_empty_dfK  s     Ry! &r 7xxA(()RXX6K6O6O6Q-RRRRxxA(()RXX6K6O6O6Q-RRRR
rvv1v~/DE
rvv1v~/D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
                  ||       y )Nr:   r>   )r   r   r   rG   rH   rL   )r   rU  r   
initial_dtrZ   rV   rW   s          r    test_preserve_timezonez.TestDataFrameReductions.test_preserve_timezoneW  sI     !)
:,'z"$V$!,
vx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                  ||       y )Nz
1900-01-01T)utcr  r:   r7   )r   r   r   r   r8  rG   rH   rL   )r   r   r9   valrV   r   rW   rZ   s           r    !test_minmax_tzaware_skipna_axis_1z9TestDataFrameReductions.test_minmax_tzaware_skipna_axis_1d  s     ,D1"&&"&&#./fbffc3=O6PQ
 R 6*rvvsC01Hrvvrvvs34H
vx0r"   c           
      R   t        t        ddg      t        t        dd      t        dd      g      d      }|j                  d      }t        ddgd	d
g      }t	        j
                  ||       |j                  d      }t        ddg      }t	        j
                  ||       y )Nr   r   r:   ms)r2   tr>   FTr2   r_  )r  rE   r  )r   r   r   r   rH   rL   rR  s       r    test_frame_any_with_timedeltaz5TestDataFrameReductions.test_frame_any_with_timedeltas  s    QF^\!S1<43HIJ
 Qt}S#J?
vx0Qt}-
vx0r"   c                 
   |dk(  r/|j                  t        j                  j                  d              |g d      }d}t        j                  t
        |      5   t        ||      d        d d d        y # 1 sw Y   y xY w)Nr   zCount does not accept skipnar|  r   zAFor argument "skipna" expected type bool, received type NoneType.rB   rp  )r  rN   r  r  rO   rP   rG   )r   r  frame_or_seriesr  objr   s         r    "test_reductions_skipna_none_raisesz:TestDataFrameReductions.test_reductions_skipna_none_raises  su     W$!!)G!H i(Q]]:S1 	6(GC(5	6 	6 	6s   A99Bc                    t        t        t        d      gd      t        t        d      gd      d      }|j                         }t        t        d      t        d      gdddg	      }t	        j
                  ||       y )
Nz
2019-12-31zdatetime64[s]rd   z2019-12-31 00:00:00.123zdatetime64[ms]r  r2   r.   r  )r   r   r   r   rH   rL   rR  s       r    &test_reduction_timestamp_smallest_unitz>TestDataFrameReductions.test_reduction_timestamp_smallest_unit  s     Y|45_M89:BR
 |$i0I&JK"*

 	vx0r"   c                 X   t        t        t        j                  d      gd      t        t        j                  d      gd      d      }|j	                         }t        t        j                  d      t        j                  d      gdddg      }t        j                  ||       y )	Nr1  ztimedelta64[s]rd   ztimedelta64[ms]r  r2   r.   r  )r   r   r   rh  r   rH   rL   rR  s       r    &test_reduction_timedelta_smallest_unitz>TestDataFrameReductions.test_reduction_timedelta_smallest_unit  s     R\\(34<LMR\\(34<MN
 \\(#R\\(%;<#*

 	vx0r"   N)r*  r?  r@  rJ  rN  rQ  rT  rN   r  rA  r   rX  r\  r`  rd  rC  skip_array_manager_invalid_testrf  &skip_array_manager_not_yet_implementedrh  r+   r"   r    rG  rG    s    )..<C
F [[	$&AB [[Xu~61c 1 7	
1 [[Xu~61 711"
6 ''1 (1$ ..1 /1r"   rG  c                       e Zd Zej                  j                  dddg      d        Zd Zej                  j                  dddg      d        Zy	)
TestNuisanceColumnsr   r   re  c                    t        ddgdd      }|j                         }t        j                  t        d      5   t        ||              d d d        t        j                  t        d      5   t        t        |      |       d d d        t        j                  t        d      5   t        ||      d	       d d d        t        j                  t        d      5   t        ||      d 	       d d d        t        j                  t        d      5   t        t        |      |d
       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   jxY w# 1 sw Y   y xY w)Nr   r:   r#  r   )rF   r  does not support reductionrB   Fr  r>   )r   to_framerN   rO   r   rG   r&   )r   r   serrV   s       r    .test_any_all_categorical_dtype_nuisance_columnzBTestNuisanceColumns.test_any_all_categorical_dtype_nuisance_column  s9    aV:C8\\^ ]]9,HI 	# GC "	# ]]9,HI 	%GB$	% ]]9,HI 	1GB%0	1 ]]9,HI 	0GB$/	0 ]]9,HI 	,GB+	, 	,	# 	#	% 	%	1 	1	0 	0	, 	,s;   D;1E+E"EE+;EEEE(+E4c                    t        dt        g d      i      }|d   }t        j                  t        d      5  |j                          d d d        t        j                  t        d      5  |j                  d       d d d        t        j                  t        d      5  |j                          d d d        |d   j                  t              |d<   t        j                  t        d      5  |j                  d       d d d        t        j                  t        d      5  |j                          d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   bxY w# 1 sw Y   y xY w)Nr   )r:   r/   r/   r/   r   rn  rB   Fr  r   )r   r	   rN   rO   r   r   r   r   )r   rV   rp  s      r    -test_median_categorical_dtype_nuisance_columnzATestNuisanceColumns.test_median_categorical_dtype_nuisance_column  s/   [9:;g ]]9,HI 	JJL	 ]]9,HI 	*II5I)	* ]]9,HI 	IIK	 S'..%3]]9,HI 	*II5I)	* ]]9,HI 	IIK	 		 		* 	*	 		* 	*	 	s;   E-E#E2E&(E2EEE#&E/2E;r   r   c                 N   t        g dd      }t        |      }|j                  d      }t        j                  t
        d      5   t        ||              d d d        t        j                  t
        d      5   t        t        |      |       d d d        t        j                  t
        d      5   t        ||      d       d d d        t        j                  t
        d      5   t        ||              d d d        t        j                  t
        d      5   t        t        |      |d	       d d d        |d   j                  t              |d
<   t        j                  t
        d      5   t        ||              d d d        t        j                  t
        d      5   t        t        |      |d	       d d d        y # 1 sw Y   yxY w# 1 sw Y   LxY w# 1 sw Y   "xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)N)r2   r.   r   r.   F)orderedr   zis not ordered for operationrB   r  r   r>   r   )
r	   r   ro  rN   rO   r   rG   r&   r   rq   )r   r   catrp  rV   s        r    :test_min_max_categorical_dtype_non_ordered_nuisance_columnzNTestNuisanceColumns.test_min_max_categorical_dtype_non_ordered_nuisance_column  s    .>Sk\\# ]]9,JK 	# GC "	# ]]9,JK 	%GB$	% ]]9,JK 	4GBU3	4 ]]9,JK 	"GB!	" ]]9,JK 	,GB+	, S'..(3]]9,JK 	"GB!	" ]]9,JK 	,GB+	, 	,)	# 	#	% 	%	4 	4	" 	"	, 	,
	" 	"	, 	,sT   G<G6G*-G7"H9H.HGG'*G47H HHH$N)	r*  r?  r@  rN   r  rA  rq  rs  rw  r+   r"   r    rl  rl    sW    [[Xu~6, 7,*6 [[Xu~6, 7,r"   rl  c                      e Zd Zej                  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                  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                  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                  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y) TestEmptyDataFrameReductionsz#opname, dtype, exp_value, exp_dtyper?   r   r@   r:   c                     t        g g d|      } t        ||      d      }t        ||g|      }t        j                  ||       y Nr   r:   rd   r   r  r  r   rQ   rF   	exp_value	exp_dtyperV   rW   rZ   s           r    test_df_empty_min_count_0z6TestEmptyDataFrameReductions.test_df_empty_min_count_0  sH    " 2"~U3$V$q19i0	B
vx0r"   zopname, dtype, exp_dtypec                     t        g g d|      } t        ||      d      }t        t        j                  t        j                  g|      }t        j                  ||       y Nr|  rd   r:   r  )r   rG   r   r&   r'   rH   rL   r   rQ   rF   r  rV   rW   rZ   s          r    test_df_empty_min_count_1z6TestEmptyDataFrameReductions.test_df_empty_min_count_1  sP    " 2"~U3$V$q1266266*)<
vx0r"   Int8Int32r  )r?   r  r   r  )r@   r  r:   r  UInt8UInt32UInt64)r?   r  r   r  )r@   r  r:   r  )r?   Float32r   r  )r@   r  r:   r  )r?   r  r   r  c                     t        g g d|      } t        ||      d      }t        ||g|      }t        j                  ||       y r{  r  r}  s           r    "test_df_empty_nullable_min_count_0z?TestEmptyDataFrameReductions.test_df_empty_nullable_min_count_06  sH    $ 2"~U3$V$q19i0	B
vx0r"   )r?   r  r  )r@   r  r  )r?   r  r  )r@   r  r  )r?   r  r  )r@   r  r  )r?   r  r  c                     t        g g d|      } t        ||      d      }t        t        j                  t        j                  g|      }t        j                  ||       y r  )r   rG   r   r   NArH   rL   r  s          r    "test_df_empty_nullable_min_count_1z?TestEmptyDataFrameReductions.test_df_empty_nullable_min_count_1P  sO    " 2"~U3$V$q1255"%%.	:
vx0r"   N)r*  r?  r@  rN   r  rA  r&   int8rF  int_uint8uint64uintr   r  r  r  is_windows_np2_or_is32r  is_windows_or_is32r  r+   r"   r    ry  ry    s	   [[-BGGQ)RWWa)BHHa*RXXq"((+BHHa+RXXq"''*BIIq")),RYY299-BJJ2::.RZZBJJ/BJJ2::.	
 1! 1 [["BGGRZZ(RWWbjj)BHHbjj)RXXrzz*BHHbjj)RXXrzz*BIIrzz*RYY

+BJJ

+RZZ,BJJ

+	
 1! 1 [[-FA+AwPVQ,BQVQ,BQ()GQ-CSWa.D((T*+,-,	
"1#"1 [["F(:WIV);gJ%&G*<h(LW+=x8M'()*)	
 1! 1r"   ry  c                    | r1t         j                  j                  d      }|j                  |       t	        j
                  d      j                  t        j                        j                  d      j                  dd      }d|d<   t        |      }|j                  |j                  k(  j                         sJ |j                  d	
      }t        t!        j"                  d      t         j$                  gd      }t'        j(                  ||       |j                  dd	      }t'        j(                  ||       |j                  dd	      }t        t!        j"                  d      t!        j"                  d      t!        j"                  d      t         j$                  gd      }t'        j(                  ||       y )Nz3Incorrect type inference on NaT in reduction resultr|  r6  zm8[s]rc   r/   Nat)r\  r\  Frp  r-  r[  rd   r   r7   r:   ri   r7  )rN   r  r  r  r&   rG  r   rF  viewreshaper   r)  rF   re  r?   r   r   rh  r8  rH   rL   )r  r  r  r   rV   rW   rZ   s          r    !test_sum_timedelta64_skipna_falser  h  sY   {{  H ! 
 	D!
))A,

bhh
'
,
,W
5
=
=a
CCCK	3BII"'')))VV5V!Fr||B/8HH68,VV5V)F68,VV5V)FLL#LL#LL#FF		
 H 68,r"   c                      t        ddggt        d            } | j                  ddi      } | j                         }t	        ddgddg      }t        j                  ||       y )Nr2   r:   abr   r.   r  r
  )r   rr   r   r?   r   rH   rL   )rV   rW   rZ   s      r    !test_mixed_frame_with_integer_sumr    sY    	S!H:tDz	2B	C>	"BVVXFsAhsCj1H68,r"   r   )TFNr   r   r   c                 L   t        j                  d      }t        |j                  d |j                  gt        j                               }t        d|i      } t        ||       |      }t        t        ||       gdt        dg            }t        j                  ||       y )NrF  rd   r  r  r  )r&   iinfor   r   r   r   
Int64Dtyper   rG   r   rH   rL   )r   r   
int64_inforp  rV   rW   rZ   s          r    test_minmax_extensionarrayr    s     '"J
*..$
7r}}
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  |j	                          d d d        y # 1 sw Y   y xY w)Nr:   g?r   r   z5does not support (operation|reduction)|Cannot performrB   )r   rN   rO   r   r?   )r  rV   s     r    .test_frame_mixed_numeric_object_with_timestampr    sQ     
!C5whZH	IB	P
  	  s   A

Ac                  H   t        g d      } | j                  ddd      }t        dgt              }t	        j
                  ||       t        j                  d      }t        j                  t        |	      5  | j                  ddd       d d d        y # 1 sw Y   y xY w)
N)r:   r2   Tr   r:   F)r8   r  r   r2   rd   z2unsupported operand type(s) for +: 'int' and 'str'rB   )r   r@   r   rq   rH   rL   r   escaperN   rO   r   r?   )rV   rW   rZ   r   s       r    $test_prod_sum_min_count_mixed_objectr    s    	>	"BWW!quW=Fse6*H68,
))H
IC	y	, 8
A78 8 8s   :BB!)r   r   r   r   r   r   rF   r  r  c                    t        t        j                  j                  d      j	                  d      |      } t        ||       d |      }|j                  t        j                        }| dv rHt        j                  d      }| dk(  rd}  t        ||       |d	d 
      }t        j                  ||       y  t        t        |       |d       }||k(  sJ y )Nr/   )rc   rc   rd   r   >   r   r   r   r   r   F)r   r8   r>   )r   r&   ry   rz   r{   rG   to_numpyr  rN   r   rH   r  )r   r   rF   rV   rW   np_arrcomp_modrZ   s           r    'test_reduction_axis_none_returns_scalarr    s     
299((+;;FC5	QB WR dFF[[rzz[*F!!&&}5VF,78V,V%dK
vx0&72v&vD9!!!r"   kernel)corrcorrwithcovr  r  r   r   r   r   r   r@   quantiler   r   r   r?   r   c                    t        g dt        d      }| dk(  r|fnd}dj                  g d      }| dk(  rd}d	}dj                  ||g      }t        j                  t
        |
      5   t        ||       |  d d d        y # 1 sw Y   y xY w)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 numericrB   )r   rq   r   rN   rO   r   rG   )r  rV   argsr   msg1r  s         r    test_fails_on_non_numericr    s    0 
0	1Bj(B5bD
((	
C / 	
- 	 hhd|$	y	, #FT"# # #s   )BB)re  r   r   r  r  r   r   r   r   r   r   r   r@   r   r   r   r   r?   r   r  r/   c           	         t        t        g d|      t        ddt        j                  dg|      d      }t        g ddd	t        j
                  d
gd      }| dv rd}n!| dv rd}n| dv r|j                  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        t        j                  ||	      5   t        ||       dddi|}d d d        | dvrj                  |      }t        j                  
       y # 1 sw Y   ixY w# 1 sw Y   AxY w)Nr:  rd   r   r:   r   r  )r   r   r   r   r   r   r   r   rF  )re  r   boolean)r   r   r   r   r   r   r   r   Floatr  )r   r   r  r9   )r@   r   r?   r  )r  r  zThe behavior of DataFrame.z with all-NA valuesrB   r8   r+   )r   r   r   r  r&   r'   
startswithr  rH   rI   rG   r   rL   )r   r9   r  any_numeric_ea_dtyperV   expected_dfr  r  r  r   rW   rZ   s               r    test_numeric_ea_axis_1r    s   6 
,@AAruua(0DE	

B %sBFFC(	
K %% 	>	!"	 	 	
 #--g6"-F55!x++'{D
Cf 44*6(2EF		#	#D	4 7$V$6!6v67		#	#D	4 B/7;/AQA&AB))??>268,7 7B Bs   E8EE
Er   )TTFgh㈵>g:0yE>N)?datetimer   decimalr   r   dateutil.tzr   numpyr&   rN   pandas.compatr   r   pandas.compat.numpyr   pandas.util._test_decoratorsutil_test_decoratorsrC  pandasr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingrH   pandas.corer   r   r  r  r,   r`   fixturerv   r|   r~   rG  rl  ry  r  r  r  rA  r  r8  r  r  r  r  r  r+   r"   r    <module>r     sU     	    / ) )      
 ./F4FSt8 (*6$h H 		k1\  (  "c/ c/L)l1 l1^O, O,d^1 ^1B-D- )<=E5>2- 3 >- i&=rvv%FG H
8 #ST$79i"89" : 8 U"$ ,#-,#8 0 q!f-1- .121-r"   