a
    é´«jØæ  ã                   @   s  d dl m Z mZ d dlmZ d dlZd dl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mZmZmZ d dlmZ d dlmZ d dlm Z  dd„ Z!G d	d
„ d
ƒZ"G dd„ dƒZ#G dd„ dƒZ$G dd„ dƒZ%G dd„ dƒZ&G dd„ dƒZ'dS )é    )ÚdatetimeÚ	timedelta)ÚDecimalN)ÚCategoricalÚ	DataFrameÚDatetimeIndexÚIndexÚNaTÚPeriodÚPeriodIndexÚ
RangeIndexÚSeriesÚ	TimedeltaÚTimedeltaIndexÚ	TimestampÚ
date_rangeÚisnaÚperiod_rangeÚtimedelta_rangeÚto_timedelta)Únanops)ÚArrowStringArrayNumpySemanticsc                     sÆ   t ddgd dd�t t d¡tjdd�t t d¡tjdd�ttddd	�dd�ttddd	�dd�jd
d�tt	dddd�dd�t dd„ t
dƒD ƒdd�g} tj d¡ d¡‰ ‡ fdd„| D ƒ}| | }|S )NTFé   Úa)Únameé
   ©Údtyper   ú
2020-01-01©Úperiodsz
US/Eastern©ÚtzÚD©r    Úfreqc                 S   s   g | ]}t |ƒ‘qS © )Ústr©Ú.0Úir&   r&   úf/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/reductions/test_reductions.pyÚ
<listcomp>-   ó    zget_objs.<locals>.<listcomp>é   c                    s   g | ]}t ˆ |d d�‘qS )r   ©Úindexr   )r   )r)   Úidx©Úarrr&   r+   r,   1   r-   )r   ÚnpÚarangeÚint64Úfloat64r   r   Útz_localizer   r   ÚrangeÚrandomÚdefault_rngÚstandard_normal)ZindexesÚseriesÚobjsr&   r2   r+   Úget_objs#   s    ÿ÷r?   c                   @   s  e Zd Zej d¡ej dddg¡ej deƒ ¡dd„ ƒƒƒZej dddg¡ej dd	d
de	dddƒfddg¡dd„ ƒƒZ
ej dddg¡dd„ ƒZej dddg¡ej dddg¡dd„ ƒƒZdd„ Zej dddgddgg¡dd „ ƒZej d!d"d#g¡d$d%„ ƒZd&d'„ Zd(S ))ÚTestReductionsz8ignore:Period with BDay freq is deprecated:FutureWarningÚopnameÚmaxÚminÚobjc                 C   s    t ||ƒƒ }t|tƒsHt|jtƒr8t t |j¡|ƒƒ }q`t |j|ƒƒ }ntt |j|ƒƒ |j	d�}t |dd ƒd ur�| 
d¡ 
d¡}|j|ksœJ ‚n||ksœJ ‚d S )N)Zordinalr%   r"   úM8[ns]r6   )ÚgetattrÚ
isinstancer   Úvaluesr   r4   Úarrayr
   Zasi8r%   ÚastypeÚ_value)ÚselfrA   rD   ÚresultÚexpectedr&   r&   r+   Útest_ops8   s    
zTestReductions.test_opsz
dtype, val)Úobjectç       @)r7   rQ   údatetime64[ns]éÛ  é   é   )ÚInt64r.   )ÚbooleanTc                    s  |}‡ fdd„}|d gˆ d�}|t ||ƒƒ ƒs2J ‚|t ||ƒdd�ƒsJJ ‚|g ˆ d�}|t ||ƒƒ ƒsjJ ‚|t ||ƒdd�ƒs‚J ‚ˆ dkrŽd S |d |gˆ d�}t ||ƒƒ |ks²J ‚|t ||ƒdd�ƒsÊJ ‚|d |d gˆ d�}t ||ƒƒ |ksðJ ‚|t ||ƒdd�ƒ�s
J ‚d S )Nc                    s.   ˆ dkr| t u S ˆ dv r"| tju S t| ƒS d S )NrR   )rV   rW   )r	   ÚpdÚNAr   )Úres©r   r&   r+   Úcheck_missing^   s
    
z4TestReductions.test_nanminmax.<locals>.check_missingr[   F©ÚskipnarP   )rF   )rL   rA   r   ÚvalÚindex_or_seriesÚklassr\   rD   r&   r[   r+   Útest_nanminmaxO   s     zTestReductions.test_nanminmaxc                 C   sN  |}|t u rd| nd| }|ttdddƒgƒ}t||ƒƒ dksDJ ‚d}|tu rTd}tjt|d��  t||ƒd	d
�}W d   ƒ n1 sˆ0    Y  |tu rªt 	|¡s¶J ‚n|dks¶J ‚|ttdddƒtgƒ}t||ƒƒ dksàJ ‚tjt|d��  t||ƒd	d
�}W d   ƒ n1 �s0    Y  |tu �r<t 	|¡�sJJ ‚n|dk�sJJ ‚d S )NÚargr1   rS   rT   rU   zNThe behavior of (DatetimeIndex|Series).argmax/argmin with skipna=False and NAsz2The behavior of Series.(idxmax|idxmin) with all-NA©ÚmatchFr]   éÿÿÿÿ)
r   r	   r   rF   r   ÚtmÚassert_produces_warningÚFutureWarningr4   Úisnan)rL   rA   r`   ra   Úarg_oprD   ÚmsgrM   r&   r&   r+   Útest_nanargminmaxz   s(    ÿ.0
z TestReductions.test_nanargminmaxr   rE   zdatetime64[ns, UTC]c                 C   sÐ   |}|t u rd| nd| }|g |d�}t||ƒƒ tu s<J ‚t||ƒdd�tu sTJ ‚tjtdd�� t||ƒƒ  W d   ƒ n1 s„0    Y  tjtdd��  t||ƒdd� W d   ƒ n1 sÂ0    Y  d S )Nrc   r1   r[   Fr]   zempty sequencerd   )r   rF   r	   ÚpytestÚraisesÚ
ValueError)rL   rA   r`   r   ra   rk   rD   r&   r&   r+   Útest_nanops_empty_objectš   s    *z'TestReductions.test_nanops_empty_objectc                 C   sü  t tjddd�ƒ}| ¡ dks"J ‚| ¡ dks2J ‚t tjdtjdgƒ}| ¡ dksVJ ‚| ¡ dksfJ ‚d	}tjt|d
��$ |jdd�dksŽJ ‚W d   ƒ n1 s¢0    Y  tjt|d
��$ |jdd�dksÐJ ‚W d   ƒ n1 sä0    Y  t tjgƒ}tjt|d
��" | ¡ dk�sJ ‚W d   ƒ n1 �s20    Y  tjt|d
��" | ¡ dk�s^J ‚W d   ƒ n1 �st0    Y  tjt|d
��& |jdd�dk�s¤J ‚W d   ƒ n1 �sº0    Y  tjt|d
��& |jdd�dk�sêJ ‚W d   ƒ n1 �s 0    Y  d}t t	t
dddƒt
dddƒt	gƒ}| ¡ dk�s@J ‚| ¡ dk�sRJ ‚tjt|d
��& |jdd�dk�sxJ ‚W d   ƒ n1 �sŽ0    Y  tjt|d
��& |jdd�dk�s¾J ‚W d   ƒ n1 �sÔ0    Y  t t	gƒ}tjt|d
��" | ¡ dk�s
J ‚W d   ƒ n1 �s 0    Y  tjt|d
��" | ¡ dk�sLJ ‚W d   ƒ n1 �sb0    Y  tjt|d
��& |jdd�dk�s’J ‚W d   ƒ n1 �s¨0    Y  tjt|d
��& |jdd�dk�sØJ ‚W d   ƒ n1 �sî0    Y  d S )Nr   r6   r[   r   é   rU   r.   é   z=The behavior of Index.argmax/argmin with skipna=False and NAsrd   Fr]   rf   zEThe behavior of DatetimeIndex.argmax/argmin with skipna=False and NAsrS   rT   )r   r4   r5   ÚargminÚargmaxÚnanrg   rh   ri   r	   r   )rL   rD   rl   r&   r&   r+   Útest_argminmaxª   sJ    222266 66
226zTestReductions.test_argminmaxzop, expected_colr   Úbc                 C   s\   t tdddd�dgd�}|j tdd�¡|d	< t||ƒd
d�}||  d ¡}t ||¡ d S )Nz2016-01-01 00:00:00rs   ÚUTC)r    r"   r   )Úcolumnsi  ©Úsecondsrx   rU   ©Úaxis)	r   r   r   Úsubtractr   rF   Úrenamerg   Úassert_series_equal)rL   ÚopZexpected_colÚdfrM   rN   r&   r&   r+   Útest_same_tz_min_max_axis_1Õ   s    ÿz*TestReductions.test_same_tz_min_max_axis_1ÚfuncÚmaximumÚminimumc                 C   s>   |}t  dg¡ |¡}t|ƒ}tt|ƒ||ƒ}t ||¡ d S )NZ2019)rX   Úto_datetimer8   r   rF   r4   rg   r�   )rL   Ztz_aware_fixturer…   r"   rc   rN   rM   r&   r&   r+   Ú(test_numpy_reduction_with_tz_aware_dtypeà   s
    z7TestReductions.test_numpy_reduction_with_tz_aware_dtypec                 C   sV   t tddtgdd�tddtjgdd�dœƒ}ttdƒddœƒ}| ¡ }t ||¡ d S )NrU   r.   útimedelta64[ns]r[   rV   ©ÚAÚBrs   )	r   r   r	   r4   rv   r   Úsumrg   r�   )rL   rƒ   rN   rM   r&   r&   r+   Útest_nan_int_timedelta_sumé   s    þÿz)TestReductions.test_nan_int_timedelta_sumN)Ú__name__Ú
__module__Ú__qualname__rn   ÚmarkÚfilterwarningsÚparametrizer?   rO   r   rb   rm   rq   rw   r„   r‰   r�   r&   r&   r&   r+   r@   7   s8   ÿûþ
 
+


r@   c                	   @   sú   e Zd Zej dg d¢¡dd„ ƒZdd„ Zej ddd	g¡d
d„ ƒZdd„ Z	dd„ Z
ej dg d¢¡dd„ ƒZdd„ Zej ddd	g¡dd„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zej ddd	g¡ej d g egeeegg¡d!d"„ ƒƒZd#d$„ Zd%d&„ Zd'S )(ÚTestIndexReductionszstart,stop,step))r   i�  rs   )iô  r   iúÿÿÿ)éÀ½ðÿé@B rr   )r˜   r—   éüÿÿÿ)r   r   é   c                 C   sª   t |||ƒ}|j ¡ }| ¡ }||ks*J ‚|jdd�}||ksBJ ‚|j ¡ }| ¡ }||ks`J ‚|jdd�}||ksxJ ‚t ||| ƒ}t| ¡ ƒs–J ‚t| ¡ ƒs¦J ‚d S ©NFr]   )r   Z_valuesrB   rC   r   )rL   ÚstartÚstopÚstepr1   rN   rM   Zresult2r&   r&   r+   Útest_max_min_rangeû   s    

z&TestIndexReductions.test_max_min_rangec                 C   sŒ   t g d¢ƒ}|jsJ ‚t dtjddgƒ}|jr2J ‚||fD ]L}| ¡ tdƒksRJ ‚| ¡ tdƒksfJ ‚| ¡ dksvJ ‚| ¡ dks:J ‚q:d S )N)ú1 daysú2 daysú3 daysr    r¢   r	   r   r.   )	r   Úis_monotonic_increasingr4   rv   rC   r   rB   rt   ru   ©rL   Úidx1Úidx2r1   r&   r&   r+   Útest_minmax_timedelta64  s    

z+TestIndexReductions.test_minmax_timedelta64r‚   rC   rB   c                 C   s`   t g ƒ}t||ƒƒ tu sJ ‚t tgƒ}t||ƒƒ tu s:J ‚t tttgƒ}t||ƒƒ tu s\J ‚d S ©N)r   rF   r	   ©rL   r‚   rD   r&   r&   r+   Ú!test_minmax_timedelta_empty_or_na,  s    
z5TestIndexReductions.test_minmax_timedelta_empty_or_nac                 C   s^  t dddd�}t |¡tdƒks$J ‚t |¡tdƒks:J ‚d}tjt|d�� tj|dd� W d   ƒ n1 sp0    Y  tjt|d�� tj|dd� W d   ƒ n1 s¬0    Y  t |¡dksÈJ ‚t 	|¡d	ksÚJ ‚d}tjt|d�� tj|dd� W d   ƒ n1 �s0    Y  tjt|d�� tj	|dd� W d   ƒ n1 �sP0    Y  d S )
Nz
16815 daysz
16820 daysr#   ©r%   ú$the 'out' parameter is not supportedrd   r   ©Úoutr   )
r   r4   rC   r   rB   rn   ro   rp   rt   ru   )rL   ÚtdÚerrmsgr&   r&   r+   Útest_numpy_minmax_timedelta648  s    ,,.z1TestIndexReductions.test_numpy_minmax_timedelta64c                 C   s¦  t dd„ tdƒD ƒƒ}| ¡ }| ¡ }ttdd�ƒ}||ks@J ‚| ¡  ¡ }|d |ks\J ‚| d¡}tt	 
dd	¡ƒ}||ks‚J ‚| ¡ }td
ƒ}||ksžJ ‚| ¡  ¡ }|d |ksºJ ‚| ¡ }tdƒ}||ksÖJ ‚| ¡  ¡ }|d |ksòJ ‚| ¡ }tt | ¡ jƒ ¡ ƒ}||k�sJ ‚| ¡  ¡ }|d |k�s<J ‚t tdƒtdƒgƒ}| ¡  ¡ tdd�k�slJ ‚t tdƒtdƒtdƒgƒ}| ¡  ¡ tdd�k�s¢J ‚d S )Nc                 S   s"   g | ]}t d ƒt|| d� ‘qS ©Z20130101r{   ©r   r   r(   r&   r&   r+   r,   Q  r-   z:TestIndexReductions.test_timedelta_ops.<locals>.<listcomp>r   é	   r{   r   gš™™™™™¹?i(
  Úmsz00:00:09z00:01:21z
2015-02-03z
2015-02-07rr   )Údaysz
2015-02-15é   )r   r9   ÚdiffÚmeanr   r   Úto_frameZquantiler   r4   Ztimedelta64ÚmedianrŽ   ÚstdÚdropnarH   r   )rL   Úsr¯   rM   rN   r&   r&   r+   Útest_timedelta_opsM  sB    ÿ
ÿz&TestIndexReductions.test_timedelta_opsrA   )ZskewZkurtZsemÚprodÚvarc                 C   sÆ   t dd„ tdƒD ƒƒ}| ¡ }d d|› d�d|› d�d	|› d
�g¡}tjt|d�� t||ƒƒ  W d   ƒ n1 sv0    Y  tjt|d��$ t| ¡ |ƒdd� W d   ƒ n1 s¸0    Y  d S )Nc                 S   s"   g | ]}t d ƒt|| d� ‘qS r²   r³   r(   r&   r&   r+   r,   …  r-   zDTestIndexReductions.test_invalid_td64_reductions.<locals>.<listcomp>r   ú|zreduction operation 'z' not allowed for this dtypezcannot perform z with type timedelta64\[ns\]zdoes not support reduction 'ú'rd   F)Znumeric_only)	r   r9   r¸   Újoinrn   ro   Ú	TypeErrorrF   rº   )rL   rA   r¾   r¯   rl   r&   r&   r+   Útest_invalid_td64_reductions‚  s    ÿ


ýÿ*z0TestIndexReductions.test_invalid_td64_reductionsc                 C   s    |}t g d¢|d�}|jsJ ‚t dtddtg|d�}|jr>J ‚||fD ]T}| ¡ td|d�ksbJ ‚| ¡ td|d�kszJ ‚| ¡ dksŠJ ‚| ¡ dksFJ ‚qFd S )N)ú
2011-01-01ú
2011-01-02ú
2011-01-03r!   rÇ   rÉ   rÈ   r   r.   )r   r£   r	   rC   r   rB   rt   ru   )rL   Ztz_naive_fixturer"   r¥   r¦   r1   r&   r&   r+   Útest_minmax_tz—  s    
ÿ
z"TestIndexReductions.test_minmax_tzc                 C   s`   t g ƒ}tt||ƒƒ ƒsJ ‚t tgƒ}tt||ƒƒ ƒs:J ‚t tttgƒ}tt||ƒƒ ƒs\J ‚d S r¨   )r   r   rF   r	   r©   r&   r&   r+   Útest_minmax_nat_datetime64©  s    
z.TestIndexReductions.test_minmax_nat_datetime64c                 C   sŽ  t g d¢ƒ}|j ¡ }t |¡}||ks,J ‚|j ¡ }t |¡}||ksLJ ‚d}tjt|d�� tj|dd� W d   ƒ n1 s‚0    Y  tjt|d�� tj|dd� W d   ƒ n1 s¾0    Y  |j ¡ }t |¡}||ksèJ ‚|j 	¡ }t 	|¡}||k�s
J ‚d}tjt|d�� tj	|dd� W d   ƒ n1 �sB0    Y  tjt|d�� tj|dd� W d   ƒ n1 �s€0    Y  d S )N©rU   r.   rs   r¬   rd   r   r­   )
r   rH   rB   r4   rC   rn   ro   rp   ru   rt   )rL   r1   rN   rM   r°   r&   r&   r+   Útest_numpy_minmax_integerµ  s.    



,,



.z-TestIndexReductions.test_numpy_minmax_integerc                 C   s¸   t dddƒ}t |¡}|dks"J ‚t |¡}|dks8J ‚d}tjt|d�� tj|dd� W d   ƒ n1 sn0    Y  tjt|d�� tj|dd� W d   ƒ n1 sª0    Y  d S )Nr   r   rs   r´   r¬   rd   r­   )r   r4   rB   rC   rn   ro   rp   )rL   r1   rM   r°   r&   r&   r+   Útest_numpy_minmax_rangeÕ  s    

,z+TestIndexReductions.test_numpy_minmax_rangec                 C   s\  t ddd�}t |¡tdƒks"J ‚t |¡tdƒks8J ‚d}tjt|d�� tj|dd	� W d   ƒ n1 sn0    Y  tjt|d�� tj|dd	� W d   ƒ n1 sª0    Y  t |¡dksÆJ ‚t 	|¡d
ksØJ ‚d}tjt|d�� tj|dd	� W d   ƒ n1 �s0    Y  tjt|d�� tj	|dd	� W d   ƒ n1 �sN0    Y  d S )Nú
2016-01-15ú
2016-01-20©rœ   Úendz2016-01-15 00:00:00z2016-01-20 00:00:00r¬   rd   r   r­   r   )
r   r4   rC   r   rB   rn   ro   rp   rt   ru   )rL   Zdrr°   r&   r&   r+   Útest_numpy_minmax_datetime64è  s    ,,.z0TestIndexReductions.test_numpy_minmax_datetime64c                 C   sÒ   t tdddgdd�}|jrJ ‚|dd … js0J ‚t dtddtgdd�}|jrPJ ‚||fD ]4}| ¡ tddd�kstJ ‚| ¡ tddd�ksXJ ‚qX| ¡ dksžJ ‚| ¡ dks®J ‚| ¡ dks¾J ‚| ¡ d	ksÎJ ‚d S )
NrÇ   rÈ   rÉ   r#   r«   rU   r   rs   r.   )r   r	   r£   rC   r
   rB   rt   ru   r¤   r&   r&   r+   Útest_minmax_periodÿ  s    
ÿ
z&TestIndexReductions.test_minmax_periodÚdatac                 C   s(   t |dd�}t||ƒƒ }|tu s$J ‚d S )NÚMr«   )r   rF   r	   )rL   r‚   rÕ   rD   rM   r&   r&   r+   Útest_minmax_period_empty_nat  s    z0TestIndexReductions.test_minmax_period_empty_natc                 C   sd  t ddd�}t |¡tddd�ks&J ‚t |¡tddd�ks@J ‚d}tjt|d�� tj|dd	� W d   ƒ n1 sv0    Y  tjt|d�� tj|dd	� W d   ƒ n1 s²0    Y  t |¡dksÎJ ‚t 	|¡d
ksàJ ‚d}tjt|d�� tj|dd	� W d   ƒ n1 �s0    Y  tjt|d�� tj	|dd	� W d   ƒ n1 �sV0    Y  d S )NrÏ   rÐ   rÑ   r#   r«   r¬   rd   r   r­   r   )
r   r4   rC   r
   rB   rn   ro   rp   rt   ru   )rL   Úprr°   r&   r&   r+   Útest_numpy_minmax_period  s    ,,.z,TestIndexReductions.test_numpy_minmax_periodc                 C   sÈ   t jtdƒtdƒdd�}d}tjt|d�� | ¡  W d   ƒ n1 sH0    Y  d}tjt|d�� | ¡  W d   ƒ n1 s‚0    Y  t jtdƒtdƒdd�}| ¡ d	ks´J ‚| ¡ d
ksÄJ ‚d S )NZaabbcaZcabF©Ú
categoriesÚorderedzwCategorical is not ordered for operation min\nyou can use .as_ordered\(\) to change the Categorical to an ordered one\nrd   zwCategorical is not ordered for operation max\nyou can use .as_ordered\(\) to change the Categorical to an ordered one\nTÚcrx   )rX   ZCategoricalIndexÚlistrn   ro   rÅ   rC   rB   )rL   Úcirl   r&   r&   r+   Útest_min_max_categorical0  s    ÿ&ÿ&z,TestIndexReductions.test_min_max_categoricalN)r�   r‘   r’   rn   r“   r•   rŸ   r§   rª   r±   r¿   rÆ   rÊ   rË   rÍ   rÎ   rÓ   rÔ   r	   r×   rÙ   rà   r&   r&   r&   r+   r–   ö   s0   þ


5

 r–   c                   @   s˜  e Zd Zdd„ Zej dg d¢¡ej dddg¡ej dd	d
g¡dd„ ƒƒƒZej dddg¡ej dg d¢¡dd„ ƒƒZej dg d¢¡dd„ ƒZ	dd„ Z
ej dddg¡ej dddg¡dd„ ƒƒZej dddg¡ej dddg¡dd„ ƒƒZd d!„ Zej d"d#d$g¡d%d&„ ƒZej dd'¡ej d(ddg¡d)d*„ ƒƒZd+d,„ Zd-d.„ Zd/d0„ Zd1d2„ Zd3d4„ Zd5d6„ Zd7d8„ Zd9d:„ Zd;d<„ Zej d=d>d?g¡ej d(ddg¡d@dA„ ƒƒZej d=d>d?g¡ej dBddCgdCdgdejgejdgg¡dDdE„ ƒƒZej dg dF¢¡ej d=d>d?g¡ej d(ddg¡ej dGg dH¢ddgddggfg dI¢ddgddggfejejejgejejgddggfdJejdJgejdgddggfdKejdKgdejgddggfdKejdJgddgddggfg¡dLdM„ ƒƒƒƒZdNdO„ Z dPdQ„ Z!dRdS„ Z"dTdU„ Z#ej dVe$g ddW�e%fe$g dX¢ƒe&fe$dYdZgƒe&fe$d[d[d\d\dCejd]gƒe&fg¡d^d_„ ƒZ'd`da„ Z(dbdc„ Z)ddde„ Z*dfdg„ Z+dhdi„ Z,djdk„ Z-dldm„ Z.dCS )nÚTestSeriesReductionsc              	   C   s  t tj d¡ d¡ƒ}| ¡ }tj|dd…< tj|dd…< t | 	¡ ¡sLJ ‚tj d¡ d¡ 
d¡}tj|d d …df< d}tjt|d��P t d	d
¡�$ t | 	¡ | 	¡ ¡ W d   ƒ n1 sÀ0    Y  W d   ƒ n1 sÞ0    Y  tj|dd�}t |¡ ¡ �s
J ‚d S )Nr.   r   r   é   )éd   rã   Zf4ú"use_inf_as_na option is deprecatedrd   úmode.use_inf_as_naTrU   r}   )r   r4   r:   r;   r<   ÚcopyÚinfrv   ÚisinfrŽ   rJ   rg   rh   ri   rX   Úoption_contextÚassert_almost_equalr   ÚnansumÚall)rL   r¾   Ús2r3   rl   rZ   r&   r&   r+   Útest_sum_infI  s    Pz!TestSeriesReductions.test_sum_infr   )r7   ZFloat32rV   rW   rP   Úuse_bottleneckTFzmethod, unit)rŽ   ç        )rÀ   ç      ð?c                 C   s\  t  d|¡��8 tg |d�}t||ƒƒ }||ks4J ‚t||ƒdd�}||ksPJ ‚t||ƒdd�}t|ƒslJ ‚t||ƒdd�}||k t||ƒddd�}||ks¢J ‚t||ƒddd�}t|ƒsÀJ ‚t||ƒd	dd�}||ksÞJ ‚t||ƒd	dd�}t|ƒsüJ ‚ttjg|d�}t||ƒƒ }||k�s&J ‚t||ƒdd�}||k�sDJ ‚t||ƒdd�}t|ƒ�sbJ ‚t||ƒdd�}||k t||ƒddd�}||k�sšJ ‚t||ƒddd�}t|ƒ�sºJ ‚ttjdg|d�}t||ƒƒ }|d
k�sæJ ‚t||ƒdd�}|d
k�sJ ‚t||ƒdd�}|d
k�s"J ‚t||ƒdd�}|d
k�s@J ‚t||ƒddd�}|d
k�s`J ‚tt d¡|d�}t||ƒdƒ|k 	¡ �sŽJ ‚tdg|d�}t||ƒdd�}t|ƒ�sºJ ‚t||ƒd	dd�}t|ƒ�sÚJ ‚ttjg|d�}t||ƒdd�}t|ƒ�sJ ‚ttjdg|d�}t||ƒdd�}t|ƒ�s8J ‚W d   ƒ n1 �sN0    Y  d S )Nrï   r[   r   )Ú	min_countrU   Tr]   )r^   rò   Frñ   )r   r   r.   )
rX   ré   r   rF   r   r4   rv   r   Úemptyrì   )rL   ÚmethodÚunitrï   r   r¾   rM   rƒ   r&   r&   r+   Ú
test_empty]  sn    zTestSeriesReductions.test_emptyrô   r¹   rÁ   )ÚFloat64rV   rW   c                 C   sT   t g |d�}t||ƒƒ }|tju s&J ‚t tjg|d�}t||ƒƒ }|tju sPJ ‚d S ©Nr[   )r   rF   rX   rY   r4   rv   )rL   rô   r   ZeserrM   Znserr&   r&   r+   Ú&test_ops_consistency_on_empty_nullableÂ  s    z;TestSeriesReductions.test_ops_consistency_on_empty_nullable)r¹   r»   r¼   rÁ   c                 C   s˜   t ttd�|ƒƒ }t|ƒsJ ‚tg dd�}|dkr|d g d¢¡}tjt|d�� t ||ƒƒ  W d   ƒ q”1 sp0    Y  nt ||ƒƒ }|tu s”J ‚d S )Nr[   úm8[ns]rÁ   rÂ   )zoperation 'var' not allowedz.cannot perform var with type timedelta64\[ns\]z does not support reduction 'var'rd   )	rF   r   Úfloatr   rÄ   rn   ro   rÅ   r	   )rL   rô   rM   Ztdserrl   r&   r&   r+   Útest_ops_consistency_on_emptyÒ  s    ÿ,z2TestSeriesReductions.test_ops_consistency_on_emptyc                 C   s0   t dtjgddgd�}t |¡}t |d¡ d S )Nrñ   r   rU   ©r0   )r   r4   rv   rë   rg   rê   )rL   ÚserrM   r&   r&   r+   Útest_nansum_bugletë  s    
z'TestSeriesReductions.test_nansum_bugletZint32r6   c                 C   s¦   t  d|¡�† tjd|d�}t|ƒ}|jdd�}t|ƒ|jdd�ksHJ ‚|jdd�}t|ƒdksdJ ‚|jdd�}t|ƒ|d ks„J ‚W d   ƒ n1 s˜0    Y  d S )	Nrï   é@KL r[   Fr]   r6   r   rf   )	rX   ré   r4   r5   r   rŽ   ÚintrC   rB   ©rL   rï   r   Úvr¾   rM   r&   r&   r+   Útest_sum_overflow_intð  s    z*TestSeriesReductions.test_sum_overflow_intZfloat32r7   c                 C   sª   t  d|¡�Š tjd|d�}t|ƒ}|jdd�}||j|d�ksDJ ‚|jdd�}t t|ƒd¡sdJ ‚|j	dd�}t t|ƒ|d ¡sˆJ ‚W d   ƒ n1 sœ0    Y  d S )Nrï   r   r[   Fr]   rð   rf   )
rX   ré   r4   r5   r   rŽ   rC   Zallcloserû   rB   r  r&   r&   r+   Útest_sum_overflow_float   s    z,TestSeriesReductions.test_sum_overflow_floatc                 C   s\   d}d}t  |g| ¡}t|g| dd�}t  |¡}| ¡ }|| dksLJ ‚|dksXJ ‚d S )Nl     ;árã   rV   r[   r   g  Ø…W4vC)r4   rI   r   r¹   )rL   r_   Z
n_elementsÚnarþ   Zresult_numpyZresult_maskedr&   r&   r+   Útest_mean_masked_overflow  s    
z.TestSeriesReductions.test_mean_masked_overflowz	ddof, exp)rU   ç      @)r   rQ   c                 C   sT   t g d¢dd�}t g d¢dd�}|j|d�}|j|d�}||ksDJ ‚||ksPJ ‚d S )N)rU   r.   rs   rr   r   rV   r[   r6   )Úddof)r   rÁ   )rL   r	  Úexprþ   Zser_numpy_dtyperM   Zresult_numpy_dtyper&   r&   r+   Útest_var_masked_array  s    z*TestSeriesReductions.test_var_masked_array)rú   rú   rE   zM8[ns, UTC]r^   c                 C   s<   t g |d�j|d�tu sJ ‚t g |d�j|d�tu s8J ‚d S )Nr[   r]   )r   rC   r	   rB   )rL   r   r^   r&   r&   r+   Ú+test_empty_timeseries_reductions_return_nat$  s    z@TestSeriesReductions.test_empty_timeseries_reductions_return_natc                 C   s�   t  dd¡}t||d�}t  |¡}t  |¡}||ks8J ‚| ¡ }||ksLJ ‚d}tjt|d�� t j||d� W d   ƒ n1 s‚0    Y  d S ©NrU   rT   rý   r¬   rd   r­   )r4   r5   r   rt   rn   ro   rp   )rL   rÕ   r¾   rM   rN   rl   r&   r&   r+   Útest_numpy_argmin+  s    

z&TestSeriesReductions.test_numpy_argminc                 C   s�   t  dd¡}t||d�}t  |¡}t  |¡}||ks8J ‚| ¡ }||ksLJ ‚d}tjt|d�� t j||d� W d   ƒ n1 s‚0    Y  d S r  )r4   r5   r   ru   rn   ro   rp   )rL   rÕ   rþ   rM   rN   rl   r&   r&   r+   Útest_numpy_argmax=  s    

z&TestSeriesReductions.test_numpy_argmaxc                 C   s˜  t g d¢ƒ |¡}tddtjg|d�}d}tjt|d�� |jdd�}W d   ƒ n1 sZ0    Y  |t	u spJ ‚d	}tjt|d�� |j
dd�}W d   ƒ n1 s¤0    Y  |t	u sºJ ‚| ¡ }d
}tjt|d�� |jdd�}W d   ƒ n1 sö0    Y  |jd|› d�k�sJ ‚| ¡  ¡ �s*J ‚d}tjt|d�� |j
dd�}W d   ƒ n1 �s`0    Y  |jd|› d�k�s‚J ‚| ¡  ¡ �s”J ‚d S )N)r	   z
2015-02-08r	   rñ   rQ   rý   ú0The behavior of Series.idxmin with all-NA valuesrd   Fr]   ú0The behavior of Series.idxmax with all-NA valuesz3The behavior of DataFrame.idxmin with all-NA valueszM8[ú]z3The behavior of DataFrame.idxmax with all-NA values)r   Zas_unitr   r4   rv   rg   rh   ri   Úidxminr	   Úidxmaxrº   r   r   rì   )rL   rõ   Údtirþ   rl   rZ   rƒ   r&   r&   r+   Útest_idxmin_dt64indexN  s*    ***,z*TestSeriesReductions.test_idxmin_dt64indexc                 C   sX  t tdƒtjdd�}tj|dd…< || ¡  | ¡ ks:J ‚d}tjt	|d��$ t
|jdd	�ƒsbJ ‚W d   ƒ n1 sv0    Y  | ¡ }|| ¡  | ¡ ks J ‚|jj ¡  | ¡ ¡|j ¡ ksÄJ ‚|tj }tjt	|d��  t
| ¡ ƒsîJ ‚W d   ƒ n1 �s0    Y  t td
dd�ƒ}| ¡ }|dk�s4J ‚tj|d< | ¡ }|dk�sTJ ‚d S )Nrš   r=   r   r   é   zThe behavior of Series.idxminrd   Fr]   Ú20130102r·   r   r   rU   )r   r9   r4   r7   rv   r  rC   rg   rh   ri   r   r½   r0   rH   Útolistrt   r   ©rL   Zstring_seriesrl   ZnonaZallnar¾   rM   r&   r&   r+   Útest_idxming  s$    2$
0
z TestSeriesReductions.test_idxminc                 C   sÔ  t tdƒtjdd�}tj|dd…< || ¡  | ¡ ks:J ‚d}tjt	|d��$ t
|jdd	�ƒsbJ ‚W d   ƒ n1 sv0    Y  | ¡ }|| ¡  | ¡ ks J ‚|jj ¡  | ¡ ¡|j ¡ ksÄJ ‚|tj }d}tjt	|d��  t
| ¡ ƒsòJ ‚W d   ƒ n1 �s0    Y  t td
dd�ƒ}| ¡ }|dk�s8J ‚tj|d< | ¡ }|dk�sXJ ‚t g d¢g d¢ƒ}| ¡ }|dk�s€J ‚| ¡ }|dk�s–J ‚t |j|jƒ}| ¡ }|dk�sºJ ‚| ¡ }|dk�sÐJ ‚d S )Nrš   r=   r   r   r  r  rd   Fr]   r  r·   r   rr   rÌ   )çš™™™™™ñ?gÍÌÌÌÌÌ @çÍÌÌÌÌÌ@r  r  )r   r9   r4   r7   rv   r  rB   rg   rh   ri   r   r½   r0   rH   r  ru   r   r  r  r&   r&   r+   Útest_idxmaxˆ  s:    2$
0
z TestSeriesReductions.test_idxmaxc                 C   s^   t tjdtjd�tddd�dd�}|dk}| ¡ r6J ‚| ¡ sBJ ‚t dd	gƒ}| ¡ sZJ ‚d S )
Nr   r[   r   r   Útsr/   r   ÚabcT)r   r4   r5   r7   r   rì   Úany)rL   r  Zbool_seriesr¾   r&   r&   r+   Útest_all_any·  s    
ýz!TestSeriesReductions.test_all_anyc                 C   sF   |g d¢ƒ}t  |¡rJ ‚t  |¡s(J ‚tg d¢ƒ}t  |¡sBJ ‚d S )N)r   rU   r.   rÌ   )r4   rì   r!  r   )rL   r`   r1   r&   r&   r+   Útest_numpy_all_anyÅ  s
    z'TestSeriesReductions.test_numpy_all_anyc                 C   s`   t tjdgƒ}t tjdgƒ}|jdd�s,J ‚|jdd�s<J ‚|jdd�sLJ ‚|jdd�r\J ‚d S )NTFr]   )r   r4   rv   rì   r!  )rL   Ús1rí   r&   r&   r+   Útest_all_any_skipnaÍ  s    z(TestSeriesReductions.test_all_any_skipnac                 C   s8   t g d¢g d¢d�}|jdd�s$J ‚|jdd�r4J ‚d S )N)FFTTFT)r   r   rU   rU   r.   r.   rý   T)Ú	bool_only)r   r!  rì   )rL   r¾   r&   r&   r+   Útest_all_any_bool_onlyÖ  s    z+TestSeriesReductions.test_all_any_bool_onlyÚbool_agg_funcr!  rì   c                 C   s4   t g d¢td�}t||ƒ|d�}d}||ks0J ‚d S )N)r   rx   rÝ   ÚdÚer[   r]   T)r   rP   rF   )rL   r(  r^   rþ   rM   rN   r&   r&   r+   Útest_any_all_object_dtypeÝ  s    z.TestSeriesReductions.test_any_all_object_dtyperÕ   Nc                 C   s8   t |ƒ}t||ƒdd�}|dko&d |v}||ks4J ‚d S )NFr]   r!  )r   rF   )rL   rÕ   r(  rþ   rM   rN   r&   r&   r+   Ú!test_any_all_object_dtype_missingç  s    z6TestSeriesReductions.test_any_all_object_dtype_missing)rW   rV   ZUInt64r÷   zdata,expected_data)r   r   r   )rU   rU   rU   r   rU   c           	      C   sP   t ||d�}|| |dk }t||ƒ|d�}|tju r@|tju sL||ksLJ ‚d S )Nr[   rì   r]   )r   rF   rX   rY   )	rL   r(  r^   rÕ   r   Zexpected_datarþ   rN   rM   r&   r&   r+   Ú"test_any_all_nullable_kleene_logicô  s    z7TestSeriesReductions.test_any_all_nullable_kleene_logicc                 C   s@   t ddgddgdœƒ}|jddd�}tddgƒ}t ||¡ d S )NTFrU   r.   r‹   )r~   r&  )r   r!  r   rg   r�   )rL   rƒ   rM   rN   r&   r&   r+   Útest_any_axis1_bool_only  s    z-TestSeriesReductions.test_any_axis1_bool_onlyc                 C   sº  t ddd�j}t|ƒ}t|ƒ}d}tjt|d��` | ¡ s>J ‚| ¡ sJJ ‚| ¡ sVJ ‚| ¡ sbJ ‚| ¡  ¡ srJ ‚| ¡  ¡ s‚J ‚W d   ƒ n1 s–0    Y  | 	d¡}t|ƒ}t|ƒ}tjt|d��d | ¡ sÖJ ‚| ¡ sâJ ‚| ¡ sîJ ‚| ¡ súJ ‚| ¡  ¡ �sJ ‚| ¡  ¡ �sJ ‚W d   ƒ n1 �s40    Y  ||d  }t|ƒ}t|ƒ}| ¡ �shJ ‚| ¡ �rvJ ‚| ¡ �s„J ‚| ¡ �r’J ‚| ¡  ¡ �s¤J ‚| ¡  ¡ �r¶J ‚d S )Nz
1995-01-02rs   r   z0'(any|all)' with datetime64 dtypes is deprecatedrd   ry   r   )
r   Ú_datar   r   rg   rh   ri   rì   r!  r8   )rL   Zdtarþ   rƒ   rl   Ztdar&   r&   r+   Útest_any_all_datetimelike  s<    .
2z.TestSeriesReductions.test_any_all_datetimelikec                 C   s¸  t |tjƒr�|jtju r�tddg|d�}t t¡� | 	¡  W d   ƒ n1 sP0    Y  t t¡� | 
¡  W d   ƒ n1 s‚0    Y  d S tddg|d�}| 	¡ s¬J ‚| 
¡ r¸J ‚|j	dd�sÈJ ‚|j
dd�rØJ ‚ttjdg|d�}| 	¡ söJ ‚| 
¡ �sJ ‚|j	dd��sJ ‚|j
dd��s(J ‚ttjdg|d�}| 	¡ �rHJ ‚| 
¡ �rVJ ‚|j	dd��shJ ‚|j
dd��rzJ ‚tddg|d�}| 	¡ �s˜J ‚| 
¡ �s¦J ‚|j	dd��s¸J ‚|j
dd��sÊJ ‚tg |d�}| 	¡ �räJ ‚| 
¡ �sòJ ‚|j	dd��rJ ‚|j
dd��sJ ‚tdg|d�}| 	¡ �r2J ‚| 
¡ �r@J ‚|j	dd��rRJ ‚|j
dd��rdJ ‚ttjg|d�}| 	¡ �r‚J ‚| 
¡ �s�J ‚|j	dd��s¢J ‚|j
dd��s´J ‚d S )Nr   rx   r[   Ú Fr]   )rG   rX   ZStringDtypeZna_valuerY   r   rn   ro   rÅ   r!  rì   r4   rv   )rL   Úany_string_dtyperþ   r&   r&   r+   Útest_any_all_string_dtypeD  sZ    
ÿ
þ&&z.TestSeriesReductions.test_any_all_string_dtypec                 C   s  t dddd�}t|ƒtdƒ }| ¡ }|dks2J ‚| ¡ }|dksFJ ‚tj|d< | ¡ }|dksdJ ‚| ¡ }|dksxJ ‚tt ddd	�ƒ}tt d
dd	�ƒ}t|| ƒ}t || ¡}t 	||¡ ||  ¡ }t 	||¡ | 
¡ }tdƒ}||ksòJ ‚| ¡ }tdƒ}||k�sJ ‚d S )Nz2012-1-1rs   r#   r$   Z20120101r   r.   rU   r   Z20120102r¡   r    )r   r   r   r  r  r4   rv   Úabsrg   r�   rB   r   rC   )rL   r  r¯   rM   r$  rí   rN   r&   r&   r+   Útest_timedelta64_analytics}  s0    
z/TestSeriesReductions.test_timedelta64_analyticsztest_input,error_typer[   ©ÚfooÚbarÚbaz©rU   ©r.   r7  r8  r9  c                 C   sø   t g dd�}d}tjt|d�� | ¡  W d  ƒ n1 s<0    Y  tjt|d�� |jdd� W d  ƒ n1 sv0    Y  d}tjt|d�� | ¡  W d  ƒ n1 s°0    Y  tjt|d�� |jdd� W d  ƒ n1 sê0    Y  dS )	zU
        Cases where ``Series.argmax`` and related should raise an exception
        r7   r[   z*attempt to get argmin of an empty sequencerd   NFr]   z*attempt to get argmax of an empty sequence)r   rn   ro   rp   r  r  )rL   Z
test_inputZ
error_typerl   r&   r&   r+   Ú"test_assert_idxminmax_empty_raises¦  s    &*&z7TestSeriesReductions.test_assert_idxminmax_empty_raisesc                 C   s¸  t g d¢ƒ}| ¡ dksJ ‚|jdd�dks0J ‚| ¡ dks@J ‚|jdd�dksTJ ‚t ddgƒ}| ¡ dkspJ ‚|jdd�dks„J ‚| ¡ dks”J ‚|jdd�dks¨J ‚|�s´t ddd	d	d tjd
gƒ}d}tjt|d�� | ¡  W d   ƒ n1 sö0    Y  tjt|d�� |jdd� W d   ƒ n1 �s20    Y  d}tjt|d�� | ¡  W d   ƒ n1 �sn0    Y  tjt|d�� |jdd� W d   ƒ n1 �sª0    Y  d S )Nr6  r   Fr]   rU   r:  r;  r7  r8  r9  z8'>' not supported between instances of 'float' and 'str'rd   z8'<' not supported between instances of 'float' and 'str')r   r  r  r4   rv   rn   ro   rÅ   )rL   Zusing_infer_stringrþ   Zser2Zser3rl   r&   r&   r+   Útest_idxminmax_object_dtypeÁ  s,    &,(z0TestSeriesReductions.test_idxminmax_object_dtypec                 C   s>   t ddgddgddggƒ}| ¡ }tddgƒ}t ||¡ d S )	NZzimmr  Zbiffrñ   Úbidg      (@r   r.   )r   r  r   rg   r�   )rL   rƒ   rZ   r
  r&   r&   r+   Útest_idxminmax_object_frameÝ  s    z0TestSeriesReductions.test_idxminmax_object_framec                 C   sX   t g d¢ƒ}| ¡ dksJ ‚| ¡ dks,J ‚|jdd�dks@J ‚|jdd�dksTJ ‚d S )N))rU   rs   )r.   r.   )rs   rU   r.   r   Fr]   )r   r  r  ©rL   rþ   r&   r&   r+   Útest_idxminmax_object_tuplesä  s
    z1TestSeriesReductions.test_idxminmax_object_tuplesc                 C   sp   t ddgtdƒtdƒgtdƒtdƒgdœƒ}| ¡ }tddddœƒ}t ||¡ | ¡ }|d }t ||¡ d S )Nr   rU   z8.68z42.23z7.11z79.61)r1   ÚxÚy)r   r   r  r   rg   r�   r  )rL   rƒ   rZ   r
  Zres2Zexp2r&   r&   r+   Útest_idxminmax_object_decimalsì  s    ýÿz3TestSeriesReductions.test_idxminmax_object_decimalsc                 C   s\   t ddgdd�}| ¡ dks J ‚| ¡ dks0J ‚|jdd�dksDJ ‚|jdd�dksXJ ‚d S )Nr   rU   rP   r[   Fr]   )r   ru   rt   r@  r&   r&   r+   Útest_argminmax_object_intsý  s
    z/TestSeriesReductions.test_argminmax_object_intsc              	   C   sz  t dtj tjtjgƒ}| ¡ dks(J ‚d}tjt|d��& t |jdd�¡sRJ ‚W d   ƒ n1 sf0    Y  | 	¡ dks€J ‚d}tjt|d��& t |j	dd�¡sªJ ‚W d   ƒ n1 s¾0    Y  d	}tjt|d��Š t
 d
d¡�\ | ¡ dksúJ ‚t |jdd�¡�sJ ‚| 	¡ dk�s$J ‚t |j	dd�¡ W d   ƒ n1 �sL0    Y  W d   ƒ n1 �sl0    Y  d S )Nr   rU   r  rd   Fr]   r.   r  rä   rå   T)r   r4   rç   rv   r  rg   rh   ri   rj   r  rX   ré   )rL   r¾   rl   r&   r&   r+   Útest_idxminmax_with_inf  s     44z,TestSeriesReductions.test_idxminmax_with_infc                 C   s0   t dgdd�}| ¡ }t d¡}t ||¡ d S )Nl     Ð9V Úuint64r[   )r   rŽ   r4   rG  rg   rê   )rL   r¾   rM   rN   r&   r&   r+   Útest_sum_uint64  s    
z$TestSeriesReductions.test_sum_uint64)/r�   r‘   r’   rî   rn   r“   r•   rö   rù   rü   rÿ   r  r  r  r  r  r  r  r  r  r  r"  r#  r%  r'  r+  r4   rv   r,  rX   rY   r-  r.  r0  r3  r5  r   rp   rÅ   r<  r=  r?  rA  rD  rE  rF  rH  r&   r&   r&   r+   rá   D  s˜   ÿ`

	!/	 ÿ	"úü
/9)úþ
rá   c                	   @   sœ   e Zd Zej deeegƒeeedƒgƒeedƒedƒgƒg¡dd„ ƒZ	ej de
eegƒe
eedƒgƒe
edƒedƒgƒg¡dd„ ƒZdd	„ Zd
d„ ZdS )ÚTestDatetime64SeriesReductionsÚnat_serZnatc                 C   sL   |  ¡ tu sJ ‚| ¡ tu s J ‚|j dd�tu s4J ‚|jdd�tu sHJ ‚d S r›   ©rC   r	   rB   )rL   rJ  r&   r&   r+   Útest_minmax_nat_series*  s    
z5TestDatetime64SeriesReductions.test_minmax_nat_seriesÚnat_dfc                 C   s\   |  ¡ d tu sJ ‚| ¡ d tu s(J ‚|j dd�d tu s@J ‚|jdd�d tu sXJ ‚d S )Nr   Fr]   rK  )rL   rM  r&   r&   r+   Útest_minmax_nat_dataframe9  s    
z8TestDatetime64SeriesReductions.test_minmax_nat_dataframec                 C   sž   t ddƒ}| tj d¡ t|ƒ¡¡}| ¡ }| ¡ }t	|t
ƒsDJ ‚t	|t
ƒsRJ ‚||d ksbJ ‚||d ksrJ ‚| ¡ |d ks†J ‚| ¡ |d ksšJ ‚d S )Nú1/1/2000z
12/31/2000r.   r   rf   )r   Ztaker4   r:   r;   ZpermutationÚlenrC   rB   rG   r   )rL   ÚrngZrng2Zthe_minZthe_maxr&   r&   r+   Útest_min_maxH  s    
z+TestDatetime64SeriesReductions.test_min_maxc                 C   s¤   t dddd�}g d¢}t|tj d¡ t|ƒ¡|dœƒ}|j ¡ }t	|jj
d ƒ}t|t	ƒs`J ‚||kslJ ‚|j ¡ }t	|jj
d	 ƒ}t|t	ƒs”J ‚||ks J ‚d S )
NrO  r   Z4hr$   )
rŒ   rŒ   rŒ   r�   r�   r�   ÚCrS  rS  rS  r.   )ÚTSÚVÚLrf   r   )r   r   r4   r:   r;   r<   rP  rT  rB   r   ZiatrG   rC   )rL   rQ  Zlvlsrƒ   rM   r
  r&   r&   r+   Útest_min_max_seriesV  s     ýÿ

z2TestDatetime64SeriesReductions.test_min_max_seriesN)r�   r‘   r’   rn   r“   r•   r   r	   r   rL  r   rN  rR  rW  r&   r&   r&   r+   rI  %  s$   
ýþ

ýþ
rI  c                   @   sú   e Zd Zej dddg¡dd„ ƒZej dedƒedƒfedƒedƒfedƒej	g edƒfg d	¢g d
¢fdddej	gg d
¢fg¡ej dddg¡dd„ ƒƒZ
ej dddg¡ej dddg¡dd„ ƒƒZej dddg¡ej dddg¡dd„ ƒƒZdS )ÚTestCategoricalSeriesReductionsÚfunctionrC   rB   c                 C   s\   t tg d¢dd�ƒ}d|› �}tjt|d�� t||ƒƒ  W d   ƒ n1 sN0    Y  d S )N)r   rx   rÝ   r)  F)rÜ   z)Categorical is not ordered for operation rd   )r   r   rn   ro   rÅ   rF   )rL   rY  Úcatrl   r&   r&   r+   Útest_min_max_unordered_raisesq  s    
z=TestCategoricalSeriesReductions.test_min_max_unordered_raiseszvalues, categoriesr   ZcbarÌ   ©rs   r.   rU   rU   r.   rs   c                 C   sJ   t t||dd�ƒ}t||ƒdd�}|dkr2|d n|d }||ksFJ ‚d S )NTrÚ   r]   rC   r   r.   )r   r   rF   )rL   rH   rÛ   rY  rZ  rM   rN   r&   r&   r+   Útest_min_max_orderedy  s    z4TestCategoricalSeriesReductions.test_min_max_orderedr^   TFc                 C   s<   t ttjgddgdd�ƒ}t||ƒ|d�}|tju s8J ‚d S )NrU   r.   TrÚ   r]   ©r   r   r4   rv   rF   )rL   rY  r^   rZ  rM   r&   r&   r+   Ú"test_min_max_ordered_with_nan_only‹  s    zBTestCategoricalSeriesReductions.test_min_max_ordered_with_nan_onlyc                 C   sh   t tddtjdgddgdd�ƒ}t||ƒ|d�}|du rV|dkrDdnd}||ksdJ ‚n|tju sdJ ‚d S )Nr   rx   TrÚ   r]   rC   r^  )rL   rY  r^   rZ  rM   rN   r&   r&   r+   Útest_min_max_skipna“  s    ÿz3TestCategoricalSeriesReductions.test_min_max_skipnaN)r�   r‘   r’   rn   r“   r•   r[  rÞ   r4   rv   r]  r_  r`  r&   r&   r&   r+   rX  l  s&   
ûþ
rX  c                   @   sj  e Zd Zej ddeg ejd�fdeg ejd�fg¡dd„ ƒZ	ej ddg d¢d	gfdg d
¢d	dgfdg d¢d	gfdg d
¢d	dgfg¡ej de
ejd ejd  ƒ¡dd„ ƒƒZej dddgfdd	ejgfg¡dd„ ƒZej dddgdgfddgejgfg¡dd„ ƒZej dddgdgfddgejgfg¡dd„ ƒZej dddgdgfddgejgfg¡dd„ ƒZej ddg d¢dd gfdejgejdd gfg¡d!d"„ ƒZej ddg d#¢d$d%gfdejgejd$d%gfg¡d&d'„ ƒZej d(ded	d)gd	d)gd*�ed+gd	d+gd*�edd	gg d,¢dd-�fdeejgd	d)gd*�eejd+gd	d+gd*�eejdd	gg d,¢dd-�fg¡d.d/„ ƒZej ddd0gd	d0gfdd0gd	d0gfg¡d1d2„ ƒZd3d4„ Zd5d6„ Zej d7g d8¢ed	gejd�ejfg d8¢ed	gejd�ejfg d9¢ed:gejd�ejfg¡d;d<„ ƒZej d7g d=¢eg d>¢ejd�ejfg d?¢ed@d:gejd�ejfg¡dAdB„ ƒZdCS )DÚTestSeriesModezdropna, expectedTr[   Fc                 C   s(   t g tjd�}| |¡}t ||¡ d S rø   )r   r4   r7   Úmoderg   r�   ©rL   r½   rN   r¾   rM   r&   r&   r+   Útest_mode_empty§  s    
zTestSeriesMode.test_mode_emptyzdropna, data, expected)rU   rU   rU   r.   rU   )rU   rU   rU   r.   rs   rs   rs   rs   ÚdtZ
AllIntegerÚFloatc                 C   s2   t ||d�}| |¡}t ||d�}t ||¡ d S rø   ©r   rb  rg   r�   )rL   r½   rÕ   rN   re  r¾   rM   r&   r&   r+   Útest_mode_numerical°  s    
z"TestSeriesMode.test_mode_numericalrñ   c                 C   s8   t dddtjtjgƒ}| |¡}t |ƒ}t ||¡ d S )NrU   r.   )r   r4   rv   rb  rg   r�   rc  r&   r&   r+   Útest_mode_numerical_nanÂ  s    
z&TestSeriesMode.test_mode_numerical_nanzdropna, expected1, expected2rx   r8  c                 C   sŠ   dgd dgd  }t |dd�}| |¡}t |dd�}t ||¡ dddtjtjtjg}t |td�}| |¡}t |td�}t ||¡ d S )	Nr   r.   rx   rs   rÝ   r[   r7  r8  )r   rb  rg   r�   r4   rv   rP   )rL   r½   Ú	expected1Ú	expected2rÕ   r¾   rM   r&   r&   r+   Útest_mode_objectÉ  s    	

zTestSeriesMode.test_mode_objectc                 C   sŠ   dgd dgd  }t ||d�}| |¡}t ||d�}t ||¡ dddtjtjtjg}t ||d�}| |¡}t ||d�}t ||¡ d S )Nr   r.   rx   rs   r[   r7  r8  )r   rb  rg   r�   r4   rv   )rL   r½   rj  rk  r2  rÕ   r¾   rM   r&   r&   r+   Útest_mode_stringà  s    	

zTestSeriesMode.test_mode_stringr7  c                 C   sn   t g d¢ƒ}| |¡}t |td�}t ||¡ t dddtjtjtjgƒ}| |¡}t |td�}t ||¡ d S )N)rU   r7  r7  r[   rU   r7  )r   rb  rP   rg   r�   r4   rv   )rL   r½   rj  rk  r¾   rM   rN   r&   r&   r+   Útest_mode_mixeddtype÷  s    

z#TestSeriesMode.test_mode_mixeddtype)ú
1900-05-03rÉ   ú
2013-01-02rÉ   rp  c                 C   sh   t g d¢dd�}| |¡}t |dd�}t ||¡ t g d¢dd�}| |¡}t |dd�}t ||¡ d S )N)rÉ   rp  ro  rv   rv   rE   r[   )rÉ   rp  ro  rÉ   rp  rv   rv   rg  ©rL   r½   rj  rk  r¾   rM   r&   r&   r+   Útest_mode_datetime  s    ÿ
	ö
z!TestSeriesMode.test_mode_datetime)ú-1 daysú0 daysr    ú2 minú1 dayc                 C   sh   t g d¢dd�}| |¡}t |dd�}t ||¡ t g d¢dd�}| |¡}t |dd�}t ||¡ d S )N)r    rs  rt  rv   rv   rŠ   r[   )rv  rv  z-1 dayz-1 day 2 minru  ru  rv   rv   rg  rq  r&   r&   r+   Útest_mode_timedelta)  s    
ÿ

õ
z"TestSeriesMode.test_mode_timedeltaz'dropna, expected1, expected2, expected3r.   )rÛ   r   r\  rÚ   c              	   C   sÄ   t tddtjtjgƒƒ}| |¡}t |dd�}t ||¡ t tdddtjtjgƒƒ}| |¡}t |dd�}t ||¡ t tdddddtjtjgg d¢dd	�ƒ}| |¡}t |dd�}t ||¡ d S )
NrU   r.   Úcategoryr[   r   rs   r\  TrÚ   )r   r   r4   rv   rb  rg   r�   )rL   r½   rj  rk  Z	expected3r¾   rM   r&   r&   r+   Útest_mode_categoryK  s     

ÿÿ
z!TestSeriesMode.test_mode_categoryì            c                 C   sp   t g d¢tjd�}| |¡}t |tjd�}t ||¡ t ddgtjd�}| |¡}t |tjd�}t ||¡ d S )N)rU   rz  rz  r[   rU   rz  )r   r4   rG  rb  rg   r�   rq  r&   r&   r+   Útest_mode_intoverflowp  s    

z$TestSeriesMode.test_mode_intoverflowc                 C   sD   t dddtjtjgƒ}t dtjgtd�}|jdd�}t ||¡ d S )NrU   r7  r[   F)r½   )r   r4   rv   rP   rb  rg   r�   )rL   r¾   rN   rM   r&   r&   r+   Útest_mode_sort_with_na€  s    z%TestSeriesMode.test_mode_sort_with_nac                 C   s>   t dddtjgdd�}| ¡ }t ddidd�}t ||¡ d S )NTFrW   r[   r   )r   rX   rY   rb  rg   r�   )rL   rþ   rM   rN   r&   r&   r+   Útest_mode_boolean_with_na†  s    z(TestSeriesMode.test_mode_boolean_with_nazarray,expected,dtype)r   ù              ð?rU   rU   ù      ð?      ð?ù      ð?       @)r  ù               @r  r  c                 C   s    t ||d� ¡ }t ||¡ d S rø   rg  ©rL   rI   rN   r   rM   r&   r&   r+   Útest_single_mode_value_complex�  s    z-TestSeriesMode.test_single_mode_value_complex)r   r~  rU   r  r€  )y                r~  y      ð?        r  r€  )r  r�  r  r�  rs   r�  c                 C   s    t ||d� ¡ }t ||¡ d S rø   rg  r‚  r&   r&   r+   Útest_multimode_complex¥  s    z%TestSeriesMode.test_multimode_complexN)r�   r‘   r’   rn   r“   r•   r   r4   r7   rd  rÞ   Ú	typecodesrh  rv   ri  rl  rm  rn  rr  rw  r   ry  r{  r|  r}  Z
complex128Z	complex64rƒ  r„  r&   r&   r&   r+   ra  ¢  sÖ   "þ
üþ	ÿ 
þþ
þþ
þ
ýúþ
þþ
üüùþ
þ
ýýýõþ
üýùþra  )(r   r   Údecimalr   Únumpyr4   rn   ZpandasrX   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   Zpandas._testingZ_testingrg   Zpandas.corer   Zpandas.core.arrays.string_arrowr   r?   r@   r–   rá   rI  rX  ra  r&   r&   r&   r+   Ú<module>   s.   L @  P     fG6