o
    Û­jþ* ã                   @   sL  d dl mZ d dlmZ d dlZd dlmZ d dlZd dl	Z	d dl
mZmZ d dlmZ d dlm  mZ d dlZd dlmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z" d dl#m$Z% d dl&m'Z'm(Z( eƒ rme poe Z)eƒ pue Z*d=d	d
„Z+						d>dd„Z,e	j-dd„ ƒZ.e	j-dd„ ƒZ/G dd„ dƒZ0G dd„ dƒZ1G dd„ dƒZ2G dd„ dƒZ3dd„ Z4dd „ Z5e	j6 7d!g d"¢¡e	j6 7d#d$d%g¡d&d'„ ƒƒZ8e	j6 7d(ed)ƒej9g¡d*d+„ ƒZ:d,d-„ Z;e	j6 7d#g d.¢¡e	j6 7d!ddg¡e	j6 7d/d0d1g¡d2d3„ ƒƒƒZ<e	j6 7d4g d5¢¡d6d7„ ƒZ=e	j6 7d#g d8¢¡e	j6 7d9d d:g¡d;d<„ ƒƒZ>dS )?é    )Ú	timedelta)ÚDecimalN)Útzlocal)ÚIS64Úis_platform_windows)Únp_version_gt2)ÚCategoricalÚCategoricalDtypeÚ	DataFrameÚDatetimeIndexÚIndexÚPeriodIndexÚ
RangeIndexÚSeriesÚ	TimestampÚ
date_rangeÚisnaÚnotnaÚto_datetimeÚto_timedelta)Ú
algorithmsÚnanopsc                    s$   ˆr
‡fdd„}|S ‡ fdd„}|S )a`  
    Create a function for calling on an array.

    Parameters
    ----------
    alternative : function
        The function to be called on the array with no NaNs.
        Only used when 'skipna_alternative' is None.
    skipna_alternative : function
        The function to be called on the original array

    Returns
    -------
    function
    c                    ó
   ˆ | j ƒS ©N©Úvalues©Úx©Úskipna_alternative© ú_/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pandas/tests/frame/test_reductions.pyÚskipna_wrapper=   ó   
z+make_skipna_wrapper.<locals>.skipna_wrapperc                    s"   |   ¡ }t|ƒdkrtjS ˆ |ƒS )Nr   )ÚdropnaÚlenÚnpÚnan©r   Únona©Úalternativer    r!   r"   B   s   r    )r+   r   r"   r    )r+   r   r!   Úmake_skipna_wrapper+   s
   úr,   TFçñhãˆµøä>ç:Œ0âŽyE>c	                    s€  t || ƒ}	|rctdtddd�iƒ}
t d¡� t |
| ƒƒ }W d  ƒ n1 s'w   Y  t|tƒs3J ‚tt|
ƒƒ|
d< t d¡� t |
| ƒƒ }W d  ƒ n1 sQw   Y  t|tƒs]J ‚t|ƒscJ ‚|r˜‡ fdd„}t	ˆ |ƒ}|	d	d
d�}|	dd
d�}tj
|| |¡|||d� tj
||j|dd�||d� nˆ }|	d	d�}|	dd�}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tdd�� |	dd� W d  ƒ n1 sñw   Y  |�r<|tj }t || ƒd	d�}t || ƒdd�}| dv �r>| dk�rd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
    Úbz1/1/2001é   ©ÚperiodsNÚac                    r   r   r   r   r*   r    r!   Úwrapper€   r#   z$assert_stat_op_calc.<locals>.wrapperr   F©ÚaxisÚskipnaé   )Úcheck_dtypeÚrtolÚatol©r6   )r:   r;   )ÚsumÚprodúNo axis named 2©Úmatchr>   ©ÚindexÚdtype)Úgetattrr
   r   ÚtmÚassert_produces_warningÚ
isinstancer   Úranger%   r,   Úassert_series_equalÚapplyr   rD   ÚpytestÚraisesÚ
ValueErrorr&   r'   rC   )Úopnamer+   ÚframeÚ
has_skipnar9   Úcheck_datesr:   r;   r   ÚfÚdfÚresultr4   r"   Úresult0Úresult1ÚexpectedÚ	lcd_dtypeÚall_naÚr0Úr1Úunitr    r*   r!   Úassert_stat_op_calcK   sz   
%ÿÿ
ÿü

û
ÿÿ

÷r^   c                  C   s€   t tjtjdtd�tjdtd�gdd�tdd„ tdƒD ƒtd�tt	dƒtd�td	�} tj
| jd
d…< tj
| jdd…dd…f< | S )zˆ
    Fixture for DataFrame of booleans with index of unique strings

    Columns are ['A', 'B', 'C', 'D']; some entries are missing
    )é   é   ©rD   r   r<   c                 S   ó   g | ]}d |› �‘qS ©Úfoo_r    ©Ú.0Úir    r    r!   Ú
<listcomp>Ä   ó    z&bool_frame_with_na.<locals>.<listcomp>é   ÚABCD)rC   ÚcolumnsrD   é   é
   r_   é   éþÿÿÿN)r
   r&   ÚconcatenateÚonesÚboolÚzerosr   rI   ÚobjectÚlistr'   Úiloc©rT   r    r    r!   Úbool_frame_with_na¹   s   ÿú	ry   c                  C   sj   t tj d¡ d¡tdd„ tdƒD ƒtd�ttdƒtd�d�} tj	| j
d	d
…< tj	| j
dd…dd…f< | S )z†
    Fixture for DataFrame of floats with index of unique strings

    Columns are ['A', 'B', 'C', 'D']; some entries are missing
    r0   )rj   r`   c                 S   rb   rc   r    re   r    r    r!   rh   ×   ri   z'float_frame_with_na.<locals>.<listcomp>rj   ra   rk   ©rC   rl   rm   rn   r_   ro   rp   N)r
   r&   ÚrandomÚdefault_rngÚstandard_normalr   rI   ru   rv   r'   rw   rx   r    r    r!   Úfloat_frame_with_naÎ   s   ýr~   c                   @   sL  e Zd Zej dddg¡ej dddddd	d
dddddejde d¡d�ejde d¡d�g¡dd„ ƒƒZ	ej dddg¡ej dddddd	d
ddddejde d¡d�ejde d¡d�g¡dd„ ƒƒZ
dd„ Zdd„ Z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¡ej d-¡d.d/„ ƒƒƒZej d0g d1¢¡d2d3„ ƒZd4d5„ Zd6d7„ Zej d8d9d:g¡d;d<„ ƒZej d8d9d:g¡d=d>„ ƒZd?d@„ ZdAdB„ Zej dCg dD¢¡dEdF„ ƒZdGdH„ Zej dIdJdKgdLgdMgdNgedNgdNgdO�edPgdQd,�edRgƒdSœfdTdKgdLgejge ejgdUd,�eejgdNgdO�ee!j"gdQd,�ee!j"gƒdSœfdJdVdWejejgdVdWejejgdejejejgedNejejejgdNgdO�eg dX¢dQd,�eg dY¢ƒg dZ¢d[œfdTdVdWejejgdVdWejejgdejejejgeejdNejejgdNgdO�eg d\¢dQd,�eg d]¢ƒg dZ¢d[œfg¡d^d_„ ƒZ#d`da„ Z$dbdc„ Z%ddde„ Z&dfdg„ Z'ej dhdidje!j"dkgd*e!j"g g¡dldm„ ƒZ(dndo„ Z)ej dpe*dƒeg ƒe+g ej,d,�e+g ej-d,�eg dqdr�e.g dsdr�g¡dtdu„ ƒZ/ej dvddg¡dwdx„ ƒZ0ej dydzd{g¡ej d|g d}¢¡d~d„ ƒƒZ1d€d�„ Z2d‚dƒ„ Z3ej d„g d…¢¡ej d†dd(d‡œdˆd‰ejgfdd)d‡œejejejgfddTdŠœdˆd‰ejgfg¡d‹dŒ„ ƒƒZ4ej d„g d…¢¡ej d†dd(d‡œd�dŽejgfdd)d‡œejejejgfddTdŠœd�dŽejgfg¡d�d�„ ƒƒZ5d‘d’„ Z6d“d”„ Z7d•d–„ Z8d—d˜„ Z9d™dš„ Z:d›dœ„ Z;d�dž„ Z<dŸd „ Z=d¡d¢„ Z>ej d£dJdTg¡ej dddg¡d¤d¥„ ƒƒZ?ej dddg¡ej d¦¡d§d¨„ ƒƒZ@ej d|dJdTg¡d©dª„ ƒZAd«d¬„ ZBej dddg¡d­d®„ ƒZCej dddg¡ej d¦¡d¯d°„ ƒƒZDej d|dJdTg¡d±d²„ ƒZEd³d´„ ZFdµd¶„ ZGd·d¸„ ZHej d¹dºdd*gfd»dd¼gfg¡d½d¾„ ƒZId¿dÀ„ ZJej ddÁdÂg¡ej dddg¡ej dÃdTdJg¡dÄdÅ„ ƒƒƒZKej ddÁdÂg¡ej dddg¡dÆdÇ„ ƒƒZLej dÈ¡ej ddÁdÂg¡dÉdÊ„ ƒƒZMdËdÌ„ ZNej dddg¡ej dÍdÁdÂg¡ej d£dJdTg¡dÎdÏ„ ƒƒƒZOej dÐ¡dÑdÒ„ ƒZPdÓdÔ„ ZQej dÕg ejRi dTf‘ejSi dJf‘ejRdÖg idTf‘ejSdÖg idJf‘ejRdÖdTdTgidTf‘ejSdÖdTdTgidTf‘ejRdÖdJdTgidJf‘ejSdÖdJdTgidTf‘ejRdÖdJdJgidJf‘ejSdÖdJdJgidJf‘ejRdTgdTgd×œdTf‘ejSdTgdTgd×œdTf‘ejRdTdTgdTdJgd×œdJf‘ejSdTdTgdTdJgd×œdTf‘ejSdÖe dØdMgdÙd,�idTf‘ejRdÖe dØdMgdÙd,�idJf‘ejSdÖe ddgeTd,�idTf‘ejRdÖe ddgeTd,�idJf‘e ejSdÖe ddgdQd,�idT¡‘e ejSdÖe ddgdÚd,�idT¡‘e ejRdÖe ddgdQd,�idJ¡‘e ejRdÖe ddgdÚd,�idJ¡‘e ejSdÖe dd(gdQd,�idJ¡‘e ejSdÖe dd(gdÚd,�idJ¡‘e ejRdÖe dd(gdQd,�idJ¡‘e ejRdÖe dd(gdÚd,�idJ¡‘e ejSdÖe ddgdÛd,�idT¡‘e ejRdÖe ddgdÛd,�idJ¡‘e ejSdÖe dd(gdÛd,�idJ¡‘e ejRdÖe dd(gdÛd,�idJ¡‘ejSdÖe ddgdÜd,�idJf‘ejRdÖe ddgdÜd,�idTf‘ejSdÖe dd(gdÜd,�idJf‘ejRdÖe dd(gdÜd,�idTf‘e ejSe dÝdÞgdQd,�e dÝdÞgdÛd,�d×œdJ¡‘¡dßdà„ ƒZUdádâ„ ZVdãdä„ ZWdådæ„ ZXd9S )çÚTestDataFrameAnalyticsr6   r   r8   rO   Úcountr=   ÚmeanÚproductÚmedianÚminÚmaxÚnuniqueÚvarÚstdÚsemÚskewÚscipy)ÚmarksÚkurtc                 C   s"  |dv r|dks|dv rt ||ƒ|d� nk|dv rd}n;|dkr*|dkr'd	}n0d
}n-|dkr1d}n&|dkrD|dkrAd ddg¡}nd}n|dv rKd}n|dkrWtjdtjd�}t|tjƒsa|d }tjt	|d�� t ||ƒ|d� W d   ƒ n1 s{w   Y  |dkr�t ||ƒ|dd� d S d S )N)r=   r„   r…   r   ©r€   r†   r<   )r‡   rˆ   r‰   rŠ   r�   z(could not convert string to float: 'bar'r‚   r8   z2can't multiply sequence by non-int of type 'float'z0can't multiply sequence by non-int of type 'str'r=   z7unsupported operand type\(s\) for \+: 'float' and 'str'r�   ú|z%Could not convert \['.*'\] to numericz/Could not convert string '(bar){30}' to numeric©r„   r…   z<'[><]=' not supported between instances of 'float' and 'str'rƒ   z@Cannot convert \[.*\] to numeric|does not support|Cannot perform)Úflagsz*|does not support|Cannot perform reductionr@   r†   T©r6   Únumeric_only)
rE   ÚjoinÚreÚcompileÚSrH   ÚPatternrL   rM   Ú	TypeError)ÚselfÚfloat_string_framer6   rO   Úmsgr    r    r!   Ú#test_stat_op_api_float_string_frameã   sB   þÿþÿÿz:TestDataFrameAnalytics.test_stat_op_api_float_string_framec                 C   s   t ||ƒ|dd� d S )NFr’   ©rE   )rš   Úfloat_framer6   rO   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
„ }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||dddd� d S )Nc                 S   s   t | ƒ ¡ S r   )r   r=   ©Úsr    r    r!   r€   5  s   z7TestDataFrameAnalytics.test_stat_op_calc.<locals>.countc                 S   s   t t |  ¡ ¡ƒS r   )r%   r   Úunique1dr$   r¡   r    r    r!   r†   8  s   z9TestDataFrameAnalytics.test_stat_op_calc.<locals>.nuniquec                 S   ó   t j| dd�S ©Nr8   ©Úddof)r&   r‡   r   r    r    r!   r‡   ;  ó   z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.varc                 S   r¤   r¥   )r&   rˆ   r   r    r    r!   rˆ   >  r¨   z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.stdc                 S   s   t j| dd�t  t| ƒ¡ S r¥   )r&   rˆ   Úsqrtr%   r   r    r    r!   r‰   A  s   z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.semr†   FT)rQ   r9   rR   r=   Úfloat32gü©ñÒMbP?)r9   r:   r   r�   ©rR   r‚   r‡   rˆ   r‰   r€   )r^   r&   r=   ÚastypeÚnansumr�   r>   Únanprod)rš   r~   Úmixed_float_framer€   r†   r‡   rˆ   r‰   r    r    r!   Útest_stat_op_calc4  sL   úûÿÿ
úz(TestDataFrameAnalytics.test_stat_op_calcc                    s>   t  d¡‰ ‡ fdd„}‡ fdd„}td||ƒ td||ƒ d S )Núscipy.statsc                    ó    t | ƒdk r	tjS ˆ j| dd�S )Né   F©Úbias)r%   r&   r'   rŠ   r   ©Úsp_statsr    r!   Úskewnesso  ó   zHTestDataFrameAnalytics.test_stat_op_calc_skew_kurtosis.<locals>.skewnessc                    r²   )Nr`   Fr´   )r%   r&   r'   Úkurtosisr   r¶   r    r!   r�   t  r¹   zDTestDataFrameAnalytics.test_stat_op_calc_skew_kurtosis.<locals>.kurtrŠ   r�   )rL   Úimportorskipr^   )rš   r~   r¸   r�   r    r¶   r!   Útest_stat_op_calc_skew_kurtosisl  s
   
z6TestDataFrameAnalytics.test_stat_op_calc_skew_kurtosisc                 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   Úanyr&   r'   rƒ   r   r    r    r!   r4   }  s   
z3TestDataFrameAnalytics.test_median.<locals>.wrapperrƒ   Tr«   F)r9   rR   )r^   )rš   r~   Ú	int_framer4   r    r    r!   Útest_median|  s
   

ÿz"TestDataFrameAnalytics.test_medianÚmethod)r=   r�   r>   r‡   rˆ   rŠ   r„   r…   rT   )gÈƒw@Ba@¿gCùVÞúZ¿g
?ZÁ½.F?)r   r   ç        )gê94­³c4?gÏ@ð}�jX?gþïœÕN¿©r3   r/   Úc©ÚfooÚbarÚbazÚOrB   r0   r³   r`   ©r   r8   r0   ra   z0ignore:Mismatched null-like values:FutureWarningc                 C   sj   |j jtjks	J ‚t||ƒ|d�}t| d¡|ƒ|d� t¡}|dv r-|dv r-d || ¡ < t 	||¡ d S )Nr<   Úf8)r8   rl   r�   )
r   rD   r&   Úobject_rE   r¬   ru   r   rF   rJ   )rš   rÀ   rT   r6   rU   rX   r    r    r!   Ú%test_stat_operators_attempt_obj_array‡  s   z<TestDataFrameAnalytics.test_stat_operators_attempt_obj_arrayÚop)r�   rˆ   r‡   rŠ   r�   r‰   c              	   C   sà   t g d¢g d¢g d¢dœƒ}d g d¢¡}tjt|d�� t||ƒƒ  W d   ƒ n1 s-w   Y  t dd	¡�. tjt|d�� t||ƒƒ  W d   ƒ n1 sQw   Y  W d   ƒ d S W d   ƒ d S 1 siw   Y  d S )
N©r8   r0   r³   r`   )ç      ð?ç       @ç      @ç      @©r3   r/   rÃ   Úd)ÚintÚfloatÚstrr�   )zCould not convertúcould not convertz"can't multiply sequence by non-intzdoes not supportzCannot performr@   Úuse_bottleneckF)r
   r”   rL   rM   r™   rE   ÚpdÚoption_context)rš   rÍ   rT   rœ   r    r    r!   Útest_mixed_ops«  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)rn   ro   rj   é(   é2   )r3   r/   rÃ   rÔ   Úe)Ú	bool_dataÚint_dataÚstring_data©rl   r   r<   )r0   é–   Úabcdera   r8   )r
   Úreindexr=   rF   Úassert_numpy_array_equalr   r&   Úarrayru   ÚTrJ   )rš   rT   ÚtestÚaltr    r    r!   Útest_reduce_mixed_frameÅ  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©r8   r8   r8   ©r8   r0   r³   r8   r³   ©ÚAÚBÚCr0   F©r$   r<   rÉ   )r6   r$   )r
   r&   r'   rF   rJ   r†   r   ©rš   rT   r    r    r!   Útest_nuniqueÖ  s    ÿ ÿz#TestDataFrameAnalytics.test_nuniqueÚtzNÚUTCc                 C   sT   t ddgtd|d�gd dœƒ}| ¡ }tdtd|d�gddgd	�}t ||¡ d S )
Nr8   Ú2000©rö   r0   ©rð   rñ   rÏ   rð   rñ   ©rC   ©r
   r   r�   r   rF   rJ   ©rš   rö   rT   rU   rX   r    r    r!   Ú test_mean_mixed_datetime_numericá  s    z7TestDataFrameAnalytics.test_mean_mixed_datetime_numericc                 C   sJ   t dtd|d�gd iƒ}| ¡ }ttd|d�gdgd�}t ||¡ d S )Nrð   rø   rù   r0   rû   rü   rý   r    r    r!   Útest_mean_includes_datetimesé  s   z3TestDataFrameAnalytics.test_mean_includes_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  |ddg  ¡ }tddgddgtd�}t 	||¡ d S )Nr0   z628.00rï   r8   z383.00r³   z651.00z575.00r`   z1114.00ÚTESTz241.00z572.00z609.00z820.00rm   z1223.00z8unsupported operand type|does not support|Cannot performr@   rð   rò   gš™™™™™@gÍÌÌÌÌL…@rB   )
r   r
   rL   rM   r™   r�   r   ru   rF   rJ   )rš   rÔ   rT   rU   rX   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d	¡}t	j
|d	d
�}|d	k  ¡ rCJ ‚t dd¡� t	j
|d	d
�}|d	k  ¡ rYJ ‚W d   ƒ d S 1 sdw   Y  d S )Nr`   r¦   c                 S   ó   | j dd�S ©Nr`   r¦   )rˆ   r   r    r    r!   Ú<lambda>  ó    z5TestDataFrameAnalytics.test_var_std.<locals>.<lambda>c                 S   r  r  )r‡   r   r    r    r!   r    r  r0   ©r8   éè  r  r   r<   rÙ   F)rˆ   rK   rF   Úassert_almost_equalr‡   r&   Úrepeatr{   r|   r   Únanvarr½   rÚ   rÛ   ©rš   Údatetime_framerU   rX   Úarrr    r    r!   Útest_var_std  s   "þz#TestDataFrameAnalytics.test_var_stdÚmeth)r‰   r‡   rˆ   c                 C   sf  t tj d¡ d¡g d¢d�}| dti¡}d|jd< t tj d¡ d¡g d¢d�}| dti¡}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 s‰w   Y  d}tjt|d�� t||ƒd	dd� W d   ƒ d S 1 s¬w   Y  d S )Nr0   )rm   r³   rÄ   rã   rÅ   Ú100)r   rÅ   r3   r8   Tr’   rÆ   rÇ   r<   z6unsupported operand type\(s\) for -: 'float' and 'str'r@   Fz&could not convert string to float: 'a')r
   r&   r{   r|   r}   r¬   ru   ÚlocrE   rF   rJ   rL   rM   r™   )rš   r  Údf1Údf2rU   rX   rœ   r    r    r!   Útest_numeric_only_flag   s4   þ
þ
ÿ"ÿz-TestDataFrameAnalytics.test_numeric_only_flagc                 C   s°   |j dd�}| dd„ ¡}t ||¡ t tj d¡ d¡dd¡}tj	|dd	�}|dk  
¡ r0J ‚t d
d¡� tj	|dd	�}|dk  
¡ rFJ ‚W d   ƒ d S 1 sQw   Y  d S )Nr`   r¦   c                 S   s   | j dd�t t| ƒ¡ S r  )rˆ   r&   r©   r%   r   r    r    r!   r  G  s    z1TestDataFrameAnalytics.test_sem.<locals>.<lambda>r0   r  r  r   r<   rÙ   F)r‰   rK   rF   r  r&   r	  r{   r|   r   Únansemr½   rÚ   rÛ   r  r    r    r!   Útest_semE  s   "þzTestDataFrameAnalytics.test_semzdropna, expectedTé   g      $@rÏ   r3   )Ú
categoriesú
2000-01-02úM8[ns]ú1 days)rð   rñ   rò   ÚDÚEÚFÚGFr×   é   é	   )r  ÚNaTr"  r"  ©r  r'   r'   r'   ©r   r8   r0   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tjtjdtjgdd�ttjtjdtjgƒtg d¢d	d�tg d
¢ƒg d¢g d¢ddtjtjgtdtjdtjgƒtg d¢d	d�tg d¢ƒtjddd�dœƒ}|t| 	¡ ƒ j
|d�}t |ƒ}t ||¡ d S )N)r  r  é   é   rn   r³   r8   r3   r×   ra   r,  r  r#  )r   r   r!  r!  )r!  r!  r   r   )r  r  r"  r"  )r  r'   r  r'   r`   Úint64)rð   rñ   rò   r  r  r  r  r%  r&  r'  r(  r)  r*  r+  ró   )r
   r&   r'   r   r   r   r   ÚarangeÚsortedÚkeysÚmoderF   Úassert_frame_equal)rš   r$   rX   rT   rU   r    r    r!   Útest_mode_dropnaR  s,   :
ÿ
ðÿz'TestDataFrameAnalytics.test_mode_dropnac                 C   sF   t dtjtjddgiƒ}t ddtjgiƒ}|jdd�}t ||¡ d S )Nrð   r3   Fró   )r
   r&   r'   r3  rF   r4  )rš   Úusing_infer_stringrT   rX   rU   r    r    r!   Útest_mode_sort_with_na¥  s   z-TestDataFrameAnalytics.test_mode_sort_with_nac                 C   sD   t g ddgd�}| ¡ }t g ddgtg tjd�d�}t ||¡ d S )Nr3   r/   rã   ra   ©rl   rC   )r
   r3  r   r&   r/  rF   r4  ©rš   rT   rU   rX   r    r    r!   Útest_mode_empty_df«  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œƒ}| ¡ }|jd |jd ks=J ‚|jd |jd ksIJ ‚|jdd�}||jd k ¡ sZJ ‚| ¡ }|jd |jd ksjJ ‚|jd |jd ksvJ ‚|jdd�}||d
 k ¡ s†J ‚| 	¡ }t	|ƒ}t |d
 |d  |d |d
  dœƒ}t
 ||¡ t
 ||¡ | ¡ }d|d< d|d< d|d< tdƒ|d< | ¡ }tt tdd�¡t tdd�¡dddtdƒg|jd�}t
 ||¡ |jddd �}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�sYJ ‚|d( |d'  |d+< | ¡  |d) jd*k�sqJ ‚|d+ jd*k�s{J ‚d S ),Nz2012-1-1r³   r  ©r2   Úfreqz2012-1-2Ú20120101rm   )ÚminutesÚsecondsrï   rð   rò   rñ   rú   r   )r   rð   r8   )r   rñ   r<   )r0   rð   )r0   rñ   rÅ   rÏ   r  Ú20130101r  i1  ©r?  éÿÿÿÿ)Údaysrû   Tr’   )r8   r8   rÏ   rÉ   Ú20130102r1   Ú20130105)ÚtimeÚtime2rG  rF  Úoff1útimedelta64[ns]Úoff2)r
   r   r   r   r„   rw   r  Úallr…   ÚabsrF   r4  Úcopyr   rÚ   Ú	Timedeltarl   rJ   rD   Ú_consolidate_inplace)rš   rT   ÚdiffsrU   Úresult2rX   Úmixedr    r    r!   Útest_operators_timedelta64±  sz   ýÿ&&ú÷ÿ

þÿ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 Dayrn   r1   rú   T©rM  )rp   rB  F©r7   rð   rñ   rI  rB   r8   r5   r   r   )
rÚ   Útimedelta_ranger
   r"  rw   rˆ   r   rF   rJ   rN  )rš   ÚtdirT   rU   rX   r    r    r!   Ú!test_std_timedelta64_skipna_false  s   ÿ$z8TestDataFrameAnalytics.test_std_timedelta64_skipna_falser   z
2022-01-01z
2022-01-02z
2022-01-03c                 C   s²   |r|rt dd„ |D ƒƒrtjjdd�}| |¡ t|ƒ |¡}td|iƒ}|j|d�}	|r7t dd„ |D ƒƒrEt	dt
jid|› d	�d
�}
nt	ddid|› d	�d
�}
t |	|
¡ d S )Nc                 s   ó   � | ]}|t ju V  qd S r   ©rÚ   r"  ©rf   Úvaluer    r    r!   Ú	<genexpr>   ó   € zFTestDataFrameAnalytics.test_std_datetime64_with_nat.<locals>.<genexpr>z=GH#51446: Incorrect type inference on NaT in reduction result©Úreasonr3   rU  c                 s   rY  r   rZ  r[  r    r    r!   r]  )  r^  ztimedelta64[ú]ra   l     ž"R: )rK  rL   ÚmarkÚxfailÚapplymarkerr   Úas_unitr
   rˆ   r   rÚ   r"  rF   rJ   )rš   r   r7   Úusing_array_managerÚrequestr]   rb  ÚdtirT   rU   rX   r    r    r!   Útest_std_datetime64_with_nat  s    ÿÿÿ
z3TestDataFrameAnalytics.test_std_datetime64_with_natc                 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   r8   )r
   r=   rH   r   r%   )rš   Úempty_frameÚaxis0Úaxis1r    r    r!   Útest_sum_corner0  s   

z&TestDataFrameAnalytics.test_sum_cornerrC   ÚME)r<  r  c                 C   s\   t dg|d�}t||ƒdd�}|dv rd}n	|dkrd}nd	}tg ||d
�}t ||¡ d S )Nr3   r8  r8   r<   )r½   rK  rs   r€   r/  ru   rB   ©r
   rE   r   rF   rJ   )rš   Úall_reductionsrC   rT   rU   Úexpected_dtyperX   r    r    r!   Útest_axis_1_empty:  s   z(TestDataFrameAnalytics.test_axis_1_emptyÚ	min_countc           	      C   s\   |}t dtjgi|d�}|jd||d�}|r|dkrdntj}t|g|d�}t ||¡ d S )Nr3   ra   r8   )r6   r7   rs  r   Ú )r
   rÚ   ÚNAr=   r   rF   rJ   )	rš   Ústring_dtype_no_objectr7   rs  rD   rT   rU   r\  rX   r    r    r!   Útest_axis_1_sum_naQ  s   z)TestDataFrameAnalytics.test_axis_1_sum_nazmethod, unit)r=   r   )r>   r8   r“   )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Â   ©r“   Úfloat64rB   r8   )r“   rs  rû   r   rn   rm   rú   rð   rñ   é   )r
   r&   r'   rE   r   rF   rJ   rw   )rš   rÀ   r]   r“   ÚidxrT   rU   rX   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]©rD   rC   ©rs  r8   )	r
   r&   r'   rK   r   r=   r   rF   rJ   )rš   r{  rT   r  rU   rX   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`   rm   rz  )r   Úyrn   r  r   r‚  rû   )r
   r=   r   r&   r'   rF   rJ   r9  r    r    r!   Útest_sum_nanops_min_count’  s   z0TestDataFrameAnalytics.test_sum_nanops_min_countÚ
float_type)Úfloat16rª   ry  zkwargs, expected_result)r6   rs  gš™™™™™	@g333333@r5   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³   ©r3   r/   ra   r    )r
   r&   r'   r=   r   r¬   rF   rJ   ©rš   r„  ÚkwargsÚexpected_resultrT   rU   rX   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‡  ra   r    )r
   r&   r'   r>   r   r¬   rF   rJ   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 )Nrz   r8   )r   r¬   rÕ   r
   rC   rl   r   r=   )rš   rŸ   r   rP   Údeltasr    r    r!   Útest_sum_object»  s   z&TestDataFrameAnalytics.test_sum_objectc                 C   s"   t  |¡}| d¡ | d¡ d S )Nr8   r   )r&   Úisnanr=   )rš   rŸ   Úboolsr    r    r!   Útest_sum_boolÁ  s   

z$TestDataFrameAnalytics.test_sum_boolc                 C   s`   t tddd�g d¢dœƒ g d¢¡}tjtdd�� | ¡  W d   ƒ d S 1 s)w   Y  d S )	Nrø   r`   r1   rÎ   rú   )r0   r³   r`   z does not support reduction 'sum'r@   )r
   r   ræ   rL   rM   r™   r=   rô   r    r    r!   Útest_sum_mixed_datetimeÇ  s   ÿ
"ÿz.TestDataFrameAnalytics.test_sum_mixed_datetimec                 C   s°   d}t jt|d�� |jdd� W d   ƒ n1 sw   Y  t jtdd�� |jdd� W d   ƒ n1 s7w   Y  |d dk|d< | d¡}|d |d j ¡ ksVJ ‚d S )	Nz1Could not convert|does not support|Cannot performr@   r   r<   úunsupported operand typer8   rð   rs   )rL   rM   r™   r�   r   )rš   rŸ   r›   rœ   Úmeansr    r    r!   Útest_mean_cornerÏ  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jtdd�� | ¡  W d   ƒ d S 1 sDw   Y  d S )Nr³   ú
2016-01-01r1   Ú1DÚ2016ÚYr;  )rð   rñ   rò   r  Trx  rð   rÏ   z'mean is not implemented for PeriodArrayr@   )r
   r&   r0  r   rÚ   rV  Úperiod_ranger�   r   rF   rJ   rL   rM   r™   r9  r    r    r!   Útest_mean_datetimelikeÞ  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³   r–  r1   r—  rï   Frx  r8   )r8   rñ   )r8   rò   r˜  r™  r;  r  z"mean is not implemented for Periodr@   )r
   r&   r0  r   rÚ   rV  r�   r   r  rF   rJ   rš  rL   rM   r™   r9  r    r    r!   Ú)test_mean_datetimelike_numeric_only_falseò  s   
ýÿ	"ÿz@TestDataFrameAnalytics.test_mean_datetimelike_numeric_only_falsec                 C   sP   t j d¡jddd�}t|dd�}|jdd�}t|ƒ ¡  d	¡}t ||¡ d S )
Nr0   r  )rn   rm   )ÚsizeÚInt64ra   Trx  ÚFloat64)	r&   r{   r|   Úintegersr
   r�   r¬   rF   rJ   )rš   r  rT   rU   rX   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¡ W d   ƒ n1 sw   Y  t jtdd�� | d¡ W d   ƒ n1 s3w   Y  t jtdd�� | d¡ W d   ƒ n1 sOw   Y  t jtdd�� | d¡ W d   ƒ d S 1 slw   Y  d S )NrØ   r@   r8   r“  )rL   rM   r™   rˆ   r‡   r�   rŠ   )rš   r›   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 )Nr8   rn   rz   r<   r   )r
   rI   r   r=   )rš   rT   r�  r    r    r!   Útest_sum_bools  s   z%TestDataFrameAnalytics.test_sum_boolsr7   c              	   C   ó   |}t j|jdd…< t j|jdd…dd …f< ||fD ]c}d }|du s&|dkr.||u r,d nt}d}tj||d	�� |j||d
�}	W d   ƒ n1 sIw   Y  d}
tj||
d	�� |jtj||d
�}W d   ƒ n1 skw   Y  | 	|j
j¡}t |	|¡ qd S )Nrm   rn   r_   ro   rp   Fr8   z3The behavior of DataFrame.idxmin with all-NA valuesr@   r5   zThe behavior of Series.idxmin)r&   r'   rw   ÚFutureWarningrF   rG   ÚidxminrK   r   r¬   rC   rD   rJ   ©rš   rŸ   r¾   r7   r6   rP   rT   Úwarnrœ   rU   Úmsg2rX   r    r    r!   Útest_idxmin   s$   ÿÿôz"TestDataFrameAnalytics.test_idxminz3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                 C   óH   |dkr
t |d�}nt |d�}|j||d�}t|jd�}t ||¡ d S ©Nr   rû   rã   r5   ra   )r
   r¦  r   rD   rF   rJ   ©rš   rC   r7   r6   rP   rU   rX   r    r    r!   Útest_idxmin_empty4  ó   
z(TestDataFrameAnalytics.test_idxmin_emptyc                 C   óf   t g d¢g d¢tdƒdœƒ}|j|d�}|r!tddgdd	gd
�}n
tg d¢g d¢d
�}t ||¡ d S )N©r0   r³   r8   ©r0   r8   r8   ÚxyxrÂ   rx  r0   r8   r3   r/   rû   )r0   r8   r   )r
   rv   r¦  r   rF   rJ   ©rš   r“   rT   rU   rX   r    r    r!   Útest_idxmin_numeric_onlyA  ó   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@   r0   r<   )rL   rM   rN   r¦  ©rš   rŸ   rP   rœ   r    r    r!   Útest_idxmin_axis_2K  ó
   "ÿz)TestDataFrameAnalytics.test_idxmin_axis_2c              	   C   r¤  )Nrm   rn   r_   ro   rp   Fr8   z3The behavior of DataFrame.idxmax with all-NA valuesr@   r5   zThe behavior of Series.idxmax)r&   r'   rw   r¥  rF   rG   ÚidxmaxrK   r   r¬   rC   rD   rJ   r§  r    r    r!   Útest_idxmaxQ  s$   ÿÿôz"TestDataFrameAnalytics.test_idxmaxc                 C   r«  r¬  )r
   r¼  r   rD   rF   rJ   r­  r    r    r!   Útest_idxmax_emptyd  r¯  z(TestDataFrameAnalytics.test_idxmax_emptyc                 C   r°  )Nr±  r²  r³  rÂ   rx  r8   r   r3   r/   rû   )r8   r   r8   )r
   rv   r¼  r   rF   rJ   r´  r    r    r!   Útest_idxmax_numeric_onlyq  r¶  z/TestDataFrameAnalytics.test_idxmax_numeric_onlyc                 C   sÜ   t  d¡ tg d¢g d¢dœdd�}| ¡ }tddgd	d
gd�}t ||¡ | ¡ }tddgd	d
gd�}t ||¡ td	g d¢idd�}|jdd�}tdgd	gd�}t ||¡ |jdd�}tdgd	gd�}t ||¡ d S )NÚpyarrowr±  r²  r‡  zint64[pyarrow]ra   r8   r   r3   r/   rû   r0   )r/   rÃ   r3   zstring[pyarrow]Frx  )rL   r»   r
   r¼  r   rF   rJ   r¦  r9  r    r    r!   Útest_idxmax_arrow_types{  s   
z.TestDataFrameAnalytics.test_idxmax_arrow_typesc                 C   r·  r¸  )rL   rM   rN   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 )Nr–  r³   r1   )r   r0   r8   rB  T)Údeeprî   )r8   r   r0   rû   )r   r0   r   )r   r³   r`   )r8   r   r0   r   rÎ   )r   r0   r8   r0   )r   r
   rI   rM  r¼  r   rF   rJ   r¦  rÚ   r"  r  rO  ©rš   rh  rT   rU   rX   r    r    r!   Útest_idxmax_mixed_dtype—  s.   *z.TestDataFrameAnalytics.test_idxmax_mixed_dtypezop, expected_valuer¼  r¦  rm   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   r8   r0   r   )ÚIDr\  rž  ra   rÈ  r\  rÆ  rÇ  )ÚnamerD   rû   )r
   ÚgroupbyrE   r   rF   r4  )rš   rÍ   Úexpected_valuerT   rU   rX   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 )Nr–  r³   r1   rB  )r³   r`   TrT  )r   r   r8   r<   )r`   r³   r³   )r`   r³   r`   )r   r
   rÚ   r"  rw   rO  r¼  r   rF   rJ   r¦  rÄ  r    r    r!   Ú"test_idxmax_dt64_multicolumn_axis1Ó  s   z9TestDataFrameAnalytics.test_idxmax_dt64_multicolumn_axis1r½   rK  Ú	bool_onlyc                 C   s8   |}t j d¡ t|ƒ¡dk|d< t||ƒ||d� d S )Nr0   g      à?Ú_bool_©r6   rÎ  )r&   r{   r|   r}   r%   rE   )rš   rO   r6   rÎ  r›   rR  r    r    r!   Útest_any_all_mixed_floatå  s   z/TestDataFrameAnalytics.test_any_all_mixed_floatc                 C   s   t ||ƒ|dd� d S )NFrÐ  rž   )rš   rO   r6   ry   r    r    r!   Útest_any_all_bool_with_naï  s   z0TestDataFrameAnalytics.test_any_all_bool_with_naz4ignore:Downcasting object dtype arrays:FutureWarningc                    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ž|
 
¡ r–J ‚| 
¡ rœJ ‚d S |
 ¡ s¤J ‚| ¡ sªJ ‚d S )NTc                    s   |   ¡ j}ˆ |ƒS r   )r$   r   r(   r*   r    r!   r"   ý  s   
zFTestDataFrameAnalytics.test_any_all_bool_frame.<locals>.skipna_wrapperc                    r   r   r   r   r*   r    r!   r4     r#   z?TestDataFrameAnalytics.test_any_all_bool_frame.<locals>.wrapperr   Fr5   r8   r<   )r9   r?   r@   r0   r½   )ÚfillnarE   r&   rF   rJ   rK   rL   rM   rN   r'   r½   rK  )rš   rO   ry   rP   rS   r"   r4   rV   rW   rZ   r[   r\   r    r*   r!   Útest_any_all_bool_frameô  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 sŒJ ‚d S )N)TFF)TTF)TTTrï   rÂ   rû   rð   rñ   r8   r<   TrÐ  ©rÎ  Frò   )r
   r½   r   rF   rJ   rK  Úitemr9  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 )Nr8   Tr0   Ú5©Údatar5   )TTTT)r
   r&   r'   rE   r   rF   rJ   )rš   r6   rØ  r7   rT   rU   rX   r    r    r!   Útest_any_all_object_dtypeB  s   üÿz0TestDataFrameAnalytics.test_any_all_object_dtypezAignore:'any' with datetime64 dtypes is deprecated.*:FutureWarningc                 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 )Nr8   r³   z
1960-02-15z
1960-02-16rú   r<   )TTTF)
r&   r'   r   rÚ   r"  r
   r½   r   rF   rJ   )rš   Ú
float_dataÚdatetime_datarT   rU   rX   r    r    r!   Útest_any_datetimeT  s   üz(TestDataFrameAnalytics.test_any_datetimec                 C   sœ   t g d¢g d¢g d¢dœtg d¢td�d�}|jdd�}ttjg d	�}t ||¡ t g d¢g d¢g d¢g d
¢dœƒ}|jdd�}tddiƒ}t ||¡ d S )Nrî   r�  )NNN)Úcol1Úcol2Úcol3ra   rã   TrÕ  r~  )FFT)rà  rá  râ  Úcol4rã  F)	r
   r   ru   rK  r   r&   Úbool_rF   rJ   r9  r    r    r!   Útest_any_all_bool_onlyg  s"   þüÿ	z-TestDataFrameAnalytics.test_any_all_bool_onlyzfunc, data, expectedrð   rú   rÁ   rÖ   zM8[ns, UTC]r}  Úcategoryrn   ro   c                 C   s~  t |ƒ}tdd„ |jD ƒƒrNtjtdd�� ||ƒ W d   ƒ n1 s$w   Y  tjtdd�� tt |ƒ|jƒd d� W d   ƒ d S 1 sGw   Y  d S d}|j dd„ ¡ ¡ r]t	}nd }t
j||d	d
�� ||ƒ}W d   ƒ n1 svw   Y  t|tjƒsƒJ ‚| ¡ |u s‹J ‚t
j||d�� tt |ƒ|jƒd d�}W d   ƒ n1 s¨w   Y  t|tjƒsµJ ‚| ¡ |u s½J ‚d S )Nc                 s   s   � | ]}t |tƒV  qd S r   )rH   r	   )rf   r   r    r    r!   r]  ¶  r^  z>TestDataFrameAnalytics.test_any_all_np_func.<locals>.<genexpr>z)dtype category does not support reductionr@   r<   z0'(any|all)' with datetime64 dtypes is deprecatedc                 S   s
   | j dkS )Nr*  )Úkindr   r    r    r!   r  Ã  s   
 z=TestDataFrameAnalytics.test_any_all_np_func.<locals>.<lambda>F)rA   Úcheck_stacklevel)r
   r½   ÚdtypesrL   rM   r™   rE   Ú__name__rK   r¥  rF   rG   rH   r&   rä  rÖ  )rš   ÚfuncrÛ  rX   rœ   r¨  rU   r    r    r!   Útest_any_all_np_func  s4   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 )Nr3   r/   rã   TF)r&   rK  r
   rÖ  r½   )rš   rU   r    r    r!   Útest_any_all_objectÕ  s   z*TestDataFrameAnalytics.test_any_all_objectc                 C   s"  t ddgddgdœƒ t¡}| ¡  tddgƒ|d< |d  d¡|d< | ¡ }|dg }t ||¡ |jdd	d
�}tdgdgd�}t 	||¡ |ddg jdd	d
�}t 	||¡ |jdd d
�saJ ‚|j
dd	d
�}tdgdgd�}t 	||¡ |dg j
dd	d
�}t 	||¡ |j
dd d
�s�J ‚d S )NrÅ   r0   TFrú   rò   ræ  r  r   )rÎ  r6   rû   rñ   )r
   r¬   ru   rO  r   Ú_get_bool_datarF   r4  rK  rJ   r½   )rš   rT   ÚresrX   r    r    r!   Útest_any_all_object_bool_onlyÝ  s&   
z4TestDataFrameAnalytics.test_any_all_object_bool_onlyc                 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í   r8   r   )Úlowerr6   )ÚltÚleÚgtÚgeÚeqÚner<   )r
   r&   r'   r   rF   rG   ÚcliprE   )rš   rT   Údf_nanr¢   Ús_nanrÍ   r    r    r!   Útest_series_broadcasting  s   ÿ"þz/TestDataFrameAnalytics.test_series_broadcasting)Yrê  Ú
__module__Ú__qualname__rL   rb  ÚparametrizeÚparamÚtdÚ
skip_if_nor�   r    r°   r¼   r¿   r
   r&   r'   ru   ÚfilterwarningsrÌ   rÜ   rì   rõ   rþ   rÿ   r  r  r  r  r   r   r   r   rÚ   r"  r5  r7  r:  rS  rX  ri  rm  r   r   r/  ry  r   rr  rw  r|  r€  rƒ  r‹  rŒ  rŽ  r‘  r’  r•  r›  rœ  r¡  r¢  r£  rª  r®  rµ  rº  r½  r¾  r¿  rÁ  rÂ  rÅ  rÌ  rÍ  rÑ  rÒ  rÔ  r×  rÜ  rß  rå  r½   rK  rÕ   rì  rí  rð  rû  r    r    r    r!   r   à   s`   óþ)ôþ8ÿùñ$îþ
	




$ùþ
ùþÿ
÷þÿ
÷þÙþ
9Wÿ



úþ

	 ýþýþ	


	


	&þ

+!ÿ

ÿ
þýüûúùø	÷
öõôóòðïîíìëêéèçæåäãâá"Þ#Ý$Ü%Û'þúÙþ
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¡d	e
fdd„ƒƒZej 	dddg¡dd„ ƒZdd„ Zdd„ Zejdd„ ƒZej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   rF   rJ   r…   )rš   rT   rï  Úexpr    r    r!   Útest_min_max_dt64_with_NaT  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‡  r8   Fr5   )r   r3   r3   )r   r/   )rH   r   r   rL   Úskipr
   r   rÚ   r"  r„   r   r  rD   rF   rJ   r…   )rš   rg  Útz_naive_fixturerö   rT   rï  rX   r    r    r!   Ú'test_min_max_dt64_with_NaT_skipna_false(  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   r<   r8   )
r
   r   r   r„   r   rÚ   r"  r…   rF   rJ   )rš   rT   Úexpected_dt_seriesr    r    r!   Ú*test_min_max_dt64_api_consistency_with_NaTF  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   ra   r   r<   r8   )
r
   r   rÖ   r&   r�  r„   r   r…   rF   rJ   )rš   rT   Úexpected_float_seriesr    r    r!   Ú*test_min_max_dt64_api_consistency_empty_dfU  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…   c                 C   s<   t |ƒ}t|gƒ}t|gƒ}t||ƒdd�}t ||¡ d S )Nr8   r<   )r   r   r
   rE   rF   rJ   )rš   r  rÀ   Ú
initial_dtrX   rT   rU   r    r    r!   Útest_preserve_timezonea  s
   

z.TestDataFrameReductions.test_preserve_timezonec                 C   s‚   t ddd�}tttjtj|gƒttj||gƒdœƒ}t||ƒ}|d|d�}|r0ttj||gƒ}n	ttjtj|gƒ}t ||¡ d S )Nz
1900-01-01T)Úutcr‡  r8   r5   )r   r
   r   rÚ   r"  rE   rF   rJ   )rš   rÀ   r7   ÚvalrT   rÍ   rU   rX   r    r    r!   Ú!test_minmax_tzaware_skipna_axis_1n  s   "ÿ
z9TestDataFrameReductions.test_minmax_tzaware_skipna_axis_1c                 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   r¢   r8   Úms)r3   Útr<   FTr3   r  )rÛ  rC   rÚ  )r
   r   r   r½   rF   rJ   r9  r    r    r!   Útest_frame_any_with_timedelta}  s   
þÿz5TestDataFrameReductions.test_frame_any_with_timedeltac                 C   sp   |dkr|  tjjdd�¡ |g d¢ƒ}d}tjt|d�� t||ƒd d� W d   ƒ d S 1 s1w   Y  d S )Nr€   zCount does not accept skipnar_  rî   zAFor argument "skipna" expected type bool, received type NoneType.r@   rU  )rd  rL   rb  rc  rM   rN   rE   )rš   rg  Úframe_or_seriesrp  Úobjrœ   r    r    r!   Ú"test_reductions_skipna_none_raisesŽ  s   ÿ"ÿz:TestDataFrameReductions.test_reductions_skipna_none_raisesc                 C   s`   t ttdƒgdd�ttdƒgdd�dœƒ}| ¡ }ttdƒtdƒgdddgd	�}t ||¡ d S )
Nz
2019-12-31zdatetime64[s]ra   z2019-12-31 00:00:00.123zdatetime64[ms]r‡  r3   r/   r~  )r
   r   r   r…   rF   rJ   r9  r    r    r!   Ú&test_reduction_timestamp_smallest_unitš  s   
ÿþÿýz>TestDataFrameReductions.test_reduction_timestamp_smallest_unitc                 C   sh   t tt d¡gdd�tt d¡gdd�dœƒ}| ¡ }tt d¡t d¡gdddgd�}t ||¡ d S )	Nr  ztimedelta64[s]ra   ztimedelta64[ms]r‡  r3   r/   r~  )r
   r   rÚ   rN  r…   rF   rJ   r9  r    r    r!   Ú&test_reduction_timedelta_smallest_unit­  s   þÿýz>TestDataFrameReductions.test_reduction_timedelta_smallest_unitN)rê  rü  rý  r  r  r
  r  rL   rb  rþ  r×   r  r  r  r  r   Úskip_array_manager_invalid_testr  Ú&skip_array_manager_not_yet_implementedr  r    r    r    r!   r    s&    þ

r  c                   @   sH   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S )ÚTestNuisanceColumnsrÀ   r½   rK  c                 C   sR  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 s�w   Y  tjtdd�� tt|ƒ|dd
� W d   ƒ d S 1 s¢w   Y  d S )Nr   r8   ræ  rð   )rD   rÉ  údoes not support reductionr@   FrÕ  r<   )r   Úto_framerL   rM   r™   rE   r&   )rš   rÀ   ÚserrT   r    r    r!   Ú.test_any_all_categorical_dtype_nuisance_columnÀ  s"   ÿÿÿÿ"ÿzBTestNuisanceColumns.test_any_all_categorical_dtype_nuisance_columnc                 C   sJ  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  |d  t¡|d< tjtdd�� |jdd� W d   ƒ n1 s‚w   Y  tjtdd�� | ¡  W d   ƒ d S 1 sžw   Y  d S )Nrð   )r8   r0   r0   r0   r³   r  r@   Frx  rñ   )r
   r   rL   rM   r™   rƒ   r¬   rÕ   )rš   rT   r   r    r    r!   Ú-test_median_categorical_dtype_nuisance_columnÖ  s$   
ÿÿ
ÿÿ
"ÿzATestNuisanceColumns.test_median_categorical_dtype_nuisance_columnr„   r…   c                 C   sâ  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 sƒw   Y  tjtdd�� tt|ƒ|dd	� W d   ƒ n1 s£w   Y  |d  t	¡|d
< tjtdd�� t||ƒƒ  W d   ƒ n1 sÉw   Y  tjtdd�� tt|ƒ|dd	� W d   ƒ d S 1 sêw   Y  d S )N)r3   r/   rÃ   r/   F)Úorderedrð   zis not ordered for operationr@   rx  r   r<   rñ   )
r   r   r  rL   rM   r™   rE   r&   r¬   ru   )rš   rÀ   Úcatr   rT   r    r    r!   Ú:test_min_max_categorical_dtype_non_ordered_nuisance_columnñ  s2   
ÿÿÿÿÿÿ"ÿzNTestNuisanceColumns.test_min_max_categorical_dtype_non_ordered_nuisance_columnN)	rê  rü  rý  rL   rb  rþ  r!  r"  r%  r    r    r    r!   r  ¿  s    
r  c                   @   s<  e Zd Zej ddejdejfdejdej	fdejdejfdejdejfdej
dejfdej
dejfdejdejfdejdejfdejdejfdejdejfdejdejfg¡dd„ ƒZej ddejejfdejejfdejejfdejejfdej
ejfdej
ejfdejejfdejejfdejejfdejejfdejejfg¡d	d
„ ƒZej dddder´dndfddder½dndfddderÆdndfddddderÑdndfddderÚdndfdddddg¡dd„ ƒZej ddderòdndfdderúdndfdddde�rdndfdde�rdndfddddd g¡d!d"„ ƒZd#S )$ÚTestEmptyDataFrameReductionsz#opname, dtype, exp_value, exp_dtyper=   r   r>   r8   c                 C   óB   t g g dœ|d�}t||ƒdd�}t||g|d�}t ||¡ d S ©N©r   r8   ra   r   r  ro  ©rš   rO   rD   Ú	exp_valueÚ	exp_dtyperT   rU   rX   r    r    r!   Útest_df_empty_min_count_0  s   z6TestEmptyDataFrameReductions.test_df_empty_min_count_0zopname, dtype, exp_dtypec                 C   óF   t g g dœ|d�}t||ƒdd�}ttjtjg|d�}t ||¡ d S ©Nr)  ra   r8   r  )r
   rE   r   r&   r'   rF   rJ   ©rš   rO   rD   r,  rT   rU   rX   r    r    r!   Útest_df_empty_min_count_1)  ó   z6TestEmptyDataFrameReductions.test_df_empty_min_count_1ÚInt8ÚInt32rž  )r=   rž  r   rž  )r>   rž  r8   rž  ÚUInt8ÚUInt32ÚUInt64)r=   r7  r   r7  )r>   r7  r8   r7  )r=   ÚFloat32r   r8  )r>   r8  r8   r8  )r=   rŸ  r   rŸ  c                 C   r'  r(  ro  r*  r    r    r!   Ú"test_df_empty_nullable_min_count_0@  s   z?TestEmptyDataFrameReductions.test_df_empty_nullable_min_count_0)r=   rž  rž  )r>   rž  rž  )r=   r7  r7  )r>   r7  r7  )r=   r8  r8  )r>   r8  r8  )r=   rŸ  rŸ  c                 C   r.  r/  )r
   rE   r   rÚ   ru  rF   rJ   r0  r    r    r!   Ú"test_df_empty_nullable_min_count_1Z  r2  z?TestEmptyDataFrameReductions.test_df_empty_nullable_min_count_1N)rê  rü  rý  rL   rb  rþ  r&   Úint8r/  Úint_Úuint8Úuint64Úuintrª   ry  r-  r1  Úis_windows_np2_or_is32r9  Úis_windows_or_is32r:  r    r    r    r!   r&    s„    õþ
õþ
ôþ
	õþr&  c                 C   sø   | rt jjdd�}| |¡ t d¡ tj¡ d¡ 	dd¡}d|d< t
|ƒ}|j|jk ¡ s0J ‚|jd	d
�}ttjdd�tjgdd�}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dd�}t ||¡ d S )Nz3Incorrect type inference on NaT in reduction resultr_  r   zm8[s]r`   r0   ÚNat)rB  rB  FrU  r  rA  ra   r   r5   r8   rm   r!  )rL   rb  rc  rd  r&   r0  r¬   r/  ÚviewÚreshaper
   ré  rD   rK  r=   r   rÚ   rN  r"  rF   rJ   )rf  rg  rb  r  rT   rU   rX   r    r    r!   Ú!test_sum_timedelta64_skipna_falser  s0   ÿ
 


üù	rE  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 )Nr3   r8   Úabrã   r/   rž  rû   )r
   rv   r¬   r=   r   rF   rJ   )rT   rU   rX   r    r    r!   Ú!test_mixed_frame_with_integer_sum”  s
   rG  r“   )TFNrÀ   r„   r…   c                 C   sl   t  d¡}t|jd |jgt ¡ d�}td|iƒ}t|| ƒ|d�}tt|| ƒgdt	dgƒd�}t
 ||¡ d S )Nr/  ra   rž  rx  r~  )r&   Úiinfor   r…   r„   rÚ   Ú
Int64Dtyper
   rE   r   rF   rJ   )rÀ   r“   Ú
int64_infor   rT   rU   rX   r    r    r!   Útest_minmax_extensionarray�  s   

ýrK  Úts_valuez
2000-01-01c                 C   sV   t dgdgdg| gdœƒ}tjtdd�� | ¡  W d   ƒ d S 1 s$w   Y  d S )Nr8   gš™™™™™ñ?rÅ   rÓ   z5does not support (operation|reduction)|Cannot performr@   )r
   rL   rM   r™   r=   )rL  rT   r    r    r!   Ú.test_frame_mixed_numeric_object_with_timestamp­  s   ÿ
"ýrM  c                  C   s„   t g d¢ƒ} | jdddd�}tdgtd�}t ||¡ t d¡}tj	t
|d	�� | jdddd� W d   ƒ d S 1 s;w   Y  d S )
N)r8   r3   Tr   r8   F)r6   rs  r“   r3   ra   z2unsupported operand type(s) for +: 'int' and 'str'r@   )r
   r>   r   ru   rF   rJ   r•   ÚescaperL   rM   r™   r=   )rT   rU   rX   rœ   r    r    r!   Ú$test_prod_sum_min_count_mixed_object·  s   
"ÿrO  )r„   r…   r�   rƒ   rŠ   r�   rD   ry  rŸ  c                 C   sž   t tj d¡ d¡|d�}t|| ƒd |d�}|jtjd�}| dv r>t 	d¡}| dkr,d} t|| ƒ|d	d d
�}t
 ||¡ d S tt| ƒ|d d�}||ksMJ ‚d S )Nr0   )r`   r`   ra   r’   >   r�   rŠ   r±   r�   rº   F)rµ   r6   r<   )r
   r&   r{   r|   r}   rE   Úto_numpyry  rL   r»   rF   r  )rÀ   r“   rD   rT   rU   Únp_arrÚcomp_modrX   r    r    r!   Ú'test_reduction_axis_none_returns_scalarÄ  s   
rS  Úkernel)ÚcorrÚcorrwithÚcovr¼  r¦  r�   r…   r�   rƒ   r„   r>   Úquantiler‰   rŠ   rˆ   r=   r‡   c                 C   s’   t g d¢tdœƒ}| dkr|fnd}d g d¢¡}| dkr(d}d	}d ||g¡}tjt|d
�� t|| ƒ|Ž  W d   ƒ d S 1 sBw   Y  d S )Nrî   r‡  rV  r    r�   )znot allowed for this dtypez%argument must be a string or a numberz"not supported between instances ofr“  z*argument must be a string or a real numberrƒ   zTCannot convert \[\[<class 'object'> <class 'object'> <class 'object'>\]\] to numericzPCannot convert \[<class 'object'> <class 'object'> <class 'object'>\] to numericr@   )r
   ru   r”   rL   rM   r™   rE   )rT  rT   Úargsrœ   Úmsg1r©  r    r    r!   Útest_fails_on_non_numericÙ  s   ÿ	ÿÿ"ÿr[  )rK  r½   r€   r¼  r¦  r�   rº   r…   r�   rƒ   r„   r†   r>   r‚   r‰   rŠ   rˆ   r=   r‡   rs  r0   c                 C   sv  t tg d¢|d�tddtjdg|d�dœƒ}t g d¢dd	tjd
gdœƒ}| dv r+d}n| dv r2d}n| dv r>| d¡s>d}n|}i }| dvrJ||d< | dv rR||d< d }d }	|sd| dv rdt}d| › d�}	tj	||	d�� t
|| ƒdddi|¤Ž}
W d   ƒ n1 s‚w   Y  tj	||	d�� t
|| ƒdddi|¤Ž}W d   ƒ n1 s¥w   Y  | dvr³| |¡}t |
|¡ d S )Nr$  ra   r   r8   r³   r‡  )rÁ   rÏ   rÐ   rÑ   rÁ   rÏ   rÑ   rŽ   r/  )rK  r½   Úboolean)r�   rº   r�   rƒ   r‰   rŠ   rˆ   r‡   ÚFloatrŸ  )r€   r†   rX  r7   )r>   r‚   r=   rs  )r¼  r¦  zThe behavior of DataFrame.z with all-NA valuesr@   r6   r    )r
   r   rÚ   ru  r&   r'   Ú
startswithr¥  rF   rG   rE   r¬   rJ   )rÀ   r7   rs  Úany_numeric_ea_dtyperT   Úexpected_dfrq  r‰  r¨  rœ   rU   rX   r    r    r!   Útest_numeric_ea_axis_1  sL   þÿþÿ	÷
ÿÿ
ra  r   )TTFr-   r.   N)?Údatetimer   Údecimalr   r•   Údateutil.tzr   Únumpyr&   rL   Úpandas.compatr   r   Úpandas.compat.numpyr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsr   ÚpandasrÚ   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   Úpandas._testingÚ_testingrF   Úpandas.corer   r   r@  rA  r,   r^   Úfixturery   r~   r   r  r  r&  rE  rG  rb  rþ  rK  r"  rM  rO  rS  r[  ra  r    r    r    r!   Ú<module>   s‚    @
$
÷n

          : 0Ra"	
	þ
þ