o
    i
                    @   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	              	      sj  | dkrt nd}	t|| }
|rs| dv rt nd}tdtdddi}t| t||  }W d   n1 s7w   Y  t|tsCJ tt	||d< t| t||  }W d   n1 saw   Y  t|tsmJ t	|ssJ |r fd	d
}t
 |}tj|	dd |
ddd}|
ddd}W d   n1 sw   Y  tj||||||d tj||j|dd||d n }tj|	dd |
dd}|
dd}W d   n1 sw   Y  tj||||||d | dv r|j|dd}tj||d||d |r|jj}||jksJ ||jksJ tj|	dd% tjtdd |
dd W d   n	1 s=w   Y  W d   n	1 sMw   Y  |r|tj }tj|	ddd t|| dd}t|| dd}W d   n	1 s~w   Y  | dv r| dkrdnd}t||j|jd}t|| t||j|jd}t|| dS dS dS )a  
    Check that operator opname works as advertised on frame

    Parameters
    ----------
    opname : str
        Name of the operator to test on frame
    alternative : function
        Function that opname is tested against; i.e. "frame.opname()" should
        equal "alternative(frame)".
    frame : DataFrame
        The object that the tests are executed on
    has_skipna : bool, default True
        Whether the method "opname" has the kwarg "skip_na"
    check_dtype : bool, default True
        Whether the dtypes of the result of "frame.opname()" and
        "alternative(frame)" should be checked.
    check_dates : bool, default false
        Whether opname should be tested on a Datetime Series
    rtol : float, default 1e-5
        Relative tolerance.
    atol : float, default 1e-8
        Absolute tolerance.
    skipna_alternative : function, default None
        NaN-safe version of alternative
    madN)meanmedianbz1/1/2001   periodsac                    
    | j S Nvaluesxalternative ]/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/pandas/tests/frame/test_reductions.pywrapperZ      
z$assert_stat_op_calc.<locals>.wrapperThe 'mad' method is deprecatedmatchr   Faxisskipna   )check_dtypertolatolr.   )r2   r3   sumprodNo axis named 2r,   raise_on_extra_warningsr7   indexdtype)FutureWarninggetattrr
   r   tmassert_produces_warning
isinstancer   rangelen_make_skipna_wrapperassert_series_equalapplyr!   r=   pytestraises
ValueErrornpNaNr<   )opnamer%   frame
has_skipnar1   check_datesr2   r3   skipna_alternativewarnfexpected_warningdfresultr(   skipna_wrapperresult0result1expected	lcd_dtypeall_nar0r1unitr&   r$   r'   assert_stat_op_calc#   s   %





r`   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dg e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ddʄ ZMdd̄ ZNdd΄ ZOejd ddgddЄ ZPdd҄ ZQd:S )TestDataFrameAnalyticsz)ignore:Dropping of nuisance:FutureWarningr.   r   r0   rM   countr6   r   productr   minmaxnuniquer   varstdsemskew)markskurtc                 C   s   |dkrt nd }tj|ddd& t|||d |dvr.t|||dd W d    d S W d    d S 1 s9w   Y  d S )	Nr   r*   Fr9   r4   )rf   r   Tr.   numeric_only)r>   r@   rA   r?   )selffloat_string_framer.   rM   rR   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 )NFrm   r?   )ro   float_framer.   rM   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   r6   sr&   r&   r'   rb      s   z7TestDataFrameAnalytics.test_stat_op_calc.<locals>.countc                 S   s   t t|  S r   )rD   
algorithmsunique1ddropnaru   r&   r&   r'   rf      s   z9TestDataFrameAnalytics.test_stat_op_calc.<locals>.nuniquec                 S   s   t | |    S r   )rK   absr   r"   r&   r&   r'   r      s   z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.madc                 S      t j| ddS Nr0   ddof)rK   rg   r"   r&   r&   r'   rg         z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.varc                 S   r{   r|   )rK   rh   r"   r&   r&   r'   rh      r   z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.stdc                 S   s   t j| ddt t|  S r|   )rK   rh   sqrtrD   r"   r&   r&   r'   ri      s   z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.semrf   FT)rO   r1   rP   r6   float32gMbP?)r1   r2   )rQ   r   rP   rc   r   rg   rh   ri   rb   )r`   rK   r6   astypenansumr   r7   nanprod)	ro   float_frame_with_namixed_float_framerb   rf   r   rg   rh   ri   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   *   ddl m} t| dk rtjS || ddS )Nr   )rj      Fbias)scipy.statsrj   rD   rK   nan)r#   rj   r&   r&   r'   skewness     zHTestDataFrameAnalytics.test_stat_op_calc_skew_kurtosis.<locals>.skewnessc                 S   r   )Nr   )kurtosis   Fr   )r   r   rD   rK   r   )r#   r   r&   r&   r'   rl     r   zDTestDataFrameAnalytics.test_stat_op_calc_skew_kurtosis.<locals>.kurtrj   rl   r`   )ro   r   r   rl   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   anyrK   r   r   r"   r&   r&   r'   r(   %  s   
z3TestDataFrameAnalytics.test_median.<locals>.wrapperr   Tr   F)r1   rP   r   )ro   r   	int_framer(   r&   r&   r'   test_median#  s
   

z"TestDataFrameAnalytics.test_medianmethod)r6   r   r7   rg   rh   rj   rd   re   rU   )gȃw@Ba@gCVZg
?Z.F?)r   r           )g94c4?g@}jX?gNr   r   cfoobarbazOr;   r   r   r   r   r0   r   r=   c                 C   sP   |j jtjks	J t||d}t|d|d}|dv r&t|| d S d S )Nr0   f8r5   )r!   r=   rK   object_r?   r   r@   rF   )ro   r   rU   rV   rZ   r&   r&   r'   %test_stat_operators_attempt_obj_array/  s   z<TestDataFrameAnalytics.test_stat_operators_attempt_obj_arrayop)r   rh   rg   rj   rl   ri   c              	   C   s   t g dg dg dd}tjtdd t|| }W d    n1 s&w   Y  t|dks3J tdd	. tjtdd t|| }W d    n1 sRw   Y  t|dks_J W d    d S 1 sjw   Y  d S )
Nr0   r   r   r   )      ?       @g      @      @r   r   r   d)intfloatstrSelect only valid columnsr+   r   use_bottleneckF)r
   r@   rA   r>   r?   rD   pdoption_context)ro   r   rU   rV   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)	bool_dataint_datastring_datacolumnsr   r4   )r      abcder   r0   )r
   reindexr6   r@   assert_numpy_array_equalr!   rK   arrayobjectTrF   )ro   rU   test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r0   r0   r0   r0   r   r   r0   r   ABCr   Fry   r4   r   )r.   ry   )r
   rK   r   r@   rF   rf   r   )ro   rU   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 s$w   Y  tdgdgd}t|| d S )	Nr0   2000r   r   r   r   r   r   r<   )r
   r   r@   rA   r>   r   r   rF   ro   r   rU   rV   rZ   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 s!w   Y  ttjd}t	|| d S )Nr   r   r   r   r   )
r
   r   r@   rA   r>   r   r   rK   float64rF   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 sbw   Y  tddgddgd}t|| d S )Nr   z628.00r   r0   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@   rA   r>   r   r   rF   )ro   r   rU   rV   rZ   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 
 r@J td
d tj	|dd	}|dk 
 rVJ W d    d S 1 saw   Y  d S )Nr   r}   c                 S      | j ddS Nr   r}   )rh   r"   r&   r&   r'   <lambda>      z5TestDataFrameAnalytics.test_var_std.<locals>.<lambda>c                 S   r   r   )rg   r"   r&   r&   r'   r     r   r0     r   r   r4   r   F)rh   rG   r@   assert_almost_equalrg   rK   repeatrandomnanopsnanvarr   r   r   ro   datetime_framerV   rZ   arrr&   r&   r'   test_var_std  s   "z#TestDataFrameAnalytics.test_var_stdmeth)ri   rg   rh   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 sww   Y  d}tj	t
|d t||ddd
 W d    d S 1 sw   Y  d S )Nr   r   r   r   100)r   r   r   r0   Trm   r   r   r4   z6unsupported operand type\(s\) for -: 'float' and 'str'r+   Fz&could not convert string to float: 'a')r
   rK   r   randnlocr?   r@   rF   rH   rI   	TypeError)ro   r   df1df2rV   rZ   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 	 r-J t
d	d
 tj|dd}|dk 	 rCJ W d    d S 1 sNw   Y  d S )Nr   r}   c                 S   s   | j ddtt|  S r   )rh   rK   r   rD   r"   r&   r&   r'   r     s    z1TestDataFrameAnalytics.test_sem.<locals>.<lambda>r   r   r   r4   r   F)ri   rG   r@   r   rK   r   r   r   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?w   Y  tj
||dd |jd u sSJ |jdksZJ d S )Nr   )onetwothreer   r0   )r   r   r   r   r   r   )r   r0   r   r   r0   r   )r   r0   r   r0   r   r0   )levelscodes   r   r   levelF)check_names)r   r
   rK   r   r   rl   r@   rA   r>   xsrF   name)ro   r<   rU   rl   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   	   )r  NaTr  r  r	  r   r   r   )r   r0   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   r0   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
   rK   r   r	   r   r   arangesortedkeysmoder@   assert_frame_equal)ro   ry   rZ   rU   rV   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 |jdd}|jddjdd}W d    n1 s5w   Y  t	|| d S )Nr   r   Fr   )byT)drop)
r
   rK   r   r@   rA   UserWarningr   sort_valuesreset_indexr!  )ro   rU   rZ   rV   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   r<   )r
   r   r   r   r@   r!  ro   rU   rV   rZ   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s<J |d |jd ksGJ |jdd}||jd k sXJ | }|d |jd ksgJ |d |jd ksrJ |jdd}||d
 k sJ | }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 sw   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skJ |d( |d'  |d+< |  |d) jd*ksJ |d+ jd*ksJ d S ),Nz2012-1-1r   r
  r   freqz2012-1-220120101r   )minutessecondsr   r   r   r   r   r   )r   r   r0   )r   r   r4   )r   r   )r   r   r   r   r  20130101r  i1  r/  )daysr   Select only validr+   )r0   r0   r   r   20130102r   20130105)timetime2r8  r7  off1timedelta64[ns]off2)r
   r   r   r   rd   r   allre   rz   r@   r!  copyr   r   	Timedeltar   rF   rA   r>   r=   _consolidate_inplace)ro   rU   diffsrV   result2rZ   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=  )r2  Fr/   r   r   r:  r;   r0   r-   r   r  )
r   timedelta_ranger
   r  ilocrh   r   r@   rF   r>  )ro   tdirU   rV   rZ   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sJ t|dks#J t|dks+J d S )Nr   r0   )r
   r6   rB   r   rD   )ro   empty_frameaxis0axis1r&   r&   r'   test_sum_corner  s   

z&TestDataFrameAnalytics.test_sum_cornerzmethod, unit)r6   r   )r7   r0   rn   )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   rn   r   r;   r0   )rn   	min_countr   r   r   r   r   r   r   r   )r
   rK   r   r?   r   r@   rF   rH  )ro   r   r_   rn   idxrU   rV   rZ   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=   r<   rP  r0   )	r
   rK   r   rG   r   r6   r   r@   rF   )ro   rQ  rU   r   rV   rZ   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   rT  r#   rW  r   )r
   r6   r   rK   r   r@   rF   r)  r&   r&   r'   test_sum_nanops_min_count  s   z0TestDataFrameAnalytics.test_sum_nanops_min_count
float_type)float16r   r   zkwargs, expected_result)r.   rP  g	@g333333@r-   c                 C   sL   t g dddtjgd|d}|jdi |}t||}t|| d S )N)r   gffffff@皙@g@r   r   r   r   r&   )r
   rK   r   r6   r   r   r@   rF   ro   rY  kwargsexpected_resultrU   rV   rZ   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di |}t||}t|| d S )N)r   r   r[  r   r\  r   r&   )r
   rK   r   r7   r   r   r@   rF   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r<   r   r0   )r!   r   r   r
   r<   r   r   r6   )ro   rs   r!   rN   deltasr&   r&   r'   test_sum_object/  s   z&TestDataFrameAnalytics.test_sum_objectc                 C   s"   t |}|d |d d S )Nr0   r   )rK   isnanr6   )ro   rs   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 s(w   Y  td	d
i}t|| d S )Nr   r   r   r   r   )r   r   r   r4  r+   r   g      @)	r
   r   r   r@   rA   r>   r6   r   rF   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 sw   Y  |jddd}t |j|j t|jt|jk s8J t jtdd |jdd}W d    n1 sPw   Y  |jddd}t |j|j |d dk|d	< |d}|d	 |d	 j	 ks~J d S )
Nr4  r+   r   r4   Trm   r0   r   bool)
r@   rA   r>   r   r6   assert_index_equalr<   rD   r   r!   )ro   rs   rp   the_meanthe_sum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 sAw   Y  td|jd d}t	
|| d S )Nr   
2016-01-01r   1D2016r   r+  )r   r   r   r
  TrO  r   r0   r   )r   r   )r
   rK   r  r   r   rG  period_ranger   r   r@   rF   rA   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    d S 1 sQw   Y  d S )Nr   ro  r   rp  r   FrO  r0   )r0   r   rr  rq  r   r+  r
  z"mean is not implemented for Periodr+   )r
   rK   r  r   r   rG  r   r   r   r@   rF   rs  rH   rI   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   TrO  )rK   r   randintr
   r   r@   rF   )ro   r   rU   rV   rZ   r&   r&   r'   *test_mean_extensionarray_numeric_only_true  s
   zATestDataFrameAnalytics.test_mean_extensionarray_numeric_only_truec                 C   s\   t jtdd |d |d |d |d W d    d S 1 s'w   Y  d S )Nr   r+   r0   )r@   rA   r>   rh   rg   r   rj   )ro   rp   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sJ d S )Nr0   r   rb  r4   r   )r
   rC   r   r6   )ro   rU   rf  r&   r&   r'   test_sum_bools  s   z%TestDataFrameAnalytics.test_sum_boolsr/   c           	      C   j   |}t j|jdd< t j|jdddd f< ||fD ]}|j||d}|jtj||d}t|| qd S Nr   r      r   rE  r-   )rK   r   rH  idxminrG   r   r@   rF   	ro   rs   r   r/   r.   rN   rU   rV   rZ   r&   r&   r'   test_idxmin     z"TestDataFrameAnalytics.test_idxminc                 C   s   t g dg dtdd}|r(|j|d}tddgdd	gd
}t|| d S tjtdd |j|d W d    d S 1 sAw   Y  d S )Nr   r   r0   r   r0   r0   xyxr   rO  r   r0   r   r   r   not allowed for this dtyper+   )	r
   listr  r   r@   rF   rH   rI   r   ro   rn   rU   rV   rZ   r&   r&   r'   test_idxmin_numeric_only     "z/TestDataFrameAnalytics.test_idxmin_numeric_onlyc                 C   H   |}d}t jt|d |jdd W d    d S 1 sw   Y  d S Nz)No axis named 2 for object type DataFramer+   r   r4   )rH   rI   rJ   r  ro   rs   rN   r   r&   r&   r'   test_idxmin_axis_2  
   "z)TestDataFrameAnalytics.test_idxmin_axis_2c           	      C   r|  r}  )rK   r   rH  idxmaxrG   r   r@   rF   r  r&   r&   r'   test_idxmax  r  z"TestDataFrameAnalytics.test_idxmaxc                 C   s   t g dg dtdd}|r(|j|d}tddgdd	gd
}t|| d S tjtdd |j	|d W d    d S 1 sAw   Y  d S )Nr  r  r  r   rO  r0   r   r   r   r   r  r+   )
r
   r  r  r   r@   rF   rH   rI   r   r  r  r&   r&   r'   test_idxmax_numeric_only  r  z/TestDataFrameAnalytics.test_idxmax_numeric_onlyc                 C   r  r  )rH   rI   rJ   r  r  r&   r&   r'   test_idxmax_axis_2  r  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 )Nro  r   r   )r   r   r0   r2  T)deepr   )r0   r   r   r   )r   r   r   )r   r   r   )r0   r   r   r   r   )r   r   r0   r   )r   r
   rC   r=  r  r   r@   rF   r  r   r  r   r?  ro   dtirU   rV   rZ   r&   r&   r'   test_idxmax_mixed_dtype  s.   *z.TestDataFrameAnalytics.test_idxmax_mixed_dtypezop, expected_valuer  r  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   r0   r   r   )IDvaluerw  r   r  r  r  r  )r  r=   r   )r
   groupbyr?   r   r@   r!  )ro   r   expected_valuerU   rV   rZ   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 )Nro  r   r   r2  )r   r   TrD  )r   r   r0   r4   )r   r   r   )r   r   r   )r   r
   r   r  rH  r?  r  r   r@   rF   r  r  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      ?_bool_r.   r  )rK   r   r   rD   r?   )ro   rM   r.   r  rp   rB  r&   r&   r'   test_any_all_mixed_float#  s   z/TestDataFrameAnalytics.test_any_all_mixed_floatc                 C   s   t |||dd d S )NFr  rr   )ro   rM   r.   bool_frame_with_nar&   r&   r'   test_any_all_bool_with_na-  s   z0TestDataFrameAnalytics.test_any_all_bool_with_nac                    sX  | 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 srw   Y  |tj	 }	t|	|dd
}
t|	|d	d
}|dkr|

 rJ |
 rJ d S |
 sJ | sJ d S )NTc                    s   |   j} |S r   )ry   r!   )r#   nonar$   r&   r'   rW   :  s   
zFTestDataFrameAnalytics.test_any_all_bool_frame.<locals>.skipna_wrapperc                    r   r   r    r"   r$   r&   r'   r(   >  r)   z?TestDataFrameAnalytics.test_any_all_bool_frame.<locals>.wrapperr   Fr-   r0   r4   )r1   r8   r+   r   r   )fillnar?   rK   r@   rF   rG   rH   rI   rJ   rL   r   r<  )ro   rM   r  rN   rS   rW   r(   rX   rY   r\   r]   r^   r&   r$   r'   test_any_all_bool_frame2  s4   





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 smJ |jd d
 }|du s{J |dg jd d
 }|du sJ d S )N)TFF)TTF)TTTr   r   r   r   r   r0   r4   Tr  r  Fr   )r
   r   r   r@   rF   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 )Nr0   Tr   5datar-   )TTTT)r
   rK   r   r?   r   r@   rF   )ro   r.   r  r/   rU   rV   rZ   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 )Nr0   r   z
1960-02-15z
1960-02-16r   r4   )TTTF)
rK   r   r   r   r  r
   r   r   r@   rF   )ro   
float_datadatetime_datarU   rV   rZ   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   rV  )NNN)col1col2col3Tr  r   )FFT)r  r  r  col4r  F)r
   r<  r   rK   bool_r@   rF   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]rS  categoryr   r   c                 C   s   t |}d }tdd |jD rt}tj|ddd ||}W d    n1 s)w   Y  t|tjs6J |	 |u s>J tj|ddd t
t ||jd d}W d    n1 s\w   Y  t|tjsiJ |	 |u sqJ 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,   check_stacklevelr4   )r
   r   dtypesr>   r@   rA   rB   rK   r  r  r?   __name__)ro   funcr  rZ   rR   rV   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u sJ t tddgd }|du s$J d S )Nr   r   r   TF)rK   r<  r
   r  r   )ro   rV   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 s;w   Y  |ddg }t	|| tjt|d
 |j
ddd}W d    n1 sew   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 sw   Y  t|| tjt|d
 |j
dd drJ W d    n1 sw   Y  tjt|d
 |jddd}W d    n1 sw   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w   Y  t|| tjt|d
 |jdd ds+J W d    d S 1 s7w   Y  d S )Nz)object-dtype columns with all-bool valuesr   r   TFr   r   r  r
  r+   r   r   )r  r.   r   )r
   r   r   r?  r   r@   rA   r>   _get_bool_datar!  r<  rF   r   )ro   r   rU   resrZ   r&   r&   r'   test_any_all_object_bool_only
  sD   
$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/ tt t	||d dd W d    n1 s8w   Y  W d    d S W d    d S 1 sPw   Y  d S )Nr   r0   r   r   r   outin)namesr   z.Must specify 'axis' when aggregating by level.r+   )r.   r   )
r
   r   from_productrH   rI   rJ   r@   rA   r>   r?   )ro   r   rU   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    d S 1 sFw   Y  d S )
N)r   r   r   r   r   r   r0   r   )lowerr.   )ltlegtgeeqner4   )r
   rK   r   r   r@   rA   clipr?   )ro   rU   df_nanrv   s_nanr   r&   r&   r'   test_series_broadcastingE  s   "z/TestDataFrameAnalytics.test_series_broadcasting)Rr  
__module____qualname__rH   markfilterwarningsparametrizeparamtdskip_if_no_scipyrq   rt   r   r   r   r
   rK   r   r   r   r   r   r   r   r   r   r   r   r   r  r	   r   r   r   r   r  r"  r(  r*  rC  rJ  rN  rR  rU  rX  rL   r`  ra  rd  rg  rh  rn  rt  ru  ry  rz  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r<  r   r   r  r  r  r  r  r&   r&   r&   r'   ra      s2   

	=


$	










5X
 	
	

	

&

+!

	
"#$%'
3+
ra   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d	e
f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   rd   r   r@   rF   re   )ro   rU   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sBJ t|| |jddd	}t
|jd tjg}|j|d jkscJ 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\  r0   Fr-   )r   r   r   )r   r   )rB   r   r   rH   skipr
   r   r   r  rd   r   r   r=   r@   rF   re   )ro   requesttz_naive_fixturer   rU   r  rZ   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s!J |jddjtju | tju ks4J t	|jdd| t	|jdd| d S )Nr#   r   r4   r0   )
r
   r   r   rd   r#   r   r  re   r@   rF   )ro   rU   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s2J t	|jdd| t	|jdd| d S )Nr#   r   r   r4   r0   )
r
   r   r   rK   re  rd   r#   re   r@   rF   )ro   rU   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   rd   re   c                 C   s<   t |}t|g}t|g}t||dd}t|| d S )Nr0   r4   )r   r   r
   r?   r@   rF   )ro   r  r   
initial_dtrZ   rU   rV   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 s(w   Y  t dd
dgiddgd}t|| tjtdd |jdd	}W d    n1 sWw   Y  t dd
d
giddgd}t|| d S )Nr  )FFTFTFT)r   r   r   r   r   r   r   )r   r0   r   r   r0   r   r   r   zUsing the levelr+   r   r   FTr   r   )r
   r@   rA   r>   r   r!  r<  )ro   rU   rV   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   rv   r0   ms)r   tr4   FTr   r  )r  r<   r  )r
   r   r   r   r@   rF   r)  r&   r&   r'   test_frame_any_with_timedelta  s   
z5TestDataFrameReductions.test_frame_any_with_timedeltac                 C   sN   |g d}t jtddd |jd d W d    d S 1 s w   Y  d S )Nr   r/   Fr9   rF  )r@   rA   r>   r   )ro   frame_or_seriesobjr&   r&   r'   'test_reductions_deprecation_skipna_none  s   "z?TestDataFrameReductions.test_reductions_deprecation_skipna_nonec                 C   sf   |g dt g dg dgd}tjtdd t||dd W d    d S 1 s,w   Y  d S )Nr   rV  r   r   r+   r   r   )r   from_arraysr@   rA   r>   r?   )ro   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rtd |g d}d}tjt|d t||d d	 W d    d S 1 s<w   Y  d S )
Nrb   zCount does not accept skipnareasonr   zMad is deprecated: GH#11787r   zAFor argument "skipna" expected type bool, received type NoneType.r+   rF  )	node
add_markerrH   r  xfailr  rI   rJ   r?   )ro   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  rH   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 s%w   Y  tjtdd tt|| W d    n1 sCw   Y  tjtdd t||dd	 W d    n1 sbw   Y  tjt	d
d t||d d	}W d    n1 sw   Y  t g t
g td}t|| tjt	d
dd tt||dd}W d    n1 sw   Y  t|| d S )Nr   r0   r  r   )r=   r  does not support reductionr+   Fr  r   r;   r  r4   )r   to_framerH   rI   r   r?   rK   r@   rA   r>   r   ri  rF   )ro   r   serrU   rV   rZ   r&   r&   r'   .test_any_all_categorical_dtype_nuisance_column  s0   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 s$w   Y  tjtdd |jdd W d    n1 sAw   Y  tjtdd | }W d    n1 s\w   Y  t	g t
g tjd}t|| |d t|d	< tjtdd |jdd W d    n1 sw   Y  tjtdd | }W d    n1 sw   Y  t	d
gd	gd}t|| d S )Nr   )r0   r   r   r   r   r   r+   FrO  r   r;   r   r   r   )r
   r	   rH   rI   r   r   r@   rA   r>   r   r   rK   r   rF   r   r   )ro   rU   r  rV   rZ   r&   r&   r'   -test_median_categorical_dtype_nuisance_column  s4   


zATestNuisanceColumns.test_median_categorical_dtype_nuisance_columnrd   re   c                 C   sL  t g ddd}t|}|d}tjtdd t||  W d    n1 s)w   Y  tjtdd tt|| W d    n1 sGw   Y  tjtdd t||dd W d    n1 sfw   Y  tj	t
dd t|| }W d    n1 sw   Y  tg tg tjd	}t|| tj	t
ddd
 tt||}W d    n1 sw   Y  t|| |d t|d< tj	t
dd t|| }W d    n1 sw   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w   Y  t|| d S )N)r   r   r   r   F)orderedr   zis not ordered for operationr+   rO  r   r;   r  r   rd   r   r   r   )r	   r   r  rH   rI   r   r?   rK   r@   rA   r>   r   r   rF   r   r   )ro   r   catr  rU   rV   rZ   r&   r&   r'   :test_min_max_categorical_dtype_non_ordered_nuisance_column9  sR   
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 s#w   Y  tdgdgd	}t|| |d t	d
 |d< tjtdd | }W d    n1 sWw   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@   rA   r>   r   r   rF   r   r   r)  r&   r&   r'   3test_reduction_object_block_splits_nuisance_columnsi  s    

zGTestNuisanceColumns.test_reduction_object_block_splits_nuisance_columnsN)
r  r  r  rH   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   Nat)r2  r2  FrF  r  r1  r   r-   r0   r   r  )rK   r  r   r  viewreshaper
   r6   r   r   r>  r  r@   rF   )r   rU   rV   rZ   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   r0   abr   r   rw  r   )r
   r  r   r6   r   r@   rF   )rU   rV   rZ   r&   r&   r'   !test_mixed_frame_with_integer_sum  s
   r  rn   )TFNr   rd   re   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   rw  rO  r   r   )rK   iinfor   re   rd   r   
Int64Dtyper
   r?   r   r@   rF   )r   rn   
int64_infor  rU   rV   rZ   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 s,w   Y  t
|| tjtdd |j	dd}|j	dd}W d    n1 sUw   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 sw   Y  t
|| tjtdd( |j	dd}|j	dd}|jjg dd d df 	 |d d d< W d    n1 sw   Y  t
|| d S )	Nr  r   r*   r+   r0   r4   r   )r   r   r   )r
   rK   r   r   r   r  r@   rA   r>   r   rF   r   NArH  r   r   )any_signed_int_ea_dtyperU   r   rV   rZ   r&   r&   r'   test_mad_nullable_integer  sB   

*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& t	j
|jd d df< t	jt	j
gt| | d|jd d df< W d    n1 sDw   Y  tjtdd | }| }W d    n1 scw   Y  t	j
|d< |d}t|| d S )	Nr  r   z.will attempt to set the values inplace insteadr+   r0   r   r*   Float64)r
   rK   r   r   r   r  r@   rA   r>   r   r  rH  r   rD   r   rF   )r  rU   r   r   rV   rZ   r&   r&   r'    test_mad_nullable_integer_all_na  s    
*


r  r   )re   rd   r6   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/w   Y  t|| t|j	dd| d	d
}t|| d S )Nr   )hours   g333333(@g*@r\  r   r   FrO  )
r
   r   r>  r=  r@   rA   r>   r?   r!  r  )r   rU   rZ   rV   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 s#w   Y  tg dtdd	}t|| d S )
Nr0   皙?r   r   z!The default value of numeric_onlyr+   )r0   r  r   abcr   )r
   r@   rA   r>   r6   r   r  rF   )r  rU   rV   rZ   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    d S 1 s9w   Y  d S )	N)r0   r   Tr   r0   F)r.   rP  rn   r   z2unsupported operand type(s) for +: 'int' and 'str'r+   )r
   r7   r   r@   rF   reescaperH   rI   r   r6   )rU   rV   rZ   r   r&   r&   r'   $test_prod_sum_min_count_mixed_object  s   

"r!  )rd   re   r   r   rj   rl   c                 C   s   t tjdd}t|| }d|  d}tjt|d |d d}W d    n1 s+w   Y  td  | }W d    n1 sCw   Y  t|| t||dd d S )Nr   zscalar z over the entire DataFramer+   r4   r   )	r
   rK   r   r   r?   r@   rA   r>   rF   )r   rU   r   r   r  rZ   r&   r&   r'   $test_reduction_axis_none_deprecation  s   
r"  kernel)corrcorrwithrb   covr  r  rl   rl   re   r   r   rd   r   r7   r7   quantileri   rj   rh   r6   rg   c           	      C   s\  t g dtd}| dkr|fnd}ttt | }|jd j}|dus&J | dv rQ|du s0J tjt	d	d
 t|| |  W d    d S 1 sJw   Y  d S |d u sZ|t
ju rgt|dg | | }t}nt|| | }| dkrzd|jv syJ nd|jv sJ d }d|  }tj||d
 t|| | }W d    n1 sw   Y  t|| d S )Nr   r\  r%  r&   rn   T)r  r  Fr  r+   r   r   r   z/The default value of numeric_only in DataFrame.)r
   r   inspect	signaturer?   
parametersdefaultrH   rI   r   r   
no_defaultr>   r   r<   r@   rA   assert_equal)	r#  rU   argsr)  r+  rZ   rR   r   rV   r&   r&   r'   test_numeric_only_deprecation)  s.   "
r/  )TTFr   r   N)<datetimer   decimalr   r(  r  dateutil.tzr   numpyrK   rH   pandas._libsr   pandas.compatr   pandas.util._test_decoratorsutil_test_decoratorsr  pandas.core.dtypes.commonr   pandasr   r	   r
   r   r   r   r   r   r   r   r   r   pandas._testing_testingr@   pandas.core.algorithmscorerw   pandas.core.nanopsr   r`   ra   r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r"  r/  r&   r&   r&   r'   <module>   sr    4
v         C $ 	'



