
    OwgP-                       d dl mZ d dlmZ d dlZd dlmZ d dlZd dl	Z	d dl
mZ d dlmZmZ d dlmZ d dlmc mZ d dlZd dlmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$ d dl%m&Z' d d	l(m)Z)m*Z*  e       xr e xs e Z+ e       xs e Z,d2d
Z-	 	 	 	 	 	 d3dZ.e	j^                  d        Z0e	j^                  d        Z1 G d d      Z2 G d d      Z3 G d d      Z4 G d d      Z5d Z6e	jn                  jq                   e       d      d        Z9e	jn                  ju                  dg d      e	jn                  ju                  ddd g      d!               Z;e	jn                  ju                  d" ed#      ejx                  g      d$        Z=d% Z>e	jn                  ju                  dg d&      e	jn                  ju                  dddg      e	jn                  ju                  d'd(d)g      d*                      Z?e	jn                  ju                  d+g d,      d-        Z@e	jn                  ju                  dg d.      e	jn                  ju                  d/d d0g      d1               ZAy)4    )	timedelta)DecimalN)tzlocal)using_pyarrow_string_dtype)IS64is_platform_windows)np_version_gt2)CategoricalCategoricalDtype	DataFrameDatetimeIndexIndexPeriodIndex
RangeIndexSeries	Timestamp
date_rangeisnanotnato_datetimeto_timedelta)
algorithmsnanopsc                 &     rfd}|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    Y/var/www/horilla/myenv/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_wrapperD   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r9   )r=   r>   )sumprodNo axis named 2matchrA   indexdtype)getattrr   r   tmassert_produces_warning
isinstancer   ranger&   r-   assert_series_equalapplyr   rG   pytestraises
ValueErrorr'   r(   rF   )opnamer+   frame
has_skipnar<   check_datesr=   r>   r    fdfresultr6   r"   result0result1expected	lcd_dtypeall_nar0r1units    `                    r!   assert_stat_op_calcra   M   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
    )      rG   r   r?      foo_ABCD)rF   columnsrG      
   rc      N)r   r'   concatenateonesboolzerosr   rL   objectlistr(   ilocirW   s     r!   bool_frame_with_narw      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
    r0   )rf   rd   rf   rg   re   rh   rF   ri   rj   rk   rc   rl   rm   N)r   r'   randomdefault_rngstandard_normalr   rL   rr   rs   r(   rt   ru   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ej                  j+                   e       d-.      d/        Zd0 Zej                  j                  d1d2d3g      d4        Zej                  j                  d1d2d3g      d5        Zd6 Zd7 Zej                  j                  d8g d9      d:        Zd; Zej                  j                  d<d=d>gd?gd@gdAg edAgdAgB       e dCgdD'       e!dEg      dFfdGd>gd?gej                   g ejD                  ej                   ge'       eej                   gdAgB       e e#jH                  gdD'       e!e#jH                  g      dFfd=dHdIej                   ej                   gdHdIej                   ej                   gdej                   ej                   ej                   g edAej                   ej                   ej                   gdAgB       e g dJdD'       e!g dK      g dLdMfdGdHdIej                   ej                   gdHdIej                   ej                   gdej                   ej                   ej                   g eej                   dAej                   ej                   gdAgB       e g dNdD'       e!g dO      g dLdMfg      dP        Z%dQ Z&dR Z'dS Z(dT Z)ej                  j                  dUdVdWe#jH                  dXgd%e#jH                  gz  g      dY        Z*dZ Z+ej                  j                  d[ e,d       e g        e-g ej\                  '       e-g ej^                  '       e g d\]       e0g d^]      g      d_        Z1ej                  j                  d`dadbg      ej                  j                  dcg dd      de               Z2df Z3dg Z4ej                  j                  dhg di      ej                  j                  djdd#dkdldmej                   gfdd$dkej                   ej                   ej                   gfddGdndldmej                   gfg      do               Z5ej                  j                  dhg di      ej                  j                  djdd#dkdpdqej                   gfdd$dkej                   ej                   ej                   gfddGdndpdqej                   gfg      dr               Z6ds Z7dt Z8du Z9dv Z:dw Z;dx Z<dy Z=dz Z>d{ Z?ej                  j                  d|d=dGg      ej                  j                  dddg      d}               Z@ej                  j                  dddg      ej                  j%                  d~      d               ZAej                  j                  dcd=dGg      d        ZBd ZCej                  j                  d|d=dGg      ej                  j                  dddg      d               ZDej                  j                  dddg      ej                  j%                  d~      d               ZEej                  j                  dcd=dGg      d        ZFd ZGd ZHd ZIej                  j                  dddd%gfdddgfg      d        ZJd ZKej                  j                  dddg      ej                  j                  dddg      ej                  j                  ddGd=g      d                      ZLej                  j                  dddg      ej                  j                  dddg      d               ZMej                  j%                  d      ej                  j                  dddg      d               ZNd ZOej                  j                  dddg      ej                  j                  dddg      ej                  j                  d|d=dGg      d                      ZPej                  j%                  d      d        ZQd ZRej                  j                  dg ej                  i dGfej                  i d=fej                  dg idGfej                  dg id=fej                  ddGdGgidGfej                  ddGdGgidGfej                  dd=dGgid=fej                  dd=dGgidGfej                  dd=d=gid=fej                  dd=d=gid=fej                  dGgdGgddGfej                  dGgdGgddGfej                  dGdGgdGd=gdd=fej                  dGdGgdGd=gddGfej                  d eUdd@gd'      idGfej                  d eUdd@gd'      id=fej                  d eUddgeV'      idGfej                  d eUddgeV'      id=f ej                  ej                  d eUddgdD'      idG       ej                  ej                  d eUddgd'      idG       ej                  ej                  d eUddgdD'      id=       ej                  ej                  d eUddgd'      id=       ej                  ej                  d eUdd#gdD'      id=       ej                  ej                  d eUdd#gd'      id=       ej                  ej                  d eUdd#gdD'      id=       ej                  ej                  d eUdd#gd'      id=       ej                  ej                  d eUddgd'      idG       ej                  ej                  d eUddgd'      id=       ej                  ej                  d eUdd#gd'      id=       ej                  ej                  d eUdd#gd'      id=      ej                  d eUddgd'      id=fej                  d eUddgd'      idGfej                  d eUdd#gd'      id=fej                  d eUdd#gd'      idGf ej                  ej                   eUddgdD'       eUddgd'      dd=            d        ZWd ZXd ZYd ZZy2)TestDataFrameAnalyticsr9   r   r;   rR   countr@   meanproductmedianminmaxnuniquevarstdsemskewscipy)markskurtc                 .   |dv r|dk(  s|dv r|r|dk(  s 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   r   z(could not convert string to float: 'bar'r   r;   z2can't multiply sequence by non-int of type 'float'z0can't multiply sequence by non-int of type 'str'z7unsupported operand type\(s\) for \+: 'float' and 'str'r   |z%Could not convert \['.*'\] to numericz/Could not convert string '(bar){30}' to numericr   r   z<'[><]=' not supported between instances of 'float' and 'str'r   z1Cannot convert \[.*\] to numeric|does not support)flagsz|does not supportrC   r   Tr9   numeric_only)
rH   joinrecompileSrK   PatternrO   rP   	TypeError)selffloat_string_framer9   rR   using_infer_stringmsgs         r!   #test_stat_op_api_float_string_framez:TestDataFrameAnalytics.test_stat_op_api_float_string_frame   s@   . ,,
 &&E//G&/T:>>@9$19NCLC5P6!19((DMC UC>)T8#jjHPRPTPT c2::.//y4 ?3*F3>?Y/G&/TM ? ?s   DDc                 ,     t        ||      |d       y )NFr   rH   )r   float_framer9   rR   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>.count<  s    8<<>!r#   c                 Z    t        t        j                  | j                                     S r   )r&   r   unique1dr%   r   s    r!   r   z9TestDataFrameAnalytics.test_stat_op_calc.<locals>.nunique?  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>.varB      66!!$$r#   c                 0    t        j                  | d      S r   )r'   r   r   s    r!   r   z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.stdE  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>.semH  s$    66!!$rwws1v66r#   r   FT)rT   r<   rU   r@   float32gMbP?)r<   r=   )r    r   rU   r   r   r   r   r   )ra   r'   r@   astypenansumr   rA   nanprod)r   r}   mixed_float_framer   r   r   r   r   s           r!   test_stat_op_calcz(TestDataFrameAnalytics.test_stat_op_calc;  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>.skewnessv  s*    1vzvv===//r#   c                 f    t        |       dk  rt        j                  S j                  | d      S )Nrd   Fr   )r&   r'   r(   kurtosisr   s    r!   r   zDTestDataFrameAnalytics.test_stat_op_calc_skew_kurtosis.<locals>.kurt{  s-    1vzvv$$QU$33r#   r   r   )rO   importorskipra   )r   r}   r   r   r   s       @r!   test_stat_op_calc_skew_kurtosisz6TestDataFrameAnalytics.test_stat_op_calc_skew_kurtosiss  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!   r6   z3TestDataFrameAnalytics.test_median.<locals>.wrapper  s&    Aw{{}vv99Q<r#   r   Tr   F)r<   rU   )ra   )r   r}   	int_framer6   s       r!   test_medianz"TestDataFrameAnalytics.test_median  s,    	 
 	Hg/BPTUgye	
r#   method)r@   r   rA   r   r   r   r   r   rW   )gȃw@Ba@gCVZg
?Z.F?)r   r           )g94c4?g@}jX?gNr3   r/   cfoobarbazOrE   r0   r   rd   r   r;   r0   re   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;   ri   r   )
r   rG   r'   object_rH   r   rr   r   rI   rM   )r   r   rW   r9   rX   r[   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  dj                  g d      }t        j                  t        |      5   t        ||              d d d        d d d        y # 1 sw Y   qxY w# 1 sw Y   xY w# 1 sw Y   y xY w)
Nr;   r0   r   rd   )      ?       @      @      @r3   r/   r   d)intfloatstrr   )zCould not convertcould not convertz"can't multiply sequence by non-intzdoes not supportrC   use_bottleneckF)r   r   rO   rP   r   rH   pdoption_context)r   r   rW   r   s       r!   test_mixed_opsz%TestDataFrameAnalytics.test_mixed_ops  s     #-+
 hh
 ]]9C0 	GBO	 /7 
	"((C y4 "B!"
	" 
	"	 	" "
	" 
	"s0   C4/C#C5CCC	CC'z"sum doesn't work for arrow stringsreasonc                 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)rk   rl   rf   (   2   )r3   r/   r   r   e)	bool_dataint_datastring_datari   r   r?   )r0      abcdere   r;   )r   reindexr@   rI   assert_numpy_array_equalr   r'   arrayrr   TrM   )r   rW   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;   r0   r   r;   r   ABCr0   Fr%   r?   r   )r9   r%   )r   r'   r(   rI   rM   r   r   r   rW   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  r0   r  r  r   r  r  rF   r   r   r   r   rI   rM   r   r  rW   rX   r[   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  r0   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)Nr0   z628.00r  r;   z383.00r   z651.00z575.00rd   z1114.00TESTz241.00z572.00z609.00z820.00rj   z1223.00z)unsupported operand type|does not supportrC   r  r  g@gL@rE   )
r   r   rO   rP   r   r   r   rr   rI   rM   )r   r   rW   rX   r[   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\]]H
 	 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)Nrd   r   c                 &    | j                  d      S Nrd   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#   r0   r;     r  r   r?   r   F)r   rN   rI   assert_almost_equalr   r'   repeatrz   r{   r   nanvarr   r   r   r   datetime_framerX   r[   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)Nr0   )rj   r   r   r   r   100)r   r   r3   r;   Tr   r   r   r?   z6unsupported operand type\(s\) for -: 'float' and 'str'rC   Fz&could not convert string to float: 'a')r   r'   rz   r{   r|   r   rr   locrH   rI   rM   rO   rP   r   )r   r&  df1df2rX   r[   r   s          r!   test_numeric_only_flagz-TestDataFrameAnalytics.test_numeric_only_flag1  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)Nrd   r   c                 d    | j                  d      t        j                  t        |             z  S r  )r   r'   r   r&   r   s    r!   r  z1TestDataFrameAnalytics.test_sem.<locals>.<lambda>X  s!    !%%Q%-"''#a&/2Q r#   r0   r  r  r   r?   r   F)r   rN   rI   r  r'   r   rz   r{   r   nansemr   r   r   r"  s        r!   test_semzTestDataFrameAnalytics.test_semV  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   r3   )
categories
2000-01-02M8[ns]1 days)r  r  r  DEFGF   	   )r3  NaTr<  r<  r5  r(   r(   r(   r   r;   r0   r   )HIJKLMNr<  r3  r<  r<  )r(   r5  r(   r(   c                 b   t        g dddt        j                  dgdt        j                  t        j                  t        j                  gt        t        j                  t        j                  dt        j                  gt              t        t        j                  t        j                  dt        j                  g      t        g dd      t        g d	      g d
g dddt        j                  t        j                  gt        dt        j                  dt        j                  g      t        g dd      t        g d      t        j                  dd      d      }|t        |j                                  j                  |      }t        |      }t        j                  ||       y )N)r1  r1        rk   r   r;   r3   re   rF  r4  r=  )r:  r:  r;  r;  )r;  r;  r:  r:  )r3  r3  r<  r<  )r5  r(   r5  r(   rd   int64)r  r  r  r6  r7  r8  r9  r?  r@  rA  rB  rC  rD  rE  r  )r   r'   r(   r   rr   r
   r   r   arangesortedkeysmoderI   assert_frame_equal)r   r%   r[   rW   rX   s        r!   test_mode_dropnaz'TestDataFrameAnalytics.test_mode_dropnac  s'   t %"bffa(0RVVRVVS"&&9H "&&"&&#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      }|rd nt        }t	        j
                  |      5  |j                  d      }|j                  d      j                  d      }d d d        t	        j                  |       y # 1 sw Y    xY w)Nr  r3   Fr  )byT)drop)
r   r'   r(   UserWarningrI   rJ   rN  sort_valuesreset_indexrO  )r   r   rW   r[   warningrX   s         r!   test_mode_sortwarningz,TestDataFrameAnalytics.test_mode_sortwarning  s     bffbffc3789cC=12,$+''0 	GWWEW*F''3'/;;;FF	G 	fh/		G 	Gs   *5B>>Cc                     t        g ddg      }|j                         }t        g ddgt        g t        j                              }t        j                  ||       y )Nr3   r/   r   re   ri   rF   )r   rN  r   r'   rJ  rI   rO  r   rW   rX   r[   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   r6  r2   freqz2012-1-220120101rj   )minutessecondsr  r  r  r  r  r   )r   r  r;   )r   r  r?   )r0   r  )r0   r  r   r   r7  20130101r8  i1  rb  )daysr  Tr   )r;   r;   r   r   20130102r1   20130105)timetime2rj  ri  off1timedelta64[ns]off2)r   r   r   r   r   rt   r)  allr   absrI   rO  copyr   r   	Timedeltari   rM   rG   _consolidate_inplace)r   rW   diffsrX   result2r[   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 Dayrk   r1   r  Trp  )rm   re  Fr:   r  r  rl  rE   r;   r8   r   r:  )
r   timedelta_ranger   r<  rt   r   r   rI   rM   rq  )r   tdirW   rX   r[   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   r<  .0values     r!   	<genexpr>zFTestDataFrameAnalytics.test_std_datetime64_with_nat.<locals>.<genexpr>9  s     B%ervvoB   z=GH#51446: Incorrect type inference on NaT in reduction resultr   r3   ry  c              3   @   K   | ]  }|t         j                  u   y wr   r  r  s     r!   r  zFTestDataFrameAnalytics.test_std_datetime64_with_nat.<locals>.<genexpr>B  s     AUbff_Ar  ztimedelta64[]re   l     "R: )rn  rO   markxfailapplymarkerr   as_unitr   r   r   r   r<  rI   rM   )r   r   r:   using_array_managerrequestr`   r  dtirW   rX   r[   s              r!   test_std_datetime64_with_natz3TestDataFrameAnalytics.test_std_datetime64_with_nat1  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@   rK   r   r&   )r   empty_frameaxis0axis1s       r!   test_sum_cornerz&TestDataFrameAnalytics.test_sum_cornerI  se    k""%(((%(((5zQ5zQr#   rF   ME)r_  r6  c                     t        dg|      } t        ||      d      }|dv rd}n
|dk(  rd}nd	}t        g ||
      }t        j                  ||       y )Nr3   rZ  r;   r?   )r   rn  rp   r   rJ  rr   rE   r   rH   r   rI   rM   )r   all_reductionsrF   rW   rX   expected_dtyper[   s          r!   test_axis_1_emptyz(TestDataFrameAnalytics.test_axis_1_emptyS  sb     uE2,^,!4^+#Nw&$N%N"E@
vx0r#   zmethod, unit)r@   r   )rA   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   float64rE   r;   )r   	min_countr  r   rk   rj   r  r  r     )r   r'   r(   rH   r   rI   rM   rt   )r   r   r`   r   idxrW   rX   r[   s           r!   test_sum_prod_nanopsz+TestDataFrameAnalytics.test_sum_prod_nanopsj  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]rG   rF   r  r;   )	r   r'   r(   rN   r   r@   r   rI   rM   )r   r  rW   r+  rX   r[   s         r!   test_sum_nanops_timedeltaz0TestDataFrameAnalytics.test_sum_nanops_timedelta  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   rd   rj   r  )r   yrk   r  r   r  r  )r   r@   r   r'   r(   rI   rM   r[  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)r9   r  g	@g333333@r8   c                     t        g dddt        j                  gd|      } |j                  di |}t	        |      j                  |      }t        j                  ||       y )N)r   gffffff@皙@g@r   r3   r/   re   r,   )r   r'   r(   r@   r   r   rI   rM   r   r  kwargsexpected_resultrW   rX   r[   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  re   r,   )r   r'   r(   rA   r   r   rI   rM   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 )Nry   r;   )r   r   r   r   rF   ri   r   r@   )r   r   r   rS   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  rd   r1   r   r  )r0   r   rd   z does not support reduction 'sum'rC   )r   r   r   rO   rP   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)	Nz"Could not convert|does not supportrC   r   r?   unsupported operand typer;   r  rp   )rO   rP   r   r   r   )r   r   r   r   meanss        r!   test_mean_cornerz'TestDataFrameAnalytics.test_mean_corner  s    2]]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-01r1   1D2016Yr^  )r  r  r  r6  Tr  r  r   z'mean is not implemented for PeriodArrayrC   )r   r'   rK  r   r   rz  period_ranger   r   rI   rM   rO   rP   r   r[  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  r1   r  r  Fr  r;   )r;   r  )r;   r  r  r  r^  r6  z"mean is not implemented for PeriodrC   )r   r'   rK  r   r   rz  r   r   r)  rI   rM   r  rO   rP   r   r[  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 )
Nr0   r  )rk   rj   )sizeInt64re   Tr  Float64)	r'   rz   r{   integersr   r   r   rI   rM   )r   r$  rW   rX   r[   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   rC   r;   r  )rO   rP   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;   rk   ry   r?   r   )r   rL   r   r@   )r   rW   r  s      r!   test_sum_boolsz%TestDataFrameAnalytics.test_sum_bools'  s=    U1XuRy9Ryyay #r)))r#   r:   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)Nrj   rk   rc   rl   rm   Fr;   z3The behavior of DataFrame.idxmin with all-NA valuesrC   r8   zThe behavior of Series.idxmin)r'   r(   rt   FutureWarningrI   rJ   idxminrN   r   r   rF   rG   rM   r   r   r   r:   r9   rS   rW   warnr   rX   msg2r[   s               r!   test_idxminz"TestDataFrameAnalytics.test_idxmin/      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   r8   re   )r   r  r   rG   rI   rM   r   rF   r:   r9   rS   rX   r[   s          r!   test_idxmin_emptyz(TestDataFrameAnalytics.test_idxmin_emptyC  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r0   r   r;   r0   r;   r;   xyxr   r  r0   r;   r3   r/   r  )r0   r;   r   )r   rs   r  r   rI   rM   r   r   rW   rX   r[   s        r!   test_idxmin_numeric_onlyz/TestDataFrameAnalytics.test_idxmin_numeric_onlyP  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 DataFramerC   r0   r?   )rO   rP   rQ   r  r   r   rS   r   s       r!   test_idxmin_axis_2z)TestDataFrameAnalytics.test_idxmin_axis_2Z  =    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)Nrj   rk   rc   rl   rm   Fr;   z3The behavior of DataFrame.idxmax with all-NA valuesrC   r8   zThe behavior of Series.idxmax)r'   r(   rt   r  rI   rJ   idxmaxrN   r   r   rF   rG   rM   r  s               r!   test_idxmaxz"TestDataFrameAnalytics.test_idxmax`  r  r  c                     |dk(  rt        |      }nt        |      }|j                  ||      }t        |j                        }t	        j
                  ||       y r  )r   r  r   rG   rI   rM   r  s          r!   test_idxmax_emptyz(TestDataFrameAnalytics.test_idxmax_emptyt  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   r3   r/   r  )r;   r   r;   )r   rs   r  r   rI   rM   r  s        r!   test_idxmax_numeric_onlyz/TestDataFrameAnalytics.test_idxmax_numeric_only  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]re   r;   r   r3   r/   r  r0   )r/   r   r3   zstring[pyarrow]Fr  )rO   r   r   r  r   rI   rM   r  r[  s       r!   test_idxmax_arrow_typesz.TestDataFrameAnalytics.test_idxmax_arrow_types  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  )rO   rP   rQ   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   r1   )r   r0   r;   re  T)deepr   )r;   r   r0   r  )r   r0   r   )r   r   rd   )r;   r   r0   r   r   )r   r0   r;   r0   )r   r   rL   rp  r  r   rI   rM   r  r   r<  r)  rr  r   r  rW   rX   r[   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  rj   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;   r0   r   )IDr  r  re   r  r  r  r  )namerG   r  )r   groupbyrH   r   rI   rO  )r   r   expected_valuerW   rX   r[   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   r1   re  )r   rd   Trx  )r   r   r;   r?   )rd   r   r   )rd   r   rd   )r   r   r   r<  rt   rr  r  r   rI   rM   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   rn  	bool_onlyc                     |}t         j                  j                  d      j                  t	        |            dkD  |d<    t        ||      ||       y )Nr0   g      ?_bool_r9   r
  )r'   rz   r{   r|   r&   rH   )r   rR   r9   r
  r   ru  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   rR   r9   rw   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   r5   s    r!   r6   z?TestDataFrameAnalytics.test_any_all_bool_frame.<locals>.wrapper  r7   r#   r   Fr8   r;   r?   )r<   rB   rC   r0   r   )fillnarH   r'   rI   rM   rN   rO   rP   rQ   r(   r   rn  )r   rR   rw   rS   rV   r"   r6   rY   rZ   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   rI   rM   rn  itemr[  s       r!   test_any_all_extraz)TestDataFrameAnalytics.test_any_all_extra1  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      }|r|dk(   xr
 | xr |dk(  }nd} t        ||      ||      }t	        dd|dg      }t        j                  ||       y )	Nr;   Tr0   5datar   rn  r8   )r   r'   r(   rH   r   rI   rM   )	r   r9   r  r:   r   rW   valrX   r[   s	            r!   test_any_all_object_dtypez0TestDataFrameAnalytics.test_any_all_object_dtypeR  s     BFFBFFD)BFFD).bff-	
 ai-IJI=E3ICC+]+fE4sD12
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   r<  r   r   r   rI   rM   )r   
float_datadatetime_datarW   rX   r[   s         r!   test_any_datetimez(TestDataFrameAnalytics.test_any_datetimek  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col3re   r   Tr  r  )FFT)r&  r'  r(  col4r)  F)	r   r   rr   rn  r   r'   bool_rI   rM   r[  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  categoryrk   rl   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   )rK   r   )r  r   s     r!   r  z>TestDataFrameAnalytics.test_any_all_np_func.<locals>.<genexpr>  s     D1z!-.Ds   z)dtype category does not support reductionrC   r?   z0'(any|all)' with datetime64 dtypes is deprecatedc                      | j                   dk(  S )NrD  )kindr   s    r!   r  z=TestDataFrameAnalytics.test_any_all_np_func.<locals>.<lambda>  s    166S= r#   F)rD   check_stacklevel)r   r   dtypesrO   rP   r   rH   __name__rN   r  rI   rJ   rK   r'   r*  r  )r   funcr  r[   r   r  rX   s          r!   test_any_all_np_funcz+TestDataFrameAnalytics.test_any_all_np_func  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 )Nr3   r/   r   TF)r'   rn  r   r  r   )r   rX   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   r0   TFr  r  r,  r6  r   )r
  r9   r  r  )r   r   rr   rr  r   _get_bool_datarI   rO  rn  rM   r   )r   rW   resr[   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   )lowerr9   )ltlegtgeeqner?   )r   r'   r(   r   rI   rJ   cliprH   )r   rW   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)[r3  
__module____qualname__rO   r  parametrizeparamtd
skip_if_nor   r   r   r   r   r   r'   r(   rr   filterwarningsr   r   r  r   r   r  r  r  r  r%  r,  r0  r
   r   r   r   r   r<  rP  rX  r\  rv  r|  r  r  r   r   rJ  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r   r$  r+  r   rn  r   r   r5  r7  r;  rG  r,   r#   r!   r   r      s    [[VaV,[[FLL}r}}W'=>FLL}r}}W'=>	
$,N% -&,N\ [[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"@ [["$-Q  **"	
 [[TD%=11 21 [[TD%=11 2116*" [[V%:;"; <";H* [[ $cUu=&~XF%xj1 &&!266(&9$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! [[Xe}5[[VaV,5 - 6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   r<  r   r   r   rI   rM   r   )r   rW   r:  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;   Fr8   )r   r3   r3   )r   r/   )rK   r   r   rO   skipr   r   r   r<  r   r   r)  rG   rI   rM   r   )r   r  tz_naive_fixturer  rW   r:  r[   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   r<  r   rI   rM   )r   rW   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   re   r   r?   r;   )
r   r   r   r'   r  r   r   r   rI   rM   )r   rW   expected_float_seriess      r!   *test_min_max_dt64_api_consistency_empty_dfzBTestDataFrameReductions.test_min_max_dt64_api_consistency_empty_dfl  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   rH   rI   rM   )r   r^  r   
initial_dtr[   rW   rX   s          r!   test_preserve_timezonez.TestDataFrameReductions.test_preserve_timezonex  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;   r8   )r   r   r   r   r<  rH   rI   rM   )r   r   r:   r  rW   r   rX   r[   s           r!   !test_minmax_tzaware_skipna_axis_1z9TestDataFrameReductions.test_minmax_tzaware_skipna_axis_1  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)r3   tr?   FTr3   rg  )r  rF   r  )r   r   r   r   rI   rM   r[  s       r!   test_frame_any_with_timedeltaz5TestDataFrameReductions.test_frame_any_with_timedelta  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.rC   ry  )r  rO   r  r  rP   rQ   rH   )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]re   z2019-12-31 00:00:00.123zdatetime64[ms]r  r3   r/   r  )r   r   r   r   rI   rM   r[  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 )	Nr5  ztimedelta64[s]re   ztimedelta64[ms]r  r3   r/   r  )r   r   r   rq  r   rI   rM   r[  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)r3  rH  rI  rS  rW  rZ  r]  rO   r  rJ  r   ra  rd  rh  rl  rL  skip_array_manager_invalid_testrn  &skip_array_manager_not_yet_implementedrp  r,   r#   r!   rP  rP  '  s    )..<C
F [[	$&AB [[Xu~61c 1 7	
1 [[Xu~61 711"
6 ''1 (1$ ..1 /1r#   rP  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   rn  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  )rG   r  does not support reductionrC   Fr  r?   )r   to_framerO   rP   r   rH   r'   )r   r   serrW   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;   r0   r0   r0   r   rv  rC   Fr  r  )r   r
   rO   rP   r   r   r   r   )r   rW   rx  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)r3   r/   r   r/   F)orderedr  zis not ordered for operationrC   r  r   r?   r  )
r
   r   rw  rO   rP   r   rH   r'   r   rr   )r   r   catrx  rW   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)	r3  rH  rI  rO   r  rJ  ry  r{  r  r,   r#   r!   rt  rt    sW    [[Xu~6, 7,*6 [[Xu~6, 7,r#   rt  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   rA   r;   c                     t        g g d|      } t        ||      d      }t        ||g|      }t        j                  ||       y Nr   r;   re   r   r  r  r   rR   rG   	exp_value	exp_dtyperW   rX   r[   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  re   r;   r  )r   rH   r   r'   r(   rI   rM   r   rR   rG   r  rW   rX   r[   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  )rA   r  r;   r  UInt8UInt32UInt64)r@   r  r   r  )rA   r  r;   r  )r@   Float32r   r  )rA   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_0W  sH    $ 2"~U3$V$q19i0	B
vx0r#   )r@   r  r  )rA   r  r  )r@   r  r  )rA   r  r  )r@   r  r  )rA   r  r  )r@   r  r  c                     t        g g d|      } t        ||      d      }t        t        j                  t        j                  g|      }t        j                  ||       y r  )r   rH   r   r   NArI   rM   r  s          r!   "test_df_empty_nullable_min_count_1z?TestEmptyDataFrameReductions.test_df_empty_nullable_min_count_1q  sO    " 2"~U3$V$q1255"%%.	:
vx0r#   N)r3  rH  rI  rO   r  rJ  r'   int8rJ  int_uint8uint64uintr   r  r  r  is_windows_np2_or_is32r  is_windows_or_is32r  r,   r#   r!   r  r  (  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#   r  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   r:  zm8[s]rd   r0   Nat)re  re  Fry  r1  rd  re   r   r8   r;   rj   r;  )rO   r  r  r  r'   rK  r   rJ  viewreshaper   r2  rG   rn  r@   r   r   rq  r<  rI   rM   )r  r  r  r$  rW   rX   r[   s          r!   !test_sum_timedelta64_skipna_falser    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#   z#sum doesn't work with arrow stringsr   c                      t        ddggt        d            } | j                  ddi      } | j                         }t	        ddgddg      }t        j                  ||       y )Nr3   r;   abr   r/   r  r  )r   rs   r   r@   r   rI   rM   )rW   rX   r[   s      r!   !test_mixed_frame_with_integer_sumr    s[    
 
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 )NrJ  re   r  r  r  )r'   iinfor   r   r   r   
Int64Dtyper   rH   r   rI   rM   )r   r   
int64_inforx  rW   rX   r[   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   rv  rC   )r   rO   rP   r   r@   )r  rW   s     r!   .test_frame_mixed_numeric_object_with_timestampr    sL     
!C5whZH	IB	y(D	E 
  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;   r3   Tr   r;   F)r9   r  r   r3   re   z2unsupported operand type(s) for +: 'int' and 'str'rC   )r   rA   r   rr   rI   rM   r   escaperO   rP   r   r@   )rW   rX   r[   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   rG   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 )Nr0   )rd   rd   re   r   >   r   r   r   r   r   F)r   r9   r?   )r   r'   rz   r{   r|   rH   to_numpyr  rO   r   rI   r  )r   r   rG   rW   rX   np_arrcomp_modr[   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   rA   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 numericrC   )r   rr   r   rO   rP   r   rH   )r  rW   argsr   msg1r  s         r!   test_fails_on_non_numericr    s    0 
0	1Bj(B5bD
((	
C / 	
- 	 hhd|$	y	, #FT"# # #s   )BB)rn  r   r   r  r  r   r   r   r   r   r   r   rA   r   r   r   r   r@   r   r  r0   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>  re   r   r;   r   r  )r   r   r   r   r   r   r   r   rJ  )rn  r   boolean)r   r   r   r   r   r   r   r   Floatr  )r   r   r  r:   )rA   r   r@   r  )r  r  zThe behavior of DataFrame.z with all-NA valuesrC   r9   r,   )r   r   r   r  r'   r(   
startswithr  rI   rJ   rH   r   rM   )r   r:   r  any_numeric_ea_dtyperW   expected_dfr  r  r  r   rX   r[   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)Bdatetimer   decimalr   r   dateutil.tzr   numpyr'   rO   pandas._configr   pandas.compatr   r   pandas.compat.numpyr	   pandas.util._test_decoratorsutil_test_decoratorsrL  pandasr   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingrI   pandas.corer   r   r  r  r-   ra   fixturerw   r}   r   rP  rt  r  r  r  r  r  rJ  r  r<  r  r  r  r  r  r,   r#   r!   <module>r     s     	    5 / ) )      
 ./F4FSt8 (*6$h H 		k1\  (  "B/ B/J*l1 l1^O, O,d^1 ^1B-D  )N  -- )<=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#   