U
    sVc
                    @   s$  d dl mZ d dlmZ d dl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 d dlm  mZ d dlmZ d dlZd dlmZmZmZmZmZmZmZmZmZm Z m!Z! d dl"m#Z$ d dl%m&  m'Z' d dl(m&  m)Z) dDddZ*G dd dZ+G dd dZ,G dd dZ-dd Z.dd Z/e
j01dd	d
dge
j01dddgdd Z2dd  Z3e
j0j4d!d"d#d$ Z5e
j01d%ddd&d'd(gd)d* Z6e
j01d+ed,ej7gd-d. Z8d/d0 Z9e
j01dddd'd(d1d2gd3d4 Z:e
j01d5d6d7d8d9d:d;d2d2dd'd(dd<d=d=d>d?d1d@d&dAgdBdC Z;dS )E    )	timedelta)DecimalN)tzlocal)lib)is_platform_windowsis_categorical_dtype)Categorical	DataFrameIndex
MultiIndexSeries	Timestamp
date_rangeisnanotnato_datetimeto_timedeltaTFh㈵>:0yE>c	              
      s  | dkrt nd}	t|| }
|r| dkr*t nd}tdtdddi}t| t||  }W 5 Q R X t|tsrtt	t
||d< t| t||  }W 5 Q R X t|tstt
|st|rF fd	d
}t |}tj|	dd |
ddd}|
ddd}W 5 Q R X tj||||||d tj||j|dd||d n }tj|	dd |
dd}|
dd}W 5 Q R X tj||||||d | dkr|j|dd}tj||d||d |r|jj}||jkst||jksttj|	dd* tjtdd |
dd W 5 Q R X W 5 Q R X |r|tj }tj|	ddd& t|| dd}t|| dd}W 5 Q R X | dkr| dkrdnd}t||j|jd}t|| t||j|jd}t|| dS )a  
    Check that operator opname works as advertised on frame

    Parameters
    ----------
    opname : str
        Name of the operator to test on frame
    alternative : function
        Function that opname is tested against; i.e. "frame.opname()" should
        equal "alternative(frame)".
    frame : DataFrame
        The object that the tests are executed on
    has_skipna : bool, default True
        Whether the method "opname" has the kwarg "skip_na"
    check_dtype : bool, default True
        Whether the dtypes of the result of "frame.opname()" and
        "alternative(frame)" should be checked.
    check_dates : bool, default false
        Whether opname should be tested on a Datetime Series
    rtol : float, default 1e-5
        Relative tolerance.
    atol : float, default 1e-8
        Absolute tolerance.
    skipna_alternative : function, default None
        NaN-safe version of alternative
    madN)meanmedianbz1/1/2001   periodsac                    s
    | j S Nvaluesxalternative F/tmp/pip-unpacked-wheel-xj8nt62q/pandas/tests/frame/test_reductions.pywrapperZ   s    z$assert_stat_op_calc.<locals>.wrapperThe 'mad' method is deprecatedmatchr   Faxisskipna   )check_dtypertolatolr,   )r0   r1   sumprodNo axis named 2r*   Zraise_on_extra_warningsr5   indexdtype)FutureWarninggetattrr
   r   tmassert_produces_warning
isinstancer   AssertionErrorrangelenZ_make_skipna_wrapperassert_series_equalapplyr    r:   pytestraises
ValueErrornpNaNr9   )opnamer$   frame
has_skipnar/   check_datesr0   r1   skipna_alternativewarnfZexpected_warningdfresultr'   skipna_wrapperresult0result1expectedZ	lcd_dtypeall_nar0r1unitr%   r#   r&   assert_stat_op_calc#   s    %
    

    
  
r[   c                -   @   sz
  e Zd Zejdejdddgejd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d Z
ejdejdddgejddddd	d
dddddejdej	dejdej	dgdd Zdd Zej	dd Zejddd Zejd ddd!dddddgejd"ed#d$d%gddd&gd'd(d)gd*d+d,d-gd.d/eejd0gejd1gejd2gd3ed4gd5d6 Zejd7ddddddgd8d9 Zd:d; Zd<d= Zejd>d?d@gdAdB Zejd>d?d@gdCdD ZdEdF ZdGdH ZejdIdddgdJdK ZdLdM Zej	dNdO ZejdPdQdRgdSgdTgdUgedUgdUgdVedWge dXgdYfdZdRgdSgejgej!ejged4eejgdUgdVe"j#ge e"j#gdYfdQd[d\ejejgd[d\ejejgdejejejgedUejejejgdUgdVedWd]d]d]ge dXd^d^d^gddd0d1gd_fdZd[d\ejejgd[d\ejejgdejejejgeejdUejejgdUgdVed]dWd]d]ge d^dXd^d^gddd0d1gd_fgd`da Z$dbdc Z%ddde Z&dfdg Z'dhdi Z(djdk Z)ejdldmdngejdod?dQdZgdpdq Z*drds Z+dtdu Z,ejdvdwdxdygejdzdd0d{d|d}ej-gfdd1d{ej-ej-ej-gfddZd~d|d}ej-gfgdd Z.ejdvdwdxdygejdzdd0d{ddej-gfdd1d{ej-ej-ej-gfddZd~ddej-gfgdd Z/dd Z0dd Z1dd Z2dd Z3dd Z4dd Z5dd Z6dd Z7dd Z8ejddQdZgejdddgdd Z9ejdodQdZgdd Z:dd Z;ejddQdZgejdddgdd Z<ejdodQdZgdd Z=dd Z>dd Z?ejdddd2gfdddgfgdd Z@dd ZAejdddgejdddgejddZdQgdd ZBejdddgejdddgdd ZCejdddgdd ZDdd ZEejdddgejdddgejddQdZgdd ZFdd ZGdd ZHejdejIi dZfejJi dQfejIdg idZfejJdg idQfejIddZdZgidZfejJddZdZgidZfejIddQdZgidQfejJddQdZgidZfejIddQdQgidQfejJddQdQgidQfejIdZgdZgddZfejJdZgdZgddZfejIdZdZgdZdQgddQfejJdZdZgdZdQgddZfejJdeKd&dTgdd4idZfejIdeKd&dTgdd4idQfejJdeKddgeLd4idZfejIdeKddgeLd4idQfeejJdeKddgdd4idZeejJdeKddgdd4idZeejIdeKddgdd4idQeejIdeKddgdd4idQeejJdeKdd0gdd4idQeejJdeKdd0gdd4idQeejIdeKdd0gdd4idQeejIdeKdd0gdd4idQeejJdeKddgdd4idZeejIdeKddgdd4idQeejJdeKdd0gdd4idQeejIdeKdd0gdd4idQejJdeKddgdd4idQfejIdeKddgdd4idZfejJdeKdd0gdd4idQfejIdeKdd0gdd4idZfeejJeKddgdd4eKddgdd4ddQg#dd˄ ZMdd̈́ ZNddτ ZOejd ddgddф ZPddӄ ZQd?S )TestDataFrameAnalyticsz)ignore:Dropping of nuisance:FutureWarningr,   r   r.   rJ   countr4   r   productr   minmaxnuniquer   varstdsemskew)Zmarkskurtc              	   C   sZ   |dkrt nd }tj|ddd0 t|||d |dkrLt|||dd W 5 Q R X d S )	Nr   r(   Fr7   r2   )ra   r   Tr,   numeric_only)r;   r=   r>   r<   )selffloat_string_framer,   rJ   rO   r%   r%   r&   #test_stat_op_api_float_string_frame   s      z:TestDataFrameAnalytics.test_stat_op_api_float_string_framec                 C   s   t |||dd d S )NFrg   r<   )ri   float_framer,   rJ   r%   r%   r&   test_stat_op_api_float_frame   s    z3TestDataFrameAnalytics.test_stat_op_api_float_framec           	      C   s   dd }dd }dd }dd }d	d
 }dd }t d||dddd t dtj|dddd t dtj|tjd t dtj|dd t dtj|tjd t d|| t d|| t d|| t d|| t d||dddd d S )Nc                 S   s   t |  S r   )r   r4   sr%   r%   r&   r]      s    z7TestDataFrameAnalytics.test_stat_op_calc.<locals>.countc                 S   s   t t|  S r   )rB   
algorithmsZunique1ddropnaro   r%   r%   r&   ra      s    z9TestDataFrameAnalytics.test_stat_op_calc.<locals>.nuniquec                 S   s   t | |    S r   )rH   absr   r!   r%   r%   r&   r      s    z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.madc                 S   s   t j| ddS Nr.   Zddof)rH   rb   r!   r%   r%   r&   rb      s    z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.varc                 S   s   t j| ddS rt   )rH   rc   r!   r%   r%   r&   rc      s    z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.stdc                 S   s   t j| ddt t|  S rt   )rH   rc   sqrtrB   r!   r%   r%   r&   rd      s    z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.semra   FT)rL   r/   rM   r4   float32gMbP?)r/   r0   )rN   r   rM   r^   r   rb   rc   rd   r]   )r[   rH   r4   astypeZnansumr   r5   Znanprod)	ri   float_frame_with_naZmixed_float_framer]   ra   r   rb   rc   rd   r%   r%   r&   test_stat_op_calc   s\          z(TestDataFrameAnalytics.test_stat_op_calcc                 C   s,   dd }dd }t d|| t d|| d S )Nc                 S   s*   ddl m} t| dk rtjS || ddS )Nr   )re      FZbias)scipy.statsre   rB   rH   nan)r"   re   r%   r%   r&   skewness  s    zHTestDataFrameAnalytics.test_stat_op_calc_skew_kurtosis.<locals>.skewnessc                 S   s*   ddl m} t| dk rtjS || ddS )Nr   )kurtosis   Fr}   )r~   r   rB   rH   r   )r"   r   r%   r%   r&   rf     s    zDTestDataFrameAnalytics.test_stat_op_calc_skew_kurtosis.<locals>.kurtre   rf   r[   )ri   rz   r   rf   r%   r%   r&   test_stat_op_calc_skew_kurtosis  s    z6TestDataFrameAnalytics.test_stat_op_calc_skew_kurtosiszignore::RuntimeWarningc                 C   s.   dd }t d||dd t d||ddd d S )Nc                 S   s   t |  rtjS t| S r   )r   anyrH   r   r   r!   r%   r%   r&   r'   %  s    z3TestDataFrameAnalytics.test_median.<locals>.wrapperr   Trx   F)r/   rM   r   )ri   rz   	int_framer'   r%   r%   r&   test_median#  s        z"TestDataFrameAnalytics.test_medianmethodr5   rQ   gȃw@Ba@gCVZg
?Z.F?g        g94c4?g@}jX?gNr   r   cfoobarbazOr8   r   r|   r   r   r.   r   r:   c                 C   sL   |j jtjkstt||d}t|d|d}|dkrHt|| d S )Nr.   Zf8r3   )	r    r:   rH   Zobject_r@   r<   ry   r=   rC   )ri   r   rQ   rR   rV   r%   r%   r&   %test_stat_operators_attempt_obj_array/  s
    z<TestDataFrameAnalytics.test_stat_operators_attempt_obj_arrayopc              
   C   s   t ddddgddddgd	d
ddgd}tjtdd t|| }W 5 Q R X t|dks^ttdd< tjtdd t|| }W 5 Q R X t|dkstW 5 Q R X d S )Nr.   r   r|   r         ?       @g      @      @r   r   r   d)intfloatstrSelect only valid columnsr)   use_bottleneckF)	r
   r=   r>   r;   r<   rB   r@   pdoption_context)ri   r   rQ   rR   r%   r%   r&   test_mixed_opsR  s&    


  z%TestDataFrameAnalytics.test_mixed_opsc                 C   s   t dddddgdddddgdd	d
ddgd}|jdddgd |jdd}t|jtjdddgtd |j	jdd}t
|| d S )NTF
         (   2   r   r   r   r   e)	bool_dataint_datastring_datar   r   r   columnsr   r2   r      Zabcder   r.   )r
   reindexr4   r=   Zassert_numpy_array_equalr    rH   arrayobjectTrC   )ri   rQ   testZaltr%   r%   r&   test_reduce_mixed_framei  s     z.TestDataFrameAnalytics.test_reduce_mixed_framec                 C   s   t dddgdddgdtjdgd}t| tdddd t|jddtdddd t|jddtdddd t|jddd	tdddd d S )
Nr.   r   r|   ABCFrr   r2   r   )r,   rr   )r
   rH   r   r=   rC   ra   r   )ri   rQ   r%   r%   r&   test_nuniquez  s    $
   z#TestDataFrameAnalytics.test_nuniquetzNUTCc              	   C   s^   t ddgtd|dgd d}tt | }W 5 Q R X tdgdgd}t|| d S )	Nr.   2000r   r   r   r   r   r   r9   )r
   r   r=   r>   r;   r   r   rC   ri   r   rQ   rR   rV   r%   r%   r&    test_mean_mixed_datetime_numeric  s
     z7TestDataFrameAnalytics.test_mean_mixed_datetime_numericc              	   C   sT   t dtd|dgd i}tt | }W 5 Q R X ttjd}t	|| d S )Nr   r   r   r   r   )
r
   r   r=   r>   r;   r   r   rH   float64rC   r   r%   r%   r&   test_mean_excludes_datetimes  s
    z3TestDataFrameAnalytics.test_mean_excludes_datetimesc                 C   s   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d | }W 5 Q R X tddgddgd}t|| d S )Nr   z628.00r   r.   z383.00r|   z651.00z575.00r   z1114.00ZTESTz241.00z572.00z609.00z820.00   z1223.00r   r)   g@gL@r   r   r   )r   r
   r=   r>   r;   r   r   rC   )ri   r   rQ   rR   rV   r%   r%   r&   test_mean_mixed_string_decimal  s&     z5TestDataFrameAnalytics.test_mean_mixed_string_decimalc              	   C   s   |j dd}|dd }t|| |jdd}|dd }t|| ttjddd}tj	|dd	}|dk 
 rttd
d$ tj	|dd	}|dk 
 rtW 5 Q R X d S )Nr   ru   c                 S   s   | j ddS Nr   ru   )rc   r!   r%   r%   r&   <lambda>      z5TestDataFrameAnalytics.test_var_std.<locals>.<lambda>c                 S   s   | j ddS r   )rb   r!   r%   r%   r&   r     r   r.     r   r   r2   r   F)rc   rD   r=   assert_almost_equalrb   rH   repeatrandomnanopsZnanvarr   r@   r   r   ri   Zdatetime_framerR   rV   arrr%   r%   r&   test_var_std  s    z#TestDataFrameAnalytics.test_var_stdmethc              	   C   s  t tjdddddgd}d|jd< t tjdddddgd}d	|jd< t||d
dd}t|ddg |d
d}t|| t||d
dd}t|ddg |d
d}t|| d}tj	t
|d t||d
dd W 5 Q R X d}tj	t
|d t||d
dd W 5 Q R X d S )Nr   r|   r   r   r   r   Z100)r   r   r   r.   Trg   r2   z6unsupported operand type\(s\) for -: 'float' and 'str'r)   Fz&could not convert string to float: 'a')r
   rH   r   randnlocr<   r=   rC   rE   rF   	TypeError)ri   r   Zdf1df2rR   rV   msgr%   r%   r&   test_numeric_only_flag  s     

z-TestDataFrameAnalytics.test_numeric_only_flagc              	   C   s   |j dd}|dd }t|| ttjddd}tj|dd}|dk 	 rZt
td	d
$ tj|dd}|dk 	 rt
W 5 Q R X d S )Nr   ru   c                 S   s   | j ddtt|  S r   )rc   rH   rv   rB   r!   r%   r%   r&   r     r   z1TestDataFrameAnalytics.test_sem.<locals>.<lambda>r   r   r   r2   r   F)rd   rD   r=   r   rH   r   r   r   Znansemr   r@   r   r   r   r%   r%   r&   test_sem  s    zTestDataFrameAnalytics.test_semc              
   C   s   t dgdddgddggddddddgddddddgddddddggd}ttjd	d
|d}| }tt |jdd	d}W 5 Q R X tj
||dd |jd kst|jdkstd S )Nr   onetwoZthreer   r.   r   )levelscodes   r|   r   levelF)Zcheck_names)r   r
   rH   r   r   rf   r=   r>   r;   xsrC   namer@   )ri   r9   rQ   rf   Zkurt2r%   r%   r&   	test_kurt  s    ,z TestDataFrameAnalytics.test_kurtzdropna, expectedT   g      $@r   r   )
categories2000-1-21 days)r   r   r   DEFGF   	   NaTr   )HIJKLMNc                 C   s   t ddddgddtjdgdtjtjtjgtjtjdtjgttjtjdtjgtdd	ddgtd
dddgddddgddddgddtjtjgtdtjdtjgtd	d	ddgtd
dd
dgtjdddd}|t|  j	|d}t |}t
|| d S )Nr         r   r|   r.   r   r   r   r   r   r   r   r   int64r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r
   rH   r   r	   r   r   arangesortedkeysmoder=   assert_frame_equal)ri   rr   rV   rQ   rR   r%   r%   r&   test_mode_dropna  s(    7


z'TestDataFrameAnalytics.test_mode_dropnac              	   C   sp   t dtjtjddgi}t ddtjgi}tt& |jdd}|jddjdd}W 5 Q R X t	|| d S )Nr   r   Fr   )ZbyT)Zdrop)
r
   rH   r   r=   r>   UserWarningr   Zsort_valuesZreset_indexr   )ri   rQ   rV   rR   r%   r%   r&   test_mode_sortwarningJ  s    z,TestDataFrameAnalytics.test_mode_sortwarningc                 C   sB   t g ddgd}| }t g ddgtg tdd}t|| d S )Nr   r   r   r   )r   r9   )r
   r   r   r   r=   r   ri   rQ   rR   rV   r%   r%   r&   test_mode_empty_dfW  s    z)TestDataFrameAnalytics.test_mode_empty_dfc              	   C   s  t tddddtddddtdtddd d	}t |d
 |d  |d
 |d  d}| }|d |jd ksxt|d |jd kst|jdd}||jd k st| }|d |jd kst|d |jd kst|jdd}||d
 k st|	 }t	|}t |d
 |d  |d |d
  d}t
|| t
|| | }d|d< d|d< d|d< td|d< | }tttddttdddddtdg|jd}t
|| t
jtdd  |jdd}W 5 Q R X tdddgddd!gd}t
|| |d
dg d}ttddgd }t
|| |d
dg  }ttddtddgd
dgd}t
|| t td"dd#td$dd#d%}|d& |d'  |d(< |d( jd)kst|d' |d&  |d*< |  |d( jd)kst|d* jd)kstd S )+Nz2012-1-1r|   r   r   freqz2012-1-2Z20120101r   )minutessecondsr   r   r   r   r   r   )r   r   r.   )r   r   r2   )r   r   )r   r   r   r   r   Z20130101r   i1  r  )daysr   Select only validr)   r   Z20130102r   Z20130105)timetime2r	  r  Zoff1timedelta64[ns]Zoff2)r
   r   r   r   r_   r   r@   allr`   rs   r=   r   copyr   r   	Timedeltar   rC   r>   r;   r:   _consolidate_inplace)ri   rQ   ZdiffsrR   Zresult2rV   mixedr%   r%   r&   test_operators_timedelta64]  s~    && 

z1TestDataFrameAnalytics.test_operators_timedelta64c                 C   s   t jddd}t||ddd}t j|jd< |jdd	}t|d
  t jgd
dgdd}t|| |jddd}tt 	dgd t jt 	dg }t|| d S )Nz1 Dayr   r   r   Tr  )r  Fr-   r   r   r
  r8   r.   r+   r   r   )
r   timedelta_ranger
   r   ilocrc   r   r=   rC   r  )ri   ZtdirQ   rR   rV   r%   r%   r&   !test_std_timedelta64_skipna_false  s      $z8TestDataFrameAnalytics.test_std_timedelta64_skipna_falsec                 C   sZ   t  }|d}|d}t|ts(tt|ts6tt|dksFtt|dksVtd S )Nr   r.   )r
   r4   r?   r   r@   rB   )ri   Zempty_frameZaxis0Zaxis1r%   r%   r&   test_sum_corner  s    

z&TestDataFrameAnalytics.test_sum_cornerzmethod, unit)r4   r   )r5   r.   rh   c                 C   s  dddg}t ||g|tjgtjtjgd}t|||d}t|||g|dd}t|| t|||dd	}t||tjg|d
}t|| t|||dd	}t|||g|dd}t|| t|jdd  ||dd	}t|tjtjg|d
}t|| t |gd |gd tjgd  d}t|||dd	}t|ddgd
}t|| t|||dd	}t|ddgd
}t|| d S )Nr   r   r   r   rh   r   r8   r.   )rh   	min_countr   r   r   r   r   r   r   r   )r
   rH   r   r<   r   r=   rC   r  )ri   r   rZ   rh   idxrQ   rR   rV   r%   r%   r&   test_sum_prod_nanops  s*    
"&z+TestDataFrameAnalytics.test_sum_prod_nanopsc                 C   s   dddg}t ddgdtjgtjtjgd}|t}| }tdddgd|d}t|| |jdd}t|| |jd	d}tddtjgd|d}t|| d S )
Nr   r   r   r   r   m8[ns])r:   r9   r  r.   )	r
   rH   r   rD   r   r4   r   r=   rC   )ri   r  rQ   r   rR   rV   r%   r%   r&   test_sum_nanops_timedelta  s    
"
z0TestDataFrameAnalytics.test_sum_nanops_timedeltac                 C   sN   t dddgdddgd}|jdd	}ttjtjgd
dgd}t|| d S )Nr.   r   r|   r   r   r   )r"   yr   r  r"   r  r   )r
   r4   r   rH   r   r=   rC   r   r%   r%   r&   test_sum_nanops_min_count  s    z0TestDataFrameAnalytics.test_sum_nanops_min_count
float_typeZfloat16rw   r   zkwargs, expected_result)r,   r  g	@g333333@r+   c                 C   sJ   t dddgddtjgd|d}|jf |}t||}t|| d S )Nr   gffffff@皙@g@r|   r   r   r   )r
   rH   r   r4   r   ry   r=   rC   ri   r!  kwargsZexpected_resultrQ   rR   rV   r%   r%   r&   test_sum_nanops_dtype_min_count  s     z6TestDataFrameAnalytics.test_sum_nanops_dtype_min_countr   r   c                 C   sJ   t dddgddtjgd|d}|jf |}t||}t|| d S )Nr   r   r"  r#  r   )r
   rH   r   r5   r   ry   r=   rC   r$  r%   r%   r&    test_prod_nanops_dtype_min_count  s     z7TestDataFrameAnalytics.test_prod_nanops_dtype_min_countc                 C   s6   |j t}t||j|jd}|td }|  d S )Nr9   r   r.   )r    ry   r   r
   r9   r   r   r4   )ri   rm   r    rK   Zdeltasr%   r%   r&   test_sum_object/  s    z&TestDataFrameAnalytics.test_sum_objectc                 C   s"   t |}|d |d d S )Nr.   r   )rH   isnanr4   )ri   rm   boolsr%   r%   r&   test_sum_bool5  s    

z$TestDataFrameAnalytics.test_sum_boolc              	   C   sh   t tdddddddgddddg}tjtdd	 | }W 5 Q R X td
di}t|| d S )Nr   r   r   r.   r   r|   r   r  r)   r   g      @)	r
   r   r   r=   r>   r;   r4   r   rC   r   r%   r%   r&   test_sum_mixed_datetime;  s    z.TestDataFrameAnalytics.test_sum_mixed_datetimec              	   C   s   t jtdd |jdd}W 5 Q R X |jddd}t |j|j t|jt|jk s\t	t jtdd |jdd}W 5 Q R X |jddd}t |j|j |d dk|d	< |d}|d	 |d	 j
 kst	d S )
Nr  r)   r   r2   Trg   r.   r   bool)r=   r>   r;   r   r4   Zassert_index_equalr9   rB   r   r@   r    )ri   rm   rj   Zthe_meanZthe_sumZmeansr%   r%   r&   test_mean_cornerF  s    
z'TestDataFrameAnalytics.test_mean_cornerc              	   C   s   t tdtdddtjdddtjddddd}|jd	d
}tddi}t	
|| t	t | }W 5 Q R X td|jd d}t	
|| d S )Nr|   
2016-01-01r   1D2016r   r   )r   r   r   r   Tr  r   r.   r   )r   r   )r
   rH   r   r   r   r  period_ranger   r   r=   rC   r>   r;   r   r   r%   r%   r&   test_mean_datetimelikeY  s    
z-TestDataFrameAnalytics.test_mean_datetimelikec              	   C   s   t tdtdddtjdddd}|jdd}td|jd	 |jd
 d}t	
|| tjdddd|d< tjtdd |jdd W 5 Q R X d S )Nr|   r0  r   r1  r   Fr  r.   )r.   r   r3  r2  r   r   r   z"mean is not implemented for Periodr)   )r
   rH   r   r   r   r  r   r   r   r=   rC   r4  rE   rF   r   r   r%   r%   r&   )test_mean_datetimelike_numeric_only_falseo  s    
	z@TestDataFrameAnalytics.test_mean_datetimelike_numeric_only_falsec                 C   sD   t jjddd}t|dd}|jdd}t| }t|| d S )Nr   )r   r   )sizeInt64r   Tr  )rH   r   randintr
   r   r=   rC   )ri   r   rQ   rR   rV   r%   r%   r&   *test_mean_extensionarray_numeric_only_true  s
    zATestDataFrameAnalytics.test_mean_extensionarray_numeric_only_truec              	   C   sF   t jtdd. |d |d |d |d W 5 Q R X d S )Nr   r)   r.   )r=   r>   r;   rc   rb   r   re   )ri   rj   r%   r%   r&   test_stats_mixed_type  s     


z,TestDataFrameAnalytics.test_stats_mixed_typec                 C   s8   t tdtdd}t|}|jddd dks4td S )Nr.   r   r(  r2   r   )r
   rA   r   r4   r@   )ri   rQ   r+  r%   r%   r&   test_sum_bools  s    z%TestDataFrameAnalytics.test_sum_boolsr-   c           	      C   sj   |}t j|jdd< t j|jdddd f< ||fD ]0}|j||d}|jtj||d}t|| q4d S Nr   r      r   r  r+   )rH   r   r  idxminrD   r   r=   rC   	ri   rm   r   r-   r,   rK   rQ   rR   rV   r%   r%   r&   test_idxmin  s    z"TestDataFrameAnalytics.test_idxminc              	   C   s|   t dddgdddgtdd}|rR|j|d}tddgddgd	}t|| n&tjtd
d |j|d W 5 Q R X d S )Nr   r|   r.   xyxr   r  r   r   r   not allowed for this dtyper)   )	r
   listr?  r   r=   rC   rE   rF   r   ri   rh   rQ   rR   rV   r%   r%   r&   test_idxmin_numeric_only  s     z/TestDataFrameAnalytics.test_idxmin_numeric_onlyc              	   C   s2   |}d}t jt|d |jdd W 5 Q R X d S Nz)No axis named 2 for object type DataFramer)   r   r2   )rE   rF   rG   r?  ri   rm   rK   r   r%   r%   r&   test_idxmin_axis_2  s    z)TestDataFrameAnalytics.test_idxmin_axis_2c           	      C   sj   |}t j|jdd< t j|jdddd f< ||fD ]0}|j||d}|jtj||d}t|| q4d S r=  )rH   r   r  idxmaxrD   r   r=   rC   r@  r%   r%   r&   test_idxmax  s    z"TestDataFrameAnalytics.test_idxmaxc              	   C   s|   t dddgdddgtdd}|rR|j|d}tddgdd	gd
}t|| n&tjtdd |j	|d W 5 Q R X d S )Nr   r|   r.   rB  r   r  r   r   r   r   rC  r)   )
r
   rD  rJ  r   r=   rC   rE   rF   r   r?  rE  r%   r%   r&   test_idxmax_numeric_only  s     z/TestDataFrameAnalytics.test_idxmax_numeric_onlyc              	   C   s2   |}d}t jt|d |jdd W 5 Q R X d S rG  )rE   rF   rG   rJ  rH  r%   r%   r&   test_idxmax_axis_2  s    z)TestDataFrameAnalytics.test_idxmax_axis_2c                 C   sr  t ddd}tdddgtdd d d |jdd	d
}| }tdddgdddgd}t|| | }tdddgdddgd}t|| t	j
|jd< | }tdddgdddgd}t|| | }tdddgdddgd}t|| |d d d |d< |  | }tddddgddddgd}t|| | }tddddgddddgd}t|| d S )Nr0  r|   r   r   r   r.   r  T)deep)r.   r   r|   r   )r   r|   r   )r   r
   rA   r  rJ  r   r=   rC   r?  r   r   r   r  ri   ZdtirQ   rR   rV   r%   r%   r&   test_idxmax_mixed_dtype  s.    ,z.TestDataFrameAnalytics.test_idxmax_mixed_dtypezop, expected_valuerJ  r?  r   c                 C   sn   t ddddddgddddddgddd}|d	}t|| }t d
|itddgd	ddd}t|| d S )Nd      r   r.   r   )IDvaluer8  r   rS  rT  )r   r:   r   )r
   groupbyr<   r   r=   r   )ri   r   Zexpected_valuerQ   rR   rV   r%   r%   r&   !test_idxmax_idxmin_convert_dtypes  s    
z8TestDataFrameAnalytics.test_idxmax_idxmin_convert_dtypesc                 C   s   t ddd}t||d d d ddd}tj|jd< |  |jd	d
}tdddg}t	|| |j
d	d
}tdddg}t	|| d S )Nr0  r|   r   r  )r|   r   Tr  )r   r   r.   r2   r   )r   r
   r   r   r  r  rJ  r   r=   rC   r?  rO  r%   r%   r&   "test_idxmax_dt64_multicolumn_axis1  s    z9TestDataFrameAnalytics.test_idxmax_dt64_multicolumn_axis1r   r  	bool_onlyc                 C   s2   |}t jt|dk|d< t||||d d S )Ng      ?Z_bool_r,   rX  )rH   r   r   rB   r<   )ri   rJ   r,   rX  rj   r  r%   r%   r&   test_any_all_mixed_float#  s    z/TestDataFrameAnalytics.test_any_all_mixed_floatc                 C   s   t |||dd d S )NFrY  rl   )ri   rJ   r,   bool_frame_with_nar%   r%   r&   test_any_all_bool_with_na-  s    z0TestDataFrameAnalytics.test_any_all_bool_with_nac              	      sL  | d}tt| t||} fdd} fdd}|ddd}|d	dd}t||| t||j|d	d
 |dd
}|d	d
}t||| tj||j|d	d
dd tjtdd |dd
 W 5 Q R X |tj	 }	t|	|dd
}
t|	|d	d
}|dkr,|

 rt|
 rHtn|
 s:t| sHtd S )NTc                    s   |   j} |S r   )rr   r    )r"   Znonar#   r%   r&   rS   :  s    
zFTestDataFrameAnalytics.test_any_all_bool_frame.<locals>.skipna_wrapperc                    s
    | j S r   r   r!   r#   r%   r&   r'   >  s    z?TestDataFrameAnalytics.test_any_all_bool_frame.<locals>.wrapperr   Fr+   r.   r2   )r/   r6   r)   r   r   )Zfillnar<   rH   r=   rC   rD   rE   rF   rG   rI   r   r@   r  )ri   rJ   r[  rK   rP   rS   r'   rT   rU   rW   rX   rY   r%   r#   r&   test_any_all_bool_frame2  s6    




  

z.TestDataFrameAnalytics.test_any_all_bool_framec                 C   s0  t dddgdddgdddgddddgd}|dd	g jd
d}tdddgdddgd}t|| |dd	g jd
dd}t|| |d
}tdddgdddgd}t|| |jd
dd}t|| |jd d }|dkst|jd d }|dkst|dg jd d }|dks,td S )NTFr   r   r   r   r   r   r   r.   r2   rY  rX  r   )r
   r   r   r=   rC   r  itemr@   r   r%   r%   r&   test_any_all_extra^  s.    
z)TestDataFrameAnalytics.test_any_all_extrabool_agg_funcc                 C   sx   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d}t||||d}tddddg}t|| d S )Nr.   Tr   5datar+   )r
   rH   r   r<   r   r=   rC   )ri   r,   ra  r-   rQ   rR   rV   r%   r%   r&   test_any_all_object_dtype  s    z0TestDataFrameAnalytics.test_any_all_object_dtypec                 C   sb   dt jdt jg}tdtdtjtjg}t||d}|jdd}tddddg}t	|| d S )	Nr.   r|   z
1960-02-15z
1960-02-16r   r2   TF)
rH   r   r   r   r   r
   r   r   r=   rC   )ri   Z
float_dataZdatetime_datarQ   rR   rV   r%   r%   r&   test_any_datetime  s    z(TestDataFrameAnalytics.test_any_datetimec                 C   s   t dddgdddgd d d gd}|jdd	}ttjd
}t|| t dddgdddgd d d gdddgd}|jdd	}tddi}t|| d S )Nr.   r   r|   r   r   r   )col1col2col3Tr^  r   F)rg  rh  ri  col4rj  )r
   r  r   rH   bool_r=   rC   r   r%   r%   r&   test_any_all_bool_only  s     	z-TestDataFrameAnalytics.test_any_all_bool_onlyzfunc, data, expectedr   r   r   zM8[ns]zM8[ns, UTC]r  categoryr   r   c              	   C   s   t |}d }tdd |jD r$t}tj|ddd ||}W 5 Q R X t|tjsXt	|
 |ksht	tj|ddd tt ||jd d}W 5 Q R X t|tjst	|
 |kst	d S )Nc                 s   s   | ]}t |V  qd S r   r   ).0r"   r%   r%   r&   	<genexpr>  s     z>TestDataFrameAnalytics.test_any_all_np_func.<locals>.<genexpr>r   Fr*   Zcheck_stacklevelr2   )r
   r   Zdtypesr;   r=   r>   r?   rH   rk  r@   r_  r<   __name__)ri   funcrd  rV   rO   rR   r%   r%   r&   test_any_all_np_func  s(    5     z+TestDataFrameAnalytics.test_any_all_np_funcc                 C   sL   t tddgd }|dks$tt tddgd }|dksHtd S )Nr   r   r   TF)rH   r  r
   r_  r@   r   )ri   rR   r%   r%   r&   test_any_all_object  s    z*TestDataFrameAnalytics.test_any_all_objectc              	   C   s  d}t ddgddgdt}|  tddg|d< |d d|d	< tjt|d
 | }W 5 Q R X |ddg }t	|| tjt|d
 |j
ddd}W 5 Q R X tddgddgd}t|| tjt|d
 |ddg j
ddd}W 5 Q R X t|| tjt|d
 |j
dd dr,tW 5 Q R X tjt|d
 |jddd}W 5 Q R X tddgddgd}t|| tjt|d
 |ddg jddd}W 5 Q R X t|| tjt|d
 |jdd dstW 5 Q R X d S )Nz)object-dtype columns with all-bool valuesr   r   TFr   r   rm  r   r)   r   r   )rX  r,   r   )r
   ry   r   r  r   r=   r>   r;   Z_get_bool_datar   r  rC   r@   r   )ri   r   rQ   resrV   r%   r%   r&   test_any_all_object_bool_only
  s6      z4TestDataFrameAnalytics.test_any_all_object_bool_onlyc              
   C   st   t dditjddgddggddgdd	}d
}tjt|d. tt t	||d dd W 5 Q R X W 5 Q R X d S )Nr   r.   r   r   r   outin)namesr   z.Must specify 'axis' when aggregating by level.r)   )r,   r   )
r
   r   Zfrom_productrE   rF   rG   r=   r>   r;   r<   )ri   r   rQ   Zxprr%   r%   r&   #test_any_all_level_axis_none_raises5  s     z:TestDataFrameAnalytics.test_any_all_level_axis_none_raisesc              	   C   s   t dddg}t dtjdtjgi}tdddg}ttjtjdg}td 0 |j|dd dD ]}t|||dd qbW 5 Q R X d S )	Nr   r   r   r.   r   )lowerr,   )ltlegtgeeqner2   )r
   rH   r   r   r=   r>   Zclipr<   )ri   rQ   Zdf_nanrp   Zs_nanr   r%   r%   r&   test_series_broadcastingE  s    z/TestDataFrameAnalytics.test_series_broadcasting)Rrq  
__module____qualname__rE   markfilterwarningsparametrizeparamtdZskip_if_no_scipyrk   rn   r{   r   r   r
   rH   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   rI   r&  r'  r)  r,  r-  r/  r5  r6  r:  r;  r<  rA  rF  rI  rK  rL  rM  rP  rV  rW  rZ  r\  r]  r`  re  rf  rl  r   r  r   r   rs  rt  rv  rz  r  r%   r%   r%   r&   r\      s  
	
=


 $	







5
X
 	
	

	

&

+!

3
+
r\   c                   @   s   e Zd Zdd Zdd Zdd Zdd Zej	d	d
dgej	dddge
dddZdd Zdd Zdd Zdd Zdd ZdS )TestDataFrameReductionsc                 C   s   t dtjtjtdgi}| }ttdgdgd}t|| | }ttdgdgd}t|| t dtjtjgi}| }ttjgdgd}t|| | }ttjgdgd}t|| d S )Nr   z
2012-05-01r   )	r
   r   r   r   r_   r   r=   rC   r`   )ri   rQ   ru  expr%   r%   r&   test_min_max_dt64_with_NaTT  s    z2TestDataFrameReductions.test_min_max_dt64_with_NaTc                 C   s   |}t |trt rtd ttd|dtd|dgtd|dtjgd}|j	ddd	}t
|jd
 tjg}|j|d jkstt|| |jddd	}t
|jd tjg}|j|d jkstt|| d S )NzSGH#37659 OSError raised within tzlocal bc Windows chokes in times before 1970-01-01z2020-01-01 08:00:00r   z1920-02-01 09:00:00z2020-02-01 08:00:00r#  r.   Fr+   )r   r   r   )r   r   )r?   r   r   rE   skipr
   r   r   r   r_   r   r   r:   r@   r=   rC   r`   )ri   requestZtz_naive_fixturer   rQ   ru  rV   r%   r%   r&   'test_min_max_dt64_with_NaT_skipna_falsek  s(    

	z?TestDataFrameReductions.test_min_max_dt64_with_NaT_skipna_falsec                 C   s   t dtg i}ttg }|jddjtjk| tjkksBt|jddjtjk| tjkkshtt	
|jdd| t	
|jdd| d S )Nr"   r   r2   r.   )r
   r   r   r_   r"   r   r   r@   r`   r=   rC   )ri   rQ   Zexpected_dt_seriesr%   r%   r&   *test_min_max_dt64_api_consistency_with_NaT  s    &&zBTestDataFrameReductions.test_min_max_dt64_api_consistency_with_NaTc                 C   s   t dg i}tg td}t|jddjt| ks>tt|jddjt| ksdtt	
|jdd| t	
|jdd| d S )Nr"   r   r   r2   r.   )r
   r   r   rH   r*  r_   r"   r@   r`   r=   rC   )ri   rQ   Zexpected_float_seriesr%   r%   r&   *test_min_max_dt64_api_consistency_empty_df  s    &&zBTestDataFrameReductions.test_min_max_dt64_api_consistency_empty_dfinitialz2018-10-08 13:36:45+00:00z2018-10-08 13:36:45+03:00r   r_   r`   )r  c                 C   s<   t |}t|g}t|g}t||dd}t|| d S )Nr.   r2   )r   r   r
   r<   r=   rC   )ri   r  r   Z
initial_dtrV   rQ   rR   r%   r%   r&   test_preserve_timezone  s
    

z.TestDataFrameReductions.test_preserve_timezonec              
   C   s   t ddddddddgidddddddgddddddd	ggd
}tjtdd |jdd}W 5 Q R X t dddgiddgd
}t|| tjtdd |jdd}W 5 Q R X t dddgiddgd
}t|| d S )Nrd  FTr   r   r   r.   r   r|   r   zUsing the levelr)   r   )r
   r=   r>   r;   r   r   r  )ri   rQ   rR   exr%   r%   r&   test_frame_any_all_with_level  s    z5TestDataFrameReductions.test_frame_any_all_with_levelc                 C   s   t tddgttddtddgd}|jdd}tddgd	d
gd}t|| |jdd}tddgd}t|| d S )Nr   rp   r.   ms)r   tr2   FTr   r  )rd  r9   rc  )r
   r   r   r   r=   rC   r   r%   r%   r&   test_frame_any_with_timedelta  s    
z5TestDataFrameReductions.test_frame_any_with_timedeltac              	   C   s:   |dddg}t jtddd |jd d W 5 Q R X d S )Nr.   r   r|   r-   Fr7   r  )r=   r>   r;   r   )ri   frame_or_seriesobjr%   r%   r&   'test_reductions_deprecation_skipna_none  s      z?TestDataFrameReductions.test_reductions_deprecation_skipna_nonec              	   C   sV   |dddgt dddgdddggd}tjtdd	 t||d
d W 5 Q R X d S )Nr.   r   r|   r   r   r   r   r   r)   r   r   )r   Zfrom_arraysr=   r>   r;   r<   )ri   r  reduction_functionsr  r%   r%   r&   *test_reductions_deprecation_level_argument  s     zBTestDataFrameReductions.test_reductions_deprecation_level_argumentc              	   C   sr   |dkr |j tjjdd n|dkr2td |dddg}d	}tjt|d
 t||d d W 5 Q R X d S )Nr]   zCount does not accept skipnareasonr   zMad is deprecated: GH#11787r.   r   r|   zAFor argument "skipna" expected type bool, received type NoneType.r)   r  )	nodeZ
add_markerrE   r  xfailr  rF   rG   r<   )ri   r  r  r  r  r   r%   r%   r&   "test_reductions_skipna_none_raises  s    
z:TestDataFrameReductions.test_reductions_skipna_none_raisesN)rq  r  r  r  r  r  r  rE   r  r  r   r  r  r  r  r  r  r%   r%   r%   r&   r  S  s   
r  c                   @   sP   e Zd Zejdddgdd Zdd Zejddd	gd
d Zdd Z	dS )TestNuisanceColumnsr   r   r  c              	   C   s  t ddgddd}| }tjtdd t||  W 5 Q R X tjtdd tt|| W 5 Q R X tjtdd t||dd	 W 5 Q R X tjt	d
d t||d d	}W 5 Q R X t g t
g td}t|| tjt	d
dd tt||dd}W 5 Q R X t|| d S )Nr   r.   rm  r   )r:   r   does not support reductionr)   Fr^  r   r8   rp  r2   )r   to_framerE   rF   r   r<   rH   r=   r>   r;   r   r.  rC   )ri   r   serrQ   rR   rV   r%   r%   r&   .test_any_all_categorical_dtype_nuisance_column  s,       zBTestNuisanceColumns.test_any_all_categorical_dtype_nuisance_columnc              	   C   s&  t dtdddddgi}|d }tjtdd |  W 5 Q R X tjtdd |jdd W 5 Q R X tjtd	d | }W 5 Q R X t	g t
g tjd
}t|| |d t|d< tjtdd |jdd W 5 Q R X tjtd	d | }W 5 Q R X t	dgdgd}t|| d S )Nr   r.   r   r|   r  r)   Fr  r   r8   r   r   r   )r
   r	   rE   rF   r   r   r=   r>   r;   r   r   rH   r   rC   ry   r   )ri   rQ   r  rR   rV   r%   r%   r&   -test_median_categorical_dtype_nuisance_column  s.      zATestNuisanceColumns.test_median_categorical_dtype_nuisance_columnr_   r`   c              	   C   s  t ddddgdd}t|}|d}tjtdd t||  W 5 Q R X tjtdd tt|| W 5 Q R X tjtdd t||dd	 W 5 Q R X tj	t
d
d t|| }W 5 Q R X tg tg tjd}t|| tj	t
d
dd tt||}W 5 Q R X t|| |d t|d< tj	t
d
d t|| }W 5 Q R X |dkrntdgdgd}ntdgdgd}t|| tj	t
d
dd tt||}W 5 Q R X t|| d S )Nr   r   r   F)Zorderedr   zis not ordered for operationr)   r  r   r8   rp  r   r_   r   )r	   r   r  rE   rF   r   r<   rH   r=   r>   r;   r   r   rC   ry   r   )ri   r   catr  rQ   rR   rV   r%   r%   r&   :test_min_max_categorical_dtype_non_ordered_nuisance_column9  sP    
    
  zNTestNuisanceColumns.test_min_max_categorical_dtype_non_ordered_nuisance_columnc              	   C   s   t dddgdddgdtd}tjtd	d
 | }W 5 Q R X tdgdgd}t|| |d t	d |d< tjtd	d
 | }W 5 Q R X tddgddgd}t|| d S )Nr   r.   r   r   r   r   r   r   r   r)   r   r   r   r   r   g      @)
r
   r   r=   r>   r;   r   r   rC   ry   r   r   r%   r%   r&   3test_reduction_object_block_splits_nuisance_columnsi  s       zGTestNuisanceColumns.test_reduction_object_block_splits_nuisance_columnsN)
rq  r  r  rE   r  r  r  r  r  r  r%   r%   r%   r&   r    s   
#
/r  c                  C   s   t dt jddd} d| d< t| }|jdd}tt	j
d	d
t	jg}t|| |jddd}t|| |jddd}tt	j
dd
t	j
dd
t	j
dd
t	jg}t|| d S )Nr   zm8[s]r   r   ZNat)r  r  Fr  r   r  r   r+   r.   r   r   )rH   r   ry   r   viewZreshaper
   r4   r   r   r  r   r=   rC   )r   rQ   rR   rV   r%   r%   r&   !test_sum_timedelta64_skipna_false  s"     


r  c                  C   sP   t ddggtdd} | ddi} |  }tddgddgd}t|| d S )Nr   r.   abr   r   r8  r   )r
   rD  ry   r4   r   r=   rC   )rQ   rR   rV   r%   r%   r&   !test_mixed_frame_with_integer_sum  s
    r  rh   r   r_   r`   c                 C   sn   t d}t|jd |jgt d}td|i}t|| |d}tt|| gt	dgddd}t
|| d S )Nr   r   r8  r  r   r   )rH   Ziinfor   r`   r_   r   Z
Int64Dtyper
   r<   r   r=   rC   )r   rh   Z
int64_infor  rQ   rR   rV   r%   r%   r&   test_minmax_extensionarray  s    

 r  c              	   C   sl  t tjddtj}|| }tjtdd |	 }|	 }W 5 Q R X t
|| tjtdd |j	dd}|j	dd}W 5 Q R X t
|| tj|jd d ddf< tjtdd2 |	 }|	 }|jdd ddf 	 |d< W 5 Q R X t
|| tjtddH |j	dd}|j	dd}|jjddd	gd d df 	 |d d d< W 5 Q R X t
|| d S )
NrQ  r   r(   r)   r.   r2   r   r   r|   )r
   rH   r   r   ry   r   r=   r>   r;   r   rC   r   NAr  r   r   )any_signed_int_ea_dtyperQ   r   rR   rV   r%   r%   r&   test_mad_nullable_integer  sB    
   & 4r  z GH#42895 caused by lack of 2D EAr  c              	   C   s   t tjddtj}|| }d}tjt|dB t	j
|jd d df< t	jt	j
gt| | d|jd d df< W 5 Q R X tjtdd | }| }W 5 Q R X t	j
|d< |d}t|| d S )	NrQ  r   z.will attempt to set the values inplace insteadr)   r.   r   r(   ZFloat64)r
   rH   r   r   ry   r   r=   r>   r;   r   r  r  r   rB   r   rC   )r  rQ   r   r   rR   rV   r%   r%   r&    test_mad_nullable_integer_all_na  s    
2 

r  r   r4   r   r   c              	   C   s   t tjddtjddgddgd}| }tt t|| dd}W 5 Q R X t|| t|j	dd| d	d
}t|| d S )Nr   )hours   g333333(@g*@r#  r   r   Fr  )
r
   r   r  r  r=   r>   r;   r<   r   rU  )r   rQ   rV   rR   r%   r%   r&   *test_groupby_regular_arithmetic_equivalent  s     r  ts_valuez
2000-01-01c              	   C   sb   t dgdgdg| gd}tjtdd | }W 5 Q R X tdddgtdd}t|| d S )	Nr.   g?r   )r   r   r   r   z!The default value of numeric_onlyr)   abcr   )r
   r=   r>   r;   r4   r   rD  rC   )r  rQ   rR   rV   r%   r%   r&   .test_frame_mixed_numeric_object_with_timestamp  s     r  c               	   C   sl   t dddg} | jdddd}tdg}t|| td}tjt	|d | j
dddd W 5 Q R X d S )	Nr.   r   Tr   F)r,   r  rh   z2unsupported operand type(s) for +: 'int' and 'str'r)   )r
   r5   r   r=   rC   reescaperE   rF   r   r4   )rQ   rR   rV   r   r%   r%   r&   $test_prod_sum_min_count_mixed_object  s    

r  re   rf   c              	   C   s   t tjdd}t|| }d|  d}tjt|d |d d}W 5 Q R X td  | }W 5 Q R X t|| t||dd d S )Nr   zscalar z over the entire DataFramer)   r2   r   )	r
   rH   r   r   r<   r=   r>   r;   rC   )r   rQ   r   r   ru  rV   r%   r%   r&   $test_reduction_axis_none_deprecation  s    
r  kernelZcorrcorrwithr]   ZcovrJ  r?  r   r5   Zquantilerd   rc   rb   c           	   	   C   s2  t dddgtd}| dkr"|fnd}ttt | }|jd j}|dk	sNt| d	kr|d
ksbttj	t
dd t|| |  W 5 Q R X n|d ks|tjkrt|dg | | }t}n8t|| | }| dkrd|jkstnd|jkstd }d|  }tj||d t|| | }W 5 Q R X t|| d S )Nr.   r   r|   r#  r  r%   rh   T)rJ  r?  FrC  r)   r   r   r   z/The default value of numeric_only in DataFrame.)r
   r   inspect	signaturer<   
parametersdefaultr@   rE   rF   r   r   Z
no_defaultr;   r   r9   r=   r>   Zassert_equal)	r  rQ   argsr  r  rV   rO   r   rR   r%   r%   r&   test_numeric_only_deprecation)  s*    
r  )TTFr   r   N)<datetimer   decimalr   r  r  Zdateutil.tzr   ZnumpyrH   rE   Zpandas._libsr   Zpandas.compatr   Zpandas.util._test_decoratorsutilZ_test_decoratorsr  Zpandas.core.dtypes.commonr   Zpandasr   r	   r
   r   r   r   r   r   r   r   r   r   Zpandas._testingZ_testingr=   Zpandas.core.algorithmscorerq   Zpandas.core.nanopsr   r[   r\   r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r%   r%   r%   r&   <module>   s   4      
v         C $ 	'



