§
    à! h 2  ã                   óÈ  — d Z ddlZddlZddlmZmZ ddlZddlm	Z	m
Z
mZmZmZmZmZ ddlmZ ddlmc mZ ej                             ddddd	d
d ej        dej                             d¦  «        g¬¦  «        dddg
¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!ej                             ddej"        fdej#        fd	ej$        fdej%        fdej&        fdej'        fdej(        fdd„ fdd„ fg	¦  «        d„ ¦   «         Z)ej                             ddej"        fdd„ fd	d „ fdej'        fdej(        fg¦  «        d!„ ¦   «         Z*d"„ Z+ej                             d#g d$¢¦  «        ej                             d% ed&¦  «         ed'¦  «        g¦  «        d(„ ¦   «         ¦   «         Z,ej                             d)g d*¢¦  «        d+„ ¦   «         Z-ej                             dg d,¢¦  «        d-„ ¦   «         Z.ej                             d.g d/¢¦  «        d0„ ¦   «         Z/ej                             d1d2d3g¦  «        ej                             d4g d5¢¦  «        ej                             d% ej0        g d6¢d7¬8¦  «         ej0        g d6¢d9¬8¦  «         ej0        g d:¢d;¬8¦  «         ej0        g d:¢d<¬8¦  «         ej0        g d=¢d>¬8¦  «        g¦  «        d?„ ¦   «         ¦   «         ¦   «         Z1dS )@z
test cython .agg behavior
é    N)Úis_float_dtypeÚis_integer_dtype)Ú	DataFrameÚIndexÚNaTÚSeriesÚ	TimedeltaÚ	TimestampÚbdate_rangeÚop_nameÚcountÚsumÚstdÚvarÚsemÚmeanÚmedianzignore::RuntimeWarning)ÚmarksÚprodÚminÚmaxc                 óp  ‡ ‡
— ddddddddddt           j        t           j        gddgdz  t           j                             d¦  «                             d¦  «        d	œ}t          |¦  «        }t           j        |j        dd
d…df<   ˆ fd„Š
|                     dgd¬¦  «                             d¦  «        }ˆ
fd„|D ¦   «         }t          d|i¦  «        }d|j	        _
         ‰
|¦  «        }t          j        ||¦  «         |                     ddg¦  «        }i }|D ]0\  \  }}}	 ‰
|	d         ¦  «        |                     |i ¦  «        |<   Œ1t          |¦  «        j                             d¬¦  «        }ddg|j	        _        d|_
         ‰
|¦  «        d         }‰ dv rt          j        ||¦  «         d S d S )Nr   é   g      ð?ÚAÚBé   é   é   ©r   r   ÚCé
   r    c                 ó4   •—  t          | ‰¦  «        ¦   «         S ©N)Úgetattr)Úxr   s    €údc:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\pandas/tests/groupby/aggregate/test_cython.pyú<lambda>z(test_cythonized_aggers.<locals>.<lambda>8   s   ø€ Ð&•7˜1˜gÑ&Ô&Ñ(Ô(€ ó    )Úaxisc                 ó:   •— i | ]\  }}| ‰|d          ¦  «        “ŒS )r    © )Ú.0ÚcatÚgroupÚops      €r&   ú
<dictcomp>z*test_cythonized_aggers.<locals>.<dictcomp><   s+   ø€ Ð
9Ð
9Ð
9¡: 3¨ˆ3���5˜”:‘”Ð
9Ð
9Ð
9r(   T)Úfuture_stack)r   r   )ÚnpÚnanÚrandomÚdefault_rngÚstandard_normalr   ÚlocÚdropÚgroupbyÚindexÚnameÚtmÚassert_frame_equalÚ
setdefaultÚTÚstackÚnamesÚassert_series_equal)r   ÚdataÚdfÚgroupedÚexpÚresultÚexpdÚcat1Úcat2r.   r/   s   `         @r&   Útest_cythonized_aggersrK      s×  øø€ ð, ��A�q˜!˜Q  1 a¨­b¬fµb´fÐ=Ø�3ˆZ˜!‰^ÝŒY×"Ò" 1Ñ%Ô%×5Ò5°bÑ9Ô9ðð €Dõ
 
�4‰Œ€BÝœ&€B„Fˆ1ˆR�ˆ6�3ˆ;Ñà	(Ð	(Ð	(Ð	(€Bð �gŠg�s�e !ˆgÑ$Ô$×,Ò,¨SÑ1Ô1€GØ
9Ð
9Ð
9Ð
9°Ð
9Ñ
9Ô
9€CÝ
�S˜#�JÑ
Ô
€CØ€C„I„NØˆR�‰[Œ[€FÝÔ˜& #Ñ&Ô&Ð&ð �jŠj˜#˜s˜Ñ$Ô$€GØ€DØ&ð 9ð 9Ñ‰ˆˆt�eØ*,¨"¨U°3¬Z©.¬.ˆ�Š˜˜bÑ!Ô! $Ñ'Ð'Ý
�D‰/Œ/Ô
×
!Ò
!¨tÐ
!Ñ
4Ô
4€CØ˜C�j€C„I„OØ€C„HàˆR�‰[Œ[˜Ô€FØ�/Ð!Ð!Ý
Ô˜v sÑ+Ô+Ð+Ð+Ð+ð "Ð!r(   c                  óv  — t          t          j                             d¦  «                             ddd¦  «        t          j                             d¦  «                             ddd¦  «                             d¦  «        dœ¦  «        } |                      d¦  «        d                              ¦   «         }d	}t          j	        t          |¬
¦  «        5  |                      d¦  «        d                              t          j        ¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        ||¦  «         d S )Nr   r   é   é2   Úbool©ÚaÚbrQ   rR   zusing SeriesGroupBy.mean©Úmatch)r   r2   r4   r5   ÚintegersÚastyper9   r   r<   Úassert_produces_warningÚFutureWarningÚaggrB   )ÚframerG   ÚmsgÚexpecteds       r&   Útest_cython_agg_booleanr]   P   sH  € Ýå”×&Ò& qÑ)Ô)×2Ò2°1°a¸Ñ<Ô<Ý”×&Ò& qÑ)Ô)×2Ò2°1°a¸Ñ<Ô<×CÒCÀFÑKÔKð	
ð 	
ñô €Eð �]Š]˜3ÑÔ Ô$×)Ò)Ñ+Ô+€FØ
$€CÝ	Ô	#¥M¸Ð	=Ñ	=Ô	=ð 8ð 8à—=’= Ñ%Ô% cÔ*×.Ò.­r¬wÑ7Ô7ˆð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8õ Ô˜6 8Ñ,Ô,Ð,Ð,Ð,s   Ã9DÄDÄ Dc                  ó   — t          t          j                             d¦  «                             ddd¦  «        ddgdz  dœ¦  «        } d	}t          j        t          |¬
¦  «        5  |                      d¦  «        d          	                    d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          j                             d¦  «                             ddd¦  «        ddgdz  dœ¦  «        } | dg                              | d         ¦  «         	                    d¬¦  «        }t          g | d          
                    ¦   «                              ¦   «         g ¬¦  «        }t          j        ||¦  «         d S )Nr   r   rM   rN   ÚfooÚbaré   rP   úKCannot use numeric_only=True with SeriesGroupBy.mean and non-numeric dtypesrS   rQ   rR   T©Únumeric_only)r:   Úcolumns)r   r2   r4   r5   rU   ÚpytestÚraisesÚ	TypeErrorr9   r   Úsort_valuesÚdrop_duplicatesr<   r=   )rZ   r[   rG   r\   s       r&   Útest_cython_agg_nothing_to_aggrk   `   s¬  € ÝÝŒi×#Ò# AÑ&Ô&×/Ò/°°1°bÑ9Ô9ÀÈÀÐQSÑ@SÐTÐTñô €Eð X€CÝ	Œ•y¨Ð	,Ñ	,Ô	,ð 8ð 8Ø�Š�cÑÔ˜3Ô×$Ò$°$Ð$Ñ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8õ ÝŒi×#Ò# AÑ&Ô&×/Ò/°°1°bÑ9Ô9ÀÈÀÐQSÑ@SÐTÐTñô €Eð �C�5Œ\×!Ò! %¨¤*Ñ-Ô-×2Ò2ÀÐ2ÑEÔE€FÝØ
�%˜”*×(Ò(Ñ*Ô*×:Ò:Ñ<Ô<Àbðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+s   Á'0B#Â#B'Â*B'c            	      óŒ  — t          t          j                             d¦  «                             ddd¦  «        ddgdz  t          j        ddd	¬
¦  «        dœ¦  «        } d}t          j        t          |¬¦  «        5  |  
                    d¦  «        j                             d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   rM   rN   r_   r`   ra   Únowr   )ÚperiodsÚfreq)rQ   rR   Údatesrb   rS   rR   Trc   )r   r2   r4   r5   rU   ÚpdÚ
date_rangerf   rg   rh   r9   rp   r   )rZ   r[   s     r&   Ú)test_cython_agg_nothing_to_agg_with_datesrs   t   s  € Ýå”×&Ò& qÑ)Ô)×2Ò2°1°a¸Ñ<Ô<Ø˜� "Ñ$Ý”] 5°"¸5ÐAÑAÔAð	
ð 	
ñô €Eð X€CÝ	Œ•y¨Ð	,Ñ	,Ô	,ð 9ð 9Ø�Š�cÑÔÔ ×%Ò%°4Ð%Ñ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð 9ð 9s   Á=/B9Â9B=Ã B=c                  ó  — t          g d¢g d¢dœ¦  «        } d}t          j        t          |¬¦  «        5  |                      dd¬¦  «                             ¦   «          d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  |                      dd¬¦  «                             ¦   «          d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  |                      dd¬¦  «                             ¦   «          d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  |                      dd¬¦  «                             ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )	N)r   r   é   )ru   é   rM   )r%   Úyz+DataFrame.groupby with axis=1 is deprecatedrS   r   re   )Úlevelr)   )r   r<   rW   rX   r9   r   )rD   r[   s     r&   Útest_cython_agg_frame_columnsry   �   sg  € å	˜˜˜¨¨¨Ð3Ð3Ñ	4Ô	4€Bà
7€CÝ	Ô	#¥M¸Ð	=Ñ	=Ô	=ð 3ð 3Ø
�
Š
˜ ˆ
Ñ+Ô+×0Ò0Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3å	Ô	#¥M¸Ð	=Ñ	=Ô	=ð 3ð 3Ø
�
Š
˜ ˆ
Ñ+Ô+×0Ò0Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3å	Ô	#¥M¸Ð	=Ñ	=Ô	=ð 3ð 3Ø
�
Š
˜ ˆ
Ñ+Ô+×0Ò0Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3å	Ô	#¥M¸Ð	=Ñ	=Ô	=ð 3ð 3Ø
�
Š
˜ ˆ
Ñ+Ô+×0Ò0Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3ð 3ð 3sG   ´*A*Á*A.Á1A.Â*CÃC
ÃC
Ã,*D"Ä"D&Ä)D&Å*E?Å?FÆFc                  óØ  — t          g d¢g d¢t          j                             d¦  «                             d¦  «        t          j                             d¦  «                             d¦  «        dœ¦  «        } |                      d¦  «        d                              d„ ¦  «        }t          d	d	d	d
œddd	d
œgt          ddgd¬¦  «        d¬¦  «        }t          j
        ||¦  «         d S )N)r_   r`   r_   r`   r_   r`   r_   r_   )Úoner{   ÚtwoÚthreer|   r|   r{   r}   r   é   )r   r   r    ÚDr   r   c                 óN   — |                       ¦   «                              ¦   «         S r#   )Úvalue_countsÚto_dict©r%   s    r&   r'   z-test_cython_agg_return_dict.<locals>.<lambda>›   s   € ¨A¯NªNÑ,<Ô,<×,DÒ,DÑ,FÔ,F€ r(   r   )r|   r{   r}   r`   r_   ©r;   )r:   r;   )r   r2   r4   r5   r6   r9   rY   r   r   r<   rB   )rD   Útsr\   s      r&   Útest_cython_agg_return_dictr†   �   sù   € å	àIÐIÐIØMÐMÐMÝ”×&Ò& qÑ)Ô)×9Ò9¸!Ñ<Ô<Ý”×&Ò& qÑ)Ô)×9Ò9¸!Ñ<Ô<ð		
ð 	
ñ
ô 
€Bð 
�Š�C‰Œ˜Ô	×	!Ò	!Ð"FÐ"FÑ	GÔ	G€BÝØ˜1 qÐ	)Ð	)°1¸QÈÐ+KÐ+KÐLÝ�U˜E�N¨Ð-Ñ-Ô-Øðñ ô €Hõ
 Ô˜2˜xÑ(Ô(Ð(Ð(Ð(r(   c                  óz  — t          dd¬¦  «        } t          g d¢dz  | ¬¦  «        }|                     d„ ¦  «        }|                     ¦   «         }d}t	          j        t          |¬	¦  «        5  |                     t          j        ¦  «        }d d d ¦  «         n# 1 swxY w Y   t	          j	        ||¦  «         d S )
Nz1/1/2000rN   )rn   )r   r   r    r   ÚEr!   ©r:   c                 ó   — | j         S r#   )Úmonthrƒ   s    r&   r'   z&test_cython_fail_agg.<locals>.<lambda>¨   s   €  1¤7€ r(   zusing SeriesGroupBy.sumrS   )
r   r   r9   r   r<   rW   rX   rY   r2   rB   )Údrr…   rE   Úsummedr[   r\   s         r&   Útest_cython_fail_aggrŽ   ¤   sò   € Ý	�Z¨Ð	,Ñ	,Ô	,€BÝ	Ð)Ð)Ð)¨BÑ.°bÐ	9Ñ	9Ô	9€Bà�jŠjÐ*Ð*Ñ+Ô+€GØ�[Š[‰]Œ]€FØ
#€CÝ	Ô	#¥M¸Ð	=Ñ	=Ô	=ð 'ð 'à—;’;�rœvÑ&Ô&ˆð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'õ Ô˜6 8Ñ,Ô,Ð,Ð,Ð,s   Á/ BÂBÂ"Bz
op, targopÚfirstc                 ó   — | j         d         S ©Nr   ©Úilocrƒ   s    r&   r'   r'   »   s   € ˜AœF 1œI€ r(   Úlastc                 ó   — | j         d         S )Néÿÿÿÿr’   rƒ   s    r&   r'   r'   ¼   s   € ˜1œ6 "œ:€ r(   c                 ó‚  — t          t          j                             d¦  «                             d¦  «        ¦  «        }t          j                             d¦  «                             ddd¬¦  «                             t          ¦  «        }|                     |¦  «         	                    | d d¬¦  «        }|t          j        v rt          nd }d| › �}t          j        ||¬	¦  «        5  |                     |¦  «                             |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        ||¦  «         d S )
Nr   iè  r   rN   )ÚsizeT©Úaltrd   zusing DataFrameGroupBy.rS   )r   r2   r4   r5   r6   rU   rV   Úfloatr9   Ú_cython_agg_generalÚcomÚ_cython_tablerX   r<   rW   rY   r=   )r/   ÚtargoprD   ÚlabelsrG   Úwarnr[   r\   s           r&   Útest__cython_agg_generalr¢   ±   sU  € õ 
•2”9×(Ò(¨Ñ+Ô+×;Ò;¸DÑAÔAÑ	BÔ	B€BÝŒY×"Ò" 1Ñ%Ô%×.Ò.¨q°"¸4Ð.Ñ@Ô@×GÒGÍÑNÔN€Fà�ZŠZ˜ÑÔ×3Ò3°B¸DÈtÐ3ÑTÔT€FØ"¥cÔ&7Ð7Ð7�=ˆ=¸T€DØ
( BÐ
(Ð
(€CÝ	Ô	# D°Ð	4Ñ	4Ô	4ð 2ð 2à—:’:˜fÑ%Ô%×)Ò)¨&Ñ1Ô1ˆð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2õ Ô˜& (Ñ+Ô+Ð+Ð+Ð+s   Ã*)DÄD#Ä&D#c                 óh   — t          | ¦  «        dk    rt          j        | ¦  «        nt          j        S r‘   )Úlenr2   r   r3   rƒ   s    r&   r'   r'   Ð   s"   € ­S°©V¬V°aªZ¨Z�RœY q™\œ\˜\½R¼V€ r(   c                 ó.   — t          j        | d¬¦  «        S )Nr   )Úddof)r2   r   rƒ   s    r&   r'   r'   Ñ   s   € �"œ& ¨Ð+Ñ+Ô+€ r(   c                 ó–  ‡— t          g d¢¦  «        }t          ddd¦  «        }|                     t          j        |d         |¦  «        |¬¦  «        }|                     | d d¬¦  «        }|                     t          j        |d         |¦  «        |¬¦  «        }|                     ˆfd„¦  «        }t          j        ||¦  «         d S )	N©é   r   é   r   é7   rM   ©ÚobservedTr™   c                 ó   •—  ‰| ¦  «        S r#   r+   )r%   rŸ   s    €r&   r'   z/test_cython_agg_empty_buckets.<locals>.<lambda>à   s   ø€ ˜v˜v a™yœy€ r(   )	r   Úranger9   rq   Úcutrœ   rY   r<   r=   )r/   rŸ   r­   rD   ÚgrpsÚgrG   r\   s    `      r&   Útest_cython_agg_empty_bucketsr³   Ì   s¿   ø€ õ 
�<�<�<Ñ	 Ô	 €BÝ��B˜‰?Œ?€Dð 	�
Š
•2”6˜"˜Qœ% Ñ&Ô&°ˆ
Ñ:Ô:€AØ×"Ò" 2¨4¸dÐ"ÑCÔC€Fà
�
Š
•2”6˜"˜Qœ% Ñ&Ô&°ˆ
Ñ:Ô:€AØ�uŠuÐ(Ð(Ð(Ð(Ñ)Ô)€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r(   c                 óö  — t          g d¢dg¬¦  «        }t          j        dddt          ¬¦  «        }|                     t          j        |d         |¦  «        | ¬¦  «                             d	d d
¬¦  «        }t          j        ddd¬¦  «        }t          dg d¢it          j	        |dd
¬¦  «        ¬¦  «        }| r||j
        dk             }t          j        ||¦  «         |                     t          j        |d         |¦  «        | ¬¦  «                             dd d
¬¦  «        }t          dg d¢it          j	        |dd
¬¦  «        ¬¦  «        }| r||j
        dk             }t          j        ||¦  «         d S )Nr¨   rQ   )re   r   ra   rM   ©Údtyper¬   r   Tr™   é   )ro   )r   r   é$   r   )r;   Úorderedr‰   r   )r   r   i´  r   r   )r   r2   ÚarangeÚintr9   rq   r°   rœ   Úinterval_rangeÚCategoricalIndexrQ   r<   r=   )r­   rD   r±   rG   Ú	intervalsr\   s         r&   Ú$test_cython_agg_empty_buckets_nanopsr¿   ä   sŸ  € õ 
�<�<�<¨#¨Ð	/Ñ	/Ô	/€BÝŒ9�Q˜˜A¥SÐ)Ñ)Ô)€Dà�ZŠZ�œ˜r #œw¨Ñ-Ô-¸ˆZÑAÔA×UÒUØ�4 dð Vñ ô €Fõ Ô! ! R¨aÐ0Ñ0Ô0€IÝØ	ˆmˆmˆmÐÝÔ! )°#¸tÐDÑDÔDðñ ô €Hð ð -Ø˜HœJ¨!šOÔ,ˆåÔ˜& (Ñ+Ô+Ð+ð �ZŠZ�œ˜r #œw¨Ñ-Ô-¸ˆZÑAÔA×UÒUØ�D tð Vñ ô €Fõ Ø	ˆoˆoˆoÐÝÔ! )°#¸tÐDÑDÔDðñ ô €Hð ð -Ø˜HœJ¨!šOÔ,ˆåÔ˜& (Ñ+Ô+Ð+Ð+Ð+r(   r/   )r�   r”   r   r   rC   z2016-10-14 21:00:44.557z17088 days 21:00:44.557c                 ó  — t          ddg|t          gdœ¦  «        }t          ddgd¬¦  «        }t          d|t          gi|¬¦  «        }|                     d¦  «                             | ¦  «        }t          j        ||¦  «         d S )Nr   r   rP   rQ   r„   rR   r‰   )r   r   r   r9   Ú	aggregater<   r=   )r/   rC   rD   r:   r\   rG   s         r&   Ú"test_cython_with_timestamp_and_natrÂ     sŠ   € õ 
˜!˜Q˜ t­S kÐ2Ð2Ñ	3Ô	3€BÝ�1�a�&˜sÐ#Ñ#Ô#€Eõ ˜# ¥c˜{Ð+°5Ð9Ñ9Ô9€Hà�ZŠZ˜‰_Œ_×&Ò& rÑ*Ô*€FÝÔ˜( FÑ+Ô+Ð+Ð+Ð+r(   rY   )r   r   r   r   r   r   r   r   ÚohlcÚcumprodÚcumsumÚshiftÚanyÚallÚquantiler�   r”   ÚrankÚcumminÚcummaxc                 ód  — t          g d¢g d¢dœ¦  «        }d|j        j        d         j        _        |                     dg¦  «                             d| i¦  «        }|                     ¦   «                              dg¦  «                             d| i¦  «        }t          j	        ||¦  «         d S )N)gffffff@gš™™™™™@gÍÌÌÌÌÌ@gffffff@g      @)ÚsetosarÎ   rÎ   rÎ   rÎ   )Úsepal_lengthÚspeciesFr   rÐ   rÏ   )
r   Ú_mgrÚarraysÚflagsÚ	writeabler9   rY   Úcopyr<   Úassert_equal)rY   rD   rG   r\   s       r&   Ú test_read_only_buffer_source_aggr×     s³   € õ6 
à5Ð5Ð5ØIÐIÐIð	
ð 	
ñ
ô 
€Bð ).€B„G„N�1ÔÔÔ%à�ZŠZ˜˜Ñ$Ô$×(Ò(¨.¸#Ð)>Ñ?Ô?€FØ�wŠw‰yŒy× Ò  ) Ñ-Ô-×1Ò1°>À3Ð2GÑHÔH€Hå„O�F˜HÑ%Ô%Ð%Ð%Ð%r(   )
r   r   r   r   r   r   r   r   r   r   c                 ó  — t          ddgdz  t          j        ddddddd	d
dt          j        g
d¬¦  «        dœ¦  «        } t	          |                     d¦  «        d         | ¦  «        ¦   «         }|                     |d                              d¦  «        ¬¦  «        } t	          |                     d¦  «        d         | ¦  «        ¦   «         }| dv rd}nd}|                     |¬¦  «        }t          j
        ||¦  «         d S )Nr   r   rM   r   r   ru   rv   r   é   r~   é	   ÚInt64rµ   )r   r   Úfloat64)r   )r   r   FT)Úconvert_integer)r   rq   ÚarrayÚNAr$   r9   ÚassignrV   Úconvert_dtypesr<   rB   )r   rD   rG   Údf2r\   rÝ   s         r&   Útest_cython_agg_nullable_intrã   >  s  € õ$ 
à�s�˜a‘Ý”˜1˜a  A q¨!¨Q°°1µb´eÐ<ÀGÐLÑLÔLð	
ð 	
ñ
ô 
€Bð 4�W�R—Z’Z ‘_”_ SÔ)¨7Ñ3Ô3Ñ5Ô5€FØ
�)Š)�b˜”g—n’n YÑ/Ô/ˆ)Ñ
0Ô
0€CØ6�w�s—{’{ 3Ñ'Ô'¨Ô,¨gÑ6Ô6Ñ8Ô8€HØÐ$Ð$Ð$ØˆˆàˆØ×&Ò&°Ð&ÑGÔG€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r(   r¶   )rÛ   ÚFloat64Úbooleanc                 ód  — t          ddgt          j        dt          j        g| ¬¦  «        t          j        ddg| ¬¦  «        dœ¦  «        }|                     d¦  «                             ¦   «         }t          ddggt          dgd¬¦  «        ddgd	¬
¦  «        }t          j        ||¦  «         d S )Nr   rµ   r   r   r   r„   r   r    rÛ   )r:   re   r¶   )	r   rq   rÞ   rß   r9   r   r   r<   r=   )r¶   rD   rG   r\   s       r&   Ú&test_count_masked_returns_masked_dtyperç   a  s¾   € å	à�Q�Ý”˜1�bœe˜*¨EÐ2Ñ2Ô2Ý”˜1˜a˜&¨Ð.Ñ.Ô.ð	
ð 	
ñ
ô 
€Bð �ZŠZ˜‰_Œ_×"Ò"Ñ$Ô$€FÝØ
ˆQˆˆ�˜q˜c¨Ð,Ñ,Ô,°s¸C°jÈðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r(   Úwith_naTFzop_name, action)	)r   Ú	large_int)r   Úalways_float)r   rê   )r   rê   )r   ré   )r   Úpreserve)r   rë   )r�   rë   )r”   rë   )r   r   ru   rv   rÛ   rµ   ÚInt8)gš™™™™™¹?gš™™™™™É?g333333Ó?gš™™™™™Ù?ÚFloat32rä   )TTFFrå   c                 ó$  — |rt           j        | d<   t          g d¢| dœ¦  «        }|                     d¦  «        }|dk    rt          j        ¦   «         }n•|dk    rLt          | j        ¦  «        r| j        }nst          | j        ¦  «        r| j        }nWt          j        ¦   «         }nC|dk    r0t          | j        ¦  «        r| j        }n!t          j        ¦   «         }n|dk    r| j        } t          ||¦  «        ¦   «         }|d	         j        |k    sJ ‚| 
                    |¦  «        }|d	         j        |k    sJ ‚ t          |d	         |¦  «        ¦   «         }|j        |k    sJ ‚|d	          
                    |¦  «        }|j        |k    sJ ‚d S )
Nru   )rQ   rQ   rR   rR   )ÚkeyÚcolrï   Ú
always_intré   rê   rë   rð   )rq   rß   r   r9   Ú
Int64Dtyper   r¶   r   ÚFloat64Dtyper$   rÁ   )rC   r   Úactionrè   rD   rE   Úexpected_dtyperG   s           r&   Útest_cython_agg_EA_known_dtypesrö   q  s©  € ð: ð Ý”%ˆˆQ‰å	Ð/Ð/Ð/¸Ð=Ð=Ñ	>Ô	>€BØ�jŠj˜ÑÔ€Gà�ÒÐåœ™œˆˆØ	�;Ò	Ð	å˜$œ*Ñ%Ô%ð 	-Ø!œZˆNˆNÝ˜dœjÑ)Ô)ð 	-à!œZˆNˆNåœ]™_œ_ˆNˆNØ	�>Ò	!Ð	!å˜$œ*Ñ%Ô%ð 	/Ø!œZˆNˆNåœ_Ñ.Ô.ˆNˆNØ	�:Ò	Ð	Øœˆà&�W�W˜gÑ&Ô&Ñ(Ô(€FØ�%Œ=Ô .Ò0Ð0Ð0Ð0à×Ò˜wÑ'Ô'€FØ�%Œ=Ô .Ò0Ð0Ð0Ð0à-�W�W˜U”^ WÑ-Ô-Ñ/Ô/€FØŒ<˜>Ò)Ð)Ð)Ð)à�UŒ^×%Ò% gÑ.Ô.€FØŒ<˜>Ò)Ð)Ð)Ð)Ð)Ð)r(   )2Ú__doc__Únumpyr2   rf   Úpandas.core.dtypes.commonr   r   Úpandasrq   r   r   r   r   r	   r
   r   Úpandas._testingÚ_testingr<   Úpandas.core.commonÚcoreÚcommonr�   ÚmarkÚparametrizeÚparamÚfilterwarningsrK   r]   rk   rs   ry   r†   rŽ   r   r   r   r   r   r   r   r¢   r³   r¿   rÂ   r×   rã   rç   rÞ   rö   r+   r(   r&   ú<module>r     s  ððð ð Ð Ð Ð Ø €€€ðð ð ð ð ð ð ð ð
 Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ð  ð „×ÒØàØØØØØØˆŒØð ”;×-Ò-Ð.FÑGÔGÐHð		
ñ 	
ô 	
ð 	ØØðñô ð(,ð ,ñ)ô ð(,ðB-ð -ð -ð ,ð ,ð ,ð(
9ð 
9ð 
9ð3ð 3ð 3ð)ð )ð )ð(
-ð 
-ð 
-ð „×ÒØà	�”ÐØ	�2”9ÐØ	�”ˆØ	�”ˆØ	�”ÐØ	�”ˆØ	�”ˆØ	Ð%Ð%Ð&Ø	Ð%Ð%Ð&ð
ñô ð
,ð 
,ñô ð
,ð „×ÒØà	�”ÐØ	ÐCÐCÐDØ	Ð+Ð+Ð,Ø	�”ˆØ	�”ˆðñ	ô 	ð,ð ,ñ	ô 	ð,ð,ð ,ð ,ðB „×Ò˜Ð>Ð>Ð>Ñ?Ô?Ø„×ÒØ
ˆYˆYÐ0Ñ1Ô1°9°9Ð=VÑ3WÔ3WÐXñô ð	,ð 	,ñô ñ @Ô?ð	,ð „×ÒØ	ðð ð ñô ð2&ð &ñ3ô ð2&ð  „×ÒØðð ð ñô ð-ð -ñô ð-ð( „×Ò˜Ð"AÐ"AÐ"AÑBÔBð,ð ,ñ CÔBð,ð „×Ò˜ T¨5 MÑ2Ô2Ø„×ÒØðð ð ñô ð" „×ÒØ
àˆŒ��� WÐ-Ñ-Ô-ØˆŒ��� VÐ,Ñ,Ô,ØˆŒÐ%Ð%Ð%¨YÐ7Ñ7Ô7ØˆŒÐ%Ð%Ð%¨YÐ7Ñ7Ô7ØˆŒÐ+Ð+Ð+°9Ð=Ñ=Ô=ðñ	ô 	ð&*ð &*ñ	ô 	ñ#ô ñ 3Ô2ð8&*ð &*ð &*r(   