o
    �¨ÊhP- ã                   @   sj  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 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ƒ rse pue Z+eƒ p{e Z,d@d
d„Z-						dAdd„Z.e	j/dd„ ƒZ0e	j/dd„ ƒZ1G dd„ dƒZ2G dd„ dƒZ3G dd„ dƒZ4G dd„ dƒZ5dd„ Z6e	j7j8eƒ d d!�d"d#„ ƒZ9e	j7 :d$g d%¢¡e	j7 :d&d'd(g¡d)d*„ ƒƒZ;e	j7 :d+ed,ƒej<g¡d-d.„ ƒZ=d/d0„ Z>e	j7 :d&g d1¢¡e	j7 :d$ddg¡e	j7 :d2d3d4g¡d5d6„ ƒƒƒZ?e	j7 :d7g d8¢¡d9d:„ ƒZ@e	j7 :d&g d;¢¡e	j7 :d<d d=g¡d>d?„ ƒƒZAdS )Bé    )Ú	timedelta)ÚDecimalN)Útzlocal)Úusing_pyarrow_string_dtype)Ú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© úT/var/www/html/env/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#   D   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©r7   )r;   r<   )ÚsumÚprodúNo axis named 2©Úmatchr?   ©ÚindexÚdtype)Úgetattrr   r   ÚtmÚassert_produces_warningÚ
isinstancer   Úranger&   r-   Úassert_series_equalÚapplyr   rE   ÚpytestÚraisesÚ
ValueErrorr'   r(   rD   )Úopnamer,   ÚframeÚ
has_skipnar:   Úcheck_datesr;   r<   r    ÚfÚdfÚresultr5   r#   Úresult0Úresult1ÚexpectedÚ	lcd_dtypeÚall_naÚr0Úr1Úunitr!   r+   r"   Úassert_stat_op_calcM   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
    )é   é   ©rE   r   r=   c                 S   ó   g | ]}d |› �‘qS ©Úfoo_r!   ©Ú.0Úir!   r!   r"   Ú
<listcomp>Æ   ó    z&bool_frame_with_na.<locals>.<listcomp>é   ÚABCD)rD   ÚcolumnsrE   é   é
   r`   é   éþÿÿÿN)r   r'   ÚconcatenateÚonesÚboolÚzerosr   rJ   ÚobjectÚlistr(   Úiloc©rU   r!   r!   r"   Úbool_frame_with_na»   s   ÿú	rz   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
    r1   )rk   ra   c                 S   rc   rd   r!   rf   r!   r!   r"   ri   Ù   rj   z'float_frame_with_na.<locals>.<listcomp>rk   rb   rl   ©rD   rm   rn   ro   r`   rp   rq   N)r   r'   ÚrandomÚdefault_rngÚstandard_normalr   rJ   rv   rw   r(   rx   ry   r!   r!   r"   Úfloat_frame_with_naÐ   s   ýr   c                   @   sX  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ejjeƒ d4d5�d6d7„ ƒZd8d9„ Zej d:d;d<g¡d=d>„ ƒZej d:d;d<g¡d?d@„ ƒZdAdB„ ZdCdD„ Zej dEg dF¢¡dGdH„ ƒZdIdJ„ Zej dKdLdMgdNgdOgdPgedPgdPgdQ�e dRgdSd,�e!dTgƒdUœfdVdMgdNgejgej"ejged,�eejgdPgdQ�e e#j$gdSd,�e!e#j$gƒdUœfdLdWdXejejgdWdXejejgdejejejgedPejejejgdPgdQ�e g dY¢dSd,�e!g dZ¢ƒg d[¢d\œfdVdWdXejejgdWdXejejgdejejejgeejdPejejgdPgdQ�e g d]¢dSd,�e!g d^¢ƒg d[¢d\œfg¡d_d`„ ƒZ%dadb„ Z&dcdd„ Z'dedf„ Z(dgdh„ Z)ej didjdke#j$dlgd*e#j$g g¡dmdn„ ƒZ*dodp„ Z+ej dqe,dƒe g ƒe-g ej.d,�e-g ej/d,�e g drds�e0g dtds�g¡dudv„ ƒZ1ej dwdxdyg¡ej dzg d{¢¡d|d}„ ƒƒZ2d~d„ Z3d€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dVdˆœd†d‡ejgfg¡d‰dŠ„ ƒƒZ5e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dVdˆœd‹dŒejgfg¡d�dŽ„ ƒƒZ6d�d�„ Z7d‘d’„ Z8d“d”„ Z9d•d–„ Z:d—d˜„ Z;d™dš„ Z<d›dœ„ Z=d�dž„ Z>dŸd „ Z?ej d¡dLdVg¡ej dddg¡d¢d£„ ƒƒZ@ej dddg¡ej d¤¡d¥d¦„ ƒƒZAej dzdLdVg¡d§d¨„ ƒZBd©dª„ ZCej d¡dLdVg¡ej dddg¡d«d¬„ ƒƒZDej dddg¡ej d¤¡d­d®„ ƒƒZEej dzdLdVg¡d¯d°„ ƒZFd±d²„ ZGd³d´„ ZHdµd¶„ ZIej d·d¸dd*gfd¹ddºgfg¡d»d¼„ ƒZJd½d¾„ ZKej dd¿dÀg¡ej dddg¡ej dÁdVdLg¡dÂdÃ„ ƒƒƒZLej dd¿dÀg¡ej dddg¡dÄdÅ„ ƒƒZMej dÆ¡ej dd¿dÀg¡dÇdÈ„ ƒƒZNdÉdÊ„ ZOej dddg¡ej dËd¿dÀg¡ej d¡dLdVg¡dÌdÍ„ ƒƒƒZPej dÎ¡dÏdÐ„ ƒZQdÑdÒ„ ZRej dÓg ejSi dVf‘ejTi dLf‘ejSdÔg idVf‘ejTdÔg idLf‘ejSdÔdVdVgidVf‘ejTdÔdVdVgidVf‘ejSdÔdLdVgidLf‘ejTdÔdLdVgidVf‘ejSdÔdLdLgidLf‘ejTdÔdLdLgidLf‘ejSdVgdVgdÕœdVf‘ejTdVgdVgdÕœdVf‘ejSdVdVgdVdLgdÕœdLf‘ejTdVdVgdVdLgdÕœdVf‘ejTdÔeUdÖdOgd×d,�idVf‘ejSdÔeUdÖdOgd×d,�idLf‘ejTdÔeUddgeVd,�idVf‘ejSdÔeUddgeVd,�idLf‘e ejTdÔeUddgdSd,�idV¡‘e ejTdÔeUddgdØd,�idV¡‘e ejSdÔeUddgdSd,�idL¡‘e ejSdÔeUddgdØd,�idL¡‘e ejTdÔeUdd(gdSd,�idL¡‘e ejTdÔeUdd(gdØd,�idL¡‘e ejSdÔeUdd(gdSd,�idL¡‘e ejSdÔeUdd(gdØd,�idL¡‘e ejTdÔeUddgdÙd,�idV¡‘e ejSdÔeUddgdÙd,�idL¡‘e ejTdÔeUdd(gdÙd,�idL¡‘e ejSdÔeUdd(gdÙd,�idL¡‘ejTdÔeUddgdÚd,�idLf‘ejSdÔeUddgdÚd,�idVf‘ejTdÔeUdd(gdÚd,�idLf‘ejSdÔeUdd(gdÚd,�idVf‘e ejTeUdÛdÜgdSd,�eUdÛdÜgdÙd,�dÕœdL¡‘¡dÝdÞ„ ƒZWdßdà„ ZXdádâ„ ZYdãdä„ ZZd;S )åÚTestDataFrameAnalyticsr7   r   r9   rP   Ú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|r|dkst ||ƒ|d� nk|dv r"d}n;|dkr0|d	kr-d
}n0d}n-|dkr7d}n&|dkrJ|dkrGd ddg¡}nd}n|dv rQd}n|dkr]tjdtjd�}t|tjƒsg|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‹   rŽ   z(could not convert string to float: 'bar'rƒ   r9   z2can't multiply sequence by non-int of type 'float'z0can't multiply sequence by non-int of type 'str'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„   z1Cannot convert \[.*\] to numeric|does not support)Úflagsz|does not supportrA   r‡   T©r7   Únumeric_only)
rF   ÚjoinÚreÚcompileÚSrI   ÚPatternrM   rN   Ú	TypeError)ÚselfÚfloat_string_framer7   rP   Úusing_infer_stringÚmsgr!   r!   r"   Ú#test_stat_op_api_float_string_frameå   sL   ÿûþÿÿÿÿz:TestDataFrameAnalytics.test_stat_op_api_float_string_framec                 C   s   t ||ƒ|dd� d S )NFr“   ©rF   )r›   Úfloat_framer7   rP   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�   <  s   z7TestDataFrameAnalytics.test_stat_op_calc.<locals>.countc                 S   s   t t |  ¡ ¡ƒS r   )r&   r   Úunique1dr%   r£   r!   r!   r"   r‡   ?  s   z9TestDataFrameAnalytics.test_stat_op_calc.<locals>.nuniquec                 S   ó   t j| dd�S ©Nr9   ©Úddof)r'   rˆ   r   r!   r!   r"   rˆ   B  ó   z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.varc                 S   r¦   r§   )r'   r‰   r   r!   r!   r"   r‰   E  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Š   H  s   z5TestDataFrameAnalytics.test_stat_op_calc.<locals>.semr‡   FT)rR   r:   rS   r>   Úfloat32gü©ñÒMbP?)r:   r;   r   r‚   ©rS   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_calc;  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"   Úskewnessv  ó   zHTestDataFrameAnalytics.test_stat_op_calc_skew_kurtosis.<locals>.skewnessc                    r´   )Nra   Fr¶   )r&   r'   r(   Úkurtosisr   r¸   r!   r"   rŽ   {  r»   zDTestDataFrameAnalytics.test_stat_op_calc_skew_kurtosis.<locals>.kurtr‹   rŽ   )rM   Úimportorskipr_   )r›   r   rº   rŽ   r!   r¸   r"   Útest_stat_op_calc_skew_kurtosiss  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"   r5   „  s   
z3TestDataFrameAnalytics.test_median.<locals>.wrapperr„   Tr­   F)r:   rS   )r_   )r›   r   Ú	int_framer5   r!   r!   r"   Útest_medianƒ  s
   

ÿz"TestDataFrameAnalytics.test_medianÚmethod)r>   r‚   r?   rˆ   r‰   r‹   r…   r†   rU   )gÈƒw@Ba@¿gCùVÞúZ¿g
?ZÁ½.F?)r   r   ç        )gê94­³c4?gÏ@ð}�jX?gþïœÕN¿©r4   r0   Úc©ÚfooÚbarÚbazÚOrC   r1   rµ   ra   ©r   r9   r1   rb   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)r9   rm   r‘   )
r   rE   r'   Úobject_rF   r®   rv   r   rG   rK   )r›   rÂ   rU   r7   rV   rY   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	¡�5 d g d¢¡}tjt|d�� t||ƒƒ  W d   ƒ n1 sXw   Y  W d   ƒ d S W d   ƒ d S 1 spw   Y  d S )
N©r9   r1   rµ   ra   )ç      ð?ç       @ç      @ç      @©r4   r0   rÅ   Úd)ÚintÚfloatÚstrr�   )zCould not convertúcould not convertz"can't multiply sequence by non-intzdoes not supportrA   Úuse_bottleneckF)r   r•   rM   rN   rš   rF   ÚpdÚoption_context)r›   rÏ   rU   rž   r!   r!   r"   Útest_mixed_ops²  s,   ýÿÿÿÿÿ÷	"÷z%TestDataFrameAnalytics.test_mixed_opsz"sum doesn't work for arrow strings©Úreasonc                 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)ro   rp   rk   é(   é2   )r4   r0   rÅ   rÖ   Úe)Ú	bool_dataÚint_dataÚstring_data©rm   r   r=   )r1   é–   Úabcderb   r9   )r   Úreindexr>   rG   Úassert_numpy_array_equalr   r'   Úarrayrv   ÚTrK   )r›   rU   Ú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©r9   r9   r9   ©r9   r1   rµ   r9   rµ   ©ÚAÚBÚCr1   F©r%   r=   rË   )r7   r%   )r   r'   r(   rG   rK   r‡   r   ©r›   rU   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 )
Nr9   Ú2000©rú   r1   ©rô   rõ   rÑ   rô   rõ   ©rD   ©r   r   r‚   r   rG   rK   ©r›   rú   rU   rV   rY   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ý   r1   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 )Nr1   z628.00ró   r9   z383.00rµ   z651.00z575.00ra   z1114.00ÚTESTz241.00z572.00z609.00z820.00rn   z1223.00z)unsupported operand type|does not supportrA   rô   rö   gš™™™™™@gÍÌÌÌÌL…@rC   )
r   r   rM   rN   rš   r‚   r   rv   rG   rK   )r›   rÖ   rU   rV   rY   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 )Nra   r¨   c                 S   ó   | j dd�S ©Nra   r¨   )r‰   r   r!   r!   r"   Ú<lambda>"  ó    z5TestDataFrameAnalytics.test_var_std.<locals>.<lambda>c                 S   r  r  )rˆ   r   r!   r!   r"   r  &  r	  r1   ©r9   éè  r  r   r=   rÛ   F)r‰   rL   rG   Úassert_almost_equalrˆ   r'   Úrepeatr|   r}   r   Únanvarr¿   rÜ   rÝ   ©r›   Údatetime_framerV   rY   Ú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 )Nr1   )rn   rµ   rÆ   rç   rÇ   Ú100)r   rÇ   r4   r9   Tr“   rÈ   rÉ   r=   z6unsupported operand type\(s\) for -: 'float' and 'str'rA   Fz&could not convert string to float: 'a')r   r'   r|   r}   r~   r®   rv   ÚlocrF   rG   rK   rM   rN   rš   )r›   r  Údf1Údf2rV   rY   rž   r!   r!   r"   Útest_numeric_only_flag1  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 )Nra   r¨   c                 S   s   | j dd�t t| ƒ¡ S r  )r‰   r'   r«   r&   r   r!   r!   r"   r  X  s    z1TestDataFrameAnalytics.test_sem.<locals>.<lambda>r1   r
  r  r   r=   rÛ   F)rŠ   rL   rG   r  r'   r  r|   r}   r   Únansemr¿   rÜ   rÝ   r  r!   r!   r"   Útest_semV  s   "þzTestDataFrameAnalytics.test_semzdropna, expectedTé   g      $@rÑ   r4   )Ú
categoriesú
2000-01-02úM8[ns]ú1 days)rô   rõ   rö   ÚDÚEÚFÚGFé   é	   )r  ÚNaTr&  r&  ©r  r(   r(   r(   ©r   r9   r1   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t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  é   é   ro   rµ   r9   r4   rb   r0  r  r'  )r$  r$  r%  r%  )r%  r%  r$  r$  )r  r  r&  r&  )r  r(   r  r(   ra   Úint64)rô   rõ   rö   r   r!  r"  r#  r)  r*  r+  r,  r-  r.  r/  r÷   )r   r'   r(   r   rv   r	   r   r   ÚarangeÚsortedÚkeysÚmoderG   Úassert_frame_equal)r›   r%   rY   rU   rV   r!   r!   r"   Útest_mode_dropnac  s,   :
ÿ
ðÿz'TestDataFrameAnalytics.test_mode_dropnac                 C   s�   t dtjtjddgiƒ}t ddtjgiƒ}|rd nt}t |¡� |jdd�}|jdd�jdd�}W d   ƒ n1 s;w   Y  t 	||¡ d S )Nrô   r4   Fr÷   )ÚbyT)Údrop)
r   r'   r(   ÚUserWarningrG   rH   r7  Úsort_valuesÚreset_indexr8  )r›   r�   rU   rY   ÚwarningrV   r!   r!   r"   Útest_mode_sortwarning¶  s   þz,TestDataFrameAnalytics.test_mode_sortwarningc                 C   sD   t g ddgd�}| ¡ }t g ddgtg tjd�d�}t ||¡ d S )Nr4   r0   rç   rb   ©rm   rD   )r   r7  r   r'   r3  rG   r8  ©r›   rU   rV   rY   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   ©r3   Úfreqz2012-1-2Ú20120101rn   )ÚminutesÚsecondsró   rô   rö   rõ   rþ   r   )r   rô   r9   )r   rõ   r=   )r1   rô   )r1   rõ   rÇ   rÑ   r!  Ú20130101r"  i1  ©rH  éÿÿÿÿ)Údaysrÿ   Tr“   )r9   r9   rÑ   rË   Ú20130102r2   Ú20130105)ÚtimeÚtime2rP  rO  Úoff1útimedelta64[ns]Úoff2)r   r   r   r   r…   rx   r  Úallr†   ÚabsrG   r8  Úcopyr   rÜ   Ú	Timedeltarm   rK   rE   Ú_consolidate_inplace)r›   rU   ÚdiffsrV   Úresult2rY   Ú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 Dayro   r2   rþ   T©rV  )rq   rK  F©r8   rô   rõ   rR  rC   r9   r6   r   r$  )
rÜ   Útimedelta_ranger   r&  rx   r‰   r   rG   rK   rW  )r›   ÚtdirU   rV   rY   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&  ©rg   Úvaluer!   r!   r"   Ú	<genexpr>9  ó   € zFTestDataFrameAnalytics.test_std_datetime64_with_nat.<locals>.<genexpr>z=GH#51446: Incorrect type inference on NaT in reduction resultrß   r4   r^  c                 s   rb  r   rc  rd  r!   r!   r"   rf  B  rg  ztimedelta64[ú]rb   l     ž"R: )rT  rM   ÚmarkÚxfailÚapplymarkerr   Úas_unitr   r‰   r   rÜ   r&  rG   rK   )r›   r   r8   Úusing_array_managerÚrequestr^   ri  ÚdtirU   rV   rY   r!   r!   r"   Útest_std_datetime64_with_nat1  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   r9   )r   r>   rI   r   r&   )r›   Úempty_frameÚaxis0Úaxis1r!   r!   r"   Útest_sum_cornerI  s   

z&TestDataFrameAnalytics.test_sum_cornerrD   ÚME)rE  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 )Nr4   rA  r9   r=   )r¿   rT  rt   r�   r3  rv   rC   ©r   rF   r   rG   rK   )r›   Úall_reductionsrD   rU   rV   Úexpected_dtyperY   r!   r!   r"   Útest_axis_1_emptyS  s   z(TestDataFrameAnalytics.test_axis_1_emptyzmethod, unit)r>   r   )r?   r9   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”   Úfloat64rC   r9   )r”   Ú	min_countrÿ   r   ro   rn   rþ   rô   rõ   é   )r   r'   r(   rF   r   rG   rK   rx   )r›   rÂ   r^   r”   ÚidxrU   rV   rY   r!   r!   r"   Útest_sum_prod_nanopsj  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]©rE   rD   ©r|  r9   )	r   r'   r(   rL   r   r>   r   rG   rK   )r›   r~  rU   r  rV   rY   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ò   ©ra   rn   r}  )r   Úyro   r‚  r   r…  rÿ   )r   r>   r   r'   r(   rG   rK   rB  r!   r!   r"   Útest_sum_nanops_min_count¡  s   z0TestDataFrameAnalytics.test_sum_nanops_min_countÚ
float_type)Úfloat16r¬   r{  zkwargs, expected_result)r7   r|  gš™™™™™	@g333333@r6   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µ   ©r4   r0   rb   r!   )r   r'   r(   r>   r   r®   rG   rK   ©r›   r‡  ÚkwargsÚexpected_resultrU   rV   rY   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Š  rb   r!   )r   r'   r(   r?   r   r®   rG   rK   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 )Nr{   r9   )r   r®   r×   r   rD   rm   r   r>   )r›   r¡   r   rQ   Údeltasr!   r!   r"   Útest_sum_objectÊ  s   z&TestDataFrameAnalytics.test_sum_objectc                 C   s"   t  |¡}| d¡ | d¡ d S )Nr9   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ü   ra   r2   rÐ   rþ   )r1   rµ   ra   z does not support reduction 'sum'rA   )r   r   rê   rM   rN   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 )	Nz"Could not convert|does not supportrA   r   r=   úunsupported operand typer9   rô   rt   )rM   rN   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-01r2   Ú1DÚ2016ÚYrD  )rô   rõ   rö   r   Trz  rô   rÑ   z'mean is not implemented for PeriodArrayrA   )r   r'   r4  r   rÜ   r_  Úperiod_ranger‚   r   rG   rK   rM   rN   rš   rB  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™  r2   rš  ró   Frz  r9   )r9   rõ   )r9   rö   r›  rœ  rD  r   z"mean is not implemented for PeriodrA   )r   r'   r4  r   rÜ   r_  r‚   r   r  rG   rK   r�  rM   rN   rš   rB  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 )
Nr1   r  )ro   rn   )ÚsizeÚInt64rb   Trz  ÚFloat64)	r'   r|   r}   Úintegersr   r‚   r®   rG   rK   )r›   r  rU   rV   rY   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Ú   rA   r9   r–  )rM   rN   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 )Nr9   ro   r{   r=   r   )r   rJ   r   r>   )r›   rU   r“  r!   r!   r"   Útest_sum_bools'  s   z%TestDataFrameAnalytics.test_sum_boolsr8   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 )Nrn   ro   r`   rp   rq   Fr9   z3The behavior of DataFrame.idxmin with all-NA valuesrA   r6   zThe behavior of Series.idxmin)r'   r(   rx   ÚFutureWarningrG   rH   ÚidxminrL   r   r®   rD   rE   rK   ©r›   r¡   rÀ   r8   r7   rQ   rU   Úwarnrž   rV   Úmsg2rY   r!   r!   r"   Útest_idxmin/  ó$   ÿÿô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ç   r6   rb   )r   r©  r   rE   rG   rK   ©r›   rD   r8   r7   rQ   rV   rY   r!   r!   r"   Útest_idxmin_emptyC  ó   
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©r1   rµ   r9   ©r1   r9   r9   ÚxyxrÄ   rz  r1   r9   r4   r0   rÿ   )r1   r9   r   )r   rw   r©  r   rG   rK   ©r›   r”   rU   rV   rY   r!   r!   r"   Útest_idxmin_numeric_onlyP  ó   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 DataFramerA   r1   r=   )rM   rN   rO   r©  ©r›   r¡   rQ   rž   r!   r!   r"   Útest_idxmin_axis_2Z  ó
   "ÿz)TestDataFrameAnalytics.test_idxmin_axis_2c              	   C   r§  )Nrn   ro   r`   rp   rq   Fr9   z3The behavior of DataFrame.idxmax with all-NA valuesrA   r6   zThe behavior of Series.idxmax)r'   r(   rx   r¨  rG   rH   ÚidxmaxrL   r   r®   rD   rE   rK   rª  r!   r!   r"   Útest_idxmax`  r®  z"TestDataFrameAnalytics.test_idxmaxc                 C   r¯  r°  )r   rÀ  r   rE   rG   rK   r±  r!   r!   r"   Útest_idxmax_emptyt  r³  z(TestDataFrameAnalytics.test_idxmax_emptyc                 C   r´  )Nrµ  r¶  r·  rÄ   rz  r9   r   r4   r0   rÿ   )r9   r   r9   )r   rw   rÀ  r   rG   rK   r¸  r!   r!   r"   Útest_idxmax_numeric_only�  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]rb   r9   r   r4   r0   rÿ   r1   )r0   rÅ   r4   zstring[pyarrow]Frz  )rM   r½   r   rÀ  r   rG   rK   r©  rB  r!   r!   r"   Útest_idxmax_arrow_types‹  s   
z.TestDataFrameAnalytics.test_idxmax_arrow_typesc                 C   r»  r¼  )rM   rN   rO   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µ   r2   )r   r1   r9   rK  T)Údeeprò   )r9   r   r1   rÿ   )r   r1   r   )r   rµ   ra   )r9   r   r1   r   rÐ   )r   r1   r9   r1   )r   r   rJ   rV  rÀ  r   rG   rK   r©  rÜ   r&  r  rX  ©r›   ro  rU   rV   rY   r!   r!   r"   Útest_idxmax_mixed_dtype§  s.   *z.TestDataFrameAnalytics.test_idxmax_mixed_dtypezop, expected_valuerÀ  r©  rn   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   r9   r1   r   )ÚIDre  r¡  rb   rÌ  re  rÊ  rË  )ÚnamerE   rÿ   )r   ÚgroupbyrF   r   rG   r8  )r›   rÏ   Úexpected_valuerU   rV   rY   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µ   r2   rK  )rµ   ra   Tr]  )r   r   r9   r=   )ra   rµ   rµ   )ra   rµ   ra   )r   r   rÜ   r&  rx   rX  rÀ  r   rG   rK   r©  rÈ  r!   r!   r"   Ú"test_idxmax_dt64_multicolumn_axis1ã  s   z9TestDataFrameAnalytics.test_idxmax_dt64_multicolumn_axis1r¿   rT  Ú	bool_onlyc                 C   s8   |}t j d¡ t|ƒ¡dk|d< t||ƒ||d� d S )Nr1   g      à?Ú_bool_©r7   rÒ  )r'   r|   r}   r~   r&   rF   )r›   rP   r7   rÒ  rœ   r[  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›   rP   r7   rz   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"   r5     r$   z?TestDataFrameAnalytics.test_any_all_bool_frame.<locals>.wrapperr   Fr6   r9   r=   )r:   r@   rA   r1   r¿   )ÚfillnarF   r'   rG   rK   rL   rM   rN   rO   r(   r¿   rT  )r›   rP   rz   rQ   rT   r#   r5   rW   rX   r[   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õ   r9   r=   TrÔ  ©rÒ  Frö   )r   r¿   r   rG   rK   rT  ÚitemrB  r!   r!   r"   Útest_any_all_extra1  s.   ýú
z)TestDataFrameAnalytics.test_any_all_extraÚbool_agg_funcc           	      C   sš   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�}|r2|dk o0| o0|dk}nd}t||ƒ||d�}tdd|dgƒ}t ||¡ d S )	Nr9   Tr1   Ú5©Údatar   rT  r6   )r   r'   r(   rF   r   rG   rK   )	r›   r7   rÜ  r8   r�   rU   ÚvalrV   rY   r!   r!   r"   Útest_any_all_object_dtypeR  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 )Nr9   rµ   z
1960-02-15z
1960-02-16rþ   r=   )TTTF)
r'   r(   r   rÜ   r&  r   r¿   r   rG   rK   )r›   Ú
float_dataÚdatetime_datarU   rV   rY   r!   r!   r"   Útest_any_datetimek  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Úcol3rb   rç   TrÙ  r�  )FFT)rå  ræ  rç  Úcol4rè  F)	r   r   rv   rT  r   r'   Úbool_rG   rK   rB  r!   r!   r"   Útest_any_all_bool_only~  s"   þüÿ	z-TestDataFrameAnalytics.test_any_all_bool_onlyzfunc, data, expectedrô   rþ   rÃ   rØ   zM8[ns, UTC]r€  Úcategoryro   rp   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   )rI   r
   )rg   r   r!   r!   r"   rf  Í  rg  z>TestDataFrameAnalytics.test_any_all_np_func.<locals>.<genexpr>z)dtype category does not support reductionrA   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)rB   Úcheck_stacklevel)r   r¿   ÚdtypesrM   rN   rš   rF   Ú__name__rL   r¨  rG   rH   rI   r'   ré  rÚ  )r›   Úfuncrß  rY   rž   r«  rV   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 )Nr4   r0   rç   TF)r'   rT  r   rÚ  r¿   )r›   rV   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Ç   r1   TFrþ   rö   rë  r   r   )rÒ  r7   rÿ   rõ   )r   r®   rv   rX  r   Ú_get_bool_datarG   r8  rT  rK   r¿   )r›   rU   ÚresrY   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ñ   r9   r   )Úlowerr7   )ÚltÚleÚgtÚgeÚeqÚner=   )r   r'   r(   r   rG   rH   ÚcliprF   )r›   rU   Údf_nanr¤   Ús_nanrÏ   r!   r!   r"   Útest_series_broadcasting  s   ÿ"þz/TestDataFrameAnalytics.test_series_broadcasting)[rï  Ú
__module__Ú__qualname__rM   ri  ÚparametrizeÚparamÚtdÚ
skip_if_norŸ   r¢   r²   r¾   rÁ   r   r'   r(   rv   ÚfilterwarningsrÎ   rÞ   rj  r   rð   rù   r  r  r  r  r  r  r	   r   r   rì   rÜ   r&  r9  r@  rC  r\  ra  rp  rt  r   r   r3  r{  r   ry  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¿   rT  r   r×   rñ  rò  rõ  r   r!   r!   r!   r"   r€   â   sd   óþ.ôþ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   rG   rK   r†   )r›   rU   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Š  r9   Fr6   )r   r4   r4   )r   r0   )rI   r   r   rM   Úskipr   r   rÜ   r&  r…   r   r  rE   rG   rK   r†   )r›   rn  Útz_naive_fixturerú   rU   rô  rY   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=   r9   )
r   r   r   r…   r   rÜ   r&  r†   rG   rK   )r›   rU   Úexpected_dt_seriesr!   r!   r"   Ú*test_min_max_dt64_api_consistency_with_NaT]  s   &&zBTestDataFrameReductions.test_min_max_dt64_api_consistency_with_NaTc                 C   s�   t dg iƒ}tg td�}t |jdd�j¡t | ¡ ¡ksJ ‚t |jdd�j¡t | ¡ ¡ks2J ‚t 	|jdd�|¡ t 	|jdd�|¡ d S )Nr   rb   r   r=   r9   )
r   r   rØ   r'   r’  r…   r   r†   rG   rK   )r›   rU   Úexpected_float_seriesr!   r!   r"   Ú*test_min_max_dt64_api_consistency_empty_dfl  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 )Nr9   r=   )r   r   r   rF   rG   rK   )r›   r  rÂ   Ú
initial_dtrY   rU   rV   r!   r!   r"   Útest_preserve_timezonex  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Š  r9   r6   )r   r   r   rÜ   r&  rF   rG   rK   )r›   rÂ   r8   rà  rU   rÏ   rV   rY   r!   r!   r"   Ú!test_minmax_tzaware_skipna_axis_1…  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¤   r9   Úms)r4   Útr=   FTr4   r  )rß  rD   rÞ  )r   r   r   r¿   rG   rK   rB  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.rA   r^  )rk  rM   ri  rj  rN   rO   rF   )r›   rn  Úframe_or_seriesrw  Ú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]rb   z2019-12-31 00:00:00.123zdatetime64[ms]rŠ  r4   r0   r�  )r   r   r   r†   rG   rK   rB  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]rb   ztimedelta64[ms]rŠ  r4   r0   r�  )r   r   rÜ   rW  r†   rG   rK   rB  r!   r!   r"   Ú&test_reduction_timedelta_smallest_unitÄ  s   þÿýz>TestDataFrameReductions.test_reduction_timedelta_smallest_unitN)rï  r  r  r
  r  r  r  rM   ri  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¿   rT  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   r9   rë  rô   )rE   rÍ  údoes not support reductionrA   FrÙ  r=   )r   Úto_framerM   rN   rš   rF   r'   )r›   rÂ   ÚserrU   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ô   )r9   r1   r1   r1   rµ   r"  rA   Frz  rõ   )r   r	   rM   rN   rš   r„   r®   r×   )r›   rU   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)r4   r0   rÅ   r0   F)Úorderedrô   zis not ordered for operationrA   rz  r   r=   rõ   )
r	   r   r#  rM   rN   rš   rF   r'   r®   rv   )r›   rÂ   Úcatr$  rU   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  rM   ri  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?   r9   c                 C   óB   t g g dœ|d�}t||ƒdd�}t||g|d�}t ||¡ d S ©N©r   r9   rb   r   r‚  rv  ©r›   rP   rE   Ú	exp_valueÚ	exp_dtyperU   rV   rY   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-  rb   r9   r‚  )r   rF   r   r'   r(   rG   rK   ©r›   rP   rE   r0  rU   rV   rY   r!   r!   r"   Útest_df_empty_min_count_1@  ó   z6TestEmptyDataFrameReductions.test_df_empty_min_count_1ÚInt8ÚInt32r¡  )r>   r¡  r   r¡  )r?   r¡  r9   r¡  ÚUInt8ÚUInt32ÚUInt64)r>   r;  r   r;  )r?   r;  r9   r;  )r>   ÚFloat32r   r<  )r?   r<  r9   r<  )r>   r¢  r   r¢  c                 C   r+  r,  rv  r.  r!   r!   r"   Ú"test_df_empty_nullable_min_count_0W  s   z?TestEmptyDataFrameReductions.test_df_empty_nullable_min_count_0)r>   r¡  r¡  )r?   r¡  r¡  )r>   r;  r;  )r?   r;  r;  )r>   r<  r<  )r?   r<  r<  )r>   r¢  r¢  c                 C   r2  r3  )r   rF   r   rÜ   ÚNArG   rK   r4  r!   r!   r"   Ú"test_df_empty_nullable_min_count_1q  r6  z?TestEmptyDataFrameReductions.test_df_empty_nullable_min_count_1N)rï  r  r  rM   ri  r  r'   Úint8r3  Úint_Úuint8Úuint64Úuintr¬   r{  r1  r5  Úis_windows_np2_or_is32r=  Ú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]ra   r1   ÚNat)rK  rK  Fr^  r  rJ  rb   r   r6   r9   rn   r%  )rM   ri  rj  rk  r'   r4  r®   r3  ÚviewÚreshaper   rî  rE   rT  r>   r   rÜ   rW  r&  rG   rK   )rm  rn  ri  r  rU   rV   rY   r!   r!   r"   Ú!test_sum_timedelta64_skipna_false‰  s0   ÿ
 


üù	rJ  z#sum doesn't work with arrow stringsrß   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 )Nr4   r9   Úabrç   r0   r¡  rÿ   )r   rw   r®   r>   r   rG   rK   )rU   rV   rY   r!   r!   r"   Ú!test_mixed_frame_with_integer_sum«  s
   rL  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 )Nr3  rb   r¡  rz  r�  )r'   Úiinfor   r†   r…   rÜ   Ú
Int64Dtyper   rF   r   rG   rK   )rÂ   r”   Ú
int64_infor$  rU   rV   rY   r!   r!   r"   Útest_minmax_extensionarray·  s   

ýrP  Ú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 )Nr9   gš™™™™™ñ?rÇ   rÕ   r"  rA   )r   rM   rN   rš   r>   )rQ  rU   r!   r!   r"   Ú.test_frame_mixed_numeric_object_with_timestampÇ  s   
"ÿrR  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)r9   r4   Tr   r9   F)r7   r|  r”   r4   rb   z2unsupported operand type(s) for +: 'int' and 'str'rA   )r   r?   r   rv   rG   rK   r–   ÚescaperM   rN   rš   r>   )rU   rV   rY   rž   r!   r!   r"   Ú$test_prod_sum_min_count_mixed_objectÏ  s   
"ÿrT  )r…   r†   r‚   r„   r‹   rŽ   rE   r{  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 )Nr1   )ra   ra   rb   r“   >   rŽ   r‹   r³   rŽ   r¼   F)r·   r7   r=   )r   r'   r|   r}   r~   rF   Úto_numpyr{  rM   r½   rG   r  )rÂ   r”   rE   rU   rV   Únp_arrÚcomp_modrY   r!   r!   r"   Ú'test_reduction_axis_none_returns_scalarÜ  s   
rX  Ú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Š  r[  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 numericrA   )r   rv   r•   rM   rN   rš   rF   )rY  rU   Úargsrž   Úmsg1r¬  r!   r!   r"   Útest_fails_on_non_numericñ  s   ÿ	ÿÿ"ÿr`  )rT  r¿   r�   rÀ  r©  rŽ   r¼   r†   r‚   r„   r…   r‡   r?   rƒ   rŠ   r‹   r‰   r>   rˆ   r|  r1   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(  rb   r   r9   rµ   rŠ  )rÃ   rÑ   rÒ   rÓ   rÃ   rÑ   rÓ   r�   r3  )rT  r¿   Úboolean)rŽ   r¼   r‚   r„   rŠ   r‹   r‰   rˆ   ÚFloatr¢  )r�   r‡   r]  r8   )r?   rƒ   r>   r|  )rÀ  r©  zThe behavior of DataFrame.z with all-NA valuesrA   r7   r!   )r   r   rÜ   r>  r'   r(   Ú
startswithr¨  rG   rH   rF   r®   rK   )rÂ   r8   r|  Úany_numeric_ea_dtyperU   Úexpected_dfrx  rŒ  r«  rž   rV   rY   r!   r!   r"   Útest_numeric_ea_axis_1#  sL   þÿþÿ	÷
ÿÿ
rf  r   )TTFr.   r/   N)BÚdatetimer   Údecimalr   r–   Údateutil.tzr   Únumpyr'   rM   Úpandas._configr   Ú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Ú_testingrG   Úpandas.corer   r   rE  rF  r-   r_   Úfixturerz   r   r€   r  r!  r*  rJ  ri  rj  rL  r  rP  r&  rR  rT  rX  r`  rf  r!   r!   r!   r"   Ú<module>   sŠ    @
$
÷n

          O 0Ra"ÿ
	
þ
þ