a
    j=ic
                    @   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) d7d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g de
j01dddgdd Z2d d! Z3e
j0j4d"d#d$d% Z5e
j01d&g d'd(d) Z6e
j01d*ed+ej7gd,d- Z8d.d/ Z9e
j01dg d0d1d2 Z:e
j01d3g d4d5d6 Z;dS )8    )	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	              	      sh  | dkrt nd}	t|| }
|r| dv r*t nd}tdtdddi}t| t||  }W d   n1 sn0    Y  t|tsJ tt	||d< t| t||  }W d   n1 s0    Y  t|tsJ t	|sJ |r fd	d
}t
 |}tj|	dd( |
ddd}|
ddd}W d   n1 sB0    Y  tj||||||d tj||j|dd||d n }tj|	dd$ |
dd}|
dd}W d   n1 s0    Y  tj||||||d | dv r|j|dd}tj||d||d |r@|jj}||jks0J ||jks@J tj|	ddJ tjtdd |
dd W d   n1 s0    Y  W d   n1 s0    Y  |rd|tj }tj|	ddd0 t|| dd}t|| dd}W d   n1 s0    Y  | dv rd| dkr$d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 s/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/site-packages/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   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    %
**,
*

J
0
rZ   c                -   @   s>
  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 g d!ejd"eg d#g d$g d%d&g d'd(d)eejd*gejd+gejd,gd-ed.gd/d0 Zejd1g d2d3d4 Zd5d6 Zd7d8 Zejd9d:d;gd<d= Zejd9d:d;gd>d? Zd@dA ZdBdC ZejdDg dEdFdG ZdHdI Zej	dJdK ZejdLdMdNgdOgdPgdQgedQgdQgdRedSge dTgdUfdVdNgdOgejgej!ejged.eejgdQgdRe"j#ge e"j#gdUfdMdWdXejejgdWdXejejgdejejejgedQejejejgdQgdReg dYe g dZg d[d\fdVdWdXejejgdWdXejejgdejejejgeejdQejejgdQgdReg d]e g d^g d[d\fgd_d` Z$dadb Z%dcdd Z&dedf Z'dgdh Z(didj Z)ejdkdldmgejdng dodpdq Z*drds Z+dtdu Z,ejdvg dwejdxdd*dydzd{ej-gfdd+dyej-ej-ej-gfddVd|dzd{ej-gfgd}d~ Z.ejdvg dwejdxdd*dyddej-gfdd+dyej-ej-ej-gfddVd|ddej-gfgdd Z/dd Z0dd Z1dd Z2dd Z3dd Z4dd Z5dd Z6dd Z7dd Z8ejddMdVgejdddgdd Z9ejdndMdVgdd Z:dd Z;ejddMdVgejdddgdd Z<ejdndMdVgdd Z=dd Z>dd Z?ejdddd,gfdddgfgdd Z@dd ZAejdddgejdddgejddVdMg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ddMdVgdd ZFdd ZGdd ZHejdejIi dVfejJi dMfejIdg idVfejJdg idMfejIddVdVgidVfejJddVdVgidVfejIddMdVgidMfejJddMdVgidVfejIddMdMgidMfejJddMdMgidMfejIdVgdVgddVfejJdVgdVgddVfejIdVdVgdVdMgddMfejJdVdVgdVdMgddVfejJdeKddPgdd.idVfejIdeKddPgdd.idMfejJdeKddgeLd.idVfejIdeKddgeLd.idMfeejJdeKddgdd.idVeejJdeKddgdd.idVeejIdeKddgdd.idMeejIdeKddgdd.idMeejJdeKdd*gdd.idMeejJdeKdd*gdd.idMeejIdeKdd*gdd.idMeejIdeKdd*gdd.idMeejJdeKddgdd.idVeejIdeKddgdd.idMeejJdeKdd*gdd.idMeejIdeKdd*gdd.idMejJdeKddgdd.idMfejIdeKddgdd.idVfejJdeKdd*gdd.idMfejIdeKdd*gdd.idVfeejJeKddgdd.eKddgdd.ddMg#ddʄ ZMdd̄ ZNdd΄ ZOejd ddgddЄ ZPdd҄ ZQd:S )TestDataFrameAnalyticsz)ignore:Dropping of nuisance:FutureWarningr,   r   r.   rI   countr4   r   productr   minmaxnuniquer   varstdsemskew)Zmarkskurtc                 C   sn   |dkrt nd }tj|ddd: t|||d |dvrLt|||dd W d    n1 s`0    Y  d S )	Nr   r(   Fr7   r2   )r`   r   Tr,   numeric_only)r;   r=   r>   r<   )selffloat_string_framer,   rI   rN   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 )NFrf   r<   )rh   float_framer,   rI   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   )rA   
algorithmsZunique1ddropnarn   r%   r%   r&   r`      s    z9TestDataFrameAnalytics.test_stat_op_calc.<locals>.nuniquec                 S   s   t | |    S r   )rG   absr   r!   r%   r%   r&   r      s    z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.madc                 S   s   t j| ddS Nr.   Zddof)rG   ra   r!   r%   r%   r&   ra      s    z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.varc                 S   s   t j| ddS rs   )rG   rb   r!   r%   r%   r&   rb      s    z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.stdc                 S   s   t j| ddt t|  S rs   )rG   rb   sqrtrA   r!   r%   r%   r&   rc      s    z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.semr`   FT)rK   r/   rL   r4   float32gMbP?)r/   r0   )rM   r   rL   r]   r   ra   rb   rc   r\   )rZ   rG   r4   astypeZnansumr   r5   Znanprod)	rh   float_frame_with_naZmixed_float_framer\   r`   r   ra   rb   rc   r%   r%   r&   test_stat_op_calc   sP    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   )rd      FZbias)scipy.statsrd   rA   rG   nan)r"   rd   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   rA   rG   r~   )r"   r   r%   r%   r&   re     s    zDTestDataFrameAnalytics.test_stat_op_calc_skew_kurtosis.<locals>.kurtrd   re   rZ   )rh   ry   r   re   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   anyrG   r~   r   r!   r%   r%   r&   r'   %  s    z3TestDataFrameAnalytics.test_median.<locals>.wrapperr   Trw   F)r/   rL   r   )rh   ry   	int_framer'   r%   r%   r&   test_median#  s
    
z"TestDataFrameAnalytics.test_medianmethod)r4   r   r5   ra   rb   rd   r^   r_   rP   )gȃw@Ba@gCVZg
?Z.F?)r   r           )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J t||d}t|d|d}|dv rHt|| d S )Nr.   Zf8r3   )r    r:   rG   Zobject_r<   rx   r=   rB   )rh   r   rP   rQ   rU   r%   r%   r&   %test_stat_operators_attempt_obj_array/  s
    z<TestDataFrameAnalytics.test_stat_operators_attempt_obj_arrayop)r   rb   ra   rd   re   rc   c              	   C   s   t g dg dg dd}tjtdd t|| }W d    n1 sL0    Y  t|dksfJ tdd	Z tjtdd t|| }W d    n1 s0    Y  t|dksJ W d    n1 s0    Y  d S )
Nr.   r   r{   r   )      ?       @g      @      @r   r   r   d)intfloatstrSelect only valid columnsr)   r   use_bottleneckF)r
   r=   r>   r;   r<   rA   pdoption_context)rh   r   rP   rQ   r%   r%   r&   test_mixed_opsR  s"    **z%TestDataFrameAnalytics.test_mixed_opsc                 C   sr   t g dg dg dd}|jg dd |jdd}t|jtjg dtd	 |j	jd
d}t
|| d S )N)TTFFF)
         (   2   )r   r   r   r   e)Z	bool_dataZint_dataZstring_datacolumnsr   r2   )r      Zabcder   r.   )r
   reindexr4   r=   Zassert_numpy_array_equalr    rG   arrayobjectTrB   )rh   rP   testZaltr%   r%   r&   test_reduce_mixed_framei  s    z.TestDataFrameAnalytics.test_reduce_mixed_framec                 C   s   t g dg d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 )Nr.   r.   r.   r.   r   r{   r.   r{   ABCr   Frq   r2   r   )r,   rq   )r
   rG   r~   r=   rB   r`   r   )rh   rP   r%   r%   r&   test_nuniquez  s      z#TestDataFrameAnalytics.test_nuniquetzNUTCc                 C   sr   t ddgtd|dgd d}tt | }W d    n1 sH0    Y  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   rB   rh   r   rP   rQ   rU   r%   r%   r&    test_mean_mixed_datetime_numeric  s
     &z7TestDataFrameAnalytics.test_mean_mixed_datetime_numericc                 C   sh   t dtd|dgd i}tt | }W d    n1 sB0    Y  ttjd}t	|| d S )Nr   r   r   r   r   )
r
   r   r=   r>   r;   r   r   rG   float64rB   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 d    n1 s0    Y  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.00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   rB   )rh   r   rP   rQ   rU   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 
 rJ td
d. tj	|dd	}|dk 
 rJ W d    n1 s0    Y  d S )Nr   rt   c                 S   s   | j ddS Nr   rt   )rb   r!   r%   r%   r&   <lambda>      z5TestDataFrameAnalytics.test_var_std.<locals>.<lambda>c                 S   s   | j ddS r   )ra   r!   r%   r%   r&   r     r   r.     r   r   r2   r   F)rb   rC   r=   assert_almost_equalra   rG   repeatrandomnanopsZnanvarr   r   r   rh   Zdatetime_framerQ   rU   arrr%   r%   r&   test_var_std  s    z#TestDataFrameAnalytics.test_var_stdmeth)rc   ra   rb   c                 C   sB  t tjddg dd}d|jd< t tjddg d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 d    n1 s0    Y  d}tj	t
|d" t||ddd
 W d    n1 s40    Y  d S )Nr   r{   r   r   100)r   r   r   r.   Trf   r   r   r2   z6unsupported operand type\(s\) for -: 'float' and 'str'r)   Fz&could not convert string to float: 'a')r
   rG   r   randnlocr<   r=   rB   rD   rE   	TypeError)rh   r   Zdf1df2rQ   rU   msgr%   r%   r&   test_numeric_only_flag  s     

0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 	 rZJ t
d	d
. tj|dd}|dk 	 rJ W d    n1 s0    Y  d S )Nr   rt   c                 S   s   | j ddtt|  S r   )rb   rG   ru   rA   r!   r%   r%   r&   r     r   z1TestDataFrameAnalytics.test_sem.<locals>.<lambda>r   r   r   r2   r   F)rc   rC   r=   r   rG   r   r   r   Znansemr   r   r   r   r%   r%   r&   test_sem  s    zTestDataFrameAnalytics.test_semc                 C   s   t dgg dddggg dg dg dgd}ttjd	d
|d}| }tt" |jdd	d}W d    n1 s~0    Y  tj
||dd |jd u sJ |jdksJ d S )Nr   )onetwothreer   r.   )r   r   r   r   r   r   )r   r.   r   r   r.   r   )r   r.   r   r.   r   r.   )levelscodes   r{   r   levelF)Zcheck_names)r   r
   rG   r   r   re   r=   r>   r;   ZxsrB   name)rh   r9   rP   re   Zkurt2r%   r%   r&   	test_kurt  s    0z TestDataFrameAnalytics.test_kurtzdropna, expectedT   g      $@r   r   )
categories2000-1-21 days)r   r   r   DEFGF   	   )r   NaTr   r   r   r~   r~   r~   )r   r.   r   r{   )HIJKLMNr   r   r   r   )r~   r   r~   r~   c                 C   s   t g d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g 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
tg dtjdddd}|t|  j	|d}t |}t
|| d S )N)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   int64r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r
   rG   r~   r	   r   r   arangesortedkeysmoder=   assert_frame_equal)rh   rq   rU   rP   rQ   r%   r%   r&   test_mode_dropna  s(    7



z'TestDataFrameAnalytics.test_mode_dropnac                 C   s   t dtjtjddgi}t ddtjgi}tt0 |jdd}|jddjdd}W d    n1 sj0    Y  t	|| d S )Nr   r   Fr   )ZbyT)Zdrop)
r
   rG   r~   r=   r>   UserWarningr   Zsort_valuesZreset_indexr   )rh   rP   rU   rQ   r%   r%   r&   test_mode_sortwarningJ  s    2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   rh   rP   rQ   rU   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sxJ |d |jd ksJ |jdd}||jd k sJ | }|d |jd ksJ |d |jd ksJ |jdd}||d
 k sJ | }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 d    n1 s0    Y  tg d!g d"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sJ |d( |d'  |d+< |  |d) jd*ks
J |d+ jd*ksJ 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.   r.   r   r   Z20130102r   Z20130105)timetime2r  r  Zoff1timedelta64[ns]Zoff2)r
   r   r   r   r^   r   allr_   rr   r=   r   copyr   r   	Timedeltar   rB   r>   r;   r:   _consolidate_inplace)rh   rP   diffsrQ   Zresult2rU   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   ilocrb   r   r=   rB   r  )rh   ZtdirP   rQ   rU   r%   r%   r&   !test_std_timedelta64_skipna_false  s    $z8TestDataFrameAnalytics.test_std_timedelta64_skipna_falsec                 C   sZ   t  }|d}|d}t|ts(J t|ts6J t|dksFJ t|dksVJ d S )Nr   r.   )r
   r4   r?   r   rA   )rh   Zempty_frameZaxis0Zaxis1r%   r%   r&   test_sum_corner  s    

z&TestDataFrameAnalytics.test_sum_cornerzmethod, unit)r4   r   )r5   r.   rg   )NTFc                 C   s  g d}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   rg   r   r8   r.   )rg   	min_countr   r   r   r   r   r   r   r   )r
   rG   r~   r<   r   r=   rB   r  )rh   r   rY   rg   idxrP   rQ   rU   r%   r%   r&   test_sum_prod_nanops  s*    "&z+TestDataFrameAnalytics.test_sum_prod_nanopsc                 C   s   g d}t ddgdtjgtjtjgd}|t}| }tg d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
   rG   r~   rC   r   r4   r   r=   rB   )rh   r!  rP   r   rQ   rU   r%   r%   r&   test_sum_nanops_timedelta  s    "
z0TestDataFrameAnalytics.test_sum_nanops_timedeltac                 C   sJ   t g dg dd}|jdd}ttjtjgddgd}t|| d S )	Nr   r   r   r   )r"   yr   r$  r"   r'  r   )r
   r4   r   rG   r~   r=   rB   r  r%   r%   r&   test_sum_nanops_min_count  s    z0TestDataFrameAnalytics.test_sum_nanops_min_count
float_type)float16rv   r   zkwargs, expected_result)r,   r   g	@g333333@r+   c                 C   sL   t g dddtjgd|d}|jf i |}t||}t|| d S )N)r   gffffff@皙@g@r{   r   r   r   )r
   rG   r~   r4   r   rx   r=   rB   rh   r)  kwargsZexpected_resultrP   rQ   rU   r%   r%   r&   test_sum_nanops_dtype_min_count  s    z6TestDataFrameAnalytics.test_sum_nanops_dtype_min_countr   r   c                 C   sL   t g dddtjgd|d}|jf i |}t||}t|| d S )N)r   r   r+  r   r,  r   )r
   rG   r~   r5   r   rx   r=   rB   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    rx   r   r
   r9   r   r   r4   )rh   rl   r    rJ   Zdeltasr%   r%   r&   test_sum_object/  s    z&TestDataFrameAnalytics.test_sum_objectc                 C   s"   t |}|d |d d S )Nr.   r   )rG   isnanr4   )rh   rl   boolsr%   r%   r&   test_sum_bool5  s    

z$TestDataFrameAnalytics.test_sum_boolc                 C   sv   t tdddg ddg d}tjtdd | }W d    n1 sP0    Y  td	d
i}t|| d S )Nr   r   r   r   r   )r   r{   r   r  r)   r   g      @)	r
   r   r   r=   r>   r;   r4   r   rB   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 d    n1 s00    Y  |jddd}t |j|j t|jt|jk spJ t jtdd |jdd}W d    n1 s0    Y  |jddd}t |j|j |d dk|d	< |d}|d	 |d	 j	 ksJ d S )
Nr  r)   r   r2   Trf   r.   r   bool)
r=   r>   r;   r   r4   Zassert_index_equalr9   rA   r   r    )rh   rl   ri   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 d    n1 s0    Y  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
   rG   r   r   r   r  period_ranger   r   r=   rB   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 d    n1 s0    Y  d S )Nr{   r9  r   r:  r   Fr  r.   )r.   r   r<  r;  r   r  r   z"mean is not implemented for Periodr)   )r
   rG   r   r   r   r  r   r   r   r=   rB   r=  rD   rE   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  )rG   r   randintr
   r   r=   rB   )rh   r   rP   rQ   rU   r%   r%   r&   *test_mean_extensionarray_numeric_only_true  s
    zATestDataFrameAnalytics.test_mean_extensionarray_numeric_only_truec                 C   sZ   t jtdd8 |d |d |d |d W d    n1 sL0    Y  d S )Nr   r)   r.   )r=   r>   r;   rb   ra   r   rd   )rh   ri   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s4J d S )Nr.   r   r1  r2   r   )r
   r@   r   r4   )rh   rP   r4  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+   )rG   r~   r  idxminrC   r   r=   rB   	rh   rl   r   r-   r,   rJ   rP   rQ   rU   r%   r%   r&   test_idxmin  s    z"TestDataFrameAnalytics.test_idxminc                 C   s   t g dg dtdd}|rN|j|d}tddgdd	gd
}t|| n:tjtdd |j|d W d    n1 s~0    Y  d S )Nr   r{   r.   r   r.   r.   xyxr   r  r   r.   r   r   r   not allowed for this dtyper)   )	r
   listrH  r   r=   rB   rD   rE   r   rh   rg   rP   rQ   rU   r%   r%   r&   test_idxmin_numeric_only  s    z/TestDataFrameAnalytics.test_idxmin_numeric_onlyc                 C   sF   |}d}t jt|d |jdd W d    n1 s80    Y  d S Nz)No axis named 2 for object type DataFramer)   r   r2   )rD   rE   rF   rH  rh   rl   rJ   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 rF  )rG   r~   r  idxmaxrC   r   r=   rB   rI  r%   r%   r&   test_idxmax  s    z"TestDataFrameAnalytics.test_idxmaxc                 C   s   t g dg dtdd}|rN|j|d}tddgdd	gd
}t|| n:tjtdd |j	|d W d    n1 s~0    Y  d S )NrK  rL  rM  r   r  r.   r   r   r   r   rN  r)   )
r
   rO  rU  r   r=   rB   rD   rE   r   rH  rP  r%   r%   r&   test_idxmax_numeric_only  s    z/TestDataFrameAnalytics.test_idxmax_numeric_onlyc                 C   sF   |}d}t jt|d |jdd W d    n1 s80    Y  d S rR  )rD   rE   rF   rU  rS  r%   r%   r&   test_idxmax_axis_2  s    z)TestDataFrameAnalytics.test_idxmax_axis_2c                 C   sP  t ddd}tg dtdd d d |jddd}| }tg d	g dd
}t|| | }tg dg dd
}t|| t	j
|jd< | }tg d	g dd
}t|| | }tg dg dd
}t|| |d d d |d< |  | }tg dg dd
}t|| | }tg dg dd
}t|| d S )Nr9  r{   r   )r   r   r.   r  T)deepr   )r.   r   r   r   )r   r   r   )r   r{   r   )r.   r   r   r   r   )r   r   r.   r   )r   r
   r@   r  rU  r   r=   rB   rH  r   r   r   r  rh   ZdtirP   rQ   rU   r%   r%   r&   test_idxmax_mixed_dtype  s.    *z.TestDataFrameAnalytics.test_idxmax_mixed_dtypezop, expected_valuerU  rH  r   c                 C   s^   t g dg dddd}|d}t|| }t d|itdd	gddd
d}t|| d S )N)d   r\  r\     r]  r]  )r   r   r   r.   r   r   )IDvaluerA  r   r^  r_  r\  r]  )r   r:   r   )r
   groupbyr<   r   r=   r   )rh   r   Zexpected_valuerP   rQ   rU   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g d}t	|| |j
d	d
}tg d}t	|| d S )Nr9  r{   r   r  )r{   r   Tr  )r   r   r.   r2   )r   r{   r{   )r   r{   r   )r   r
   r   r   r  r  rU  r   r=   rB   rH  rZ  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,   rc  )rG   r   r   rA   r<   )rh   rI   r,   rc  ri   r  r%   r%   r&   test_any_all_mixed_float#  s    z/TestDataFrameAnalytics.test_any_all_mixed_floatc                 C   s   t |||dd d S )NFrd  rk   )rh   rI   r,   bool_frame_with_nar%   r%   r&   test_any_all_bool_with_na-  s    z0TestDataFrameAnalytics.test_any_all_bool_with_nac                    s`  | 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 d    n1 s0    Y  |tj	 }	t|	|dd
}
t|	|d	d
}|dkr@|

 r0J |
 r\J n|
 sNJ | s\J d S )NTc                    s   |   j} |S r   )rq   r    )r"   Znonar#   r%   r&   rR   :  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<   rG   r=   rB   rC   rD   rE   rF   rH   r   r  )rh   rI   rf  rJ   rO   rR   r'   rS   rT   rV   rW   rX   r%   r#   r&   test_any_all_bool_frame2  s2    




(

z.TestDataFrameAnalytics.test_any_all_bool_framec                 C   s  t g dg dg ddg dd}|ddg jd	d
}tg dg dd}t|| |ddg jd	dd}t|| |d	}tg dg dd}t|| |jd	dd}t|| |jd d
 }|du sJ |jd d
 }|du sJ |dg jd d
 }|du sJ d S )N)TFF)TTF)TTTr   r   r   r   r   r.   r2   Trd  rc  Fr   )r
   r   r   r=   rB   r  itemr  r%   r%   r&   test_any_all_extra^  s.    
z)TestDataFrameAnalytics.test_any_all_extrabool_agg_funcc                 C   st   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g d}t|| d S )Nr.   Tr   5datar+   )TTTT)r
   rG   r~   r<   r   r=   rB   )rh   r,   rl  r-   rP   rQ   rU   r%   r%   r&   test_any_all_object_dtype  s    z0TestDataFrameAnalytics.test_any_all_object_dtypec                 C   s^   dt jdt jg}tdtdtjtjg}t||d}|jdd}tg d}t	|| d S )Nr.   r{   z
1960-02-15z
1960-02-16r   r2   )TTTF)
rG   r~   r   r   r   r
   r   r   r=   rB   )rh   Z
float_dataZdatetime_datarP   rQ   rU   r%   r%   r&   test_any_datetime  s    z(TestDataFrameAnalytics.test_any_datetimec                 C   s   t g dg dg dd}|jdd}ttjd}t|| t g dg dg dg dd	}|jdd}td
di}t|| d S )Nr   r&  )NNN)col1col2col3Tri  r   )FFT)rr  rs  rt  col4ru  F)r
   r  r   rG   bool_r=   rB   r  r%   r%   r&   test_any_all_bool_only  s     	z-TestDataFrameAnalytics.test_any_all_bool_onlyzfunc, data, expectedr   r   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 d    n1 sR0    Y  t|tjslJ |	 |u s|J tj|ddd& t
t ||jd d}W d    n1 s0    Y  t|tjsJ |	 |u sJ d S )Nc                 s   s   | ]}t |V  qd S r   r   ).0r"   r%   r%   r&   	<genexpr>  r   z>TestDataFrameAnalytics.test_any_all_np_func.<locals>.<genexpr>r   Fr*   Zcheck_stacklevelr2   )r
   r   Zdtypesr;   r=   r>   r?   rG   rv  rj  r<   __name__)rh   funcro  rU   rN   rQ   r%   r%   r&   test_any_all_np_func  s     5&4z+TestDataFrameAnalytics.test_any_all_np_funcc                 C   sL   t tddgd }|du s$J t tddgd }|du sHJ d S )Nr   r   r   TF)rG   r  r
   rj  r   )rh   rQ   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 d    n1 sv0    Y  |ddg }t	|| tjt|d
 |j
ddd}W d    n1 s0    Y  tddgddgd}t|| tjt|d
& |ddg j
ddd}W d    n1 s00    Y  t|| tjt|d
$ |j
dd drjJ W d    n1 s0    Y  tjt|d
 |jddd}W d    n1 s0    Y  tddgddgd}t|| tjt|d
& |ddg jddd}W d    n1 s$0    Y  t|| tjt|d
$ |jdd ds^J W d    n1 st0    Y  d S )Nz)object-dtype columns with all-bool valuesr   r   TFr   r   rx  r   r)   r   r   )rc  r,   r   )r
   rx   r   r  r   r=   r>   r;   Z_get_bool_datar   r  rB   r   )rh   r   rP   resrU   r%   r%   r&   test_any_all_object_bool_only
  s6    &,64.6z4TestDataFrameAnalytics.test_any_all_object_bool_onlyc              	   C   s   t dditjddgddggddgdd	}d
}tjt|dL tt" t	||d dd W d    n1 sp0    Y  W d    n1 s0    Y  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_productrD   rE   rF   r=   r>   r;   r<   )rh   r   rP   Zxprr%   r%   r&   #test_any_all_level_axis_none_raises5  s    z:TestDataFrameAnalytics.test_any_all_level_axis_none_raisesc                 C   s   t g d}t dtjdtjgi}tg d}ttjtjdg}td : |j|dd dD ]}t|||dd	 q^W d    n1 s0    Y  d S )
N)r   r   r   r   r   r   r.   r   )lowerr,   )ltlegtgeeqner2   )r
   rG   r~   r   r=   r>   Zclipr<   )rh   rP   Zdf_nanro   Zs_nanr   r%   r%   r&   test_series_broadcastingE  s    z/TestDataFrameAnalytics.test_series_broadcasting)Rr|  
__module____qualname__rD   markfilterwarningsparametrizeparamtdZskip_if_no_scipyrj   rm   rz   r   r   r
   rG   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(  rH   r/  r0  r2  r5  r6  r8  r>  r?  rC  rD  rE  rJ  rQ  rT  rV  rW  rX  r[  ra  rb  re  rg  rh  rk  rp  rq  rw  r   r  r   r   r~  r  r  r  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=   rB   r_   )rh   rP   r  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sJ t|| |jddd	}t
|jd tjg}|j|d jksJ 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   rD   skipr
   r   r   r   r^   r   r   r:   r=   rB   r_   )rh   requestZtz_naive_fixturer   rP   r  rU   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u | tju ksBJ |jddjtju | tju kshJ t	|jdd| t	|jdd| d S )Nr"   r   r2   r.   )
r
   r   r   r^   r"   r   r   r_   r=   rB   )rh   rP   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>J t|jddjt| ksdJ t	|jdd| t	|jdd| d S )Nr"   r   r   r2   r.   )
r
   r   r   rG   r3  r^   r"   r_   r=   rB   )rh   rP   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=   rB   )rh   r  r   Z
initial_dtrU   rP   rQ   r%   r%   r&   test_preserve_timezone  s
    

z.TestDataFrameReductions.test_preserve_timezonec                 C   s   t dg dig dg dgd}tjtdd |jdd	}W d    n1 sP0    Y  t dd
dgiddgd}t|| tjtdd |jdd	}W d    n1 s0    Y  t dd
d
giddgd}t|| d S )Nro  )FFTFTFT)r   r   r   r   r   r   r   )r   r.   r   r   r.   r   r{   r   zUsing the levelr)   r   r   FTr   r   )r
   r=   r>   r;   r   r   r  )rh   rP   rQ   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   ro   r.   ms)r   tr2   FTr   r  )ro  r9   rn  )r
   r   r   r   r=   rB   r  r%   r%   r&   test_frame_any_with_timedelta  s    
z5TestDataFrameReductions.test_frame_any_with_timedeltac                 C   sL   |g d}t jtddd |jd d W d    n1 s>0    Y  d S )Nr   r-   Fr7   r  )r=   r>   r;   r   )rh   frame_or_seriesobjr%   r%   r&   'test_reductions_deprecation_skipna_none  s
    z?TestDataFrameReductions.test_reductions_deprecation_skipna_nonec                 C   sd   |g dt g dg dgd}tjtdd  t||dd W d    n1 sV0    Y  d S )Nr   r&  r   r   r)   r   r   )r   Zfrom_arraysr=   r>   r;   r<   )rh   r  reduction_functionsr  r%   r%   r&   *test_reductions_deprecation_level_argument  s
    zBTestDataFrameReductions.test_reductions_deprecation_level_argumentc                 C   s   |dkr |j tjjdd n|dkr2td |g d}d}tjt|d  t||d d	 W d    n1 sv0    Y  d S )
Nr\   zCount does not accept skipnareasonr   zMad is deprecated: GH#11787r   zAFor argument "skipna" expected type bool, received type NoneType.r)   r  )	nodeZ
add_markerrD   r  xfailr  rE   rF   r<   )rh   r  r  r  r  r   r%   r%   r&   "test_reductions_skipna_none_raises  s    
z:TestDataFrameReductions.test_reductions_skipna_none_raisesN)r|  r  r  r  r  r  r  rD   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 d    n1 sJ0    Y  tjtdd tt|| W d    n1 s0    Y  tjtdd  t||dd	 W d    n1 s0    Y  tjt	d
d  t||d d	}W d    n1 s0    Y  t g t
g td}t|| tjt	d
dd" tt||dd}W d    n1 sf0    Y  t|| d S )Nr   r.   rx  r   )r:   r   does not support reductionr)   Fri  r   r8   r{  r2   )r   to_framerD   rE   r   r<   rG   r=   r>   r;   r   r7  rB   )rh   r   serrP   rQ   rU   r%   r%   r&   .test_any_all_categorical_dtype_nuisance_column  s&    *,.02zBTestNuisanceColumns.test_any_all_categorical_dtype_nuisance_columnc                 C   s  t dtg di}|d }tjtdd |  W d    n1 sH0    Y  tjtdd |jdd W d    n1 s0    Y  tjtdd | }W d    n1 s0    Y  t	g t
g tjd}t|| |d t|d	< tjtdd |jdd W d    n1 s&0    Y  tjtdd | }W d    n1 s^0    Y  t	d
gd	gd}t|| d S )Nr   )r.   r   r   r   r{   r  r)   Fr  r   r8   r   r   r   )r
   r	   rD   rE   r   r   r=   r>   r;   r   r   rG   r   rB   rx   r   )rh   rP   r  rQ   rU   r%   r%   r&   -test_median_categorical_dtype_nuisance_column  s*    &*&,(zATestNuisanceColumns.test_median_categorical_dtype_nuisance_columnr^   r_   c                 C   sT  t g ddd}t|}|d}tjtdd t||  W d    n1 sR0    Y  tjtdd tt|| W d    n1 s0    Y  tjtdd  t||dd W d    n1 s0    Y  tj	t
dd t|| }W d    n1 s0    Y  tg tg tjd	}t|| tj	t
ddd
 tt||}W d    n1 sh0    Y  t|| |d t|d< tj	t
dd t|| }W d    n1 s0    Y  |dkrtdgdgd}ntdgdgd}t|| tj	t
ddd
 tt||}W d    n1 s:0    Y  t|| d S )N)r   r   r   r   F)Zorderedr   zis not ordered for operationr)   r  r   r8   r{  r   r^   r   r   r   )r	   r   r  rD   rE   r   r<   rG   r=   r>   r;   r   r   rB   rx   r   )rh   r   catr  rP   rQ   rU   r%   r%   r&   :test_min_max_categorical_dtype_non_ordered_nuisance_column9  sD    
*,.,.,
.zNTestNuisanceColumns.test_min_max_categorical_dtype_non_ordered_nuisance_columnc                 C   s   t g dg ddtd}tjtdd | }W d    n1 sF0    Y  tdgdgd	}t|| |d t	d
 |d< tjtdd | }W d    n1 s0    Y  tddgddgd	}t|| d S )Nr   r   r   r   r   r)   r   r   r   r   r   g      @)
r
   r   r=   r>   r;   r   r   rB   rx   r   r  r%   r%   r&   3test_reduction_object_block_splits_nuisance_columnsi  s    &&zGTestNuisanceColumns.test_reduction_object_block_splits_nuisance_columnsN)
r|  r  r  rD   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   )rG   r   rx   r   viewZreshaper
   r4   r   r   r  r   r=   rB   )r   rP   rQ   rU   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   rA  r   )r
   rO  rx   r4   r   r=   rB   )rP   rQ   rU   r%   r%   r&   !test_mixed_frame_with_integer_sum  s
    r  rg   )TFNr   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   rA  r  r   r   )rG   Ziinfor   r_   r^   r   Z
Int64Dtyper
   r<   r   r=   rB   )r   rg   Z
int64_infor  rP   rQ   rU   r%   r%   r&   test_minmax_extensionarray  s    
r  c                 C   s  t tjddtj}|| }tjtdd  |	 }|	 }W d    n1 sX0    Y  t
|| tjtdd( |j	dd}|j	dd}W d    n1 s0    Y  t
|| tj|jd d ddf< tjtdd< |	 }|	 }|jdd ddf 	 |d< W d    n1 s(0    Y  t
|| tjtddP |j	dd}|j	dd}|jjg dd d df 	 |d d d< W d    n1 s0    Y  t
|| d S )	Nr\  r   r(   r)   r.   r2   r   )r   r   r{   )r
   rG   r   r   rx   r   r=   r>   r;   r   rB   r   NAr  r   r   )any_signed_int_ea_dtyperP   r   rQ   rU   r%   r%   r&   test_mad_nullable_integer  s:    
&*<H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L t	j
|jd d df< t	jt	j
gt| | d|jd d df< W d    n1 s0    Y  tjtdd  | }| }W d    n1 s0    Y  t	j
|d< |d}t|| d S )	Nr\  r   z.will attempt to set the values inplace insteadr)   r.   r   r(   ZFloat64)r
   rG   r   r   rx   r   r=   r>   r;   r   r  r  r   rA   r   rB   )r  rP   r   r   rQ   rU   r%   r%   r&    test_mad_nullable_integer_all_na  s    
F&

r  r   )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 d    n1 s^0    Y  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   r`  )r   rP   rU   rQ   r%   r%   r&   *test_groupby_regular_arithmetic_equivalent  s     .r  ts_valuez
2000-01-01c                 C   st   t dgdgdg| gd}tjtdd | }W d    n1 sF0    Y  tg dtdd	}t|| d S )
Nr.   皙?r   r   z!The default value of numeric_onlyr)   )r.   r  r   abcr   )r
   r=   r>   r;   r4   r   rO  rB   )r  rP   rQ   rU   r%   r%   r&   .test_frame_mixed_numeric_object_with_timestamp  s    &r  c                  C   s~   t g d} | jdddd}tdg}t|| td}tjt	|d  | j
dddd W d    n1 sp0    Y  d S )	N)r.   r   Tr   r.   F)r,   r   rg   r   z2unsupported operand type(s) for +: 'int' and 'str'r)   )r
   r5   r   r=   rB   reescaperD   rE   r   r4   )rP   rQ   rU   r   r%   r%   r&   $test_prod_sum_min_count_mixed_object  s    

r  )r^   r_   r   r   rd   re   c                 C   s   t tjdd}t|| }d|  d}tjt|d |d d}W d    n1 sV0    Y  td  | }W d    n1 s0    Y  t|| t||dd d S )Nr   zscalar z over the entire DataFramer)   r2   r   )	r
   rG   r   r   r<   r=   r>   r;   rB   )r   rP   r   r   r  rU   r%   r%   r&   $test_reduction_axis_none_deprecation  s    
($r  kernel)Zcorrcorrwithr\   ZcovrU  rH  re   re   r_   r   r   r^   r   r5   r5   Zquantilerc   rd   rb   r4   ra   c           	      C   sZ  t g dtd}| dkr |fnd}ttt | }|jd j}|dusLJ | dv r|du s`J tjt	d	d
 t|| |  W d    n1 s0    Y  n|d u s|t
ju rt|dg | | }t}n8t|| | }| dkrd|jv sJ nd|jv sJ d }d|  }tj||d
 t|| | }W d    n1 s@0    Y  t|| d S )Nr   r,  r  r%   rg   T)rU  rH  FrN  r)   r   r   r   z/The default value of numeric_only in DataFrame.)r
   r   inspect	signaturer<   
parametersdefaultrD   rE   r   r   Z
no_defaultr;   r   r9   r=   r>   Zassert_equal)	r  rP   argsr  r  rU   rN   r   rQ   r%   r%   r&   test_numeric_only_deprecation)  s*    .
.r  )TTFr   r   N)<datetimer   decimalr   r  r  Zdateutil.tzr   numpyrG   rD   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corerp   Zpandas.core.nanopsr   rZ   r[   r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r%   r%   r%   r&   <module>   sp   4      
v         C $ 	'



