U
    ÎZj­
 ã                   @   s$  d dl mZ d dlmZ d dlZd dlZd dlmZ d dlZ	d dl
Z
d dlmZ d dlmZ d dlm  mZ d dlmZ d dlZd dlmZmZmZmZmZmZmZmZmZm Z m!Z! d dl"m#Z$ d dl%m&  m'Z' d dl(m&  m)Z) dDdd„Z*G dd„ dƒZ+G dd„ dƒZ,G dd„ dƒZ-dd„ Z.dd„ Z/e
j0 1dd	d
dg¡e
j0 1dddg¡dd„ ƒƒZ2dd „ Z3e
j0j4d!d"�d#d$„ ƒZ5e
j0 1d%ddd&d'd(g¡d)d*„ ƒZ6e
j0 1d+ed,ƒej7g¡d-d.„ ƒZ8d/d0„ Z9e
j0 1dddd'd(d1d2g¡d3d4„ ƒZ:e
j0 1d5d6d7d8d9d:d;d2d2dd'd(dd<d=d=d>d?d1d@d&dAg¡dBdC„ ƒZ;dS )Eé    )Ú	timedelta)ÚDecimalN)Útzlocal)Úlib)Úis_platform_windows©Úis_categorical_dtype)ÚCategoricalÚ	DataFrameÚIndexÚ
MultiIndexÚSeriesÚ	TimestampÚ
date_rangeÚisnaÚnotnaÚto_datetimeÚto_timedeltaTFçñhãˆµøä>ç:Œ0âŽyE>c	              
      sÒ  | dkrt nd}	t|| ƒ}
|r¾| dkr*t nd}tdtddd�iƒ}t |¡� t|| ƒƒ }W 5 Q R X t|tƒsrt‚t	t
|ƒƒ|d< t |¡� t|| ƒƒ }W 5 Q R X t|tƒs²t‚t
|ƒs¾t‚|�rF‡ fd	d
„}t ˆ |¡}tj|	dd�� |
ddd�}|
ddd�}W 5 Q R X tj|| |¡|||d� tj||j|dd�||d� nˆ }tj|	dd�� |
dd�}|
dd�}W 5 Q R X tj|| |¡|||d� | dk�r¾|j|dd�}tj||d||d� |�rì|jj}||jk�sÜt‚||jk�sìt‚tj|	dd��* tjtdd�� |
dd� W 5 Q R X W 5 Q R X |�rÎ|tj }tj|	ddd��& t|| ƒdd�}t|| ƒdd�}W 5 Q R X | dk�rÎ| dk�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© úe/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/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   ÚAssertionErrorÚrangeÚlenZ_make_skipna_wrapperÚassert_series_equalÚapplyr    r:   ÚpytestÚraisesÚ
ValueErrorÚnpÚNaNr9   )Úopnamer$   ÚframeÚ
has_skipnar/   Úcheck_datesr0   r1   Úskipna_alternativeÚwarnÚfZexpected_warningÚdfÚresultr'   Úskipna_wrapperÚresult0Úresult1ÚexpectedZ	lcd_dtypeÚall_naÚr0Úr1Úunitr%   r#   r&   Úassert_stat_op_calc#   s”    %
    ÿü
û
    ÿ
  ÿ
r[   c                -   @   sz
  e Zd Zej d¡ej dddg¡ej ddddd	d
dddddddejdej	d�ejdej	d�g¡dd„ ƒƒƒZ
ej d¡ej dddg¡ej ddddd	d
dddddejdej	d�ejdej	d�g¡dd„ ƒƒƒZdd„ Zej	dd„ ƒZej d¡dd„ ƒZej d ddd!dddddg¡ej d"ed#d$d%gddd&gd'd(d)gd*œd+d,d-gd.d/�eejd0gejd1gejd2gd3œed4�g¡d5d6„ ƒƒZej d7ddddddg¡d8d9„ ƒZd:d;„ Zd<d=„ Zej d>d?d@g¡dAdB„ ƒZej d>d?d@g¡dCdD„ ƒZdEdF„ ZdGdH„ Zej dIdddg¡dJdK„ ƒZdLdM„ Zej	dNdO„ ƒZej dPdQdRgdSgdTgdUgedUgdUgdV�edWgƒe dXgƒdYœfdZdRgdSgejgej!ejged4�eejgdUgdV�e"j#ge e"j#gƒdYœfdQd[d\ejejgd[d\ejejgdejejejgedUejejejgdUgdV�edWd]d]d]gƒe dXd^d^d^gƒddd0d1gd_œfdZd[d\ejejgd[d\ejejgdejejejgeejdUejejgdUgdV�ed]dWd]d]gƒe d^dXd^d^gƒddd0d1gd_œfg¡d`da„ ƒZ$dbdc„ Z%ddde„ Z&dfdg„ Z'dhdi„ Z(djdk„ Z)ej dldmdng¡ej dod?dQdZg¡dpdq„ ƒƒZ*drds„ Z+dtdu„ Z,ej dvdwdxdyg¡ej dzdd0d{œd|d}ej-gfdd1d{œej-ej-ej-gfddZd~œd|d}ej-gfg¡dd€„ ƒƒZ.ej dvdwdxdyg¡ej dzdd0d{œd�d‚ej-gfdd1d{œej-ej-ej-gfddZd~œd�d‚ej-gfg¡dƒd„„ ƒƒZ/d…d†„ Z0d‡dˆ„ Z1d‰dŠ„ Z2d‹dŒ„ Z3d�dŽ„ Z4d�d�„ Z5d‘d’„ Z6d“d”„ Z7d•d–„ Z8ej d—dQdZg¡ej dddg¡d˜d™„ ƒƒZ9ej dodQdZg¡dšd›„ ƒZ:dœd�„ Z;ej d—dQdZg¡ej dddg¡dždŸ„ ƒƒZ<ej dodQdZg¡d d¡„ ƒZ=d¢d£„ Z>d¤d¥„ Z?ej d¦d§dd2gfd¨dd©gfg¡dªd«„ ƒZ@d¬d­„ ZAej dd®d¯g¡ej dddg¡ej d°dZdQg¡d±d²„ ƒƒƒZBej dd®d¯g¡ej dddg¡d³d´„ ƒƒZCej dd®d¯g¡dµd¶„ ƒZDd·d¸„ ZEej dddg¡ej d¹d®d¯g¡ej d—dQdZg¡dºd»„ ƒƒƒZFd¼d½„ ZGd¾d¿„ ZHej dÀejIi dZfejJi dQfejIdÁg idZfejJdÁg idQfejIdÁdZdZgidZfejJdÁdZdZgidZfejIdÁdQdZgidQfejJdÁdQdZgidZfejIdÁdQdQgidQfejJdÁdQdQgidQfejIdZgdZgdÂœdZfejJdZgdZgdÂœdZfejIdZdZgdZdQgdÂœdQfejJdZdZgdZdQgdÂœdZfejJdÁeKd&dTgdÃd4�idZfejIdÁeKd&dTgdÃd4�idQfejJdÁeKddgeLd4�idZfejIdÁeKddgeLd4�idQfe ejJdÁeKddgdÄd4�idZ¡e ejJdÁeKddgdÅd4�idZ¡e ejIdÁeKddgdÄd4�idQ¡e ejIdÁeKddgdÅd4�idQ¡e ejJdÁeKdd0gdÄd4�idQ¡e ejJdÁeKdd0gdÅd4�idQ¡e ejIdÁeKdd0gdÄd4�idQ¡e ejIdÁeKdd0gdÅd4�idQ¡e ejJdÁeKddgdÆd4�idZ¡e ejIdÁeKddgdÆd4�idQ¡e ejJdÁeKdd0gdÆd4�idQ¡e ejIdÁeKdd0gdÆd4�idQ¡ejJdÁeKddgdÇd4�idQfejIdÁeKddgdÇd4�idZfejJdÁeKdd0gdÇd4�idQfejIdÁeKdd0gdÇd4�idZfe ejJeKdÈdÉgdÄd4�eKdÈdÉgdÆd4�dÂœdQ¡g#¡dÊdË„ ƒZMdÌdÍ„ ZNdÎdÏ„ ZOej d d®d¯g¡dÐdÑ„ ƒZPdÒdÓ„ ZQd?S )ÔÚTestDataFrameAnalyticsz)ignore:Dropping of nuisance:FutureWarningr,   r   r.   rJ   Úcountr4   r   Úproductr   ÚminÚmaxÚnuniquer   ÚvarÚstdÚsemÚskew)ZmarksÚkurtc              	   C   sZ   |dkrt nd }tj|ddd��0 t||ƒ|d� |dkrLt||ƒ|dd� W 5 Q R X d S )	Nr   r(   Fr7   r2   )ra   r   T©r,   Únumeric_only)r;   r=   r>   r<   )ÚselfÚfloat_string_framer,   rJ   rO   r%   r%   r&   Ú#test_stat_op_api_float_string_frame�   s      ÿz:TestDataFrameAnalytics.test_stat_op_api_float_string_framec                 C   s   t ||ƒ|dd� d S )NFrg   ©r<   )ri   Úfloat_framer,   rJ   r%   r%   r&   Útest_stat_op_api_float_frame»   s    z3TestDataFrameAnalytics.test_stat_op_api_float_framec           	      C   sà   dd„ }dd„ }dd„ }dd„ }d	d
„ }dd„ }t d||dddd� t dtj| d¡ddd� t dtj|tjd� t dtj|dd� t dtj|tjd� t d||ƒ t d||ƒ t d||ƒ t d||ƒ t d||dddd� d S )Nc                 S   s   t | ƒ ¡ S r   )r   r4   ©Úsr%   r%   r&   r]   Ò   s    z7TestDataFrameAnalytics.test_stat_op_calc.<locals>.countc                 S   s   t t |  ¡ ¡ƒS r   )rB   Ú
algorithmsZunique1dÚdropnaro   r%   r%   r&   ra   Õ   s    z9TestDataFrameAnalytics.test_stat_op_calc.<locals>.nuniquec                 S   s   t  | |  ¡  ¡ ¡ S r   )rH   Úabsr   r!   r%   r%   r&   r   Ø   s    z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.madc                 S   s   t j| dd�S ©Nr.   ©Zddof)rH   rb   r!   r%   r%   r&   rb   Û   s    z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.varc                 S   s   t j| dd�S rt   )rH   rc   r!   r%   r%   r&   rc   Þ   s    z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.stdc                 S   s   t j| dd�t  t| ƒ¡ S rt   )rH   rc   ÚsqrtrB   r!   r%   r%   r&   rd   á   s    z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.semra   FT)rL   r/   rM   r4   Úfloat32gü©ñÒMbP?)r/   r0   )rN   r   ©rM   r^   r   rb   rc   rd   r]   )r[   rH   r4   ÚastypeZnansumr   r5   Znanprod)	ri   Úfloat_frame_with_naZmixed_float_framer]   ra   r   rb   rc   rd   r%   r%   r&   Útest_stat_op_calcÑ   s\    úû   ÿ   ÿúz(TestDataFrameAnalytics.test_stat_op_calcc                 C   s,   dd„ }dd„ }t d||ƒ t d||ƒ d S )Nc                 S   s*   ddl m} t| ƒdk rtjS || dd�S )Nr   )re   é   F©Zbias)Úscipy.statsre   rB   rH   Únan)r"   re   r%   r%   r&   Úskewness  s    zHTestDataFrameAnalytics.test_stat_op_calc_skew_kurtosis.<locals>.skewnessc                 S   s*   ddl m} t| ƒdk rtjS || dd�S )Nr   )Úkurtosisé   Fr}   )r~   r�   rB   rH   r   )r"   r�   r%   r%   r&   rf     s    zDTestDataFrameAnalytics.test_stat_op_calc_skew_kurtosis.<locals>.kurtre   rf   ©r[   )ri   rz   r€   rf   r%   r%   r&   Útest_stat_op_calc_skew_kurtosis  s    z6TestDataFrameAnalytics.test_stat_op_calc_skew_kurtosiszignore::RuntimeWarningc                 C   s.   dd„ }t d||dd� t d||ddd� d S )Nc                 S   s   t | ƒ ¡ rtjS t | ¡S r   )r   ÚanyrH   r   r   r!   r%   r%   r&   r'   %  s    z3TestDataFrameAnalytics.test_median.<locals>.wrapperr   Trx   F)r/   rM   rƒ   )ri   rz   Ú	int_framer'   r%   r%   r&   Útest_median#  s        ÿz"TestDataFrameAnalytics.test_medianÚmethodr5   rQ   gÈƒw@Ba@¿gCùVÞúZ¿g
?ZÁ½.F?g        gê94­³c4?gÏ@ð}�jX?gþïœÕN¿©r   r   ÚcÚfooÚbarÚbazÚOr8   r   r|   r‚   ©r   r.   r   ©r:   c                 C   sL   |j jtjkst‚t||ƒdƒ}t| d¡|ƒdƒ}|dkrHt ||¡ d S )Nr.   Zf8r3   )	r    r:   rH   Zobject_r@   r<   ry   r=   rC   )ri   rˆ   rQ   rR   rV   r%   r%   r&   Ú%test_stat_operators_attempt_obj_array/  s
    z<TestDataFrameAnalytics.test_stat_operators_attempt_obj_arrayÚopc              
   C   s°   t ddddgddddgd	d
ddgdœƒ}tjtdd�� t||ƒƒ }W 5 Q R X t|ƒdks^t‚t dd¡�< tjtdd�� t||ƒƒ }W 5 Q R X t|ƒdks¢t‚W 5 Q R X d S )Nr.   r   r|   r‚   ç      ð?ç       @g      @ç      @r   r   rŠ   Úd)ÚintÚfloatÚstrúSelect only valid columnsr)   Úuse_bottleneckF)	r
   r=   r>   r;   r<   rB   r@   ÚpdÚoption_context)ri   r’   rQ   rR   r%   r%   r&   Útest_mixed_opsR  s&    


ýÿ ÿ ÿz%TestDataFrameAnalytics.test_mixed_opsc                 C   sˆ   t dddddgdddddgdd	d
ddgdœƒ}|jdddgd� |jdd�}t |jtjdddgtd�¡ |j	jdd�}t 
||¡ d S )NTFé
   é   é   é(   é2   r   r   rŠ   r–   Úe)Ú	bool_dataÚint_dataÚstring_datar¥   r¦   r§   ©Úcolumnsr   r2   r   é–   Zabcder�   r.   )r
   Úreindexr4   r=   Zassert_numpy_array_equalr    rH   ÚarrayÚobjectÚTrC   )ri   rQ   ÚtestZaltr%   r%   r&   Útest_reduce_mixed_framei  s    ýÿ ÿz.TestDataFrameAnalytics.test_reduce_mixed_framec                 C   s¦   t dddgdddgdtjdgdœƒ}t | ¡ tddddœƒ¡ t |jdd�tddddœƒ¡ t |jdd�tddddœƒ¡ t |jddd	�tddddœƒ¡ d S )
Nr.   r   r|   ©ÚAÚBÚCF©rr   r2   r�   )r,   rr   )r
   rH   r   r=   rC   ra   r   )ri   rQ   r%   r%   r&   Útest_nuniquez  s    $
 ÿ  ÿz#TestDataFrameAnalytics.test_nuniqueÚtzNÚUTCc              	   C   s^   t ddgtd|d�gd dœƒ}t t¡� | ¡ }W 5 Q R X tdgdgd�}t ||¡ d S )	Nr.   Ú2000©r·   r   ©r²   r³   r“   r²   ©r9   )r
   r   r=   r>   r;   r   r   rC   ©ri   r·   rQ   rR   rV   r%   r%   r&   Ú test_mean_mixed_datetime_numeric…  s
     z7TestDataFrameAnalytics.test_mean_mixed_datetime_numericc              	   C   sT   t dtd|d�gd iƒ}t t¡� | ¡ }W 5 Q R X ttjd�}t 	||¡ d S )Nr²   r¹   rº   r   r�   )
r
   r   r=   r>   r;   r   r   rH   Úfloat64rC   r½   r%   r%   r&   Útest_mean_excludes_datetimesŽ  s
    z3TestDataFrameAnalytics.test_mean_excludes_datetimesc                 C   sÞ   dd t dƒdœdd t dƒdœdd t dƒdœdd t dƒdœd	d t d
ƒdœddt dƒdœdd t dƒdœd	d t dƒdœdd t dƒdœdd t dƒdœg
}t|ƒ}tjtdd�� | ¡ }W 5 Q R X tddgddgd�}t ||¡ d S )Nr   z628.00r±   r.   z383.00r|   z651.00z575.00r‚   z1114.00ZTESTz241.00z572.00z609.00z820.00é   z1223.00rš   r)   gš™™™™™@gÍÌÌÌÌL…@r²   r´   r¼   )r   r
   r=   r>   r;   r   r   rC   )ri   r–   rQ   rR   rV   r%   r%   r&   Útest_mean_mixed_string_decimalš  s&    ö ÿz5TestDataFrameAnalytics.test_mean_mixed_string_decimalc              	   C   sº   |j dd�}| dd„ ¡}t ||¡ |jdd�}| dd„ ¡}t ||¡ t tj d¡dd¡}tj	|dd	�}|dk  
¡ r€t‚t d
d¡�$ tj	|dd	�}|dk  
¡ r¬t‚W 5 Q R X d S )Nr‚   ru   c                 S   s   | j dd�S ©Nr‚   ru   )rc   r!   r%   r%   r&   Ú<lambda>¶  ó    z5TestDataFrameAnalytics.test_var_std.<locals>.<lambda>c                 S   s   | j dd�S rÃ   )rb   r!   r%   r%   r&   rÄ   º  rÅ   ©r.   éè  rÇ   r   r2   r›   F)rc   rD   r=   Úassert_almost_equalrb   rH   ÚrepeatÚrandomÚnanopsZnanvarr…   r@   rœ   r�   ©ri   Zdatetime_framerR   rV   Úarrr%   r%   r&   Útest_var_std´  s    z#TestDataFrameAnalytics.test_var_stdÚmethc              	   C   s  t tj dd¡dddgd�}d|jd< t tj dd¡dddgd�}d	|jd< t||ƒd
dd�}t|ddg |ƒd
d�}t ||¡ t||ƒd
dd�}t|ddg |ƒd
d�}t ||¡ d}tj	t
|d�� t||ƒd
dd� W 5 Q R X d}tj	t
|d�� t||ƒd
dd� W 5 Q R X d S )NrÁ   r|   r‹   rŒ   r�   r¨   Ú100)r   r‹   r   r.   Trg   r2   z6unsupported operand type\(s\) for -: 'float' and 'str'r)   Fz&could not convert string to float: 'a')r
   rH   rÊ   ÚrandnÚlocr<   r=   rC   rE   rF   Ú	TypeError)ri   rÏ   Zdf1Údf2rR   rV   Úmsgr%   r%   r&   Útest_numeric_only_flagÅ  s     

z-TestDataFrameAnalytics.test_numeric_only_flagc              	   C   s”   |j dd�}| dd„ ¡}t ||¡ t tj d¡dd¡}tj|dd�}|dk  	¡ rZt
‚t d	d
¡�$ tj|dd�}|dk  	¡ r†t
‚W 5 Q R X d S )Nr‚   ru   c                 S   s   | j dd�t t| ƒ¡ S rÃ   )rc   rH   rv   rB   r!   r%   r%   r&   rÄ   â  rÅ   z1TestDataFrameAnalytics.test_sem.<locals>.<lambda>rÆ   rÇ   r   r2   r›   F)rd   rD   r=   rÈ   rH   rÉ   rÊ   rË   Znansemr…   r@   rœ   r�   rÌ   r%   r%   r&   Útest_semà  s    zTestDataFrameAnalytics.test_semc              
   C   s¾   t dgdddgddggddddddgddddddgddddddggd�}ttj d	d
¡|d�}| ¡ }t t¡� |jdd� 	d¡}W 5 Q R X tj
||dd� |jd ks¬t‚|jdksºt‚d S )NrŒ   ÚoneÚtwoÚthreer   r.   r   )ZlevelsÚcodesé   r|   r¼   ©ÚlevelF)Zcheck_names)r   r
   rH   rÊ   rÑ   rf   r=   r>   r;   ZxsrC   Únamer@   )ri   r9   rQ   rf   Zkurt2r%   r%   r&   Ú	test_kurtí  s    ,þz TestDataFrameAnalytics.test_kurtzdropna, expectedTé   g      $@r“   r   )Ú
categoriesú2000-1-2ú1 days)r²   r³   r´   ÚDÚEÚFÚGFé   é	   ÚNaTr   )ÚHÚIÚJÚKÚLÚMÚNc                 C   sü   t ddddgddtjdgdtjtjtjgtjtjdtjgttjtjdtjgƒtdd	ddgƒtd
dddgƒddddgddddgddtjtjgtdtjdtjgƒtd	d	ddgƒtd
dd
dgƒtjddd�dœƒ}|t| ¡ ƒ j	|d�}t |ƒ}t
 ||¡ d S )Nrá   é   é   rŸ   r|   r.   r   rë   rã   rä   r   ré   rê   r‚   Úint64r�   )r²   r³   r´   rå   ræ   rç   rè   rì   rí   rî   rï   rð   rñ   rò   rµ   )r
   rH   r   r	   r   r   ÚarangeÚsortedÚkeysÚmoder=   Úassert_frame_equal)ri   rr   rV   rQ   rR   r%   r%   r&   Útest_mode_dropnaü  s(    7


òÿz'TestDataFrameAnalytics.test_mode_dropnac              	   C   sp   t dtjtjddgiƒ}t ddtjgiƒ}t t¡�& |jdd�}|jdd�jdd�}W 5 Q R X t 	||¡ d S )Nr²   r   Frµ   )ZbyT)Zdrop)
r
   rH   r   r=   r>   ÚUserWarningrù   Zsort_valuesZreset_indexrú   )ri   rQ   rV   rR   r%   r%   r&   Útest_mode_sortwarningJ  s    z,TestDataFrameAnalytics.test_mode_sortwarningc                 C   sB   t g ddgd�}| ¡ }t g ddgtg td�d�}t ||¡ d S )Nr   r   r¨   r�   )r©   r9   )r
   rù   r   r—   r=   rú   ©ri   rQ   rR   rV   r%   r%   r&   Útest_mode_empty_dfW  s    z)TestDataFrameAnalytics.test_mode_empty_dfc              	   C   s  t tdddd�tdddd�tdƒtddd� d	œƒ}t |d
 |d  |d
 |d  dœƒ}| ¡ }|d |jd ksxt‚|d |jd ksŽt‚|jdd�}||jd k ¡ s°t‚| ¡ }|d |jd ksÎt‚|d |jd ksät‚|jdd�}||d
 k ¡ �st‚| 	¡ }t	|ƒ}t |d
 |d  |d |d
  dœƒ}t
 ||¡ t
 ||¡ | ¡ }d|d< d|d< d|d< tdƒ|d< | ¡ }tt tdd�¡t tdd�¡dddtdƒg|jd�}t
 ||¡ t
jtdd �� |jdd�}W 5 Q R X tdddgddd!gd�}t
 ||¡ |d
dg  d¡}ttdd�gd ƒ}t
 ||¡ |d
dg  ¡ }ttdd�tdd�gd
dgd�}t
 ||¡ t td"dd#�td$dd#�d%œƒ}|d& |d'  |d(< |d( jd)k�sÈt‚|d' |d&  |d*< | ¡  |d( jd)k�søt‚|d* jd)k�st‚d S )+Nz2012-1-1r|   rå   ©r   Úfreqz2012-1-2Z20120101rÁ   )ÚminutesÚsecondsr±   r²   r´   r³   r»   r   )r   r²   r.   )r   r³   r2   )r   r²   )r   r³   r‹   r“   ræ   Z20130101rç   i1  ©r  éÿÿÿÿ)Údaysr¼   úSelect only validr)   r   Z20130102r   Z20130105)ÚtimeÚtime2r	  r  Zoff1útimedelta64[ns]Zoff2)r
   r   r   r   r_   rÒ   r@   Úallr`   rs   r=   rú   Úcopyr   rœ   Ú	Timedeltar©   rC   r>   r;   r:   Ú_consolidate_inplace)ri   rQ   ZdiffsrR   Zresult2rV   Úmixedr%   r%   r&   Útest_operators_timedelta64]  s~    ýÿ&&ú÷ ÿ

þÿz1TestDataFrameAnalytics.test_operators_timedelta64c                 C   s¦   t jddd�}t||dœdd�}t j|jd< |jdd	�}t|d
  ¡ t jgd
dgdd�}t ||¡ |jddd�}tt  	d¡gd t jt  	d¡g ƒ}t ||¡ d S )Nz1 DayrŸ   r   r»   T©r  )éþÿÿÿr  F©r-   r²   r³   r
  r8   r.   r+   r   ré   )
rœ   Útimedelta_ranger
   rë   Úilocrc   r   r=   rC   r  )ri   ZtdirQ   rR   rV   r%   r%   r&   Ú!test_std_timedelta64_skipna_falseµ  s      ÿ$z8TestDataFrameAnalytics.test_std_timedelta64_skipna_falsec                 C   sZ   t ƒ }| d¡}| d¡}t|tƒs(t‚t|tƒs6t‚t|ƒdksFt‚t|ƒdksVt‚d S )Nr   r.   )r
   r4   r?   r   r@   rB   )ri   Zempty_frameZaxis0Zaxis1r%   r%   r&   Útest_sum_cornerÅ  s    

z&TestDataFrameAnalytics.test_sum_cornerzmethod, unit)r4   r   )r5   r.   rh   c                 C   s„  dddg}t ||g|tjgtjtjgdœƒ}t||ƒ|d�}t|||g|dd�}t ||¡ t||ƒ|dd	�}t||tjg|d
�}t ||¡ t||ƒ|dd	�}t|||g|dd�}t ||¡ t|jdd … |ƒ|dd	�}t|tjtjg|d
�}t ||¡ t |gd |gd tjgd  dœƒ}t||ƒ|dd	�}t|ddgd
�}t ||¡ t||ƒ|dd	�}t|ddgd
�}t ||¡ d S )Nr   r   rŠ   r‰   ©rh   r¿   r8   r.   )rh   Ú	min_countr¼   r   rŸ   rÁ   r»   r²   r³   rÜ   )r
   rH   r   r<   r   r=   rC   r  )ri   rˆ   rZ   rh   ÚidxrQ   rR   rV   r%   r%   r&   Útest_sum_prod_nanopsÏ  s*    
"&z+TestDataFrameAnalytics.test_sum_prod_nanopsc                 C   s¨   dddg}t ddgdtjgtjtjgdœƒ}| t¡}| ¡ }tdddgd|d�}t ||¡ |jdd�}t ||¡ |jd	d�}tddtjgd|d�}t ||¡ d S )
Nr   r   rŠ   r   r‰   úm8[ns])r:   r9   ©r  r.   )	r
   rH   r   rD   r   r4   r   r=   rC   )ri   r  rQ   rÔ   rR   rV   r%   r%   r&   Útest_sum_nanops_timedeltañ  s    
"
z0TestDataFrameAnalytics.test_sum_nanops_timedeltac                 C   sN   t dddgdddgdœƒ}|jdd	�}ttjtjgd
dgd�}t ||¡ d S )Nr.   r   r|   r‚   rÁ   rÜ   )r"   ÚyrŸ   r  r"   r  r¼   )r
   r4   r   rH   r   r=   rC   rþ   r%   r%   r&   Útest_sum_nanops_min_count  s    z0TestDataFrameAnalytics.test_sum_nanops_min_countÚ
float_typeZfloat16rw   r¿   zkwargs, expected_result)r,   r  gš™™™™™	@g333333@r+   c                 C   sJ   t dddgddtjgdœ|d�}|jf |Ž}t|ƒ |¡}t ||¡ d S )Nr“   gffffff@çš™™™™™@gš™™™™™@r|   ©r   r   r�   )r
   rH   r   r4   r   ry   r=   rC   ©ri   r!  ÚkwargsZexpected_resultrQ   rR   rV   r%   r%   r&   Útest_sum_nanops_dtype_min_count  s     z6TestDataFrameAnalytics.test_sum_nanops_dtype_min_countr”   r•   c                 C   sJ   t dddgddtjgdœ|d�}|jf |Ž}t|ƒ |¡}t ||¡ d S )Nr“   r”   r"  r#  r�   )r
   rH   r   r5   r   ry   r=   rC   r$  r%   r%   r&   Ú test_prod_nanops_dtype_min_count  s     ÿz7TestDataFrameAnalytics.test_prod_nanops_dtype_min_countc                 C   s6   |j  t¡}t||j|jd�}|tdƒ }| ¡  d S )N©r9   r©   r.   )r    ry   r—   r
   r9   r©   r   r4   )ri   rm   r    rK   Zdeltasr%   r%   r&   Útest_sum_object/  s    z&TestDataFrameAnalytics.test_sum_objectc                 C   s"   t  |¡}| d¡ | d¡ d S )Nr.   r   )rH   Úisnanr4   )ri   rm   Úboolsr%   r%   r&   Útest_sum_bool5  s    

z$TestDataFrameAnalytics.test_sum_boolc              	   C   sh   t tddd�ddddgdœƒ dddg¡}tjtdd	�� | ¡ }W 5 Q R X td
diƒ}t ||¡ d S )Nr¹   r‚   r   r.   r   r|   r»   r  r)   r³   g      @)	r
   r   r«   r=   r>   r;   r4   r   rC   rþ   r%   r%   r&   Útest_sum_mixed_datetime;  s    ÿz.TestDataFrameAnalytics.test_sum_mixed_datetimec              	   C   sØ   t jtdd�� |jdd�}W 5 Q R X |jddd�}t  |j|j¡ t|jƒt|jƒk s\t	‚t jtdd�� |jdd�}W 5 Q R X |jddd�}t  |j|j¡ |d dk|d	< | d¡}|d	 |d	 j
 ¡ ksÔt	‚d S )
Nr  r)   r   r2   Trg   r.   r²   Úbool)r=   r>   r;   r   r4   Zassert_index_equalr9   rB   r©   r@   r    )ri   rm   rj   Zthe_meanZthe_sumZmeansr%   r%   r&   Útest_mean_cornerF  s    
z'TestDataFrameAnalytics.test_mean_cornerc              	   C   sœ   t t d¡tddd�tjddd�tjdddd�dœƒ}|jd	d
�}tddiƒ}t	 
||¡ t	 t¡� | ¡ }W 5 Q R X td|jd dœƒ}t	 
||¡ d S )Nr|   ú
2016-01-01r   Ú1DÚ2016r²   r   )r²   r³   r´   rå   Tr  r“   ©r.   r´   )r²   r´   )r
   rH   rö   r   rœ   r  Úperiod_ranger   r   r=   rC   r>   r;   rÒ   rþ   r%   r%   r&   Útest_mean_datetimelikeY  s    
üÿz-TestDataFrameAnalytics.test_mean_datetimelikec              	   C   sš   t t d¡tddd�tjddd�dœƒ}|jdd�}td|jd	 |jd
 dœƒ}t	 
||¡ tjdddd�|d< tjtdd�� |jdd� W 5 Q R X d S )Nr|   r0  r   r1  r±   Fr  r.   )r.   r³   r3  r2  r²   r   rå   z"mean is not implemented for Periodr)   )r
   rH   rö   r   rœ   r  r   r   rÒ   r=   rC   r4  rE   rF   rÓ   rþ   r%   r%   r&   Ú)test_mean_datetimelike_numeric_only_falseo  s    
ýÿ	z@TestDataFrameAnalytics.test_mean_datetimelike_numeric_only_falsec                 C   sD   t jjddd�}t|dd�}|jdd�}t|ƒ ¡ }t ||¡ d S )NrÇ   )rŸ   rÁ   )ÚsizeÚInt64r�   Tr  )rH   rÊ   Úrandintr
   r   r=   rC   )ri   rÍ   rQ   rR   rV   r%   r%   r&   Ú*test_mean_extensionarray_numeric_only_trueƒ  s
    zATestDataFrameAnalytics.test_mean_extensionarray_numeric_only_truec              	   C   sF   t jtdd��. | d¡ | d¡ | d¡ | d¡ W 5 Q R X d S )Nrš   r)   r.   )r=   r>   r;   rc   rb   r   re   )ri   rj   r%   r%   r&   Útest_stats_mixed_type‹  s     ÿ


z,TestDataFrameAnalytics.test_stats_mixed_typec                 C   s8   t tdƒtdƒd�}t|ƒ}|jdd�d dks4t‚d S )Nr.   rŸ   r(  r2   r   )r
   rA   r   r4   r@   )ri   rQ   r+  r%   r%   r&   Útest_sum_bools•  s    z%TestDataFrameAnalytics.test_sum_boolsr-   c           	      C   sj   |}t j|jdd…< t j|jdd…dd …f< ||fD ]0}|j||d�}|jtj||d�}t ||¡ q4d S ©NrÁ   rŸ   é   r    r  r+   )rH   r   r  ÚidxminrD   r   r=   rC   ©	ri   rm   r†   r-   r,   rK   rQ   rR   rV   r%   r%   r&   Útest_idxmin�  s    z"TestDataFrameAnalytics.test_idxminc              	   C   s|   t dddgdddgtdƒdœƒ}|rR|j|d�}tddgddgd	�}t ||¡ n&tjtd
d�� |j|d� W 5 Q R X d S )Nr   r|   r.   Úxyxr‰   r  r   r   r¼   únot allowed for this dtyper)   )	r
   Úlistr?  r   r=   rC   rE   rF   rÓ   ©ri   rh   rQ   rR   rV   r%   r%   r&   Útest_idxmin_numeric_only¨  s     z/TestDataFrameAnalytics.test_idxmin_numeric_onlyc              	   C   s2   |}d}t jt|d�� |jdd� W 5 Q R X d S ©Nz)No axis named 2 for object type DataFramer)   r   r2   )rE   rF   rG   r?  ©ri   rm   rK   rÕ   r%   r%   r&   Útest_idxmin_axis_2³  s    z)TestDataFrameAnalytics.test_idxmin_axis_2c           	      C   sj   |}t j|jdd…< t j|jdd…dd …f< ||fD ]0}|j||d�}|jtj||d�}t ||¡ q4d S r=  )rH   r   r  ÚidxmaxrD   r   r=   rC   r@  r%   r%   r&   Útest_idxmax¹  s    z"TestDataFrameAnalytics.test_idxmaxc              	   C   s|   t dddgdddgtdƒdœƒ}|rR|j|d�}tddgdd	gd
�}t ||¡ n&tjtdd�� |j	|d� W 5 Q R X d S )Nr   r|   r.   rB  r‰   r  r   r   r   r¼   rC  r)   )
r
   rD  rJ  r   r=   rC   rE   rF   rÓ   r?  rE  r%   r%   r&   Útest_idxmax_numeric_onlyÄ  s     z/TestDataFrameAnalytics.test_idxmax_numeric_onlyc              	   C   s2   |}d}t jt|d�� |jdd� W 5 Q R X d S rG  )rE   rF   rG   rJ  rH  r%   r%   r&   Útest_idxmax_axis_2Ï  s    z)TestDataFrameAnalytics.test_idxmax_axis_2c                 C   sr  t ddd�}tdddgtdƒd d d… |jdd	�d
œƒ}| ¡ }tdddgdddgd�}t ||¡ | ¡ }tdddgdddgd�}t ||¡ t	j
|jd< | ¡ }tdddgdddgd�}t ||¡ | ¡ }tdddgdddgd�}t ||¡ |d d d… |d< | ¡  | ¡ }tddddgddddgd�}t ||¡ | ¡ }tddddgddddgd�}t ||¡ d S )Nr0  r|   r   r   r   r.   r  T)Údeep)r.   r   r|   r¼   )r   r|   r‚   )r   r
   rA   r  rJ  r   r=   rC   r?  rœ   rë   rÒ   r  ©ri   ZdtirQ   rR   rV   r%   r%   r&   Útest_idxmax_mixed_dtypeÕ  s.    ,z.TestDataFrameAnalytics.test_idxmax_mixed_dtypezop, expected_valuerJ  r?  rÁ   c                 C   sn   t ddddddgddddddgdœdd�}| d	¡}t||ƒƒ }t d
|itddgd	dd�d�}t ||¡ d S )Néd   éÈ   r   r.   r   )ÚIDÚvaluer8  r�   rS  rT  )rß   r:   r¼   )r
   Úgroupbyr<   r   r=   rú   )ri   r’   Zexpected_valuerQ   rR   rV   r%   r%   r&   Ú!test_idxmax_idxmin_convert_dtypesû  s    þû
þz8TestDataFrameAnalytics.test_idxmax_idxmin_convert_dtypesc                 C   sŒ   t ddd�}t||d d d… dœdd�}tj|jd< | ¡  |jd	d
�}tdddgƒ}t 	||¡ |j
d	d
�}tdddgƒ}t 	||¡ d S )Nr0  r|   r   r  )r|   r‚   Tr  )r   r   r.   r2   r‚   )r   r
   rœ   rë   r  r  rJ  r   r=   rC   r?  rO  r%   r%   r&   Ú"test_idxmax_dt64_multicolumn_axis1  s    z9TestDataFrameAnalytics.test_idxmax_dt64_multicolumn_axis1r…   r  Ú	bool_onlyc                 C   s2   |}t j t|ƒ¡dk|d< t||ƒ||d� d S )Ng      à?Z_bool_©r,   rX  )rH   rÊ   rÑ   rB   r<   )ri   rJ   r,   rX  rj   r  r%   r%   r&   Útest_any_all_mixed_float#  s    z/TestDataFrameAnalytics.test_any_all_mixed_floatc                 C   s   t ||ƒ|dd� d S )NFrY  rl   )ri   rJ   r,   Úbool_frame_with_nar%   r%   r&   Útest_any_all_bool_with_na-  s    z0TestDataFrameAnalytics.test_any_all_bool_with_nac              	      sL  |  d¡}tt|ƒ‰ t||ƒ}‡ fdd„}‡ fdd„}|ddd�}|d	dd�}t || |¡¡ t ||j|d	d
�¡ |dd
�}|d	d
�}t || |¡¡ tj||j|d	d
�dd� tjtdd�� |dd
� W 5 Q R X |tj	 }	t|	|ƒdd
�}
t|	|ƒd	d
�}|dk�r,|
 
¡ �rt‚| 
¡ �rHt‚n|
 ¡ �s:t‚| ¡ �sHt‚d S )NTc                    s   |   ¡ j}ˆ |ƒS r   )rr   r    )r"   Znonar#   r%   r&   rS   :  s    
zFTestDataFrameAnalytics.test_any_all_bool_frame.<locals>.skipna_wrapperc                    s
   ˆ | j ƒS r   r   r!   r#   r%   r&   r'   >  s    z?TestDataFrameAnalytics.test_any_all_bool_frame.<locals>.wrapperr   Fr+   r.   r2   )r/   r6   r)   r   r…   )Zfillnar<   rH   r=   rC   rD   rE   rF   rG   rI   r…   r@   r  )ri   rJ   r[  rK   rP   rS   r'   rT   rU   rW   rX   rY   r%   r#   r&   Útest_any_all_bool_frame2  s6    




  ÿ

z.TestDataFrameAnalytics.test_any_all_bool_framec                 C   s0  t dddgdddgdddgdœdddgd�}|dd	g jd
d�}tdddgdddgd�}t ||¡ |dd	g jd
dd�}t ||¡ | d
¡}tdddgdddgd�}t ||¡ |jd
dd�}t ||¡ |jd d� ¡ }|dksêt‚|jd d� ¡ }|dk�st‚|dg jd d� ¡ }|dk�s,t‚d S )NTFr±   r   r   rŠ   r¼   r²   r³   r.   r2   rY  ©rX  r´   )r
   r…   r   r=   rC   r  Úitemr@   rþ   r%   r%   r&   Útest_any_all_extra^  s.    ýú
z)TestDataFrameAnalytics.test_any_all_extraÚbool_agg_funcc                 C   sx   t dtjtjdgtjdtjdgtjtjtjdgtjtjdtjggd�}t||ƒ||d�}tddddgƒ}t ||¡ d S )Nr.   Tr   Ú5©Údatar+   )r
   rH   r   r<   r   r=   rC   )ri   r,   ra  r-   rQ   rR   rV   r%   r%   r&   Útest_any_all_object_dtype  s    üÿz0TestDataFrameAnalytics.test_any_all_object_dtypec                 C   sb   dt jdt jg}tdƒtdƒtjtjg}t||dœƒ}|jdd�}tddddgƒ}t 	||¡ d S )	Nr.   r|   z
1960-02-15z
1960-02-16r»   r2   TF)
rH   r   r   rœ   rë   r
   r…   r   r=   rC   )ri   Z
float_dataZdatetime_datarQ   rR   rV   r%   r%   r&   Útest_any_datetime�  s    üz(TestDataFrameAnalytics.test_any_datetimec                 C   s˜   t dddgdddgd d d gdœƒ}|jdd	�}ttjd
�}t ||¡ t dddgdddgd d d gdddgdœƒ}|jdd	�}tddiƒ}t ||¡ d S )Nr.   r   r|   r‚   rÁ   rÜ   )Úcol1Úcol2Úcol3Tr^  r�   F)rg  rh  ri  Úcol4rj  )r
   r  r   rH   Úbool_r=   rC   rþ   r%   r%   r&   Útest_any_all_bool_only   s     ÿüÿ	z-TestDataFrameAnalytics.test_any_all_bool_onlyzfunc, data, expectedr²   r»   r˜   zM8[ns]zM8[ns, UTC]r  ÚcategoryrŸ   r    c              	   C   s¾   t |ƒ}d }tdd„ |jD ƒƒr$t}tj|ddd�� ||ƒ}W 5 Q R X t|tjƒsXt	‚| 
¡ |ksht	‚tj|ddd�� tt |ƒ|jƒd d�}W 5 Q R X t|tjƒsªt	‚| 
¡ |ksºt	‚d S )Nc                 s   s   | ]}t |ƒV  qd S r   r   )Ú.0r"   r%   r%   r&   Ú	<genexpr>ð  s     z>TestDataFrameAnalytics.test_any_all_np_func.<locals>.<genexpr>rš   F©r*   Zcheck_stacklevelr2   )r
   r…   Zdtypesr;   r=   r>   r?   rH   rk  r@   r_  r<   Ú__name__)ri   Úfuncrd  rV   rO   rR   r%   r%   r&   Útest_any_all_np_func¸  s(    5  ÿ  ÿ z+TestDataFrameAnalytics.test_any_all_np_funcc                 C   sL   t  tddgd�¡ ¡ }|dks$t‚t  tddgd�¡ ¡ }|dksHt‚d S )Nr   r   r¨   TF)rH   r  r
   r_  r@   r…   )ri   rR   r%   r%   r&   Útest_any_all_object  s    z*TestDataFrameAnalytics.test_any_all_objectc              	   C   sì  d}t ddgddgdœƒ t¡}| ¡  tddgƒ|d< |d  d¡|d	< tjt|d
�� | ¡ }W 5 Q R X |ddg }t 	||¡ tjt|d
�� |j
ddd�}W 5 Q R X tddgddgd�}t ||¡ tjt|d
�� |ddg j
ddd�}W 5 Q R X t ||¡ tjt|d
�� |j
dd d��r,t‚W 5 Q R X tjt|d
�� |jddd�}W 5 Q R X tddgddgd�}t ||¡ tjt|d
�� |ddg jddd�}W 5 Q R X t ||¡ tjt|d
�� |jdd d��sÞt‚W 5 Q R X d S )Nz)object-dtype columns with all-bool valuesr‹   r   TFr»   r´   rm  rå   r)   r³   r   )rX  r,   r¼   )r
   ry   r­   r  r   r=   r>   r;   Z_get_bool_datarú   r  rC   r@   r…   )ri   rÕ   rQ   ÚresrV   r%   r%   r&   Útest_any_all_object_bool_only
  s6      z4TestDataFrameAnalytics.test_any_all_object_bool_onlyc              
   C   st   t dditjddgddggddgd�d	�}d
}tjt|d��. t t¡� t	||ƒd dd� W 5 Q R X W 5 Q R X d S )Nr²   r.   r³   r   r   ÚoutÚin)Únamesr¼   z.Must specify 'axis' when aggregating by level.r)   )r,   rÞ   )
r
   r   Zfrom_productrE   rF   rG   r=   r>   r;   r<   )ri   rˆ   rQ   Zxprr%   r%   r&   Ú#test_any_all_level_axis_none_raises5  s     ÿþz:TestDataFrameAnalytics.test_any_all_level_axis_none_raisesc              	   C   sˆ   t dddgƒ}t dtjdtjgiƒ}tdddgƒ}ttjtjdgƒ}t d ¡�0 |j|dd� dD ]}t||ƒ|dd� qbW 5 Q R X d S )	Nr“   r²   r”   r.   r   )Úlowerr,   )ÚltÚleÚgtÚgeÚeqÚner2   )r
   rH   r   r   r=   r>   Zclipr<   )ri   rQ   Zdf_nanrp   Zs_nanr’   r%   r%   r&   Útest_series_broadcastingE  s    z/TestDataFrameAnalytics.test_series_broadcasting)Rrq  Ú
__module__Ú__qualname__rE   ÚmarkÚfilterwarningsÚparametrizeÚparamÚtdZskip_if_no_scipyrk   rn   r{   r„   r‡   r
   rH   r   r­   r‘   rž   r°   r¶   r¾   rÀ   rÂ   rÎ   rÖ   r×   rà   r	   r   r   r¬   rœ   rë   rû   rý   rÿ   r  r  r  r  r  r   rI   r&  r'  r)  r,  r-  r/  r5  r6  r:  r;  r<  rA  rF  rI  rK  rL  rM  rP  rV  rW  rZ  r\  r]  r`  re  rf  rl  r…   r  r   r—   rs  rt  rv  rz  r‚  r%   r%   r%   r&   r\   ™   sø  
òþ	
ôþ=


 ÿýýùñ$îþ	




ùþ
ùþ
ùþ
ùþÛþ5
X
 ýþýþ	
	

	

&þ

+!

þúÙþ3
+
r\   c                   @   s†   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zej 	d	d
dg¡ej 	dddg¡e
dœdd„ƒƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚTestDataFrameReductionsc                 C   sÎ   t dtjtjtdƒgiƒ}| ¡ }ttdƒgdgd�}t ||¡ | ¡ }ttdƒgdgd�}t ||¡ t dtjtjgiƒ}| ¡ }ttjgdgd�}t ||¡ | ¡ }ttjgdgd�}t ||¡ d S )Nr‹   z
2012-05-01r¼   )	r
   rœ   rë   r   r_   r   r=   rC   r`   )ri   rQ   ru  Úexpr%   r%   r&   Útest_min_max_dt64_with_NaTT  s    z2TestDataFrameReductions.test_min_max_dt64_with_NaTc                 C   sÖ   |}t |tƒrtƒ rt d¡ ttd|d�td|d�gtd|d�tjgdœƒ}|j	ddd	�}t
|jd
 tjgƒ}|j|d jks„t‚t ||¡ |jddd	�}t
|jd tjgƒ}|j|d jksÆt‚t ||¡ d S )NzSGH#37659 OSError raised within tzlocal bc Windows chokes in times before 1970-01-01z2020-01-01 08:00:00rº   z1920-02-01 09:00:00z2020-02-01 08:00:00r#  r.   Fr+   )r   r   r   )r   r   )r?   r   r   rE   Úskipr
   r   rœ   rë   r_   r   rÒ   r:   r@   r=   rC   r`   )ri   ÚrequestZtz_naive_fixturer·   rQ   ru  rV   r%   r%   r&   Ú'test_min_max_dt64_with_NaT_skipna_falsek  s(    ÿ

þûÿ	z?TestDataFrameReductions.test_min_max_dt64_with_NaT_skipna_falsec                 C   s”   t dtg ƒiƒ}ttg ƒƒ}|jdd�jtjk| ¡ tjkksBt‚|jdd�jtjk| ¡ tjkksht‚t	 
|jdd�|¡ t	 
|jdd�|¡ d S )Nr"   r   r2   r.   )r
   r   r   r_   r"   rœ   rë   r@   r`   r=   rC   )ri   rQ   Zexpected_dt_seriesr%   r%   r&   Ú*test_min_max_dt64_api_consistency_with_NaT‰  s    &&zBTestDataFrameReductions.test_min_max_dt64_api_consistency_with_NaTc                 C   s�   t dg iƒ}tg td�}t |jdd�j¡t | ¡ ¡ks>t‚t |jdd�j¡t | ¡ ¡ksdt‚t	 
|jdd�|¡ t	 
|jdd�|¡ d S )Nr"   r�   r   r2   r.   )r
   r   r˜   rH   r*  r_   r"   r@   r`   r=   rC   )ri   rQ   Zexpected_float_seriesr%   r%   r&   Ú*test_min_max_dt64_api_consistency_empty_df˜  s    &&zBTestDataFrameReductions.test_min_max_dt64_api_consistency_empty_dfÚinitialz2018-10-08 13:36:45+00:00z2018-10-08 13:36:45+03:00rˆ   r_   r`   )r’  c                 C   s<   t |ƒ}t|gƒ}t|gƒ}t||ƒdd�}t ||¡ d S )Nr.   r2   )r   r   r
   r<   r=   rC   )ri   r’  rˆ   Z
initial_dtrV   rQ   rR   r%   r%   r&   Útest_preserve_timezone¤  s
    

z.TestDataFrameReductions.test_preserve_timezonec              
   C   sÖ   t ddddddddgidddddddgddddddd	ggd
�}tjtdd�� |jdd�}W 5 Q R X t dddgiddgd
�}t ||¡ tjtdd�� |jdd�}W 5 Q R X t dddgiddgd
�}t ||¡ d S )Nrd  FTrØ   rÙ   r   r.   r   r|   r¼   zUsing the levelr)   rÝ   )r
   r=   r>   r;   r…   rú   r  )ri   rQ   rR   Úexr%   r%   r&   Útest_frame_any_all_with_level±  s    þþz5TestDataFrameReductions.test_frame_any_all_with_levelc                 C   s€   t tddgƒttddƒtddƒgƒdœƒ}|jdd�}tddgd	d
gd�}t ||¡ |jdd�}tddgd�}t ||¡ d S )Nr   rp   r.   Úms)r   Útr2   FTr   r—  )rd  r9   rc  )r
   r   r   r…   r=   rC   rþ   r%   r%   r&   Útest_frame_any_with_timedeltaÄ  s    
þÿz5TestDataFrameReductions.test_frame_any_with_timedeltac              	   C   s:   |dddgƒ}t jtddd�� |jd d� W 5 Q R X d S )Nr.   r   r|   r-   Fr7   r  )r=   r>   r;   r   )ri   Úframe_or_seriesÚobjr%   r%   r&   Ú'test_reductions_deprecation_skipna_noneÕ  s      ÿz?TestDataFrameReductions.test_reductions_deprecation_skipna_nonec              	   C   sV   |dddgt  dddgdddgg¡d�}tjtdd	�� t||ƒd
d� W 5 Q R X d S )Nr.   r   r|   r‚   rÁ   rÜ   r¼   rÞ   r)   r   rÝ   )r   Zfrom_arraysr=   r>   r;   r<   )ri   r™  Úreduction_functionsrš  r%   r%   r&   Ú*test_reductions_deprecation_level_argumentÝ  s     ÿzBTestDataFrameReductions.test_reductions_deprecation_level_argumentc              	   C   sr   |dkr |j  tjjdd�¡ n|dkr2t d¡ |dddgƒ}d	}tjt|d
�� t||ƒd d� W 5 Q R X d S )Nr]   zCount does not accept skipna©Úreasonr   zMad is deprecated: GH#11787r.   r   r|   zAFor argument "skipna" expected type bool, received type NoneType.r)   r  )	ÚnodeZ
add_markerrE   r…  Úxfailr�  rF   rG   r<   )ri   rŽ  r™  rœ  rš  rÕ   r%   r%   r&   Ú"test_reductions_skipna_none_raisesç  s    ÿ
z:TestDataFrameReductions.test_reductions_skipna_none_raisesN)rq  rƒ  r„  rŒ  r�  r�  r‘  rE   r…  r‡  r™   r“  r•  r˜  r›  r�  r¢  r%   r%   r%   r&   rŠ  S  s   þ
rŠ  c                   @   sP   e Zd Zej dddg¡dd„ ƒZdd„ Zej ddd	g¡d
d„ ƒZdd„ Z	dS )ÚTestNuisanceColumnsrˆ   r…   r  c              	   C   s  t ddgddd�}| ¡ }tjtdd�� t||ƒƒ  W 5 Q R X tjtdd�� tt|ƒ|ƒ W 5 Q R X tjtdd�� t||ƒdd	� W 5 Q R X tjt	d
d�� t||ƒd d	�}W 5 Q R X t g t
g ƒtd�}t ||¡ tjt	d
dd�� tt|ƒ|dd�}W 5 Q R X t ||¡ d S )Nr   r.   rm  r²   )r:   rß   údoes not support reductionr)   Fr^  rš   r8   rp  r2   )r   Úto_framerE   rF   rÓ   r<   rH   r=   r>   r;   r   r.  rC   )ri   rˆ   ÚserrQ   rR   rV   r%   r%   r&   Ú.test_any_all_categorical_dtype_nuisance_column÷  s,     ÿ  ÿzBTestNuisanceColumns.test_any_all_categorical_dtype_nuisance_columnc              	   C   s&  t dtdddddgƒiƒ}|d }tjtdd�� | ¡  W 5 Q R X tjtdd�� |jdd� W 5 Q R X tjtd	d�� | ¡ }W 5 Q R X t	g t
g ƒtjd
�}t ||¡ |d  t¡|d< tjtdd�� |jdd� W 5 Q R X tjtd	d�� | ¡ }W 5 Q R X t	dgdgd�}t ||¡ d S )Nr²   r.   r   r|   r¤  r)   Fr  rš   r8   r³   r”   r¼   )r
   r	   rE   rF   rÓ   r   r=   r>   r;   r   r   rH   r¿   rC   ry   r—   )ri   rQ   r¦  rR   rV   r%   r%   r&   Ú-test_median_categorical_dtype_nuisance_column  s.     ÿ ÿzATestNuisanceColumns.test_median_categorical_dtype_nuisance_columnr_   r`   c              	   C   sÄ  t ddddgdd�}t|ƒ}| d¡}tjtdd�� t||ƒƒ  W 5 Q R X tjtdd�� tt|ƒ|ƒ W 5 Q R X tjtdd�� t||ƒdd	� W 5 Q R X tj	t
d
d�� t||ƒƒ }W 5 Q R X tg tg ƒtjd�}t ||¡ tj	t
d
dd�� tt|ƒ|ƒ}W 5 Q R X t ||¡ |d  t¡|d< tj	t
d
d�� t||ƒƒ }W 5 Q R X |dk�rntdgdgd�}ntdgdgd�}t ||¡ tj	t
d
dd�� tt|ƒ|ƒ}W 5 Q R X t ||¡ d S )Nr   r   rŠ   F)Úorderedr²   zis not ordered for operationr)   r  rš   r8   rp  r³   r_   r¼   )r	   r   r¥  rE   rF   rÓ   r<   rH   r=   r>   r;   r   r¿   rC   ry   r­   )ri   rˆ   Úcatr¦  rQ   rR   rV   r%   r%   r&   Ú:test_min_max_categorical_dtype_non_ordered_nuisance_column9  sP    
 ÿ  ÿ ÿ
  ÿzNTestNuisanceColumns.test_min_max_categorical_dtype_non_ordered_nuisance_columnc              	   C   s¸   t dddgdddgdœtd�}tjtd	d
�� | ¡ }W 5 Q R X tdgdgd�}t ||¡ |d  t	¡d |d< tjtd	d
�� | ¡ }W 5 Q R X tddgddgd�}t ||¡ d S )Nr   r.   r   r   r   rŠ   r»   r�   rš   r)   r“   r²   r¼   r‚   r´   g      @)
r
   r­   r=   r>   r;   r   r   rC   ry   r—   rþ   r%   r%   r&   Ú3test_reduction_object_block_splits_nuisance_columnsi  s      ÿ ÿzGTestNuisanceColumns.test_reduction_object_block_splits_nuisance_columnsN)
rq  rƒ  r„  rE   r…  r‡  r§  r¨  r«  r¬  r%   r%   r%   r&   r£  ö  s   
#
/r£  c                  C   sÀ   t  d¡ t j¡ d¡ dd¡} d| d< t| ƒ}|jdd�}tt	j
d	d
�t	jgƒ}t ||¡ |jddd�}t ||¡ |jddd�}tt	j
dd
�t	j
dd
�t	j
dd
�t	jgƒ}t ||¡ d S )Nré   zm8[s]r‚   r   ZNat)r  r  Fr  rá   r  r   r+   r.   rÁ   rê   )rH   rö   ry   rõ   ÚviewZreshaper
   r4   r   rœ   r  rë   r=   rC   )rÍ   rQ   rR   rV   r%   r%   r&   Ú!test_sum_timedelta64_skipna_false€  s"     


üÿr®  c                  C   sP   t ddggtdƒd�} |  ddi¡} |  ¡ }tddgddgd�}t ||¡ d S )Nr   r.   Úabr¨   r   r8  r¼   )r
   rD  ry   r4   r   r=   rC   )rQ   rR   rV   r%   r%   r&   Ú!test_mixed_frame_with_integer_sumš  s
    r°  rh   rˆ   r_   r`   c                 C   sn   t  d¡}t|jd |jgt ¡ d�}td|iƒ}t|| ƒ|d�}tt|| ƒgt	dgdd�d�}t
 ||¡ d S )Nrõ   r�   r8  r  r­   r¼   )rH   Ziinfor   r`   r_   rœ   Z
Int64Dtyper
   r<   r   r=   rC   )rˆ   rh   Z
int64_infor¦  rQ   rR   rV   r%   r%   r&   Útest_minmax_extensionarray£  s    

 ÿr±  c              	   C   sl  t tj dd¡ tj¡ƒ}| | ¡}tjtdd�� | 	¡ }| 	¡ }W 5 Q R X t 
||¡ tjtdd�� |j	dd�}|j	dd�}W 5 Q R X t 
||¡ tj|jd d d…df< tjtdd��2 | 	¡ }| 	¡ }|jdd d…df  	¡ |d< W 5 Q R X t 
||¡ tjtdd��H |j	dd�}|j	dd�}|jjddd	gd d d…f  	¡ |d d d…< W 5 Q R X t 
||¡ d S )
NrQ  r‚   r(   r)   r.   r2   r   r   r|   )r
   rH   rÊ   rÑ   ry   rõ   r=   r>   r;   r   rC   rœ   ÚNAr  r®   rÒ   )Úany_signed_int_ea_dtyperQ   rÔ   rR   rV   r%   r%   r&   Útest_mad_nullable_integer±  sB    
 ÿ ÿ ÿ& ÿ4r´  z GH#42895 caused by lack of 2D EArž  c              	   C   sÌ   t tj dd¡ tj¡ƒ}| | ¡}d}tjt|d��B t	j
|jd d …df< t	jt	j
gt|ƒ | d�|jd d …df< W 5 Q R X tjtdd�� | ¡ }| ¡ }W 5 Q R X t	j
|d< | d¡}t ||¡ d S )	NrQ  r‚   z.will attempt to set the values inplace insteadr)   r.   r�   r(   ZFloat64)r
   rH   rÊ   rÑ   ry   rõ   r=   r>   r;   rœ   r²  r  r¬   rB   r   rC   )r³  rQ   rÔ   rÕ   rR   rV   r%   r%   r&   Ú test_mad_nullable_integer_all_naØ  s    
2 ÿ

rµ  rÏ   r4   r   r   c              	   C   sˆ   t tjdd�tjdd�gddgdœƒ}| ¡ }t t¡� t|| ƒdd�}W 5 Q R X t ||¡ t|j	dd�| ƒd	d
�}t ||¡ d S )NrÜ   )Úhoursé   g333333(@gš™™™™™*@r#  r   rÝ   Fr  )
r
   rœ   r  r  r=   r>   r;   r<   rú   rU  )rÏ   rQ   rV   rR   r%   r%   r&   Ú*test_groupby_regular_arithmetic_equivalentï  s     ÿr¸  Úts_valuez
2000-01-01c              	   C   sb   t dgdgdg| gdœƒ}tjtdd�� | ¡ }W 5 Q R X tdddgtdƒd�}t ||¡ d S )	Nr.   gš™™™™™ñ?r‹   )r   r   rŠ   r–   z!The default value of numeric_onlyr)   Úabcr¼   )r
   r=   r>   r;   r4   r   rD  rC   )r¹  rQ   rR   rV   r%   r%   r&   Ú.test_frame_mixed_numeric_object_with_timestampÿ  s     ÿr»  c               	   C   sl   t dddgƒ} | jdddd�}tdgƒ}t ||¡ t d¡}tjt	|d�� | j
dddd� W 5 Q R X d S )	Nr.   r   Tr   F)r,   r  rh   z2unsupported operand type(s) for +: 'int' and 'str'r)   )r
   r5   r   r=   rC   ÚreÚescaperE   rF   rÓ   r4   )rQ   rR   rV   rÕ   r%   r%   r&   Ú$test_prod_sum_min_count_mixed_object  s    

r¾  re   rf   c              	   C   sŠ   t tj dd¡ƒ}t|| ƒ}d| › d�}tjt|d�� |d d�}W 5 Q R X t d ¡� |ƒ }W 5 Q R X t ||¡ t ||dd�¡ d S )Nr‚   zscalar z over the entire DataFramer)   r2   r   )	r
   rH   rÊ   rÑ   r<   r=   r>   r;   rC   )rˆ   rQ   rÏ   rÕ   ru  rV   r%   r%   r&   Ú$test_reduction_axis_none_deprecation  s    
r¿  ÚkernelZcorrÚcorrwithr]   ZcovrJ  r?  rù   r5   Zquantilerd   rc   rb   c           	   	   C   s2  t dddgtdœƒ}| dkr"|fnd}t tt | ƒ¡}|jd j}|dk	sNt‚| d	krŒ|d
ksbt‚tj	t
dd�� t|| ƒ|Ž  W 5 Q R X n¢|d ksž|tjkr¸t|dg | ƒ|Ž }t}n8t|| ƒ|Ž }| dkrÞd|jksìt‚nd|jksìt‚d }d| › �}tj||d�� t|| ƒ|Ž }W 5 Q R X t ||¡ d S )Nr.   r   r|   r#  rÁ  r%   rh   T)rJ  r?  FrC  r)   r   rù   r   z/The default value of numeric_only in DataFrame.)r
   r­   ÚinspectÚ	signaturer<   Ú
parametersÚdefaultr@   rE   rF   rÓ   r   Z
no_defaultr;   r©   r9   r=   r>   Zassert_equal)	rÀ  rQ   ÚargsrÃ  rÅ  rV   rO   rÕ   rR   r%   r%   r&   Útest_numeric_only_deprecation)  s*    
rÇ  )TTFr   r   N)<Údatetimer   Údecimalr   rÂ  r¼  Zdateutil.tzr   ÚnumpyrH   rE   Zpandas._libsr   Zpandas.compatr   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsr‰  Zpandas.core.dtypes.commonr   Zpandasrœ   r	   r
   r   r   r   r   r   r   r   r   r   Zpandas._testingZ_testingr=   Zpandas.core.algorithmsÚcorerq   Zpandas.core.nanopsrË   r[   r\   rŠ  r£  r®  r°  r…  r‡  r±  r´  r¡  rµ  r¸  rë   r»  r¾  r¿  rÇ  r%   r%   r%   r&   Ú<module>   sš   4      ÷
v         C $ 	'



ëþ