Ë
    ¤ehÙ  ã                   ón  — d Z ddlZddlZddlmZ ddlZddlZddlZddlm	Z	 ddl
mZ ddlZddlmZmZmZmZmZmZ ddlmZ ddlmZ d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!ejD                  jG                  dd„ d„ d„ gg«      d„ «       Z$d„ Z%d„ Z&ejD                  jG                  ddg d¢di fddgdz  e'e(e(e(dœfd d!gdz  e'e(e(e(dœfdg d¢d"d#difddgdz  d"e(e(e(dœfd d!gdz  d"d$d$d$dœfg«      d%„ «       Z)ejD                  jG                  d&dd'd(gd)d*gd+d,ggddd-œfdd.gd'z  gdz  d$fd d'gd'z  gdz  d$d$d-œfg«      d/„ «       Z*d0„ Z+d1„ Z,d2„ Z-d3„ Z.d4„ Z/d5„ Z0d6„ Z1d7„ Z2d8„ Z3d9„ Z4d:„ Z5d;„ Z6ejD                  jG                  d<d=„ d>„ d?„ d@„ dA„ dB„ g«      dC„ «       Z7ejD                  jG                  dDdEg edFgdE¬G«      fdEdHg edFgd'ggdgdggdEdHg¬I«      fg«      ejD                  jG                  dJg dK¢«      ejD                  jG                  dLg dK¢«      ejD                  jG                  dMg dN¢«      dO„ «       «       «       «       Z8ejD                  jG                  dDdEg edFgdE¬G«      fdEdHg edFgd'ggdgdggdEdHg¬I«      fg«      ejD                  jG                  dPg dQ¢«      ejD                  jG                  dRe9e'e(g«      ejD                  jG                  dMg dN¢«      dS„ «       «       «       «       Z:dT„ Z;dU„ Z<ejD                  jG                  dRejz                  ej|                  g«      ejD                  jG                  dVg dW¢«      dX„ «       «       Z?dY„ Z@ejD                  jG                  dZ ej‚                   eBd[«      «       ej†                  dd«       ejˆ                  d\dd]¬^«       ejŠ                  g d_¢«      g«      d`„ «       ZFda„ ZGdb„ ZH G dc„ dd«      ZI G de„ df«      ZJejD                  jG                  dgdhdiej–                  fdjdFdgdkdlgdmdngfdido„ fdidp„ fdqej–                  fdFdgdFdFgdmdngf ej˜                  didr«       ej˜                  dqej–                  «       ej˜                  dids„ «      dFdgdmdngdFdFgfg«      dt„ «       ZMdu„ ZNdv„ ZOejD                  jG                  dwdxdygig dygdzœg«      d{„ «       ZPd|„ ZQd}„ ZRd~„ ZSd„ ZTejD                  jG                  d€d�„ d‚„ dƒ„ g«      d„„ «       ZUd…„ ZVejD                  jG                  d€d†„ eVg«      d‡„ «       ZWdˆ„ ZXejD                  j³                  d‰¬Š«      d‹„ «       ZZ G dŒ„ d�«      Z[dŽ„ Z\ejD                  jG                  d�dydyd�œdFd‘gdEdxgd�œfd’dyid’dEdxgifd“dyid“dFd‘gifg«      d”„ «       Z]ejD                  jG                  d�dydrgdyd�œd•d–gfdydydrgd�œd—d˜gfd’dydrgid™dšgfg«      d›„ «       Z^dœ„ Z_d�„ Z`dž„ ZadŸ„ Zbd „ Zcd¡„ Zdd¢„ ZeejD                  jG                  d£g d¤¢d¥gfg d¦¢d§gfg«      d¨„ «       ZfejD                  jG                  d©dªd«d¬gfdd­d®gfg«      d¯„ «       ZgejD                  jG                  d€g d°¢«      d±„ «       ZhejD                  jG                  d€dygdªdrgdHdid²d³dzœg«      d´„ «       ZiejD                  jG                  dµd,d¶gd,d·gd)d¸ggd)d,gd¸d¶d·ggd¹œfd,d¶gd,d·gdºd¸ggd,dºgd¶d·gd¸gd¹œfdEdFgdEdFgdHd'gdHdggdEdHgdFd'dggd¹œf ejÔ                  dEdFgdEd'gdHdgdHdggdEdHgdFd'gdgd¹œejD                  j²                  ¬»«      g«      d¼„ «       Zkd½„ Zld¾„ Zmd¿„ ZndÀ„ ZodÁ„ ZpdÂ„ ZqdÃ„ Zry)ÄzN
test .agg behavior / note that .apply is tested generally in test_groupby.py
é    N)Úpartial)ÚSpecificationError)Úis_integer_dtype)Ú	DataFrameÚIndexÚ
MultiIndexÚSeriesÚconcatÚto_datetime)ÚGroupingc                  óx   — t        g d¢g d¢dœ«      } | j                  d«      d   }d„ }|j                  |«       y )N©ÚaÚbÚcr   ©é   é   é   é   )ÚkeyÚvaluer   r   c                 óB   — t        | «      dk7  sJ ‚| j                  «       S ©Nr   )ÚlenÚsum©Úxs    úk/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/groupby/aggregate/test_aggregate.pyÚ
dummy_funcz3test_groupby_agg_no_extra_calls.<locals>.dummy_func"   s   € Ü�1‹v˜Š{Ðˆ{Ø�u‰u‹wˆó    )r   ÚgroupbyÚagg)ÚdfÚgbr    s      r   Útest_groupby_agg_no_extra_callsr&      s8   € ä	Ò/º,ÑGÓ	H€BØ	�‰�EÓ	˜7Ñ	#€Bòð ‡F�Fˆ:Õr!   c                 óœ   — | j                  d„ d„ g«      }|j                  d«      }|j                  «       }t        j                  ||«       y )Nc                 ó   — | j                   S ©N©Úyearr   s    r   ú<lambda>z&test_agg_regression1.<locals>.<lambda>*   s
   € ¨¯©€ r!   c                 ó   — | j                   S r)   ©Úmonthr   s    r   r,   z&test_agg_regression1.<locals>.<lambda>*   s
   € ¸1¿7¹7€ r!   Úmean©r"   r#   r0   ÚtmÚassert_frame_equal)ÚtsframeÚgroupedÚresultÚexpecteds       r   Útest_agg_regression1r8   )   s@   € Ø�o‰oÑ/Ñ1BÐCÓD€GØ�[‰[˜Ó €FØ�|‰|‹~€HÜ×Ñ˜& (Õ+r!   c                 ó8  — | j                  d«      d   }d}t        j                  t        |¬«      5  |j	                  d„ «       d d d «       t        j                  t        |¬«      5  |j	                  d„ «       d d d «       y # 1 sw Y   Œ@xY w# 1 sw Y   y xY w)NÚAÚCzMust produce aggregated value©Úmatchc                 ó"   — | j                  «       S r)   )Údescriber   s    r   r,   z#test_agg_must_agg.<locals>.<lambda>5   s   € ˜aŸj™j›l€ r!   c                 ó    — | j                   d d S ©Nr   ©Úindexr   s    r   r,   z#test_agg_must_agg.<locals>.<lambda>7   s   € ˜aŸg™g b q˜k€ r!   )r"   ÚpytestÚraisesÚ	Exceptionr#   )r$   r5   Úmsgs      r   Útest_agg_must_aggrH   0   s~   € Ø�j‰j˜‹o˜cÑ"€Gà
)€CÜ	�‰”y¨Ô	,ñ ,Ø�‰Ñ*Ô+÷,ä	�‰”y¨Ô	,ñ +Ø�‰Ñ)Ô*÷+ð +÷,ð ,ú÷+ð +ús   ²BÁ(BÂBÂBc                 óþ   — d„ }| j                   j                  | j                  | j                  g«      j	                  |«      }| j                  ddg«      j                  «       d   }t        j                  ||«       y )Nc                 ó"   — | j                  «       S r)   ©r   r   s    r   r,   z(test_agg_ser_multi_key.<locals>.<lambda>;   ó   € �!—%‘%“'€ r!   r:   ÚBr;   )r;   r"   r:   rM   Ú	aggregater   r2   Úassert_series_equal)r$   ÚfÚresultsr7   s       r   Útest_agg_ser_multi_keyrR   :   s`   € Ù€AØ�d‰d�l‰l˜BŸD™D "§$¡$˜<Ó(×2Ñ2°1Ó5€GØ�z‰z˜3 ˜*Ó%×)Ñ)Ó+¨CÑ0€HÜ×Ñ˜7 HÕ-r!   c                  ón  — t        dddt        j                  ddddgdddt        j                  ddd	d
gdœt        j                  g d¢ddg¬«      ¬«      } t        dddddddt        j                  ddddgd
ddddddt        j                  d	dddgddddt        j                  dddddt        j                  dgddddt        j                  dddddt        j                  t        j                  gdœ«      }|j                  ddg«      }|dd g   j                  «       }t        j                  || «       y )!Né   é   r   r   r   é7   éM   é!   é,   é   )Úv1Úv2))r   é_   )r   éc   )r   r]   )r   r^   )ÚbigÚdamp)ÚblueÚdry)Úredrc   )rc   ÚwetÚby1Úby2©ÚnamesrB   é   é	   éX   r^   rc   ra   r   r_   é   rd   rb   r]   r`   )r[   r\   re   rf   r[   r\   )	r   ÚnpÚnanr   Úfrom_tuplesr"   r0   r2   r3   )r7   r$   Úgr6   s       r   Ú$test_groupby_aggregation_mixed_dtyperq   A   sD  € äà�a˜œBŸF™F A q¨!¨QÐ/Ø�r˜2œrŸv™v r¨2¨r°2Ð6ñ	
ô ×$Ñ$ò	ð ˜%�.ô
ô€Hô( 
à�a˜˜A˜q ! Q¬¯©°°1°a¸Ð;Ø�r˜2˜r 2 r¨2¬r¯v©v°r¸2¸rÀ2ÐFØ˜6 1 a¬¯©°¸¸1¸eÀQÌÏÉÐPRÐSàØØØÜ—‘ØØØØØÜ—‘Ü—‘ðñ		
ó
€Bð, 	�
‰
�E˜5�>Ó"€AØ��dˆ|‰_×!Ñ!Ó#€FÜ×Ñ˜& (Õ+r!   c                  óÂ  — g d¢ddt         j                  dgddt         j                  dgddt         j                  dgg} t        | t        j                  g d¢«      ¬«      }d}t        j                  t        |¬«      5  |j                  dd¬	«      }d d d «       j                  d¬
«      }t        g d¢g d¢dœ«      }t        j                  ||«       y # 1 sw Y   ŒDxY w)N)TTTFTF))r:   r   )r:   r   )rM   r   )rM   r   ©ÚdataÚcolumnsú+DataFrame.groupby with axis=1 is deprecatedr<   r   ©ÚlevelÚaxis)Únumeric_only)ç       @TTT)r   r   r   r   ©r   r   )rm   rn   r   r   ro   r2   Úassert_produces_warningÚFutureWarningr"   r   r3   )Úlstr$   rG   r%   r6   r7   s         r   Ú+test_groupby_aggregation_multi_level_columnr€   r   sÊ   € ò 	"Ø	ˆu”b—f‘f˜eÐ$Ø	ˆt”R—V‘V˜UÐ#Ø	ˆt”R—V‘V˜UÐ#ð	€Cô 
ØÜ×&Ñ&Ò'OÓPô
€Bð
 8€CÜ	×	#Ñ	#¤M¸Ô	=ñ )Ø�Z‰Z˜a aˆZÓ(ˆ÷)à�V‰V ˆVÓ'€FÜÒ4ºÑFÓG€Hä×Ñ˜& (Õ+÷)ð )ús   Á>CÃCc           	      óð  — | j                  | t        j                  z  d¬«      }| j                  t        j                  k(  sJ ‚t        g t        j                  t        g t        j                  ¬«      ¬«      }t        j                  |j                  «       |«       t        j                  |j                  d«      |«       t        j                  |j                  d«      |d¬«       |j                  |d   t        j                  z  d¬«      }t        |j                  t        t        g dt        j                  ¬«      ¬	«      }t        j                  |j                  «       |«       t        j                  |j                  d«      |«       d
}t        j                   t"        |d¬«      5  |j                  t        j                  «      }d d d «       t        j                  |«       y # 1 sw Y   Œ xY w)NF©Ú
group_keys©Údtype©r…   rC   r   )Úcheck_index_typer:   )Únamer…   )ru   r…   rC   z:The behavior of DataFrame.sum with axis=None is deprecated)r=   Úcheck_stacklevel)r"   rm   rn   r…   Úfloat64r	   r   r2   rO   r   r#   Úapplyr   ru   Úfloatr3   r}   r~   )Útsr4   r5   ÚexpÚexp_dfrG   Úress          r   Útest_agg_apply_cornerr‘   ˆ   s_  € à�j‰j˜œbŸf™f™°ˆjÓ7€GØ�8‰8”r—z‘zÒ!Ð!Ð!ô �œ2Ÿ:™:¬U°2¼R¿Z¹ZÔ-HÔ
I€CÜ×Ñ˜7Ÿ;™;›=¨#Ô.Ü×Ñ˜7Ÿ;™; uÓ-¨sÔ3Ü×Ñ˜7Ÿ=™=¨Ó/°ÀuÕMð �o‰o˜g c™l¬R¯V©VÑ3ÀˆoÓF€GÜØ—‘ÜÜ�B˜S¬¯
©
Ô3ô€Fô
 ×Ñ˜'Ÿ+™+›-¨Ô0Ü×Ñ˜'Ÿ+™+ eÓ,¨fÔ5à
F€CÜ	×	#Ñ	#¤M¸ÈuÔ	Uñ $Ø�m‰mœBŸF™FÓ#ˆ÷$ä×Ñ˜#˜vÕ&÷$ð $ús   Æ- G,Ç,G5c           	      óò  — t        t        j                  j                  d«      j	                  d«      t        t        d«      t        ¬«      t        j                  ddd¬«      ¬	«      }|j                  d
„ «      }|j                  j                  d   j                  }t        | j                  t        |«      «      |j                  j                  d<   |j!                  d«      }|j#                  «       }t%        j&                  ||«       t        | j                  t)        |«      «      |j                  j                  d<   |j!                  d«      }|j#                  «       }t%        j&                  ||«       y )Nr   )é   r   ÚABCDr„   z
2000-01-01r“   rM   ©ÚperiodsÚfreq©ru   rC   c                 ó   — | j                   S r)   r*   r   s    r   r,   z1test_agg_grouping_is_list_tuple.<locals>.<lambda>ª   s
   €  1§6¡6€ r!   r   r0   )r   rm   ÚrandomÚdefault_rngÚstandard_normalr   ÚlistÚobjectÚpdÚ
date_ranger"   Ú_grouperÚ	groupingsÚgrouping_vectorr   rC   r#   r0   r2   r3   Útuple)r�   r$   r5   Úgrouperr6   r7   s         r   Útest_agg_grouping_is_list_tupler¦   £   s  € Ü	Ü
�	‰	×Ñ˜aÓ ×0Ñ0°Ó9Ü”d˜6“l¬&Ô1Ü�m‰m˜L°"¸3Ô?ô
€Bð �j‰jÑ)Ó*€GØ×Ñ×(Ñ(¨Ñ+×;Ñ;€GÜ$,¨R¯X©X´t¸G³}Ó$E€G×Ñ×Ñ˜qÑ!à�[‰[˜Ó €FØ�|‰|‹~€HÜ×Ñ˜& (Ô+ä$,¨R¯X©X´u¸W³~Ó$F€G×Ñ×Ñ˜qÑ!à�[‰[˜Ó €FØ�|‰|‹~€HÜ×Ñ˜& (Õ+r!   c                 ó˜   — | j                  ddg«      }|j                  d«      }|j                  «       }t        j                  ||«       y )Nr:   rM   r0   r1   )Ú multiindex_dataframe_random_datar5   r6   r7   s       r   Útest_agg_python_multiindexr©   ¹   s?   € Ø.×6Ñ6¸¸S°zÓB€Gà�[‰[˜Ó €FØ�|‰|‹~€HÜ×Ñ˜& (Õ+r!   Úgroupbyfuncc                 ó"   — | j                  «       S r)   ©Úweekdayr   s    r   r,   r,   Â   s   € ˜aŸi™i›k€ r!   c                 ó   — | j                   S r)   r.   r   s    r   r,   r,   Â   s
   € °a·g±g€ r!   c                 ó"   — | j                  «       S r)   r¬   r   s    r   r,   r,   Â   s   € ÈÏÉË€ r!   c                 ó  — | j                  |«      }|d   j                  d«      }|d   j                  «       }t        j                  ||«       |j                  d«      }|j                  «       }t        j                  ||«       |j                  dddddœ«      }t        |d   j                  «       |d   j                  «       |d   j                  «       |d	   j                  «       dœ«      }t        j                  ||«       y )
Nr:   ÚstdÚvarr0   Úsem)r:   rM   r;   ÚDrM   r;   r´   )r"   r#   r±   r2   rO   rN   r²   r3   r   r0   r³   )r4   rª   r5   r6   r7   s        r   Útest_aggregate_str_funcrµ   Á   sñ   € ð �o‰o˜kÓ*€Gð �S‰\×Ñ˜eÓ$€FØ�s‰|×ÑÓ!€HÜ×Ñ˜6 8Ô,ð ×Ñ˜uÓ%€FØ�{‰{‹}€HÜ×Ñ˜& (Ô+ð �[‰[˜u¨5°vÀEÑJÓK€FÜà˜‘×!Ñ!Ó#Ø˜‘×!Ñ!Ó#Ø˜‘×"Ñ"Ó$Ø˜‘×!Ñ!Ó#ñ		
ó€Hô ×Ñ˜& (Õ+r!   c                 ó  — t        g d¢t        t        j                  ddddddgd¬«      dœ«      }|j	                  d«      j                  «       }t        dd	d
git        ddgd¬«      d¬«      }t        j                  ||«       y )N)r   r   r   r   r   r   r   r   r   ÚFloat64r„   ©r   r   r   r   g(µ¦yâ?r   ©rˆ   ©rC   r…   )	r   r	   rŸ   ÚNAr"   r±   r   r2   r3   )Úany_numeric_ea_dtyper$   r6   r7   s       r   Útest_std_masked_dtyper½   Þ   s€   € ä	â&ÜœŸ™  1 a¨¨A¨qÐ1¸ÔCñ	
ó
€Bð �Z‰Z˜‹_× Ñ Ó"€FÜØ	ˆw˜ˆlÐ¤5¨!¨Q¨°cÔ#:À)ô€Hô ×Ñ˜& (Õ+r!   c                 óL  — | j                  d¬«      }d|› d�}|dv rt        }d}t        }nt        }d|› d�}d }t	        j
                  ||¬	«      5  t        j                  ||¬	«      5  |j                  |d
¬«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nr   ©rx   zDataFrameGroupBy.z with axis=1 is deprecated)ÚidxmaxÚidxminz;'[<>]' not supported between instances of 'float' and 'str'z
Operation z does not support axis=1r<   r   ©ry   )	r"   Ú	TypeErrorr~   Ú
ValueErrorrD   rE   r2   r}   r#   )r$   Úreduction_funcr%   Úwarn_msgÚerrorrG   Úwarns          r   Ú%test_agg_str_with_kwarg_axis_1_raisesrÉ   í   s±   € Ø	�‰˜!ˆÓ	€BØ" >Ð"2Ð2LÐM€HØÐ-Ñ-ÜˆØKˆÜ‰äˆØ˜>Ð*Ð*BÐCˆØˆÜ	�‰�u CÔ	(ñ +Ü×'Ñ'¨°HÔ=ñ 	+Ø�F‰F�>¨ˆFÔ*÷	+÷+ð +÷	+ð 	+ú÷+ð +ús$   ÁBÁ)BÁ=BÂB	ÂBÂB#z(func, expected, dtype, result_dtype_dictr   )rT   rU   rj   Úint64r±   gÙlßÌvø @r   ©ÚiÚjÚkr²   g      @ÚInt64rÍ   rŠ   c                 óœ  — t        g d¢gdz  t        j                  ddgg d¢g«      ¬«      j                  ||dœ«      }d}t	        j
                  t        |¬	«      5  |j                  d
d
¬«      }d d d «       j                  | «      }t        |gdz  g d¢¬«      j                  |«      }t	        j                  ||«       y # 1 sw Y   ŒSxY w)N)r   r   r   r   rT   é   r   r   r   rË   ©ru   ))r   rÍ   )r   rÍ   rv   r<   r   rw   )
r   r   Úfrom_productÚastyper2   r}   r~   r"   r#   r3   )Úfuncr7   r…   Úresult_dtype_dictr$   rG   r%   r6   s           r   Ú(test_multiindex_groupby_mixed_cols_axis1r×   ý   sÁ   € ô 
Ú	Ð˜qÑ Ü×'Ñ'¨#¨s¨²_Ð(EÓFô
÷ �f˜%¨UÑ3Ó4ð ð
 8€CÜ	×	#Ñ	#¤M¸Ô	=ñ )Ø�Z‰Z˜a aˆZÓ(ˆ÷)à�V‰V�D‹\€FÜ˜(˜ a™²ÔA×HÑHØó€Hô ×Ñ˜& (Õ+÷)ð )ús   ÁCÃCz&func, expected_data, result_dtype_dictr   r   é
   rl   é   é   )rØ   rÚ   gÍ;fž ö?c                 ó  — t        t        j                  d«      j                  dd«      t	        g d¢d¬«      t	        g d¢d¬«      d	¬
«      j                  ddi«      }d}t        j                  t        |¬«      5  |j                  dd¬«      }d d d «       j                  | «      }t        |t	        g d¢d¬«      t	        ddgd¬«      ¬«      j                  |«      }t        j                  ||«       y # 1 sw Y   ŒhxY w)Nrl   r   r   ©r   r   r   Úyr¹   )rØ   rÚ   rØ   rÚ   r   rÊ   )rC   ru   r…   rØ   rÏ   rv   r<   r   rÂ   rÚ   )rt   rC   ru   )r   rm   ÚarangeÚreshaper   rÔ   r2   r}   r~   r"   r#   r3   )rÕ   Úexpected_datarÖ   r$   rG   r%   r6   r7   s           r   Útest_groupby_mixed_cols_axis1rá     sã   € ô 
Ü
�	‰	�"‹×Ñ˜a Ó#Ü’I CÔ(ÜÒ&¨SÔ1Øô	
÷
 �fˆb�'ˆ]Óð ð 8€CÜ	×	#Ñ	#¤M¸Ô	=ñ %Ø�Z‰Z˜ !ˆZÓ$ˆ÷%à�V‰V�D‹\€FÜØÜ’I CÔ(Ü�r˜2�h SÔ)ô÷ �fÐÓð	 ô
 ×Ñ˜& (Õ+÷%ð %ús   Á;C6Ã6C?c                 óæ  — | j                  d«      }d„ }|j                  |«      }| j                  dk(  j                  «       }| j                  dk(  j                  «       }t	        |j
                  «      }t        t        j                  |g|z  «      t        d«      d¬«      }t        j                  |j                  d«      |«       t        t        j                  |g|z  «      t        d«      d¬«      }t        j                  |j                  d«      |«       d„ }t        «       j                  | j                  «      j                  |«      }t        |t        «      sJ ‚t	        |«      dk(  sJ ‚y )	Nr:   c                 ó   — | j                   S r)   ©Úsize©Úsers    r   r,   z-test_aggregate_item_by_item.<locals>.<lambda>;  s
   € ˜3Ÿ8™8€ r!   ÚfooÚbarÚBCD©rC   rˆ   c                 ó   — | j                   S r)   rä   ræ   s    r   Úaggfun_1z-test_aggregate_item_by_item.<locals>.aggfun_1H  s   € Ø�x‰xˆr!   r   )r"   r#   r:   r   r   ru   r	   rm   Úarrayr�   r2   rO   ÚxsÚassert_almost_equalr   Ú
isinstance)	r$   r5   Úaggfun_0r6   ÚfoosumÚbarsumÚKrŽ   rí   s	            r   Útest_aggregate_item_by_itemrö   8  s  € Ø�j‰j˜‹o€Gá#€HØ�[‰[˜Ó"€FØ�d‰d�e‰m× Ñ Ó"€FØ�d‰d�e‰m× Ñ Ó"€FÜˆF�N‰NÓ€Aô ”—‘˜6˜( Q™,Ó'¬t°E«{ÀÔ
G€CÜ×Ñ˜6Ÿ9™9 UÓ+¨SÔ1ä
”—‘˜6˜( Q™,Ó'¬t°E«{ÀÔ
G€CÜ×Ñ˜6Ÿ9™9 UÓ+¨SÔ1òô ‹[× Ñ  §¡Ó&×*Ñ*¨8Ó4€FÜ�fœiÔ(Ð(Ð(Üˆv‹;˜!ÒÐÑr!   c                 óx  — | j                  ddg«      }d„ }t        j                  t        d¬«      5  |j	                  |«       d d d «       |g d¢   j	                  |«      }| j
                  d d …g d¢f   }|j                  ddg«      j	                  |«      }t        j                  ||«       y # 1 sw Y   ŒmxY w)Nr:   rM   c                 ó^   — | j                   t        k(  rt        d«      ‚| j                  «       S )NúTest error message)r…   rž   rÃ   r   ræ   s    r   rÕ   ztest_wrap_agg_out.<locals>.funcS  s&   € Ø�9‰9œÒÜÐ0Ó1Ð1Ø�w‰w‹yÐr!   rù   r<   )r´   ÚEÚF)r:   rM   r´   rú   rû   )r"   rD   rE   rÃ   rN   Úlocr2   r3   )Úthree_groupr5   rÕ   r6   Úexp_groupedr7   s         r   Útest_wrap_agg_outrÿ   P  s§   € Ø×!Ñ! 3¨ *Ó-€Gòô
 
�‰”yÐ(<Ô	=ñ  Ø×Ñ˜$Ô÷ à’_Ñ%×/Ñ/°Ó5€FØ—/‘/¢!Ò%>Ð">Ñ?€KØ×"Ñ" C¨ :Ó.×8Ñ8¸Ó>€HÜ×Ñ˜& (Õ+÷ ð  ús   ²B0Â0B9c                 ór  — dt         j                  fdt         j                  fdt         j                  fg}d}t	        j
                  t        |¬«      5  | j                  d«      d   j                  |«      }d d d «       t        g d¢«      }t	        j                  j                  |«       y # 1 sw Y   Œ7xY w)	Nr0   ÚmaxÚminú%is currently using SeriesGroupBy.meanr<   r:   r;   )r0   r  r  )rm   r0   r  r  r2   r}   r~   r"   r#   r   Úassert_index_equalru   )r$   ÚfuncsrG   r6   Úexp_colss        r   Ú*test_agg_multiple_functions_maintain_orderr  `  s�   € à”b—g‘gÐ ¬¯© °%¼¿¹°ÐA€EØ
1€CÜ	×	#Ñ	#¤M¸Ô	=ñ 1Ø—‘˜C“ Ñ%×)Ñ)¨%Ó0ˆ÷1äÒ+Ó,€Hä×Ñ˜&Ÿ.™.¨(Õ3÷	1ð 1ús   Á$B-Â-B6c                 óª   — | j                   d d …dgf   j                  | d   «      }|j                  d„ «      }|j                  j                  dk(  sJ ‚y )Nr;   r:   c                 ó"   — | j                  «       S r)   ©r0   r   s    r   r,   z(test_series_index_name.<locals>.<lambda>m  s   €  1§6¡6£8€ r!   )rü   r"   r#   rC   rˆ   )r$   r5   r6   s      r   Útest_series_index_namer  k  sL   € Ø�f‰f’Q˜˜�XÑ×&Ñ& r¨#¡wÓ/€GØ�[‰[Ñ+Ó,€FØ�<‰<×Ñ Ò#Ð#Ñ#r!   c                  óÄ  — t        t        j                  j                  d«      j	                  d«      t        j                  ddd¬«      g d¢¬«      } | j                  d	«      j                  d
t        t        j                  d¬«      t        t        j                  d¬«      gi«      }t        j                  dd	d¬«      }t        j                  ddg«      }t        j                  dD �cg c]7  }| j                  d	«      j                  j                  |¬«      j                  ‘Œ9 c}«      j                   }t        |||¬«      }t#        j$                  ||«       y c c}w )Nr   ©éè  r   ú1/1/2012Úsr  )r—   r–   ©r:   rM   r;   ©rC   ru   Ú3minr:   ç§èH.ÿï?©Úqçâé•²q¼?rÑ   )r:   Úquantile©r  r  r˜   )r   rm   rš   r›   rœ   rŸ   r    Úresampler#   r   r  r   ro   rî   r:   ÚvaluesÚTr2   r3   )r$   r6   Úexpected_indexÚexpected_columnsr  Úexpected_valuesr7   s          r   Ú%test_agg_multiple_functions_same_namer   q  s  € ä	Ü
�	‰	×Ñ˜aÓ ×0Ñ0°Ó;Ü�m‰m˜J¨S¸$Ô?Úô
€Bð
 �[‰[˜Ó ×$Ñ$Ø	Œw”r—{‘{ fÔ-¬w´r·{±{ÀfÔ/MÐNÐOó€Fô —]‘] :°FÀAÔF€NÜ!×-Ñ-Ð/@ÐBSÐ.TÓUÐÜ—h‘hØ=MÖN¸ˆ�‰�VÓ	×	Ñ	×	'Ñ	'¨!Ð	'Ó	,×	3Ó	3ÒNóç�að ô ØÐ!1¸ô€Hô ×Ñ˜& (Õ+ùò 	Os   Ã+<Ec            	      ód  — t        t        j                  j                  d«      j	                  d«      t        j                  dddd¬«      t        g d¢d	¬
«      ¬«      } | j                  d«      j                  ddt        t        j                  d¬«      t        t        j                  d¬«      gi«      }t        j                  dddd¬«      }t        j                  g d¢g d¢¬«      }t        j                  dD �cg c]7  }| j                  d«      j                  j                  |¬«      j                   ‘Œ9 c}«      j"                  }t        j$                  | j                  d«      j                  j'                  «       |g«      }t        |||¬«      }t)        j*                  ||«       y c c}w )Nr   r  r  r  r  Údti)r—   r–   rˆ   r  Úalphar¹   r  r  r:   Úohlcr  r  r  rÑ   ))r:   r$  Úopen)r:   r$  Úhigh)r:   r$  Úlow)r:   r$  Úclose©r:   r  r:   r)  )r#  NNrg   r  r˜   )r   rm   rš   r›   rœ   rŸ   r    r   r  r#   r   r  r   ro   rî   r:   r  r  Úhstackr$  r2   r3   )r$   r6   r  r  r  Únon_ohlc_expected_valuesr  r7   s           r   Ú7test_agg_multiple_functions_same_name_with_ohlc_presentr,  †  s^  € ô 
Ü
�	‰	×Ñ˜aÓ ×0Ñ0°Ó;Ü�m‰m˜J¨S¸$ÀUÔKÜ’o¨GÔ4ô
€Bð
 �[‰[˜Ó ×$Ñ$Ø	ˆv”wœrŸ{™{¨fÔ5´w¼r¿{¹{ÈfÔ7UÐVÐWó€Fô —]‘] :°FÀAÈEÔR€NÜ!×-Ñ-ò	
ò $ô
Ðô  "Ÿx™xØ=MÖN¸ˆ�‰�VÓ	×	Ñ	×	'Ñ	'¨!Ð	'Ó	,×	3Ó	3ÒNó ç�að ô —i‘iØ	�‰�VÓ	×	Ñ	×	#Ñ	#Ó	%Ð'?Ð@ó€Oô ØÐ!1¸ô€Hô ×Ñ˜& (Õ+ùò 	Os   Ã=<F-c                 ó   — | j                  ddg¬«      } ddg}ddg}| j                  d«      d   j                  |«      }| j                  d«      d   j                  |«      }t        j                  ||«       | j                  d«      j                  |«      }| j                  d«      j                  |«      }t        j                  ||«       y )	NrM   r;   rÒ   )rè   r0   r±   )r±   r±   r:   r´   )Údropr"   r#   r2   r3   )r$   r  Úex_funcsr6   r7   s        r   Ú-test_multiple_functions_tuples_and_non_tuplesr0  ©  s¶   € ð 
�‰˜#˜s˜ˆÓ	$€Bà˜eÐ$€EØ Ð0€Hà�Z‰Z˜‹_˜SÑ!×%Ñ% eÓ,€FØ�z‰z˜#‹˜sÑ#×'Ñ'¨Ó1€HÜ×Ñ˜& (Ô+à�Z‰Z˜‹_× Ñ  Ó'€FØ�z‰z˜#‹×"Ñ" 8Ó,€HÜ×Ñ˜& (Õ+r!   c                 óœ  — | j                  d«      }|j                  dddœ«      }|j                  dddœ«      }t        ||gddgd¬«      }|j                  ddd¬«      j	                  dd¬	«      }ddgddgdœ}|j                  |«      }t        j                  ||«       |j                  dddgdœ«      }|j                  dddgdœ«      }t        j                  ||«       d
„ }d„ }d}	t        j                  t        |	¬«      5  ddddœdœ}|j                  |«       d d d «       dg||gdœ}|j                  |«       y # 1 sw Y   Œ#xY w)Nr:   r0   ©r;   r´   r±   r   )Úkeysry   r   rÂ   rw   c                 ó,   — t        j                  | «      S r)   ©rm   r0   r   s    r   Ú	numpymeanz:test_more_flexible_frame_multi_function.<locals>.numpymeanÍ  s   € Ü�w‰w�q‹zÐr!   c                 ó0   — t        j                  | d¬«      S )Nr   )Úddof)rm   r±   r   s    r   Únumpystdz9test_more_flexible_frame_multi_function.<locals>.numpystdÐ  s   € Ü�v‰v�a˜aÔ Ð r!   únested renamer is not supportedr<   ©rè   ré   )r"   r#   r
   Ú	swaplevelÚ
sort_indexrN   r2   r3   rD   rE   r   )
r$   r5   ÚexmeanÚexstdr7   Údr6   r6  r9  rG   s
             r   Ú'test_more_flexible_frame_multi_functionrA  º  s[  € Ø�j‰j˜‹o€Gà�[‰[˜v¨FÑ3Ó4€FØ�K‰K˜e¨%Ñ0Ó1€Eä�v˜u�o¨V°U¨OÀ!ÔD€HØ×!Ñ! ! Q¨QÐ!Ó/×:Ñ:ÀÈÐ:ÓK€Hà�uˆo V¨U OÑ4€AØ×Ñ˜qÓ!€Fä×Ñ˜& (Ô+ð ×Ñ V°6¸5°/ÑBÓC€FØ× Ñ  v°V¸U°OÑ!DÓE€HÜ×Ñ˜& (Ô+òò!ð -€CÜ	�‰Ô)°Ô	5ñ Ø v°eÑ<Ñ=ˆØ×Ñ˜!Ô÷ð
 ˆh˜i¨Ð2Ñ3€AØ×Ñ�aÕ÷ð ús   ÄEÅEc                 óä  — | j                  d«      }dddœddidœ}d}t        j                  t        |¬«      5  |j	                  |«       d d d «       dddœddœ}t        j                  t        |¬«      5  |j	                  |«       d d d «       dddœddœ}t        j                  t        |¬«      5  |j	                  |«       d d d «       y # 1 sw Y   Œ„xY w# 1 sw Y   ŒSxY w# 1 sw Y   y xY w)	Nr:   r0   r±   r;  r   r2  r:  r<   )r"   rD   rE   r   rN   )r$   r5   r@  rG   s       r   Ú test_multi_function_flexible_mixrC  Þ  sæ   € à�j‰j˜‹o€Gð  UÑ+°5¸%°.ÑA€Aà
,€CÜ	�‰Ô)°Ô	5ñ Ø×Ñ˜!Ô÷ð  UÑ+°%Ñ8€Aä	�‰Ô)°Ô	5ñ Ø×Ñ˜!Ô÷ð  UÑ+°%Ñ8€Aä	�‰Ô)°Ô	5ñ Ø×Ñ˜!Ô÷ð ÷ð ú÷ð ú÷ð ús#   ¹CÁ6CÂ3C&ÃCÃC#Ã&C/c                  óZ  — t        g d¢g d¢g d¢dœ«      } | j                  d«      }t        ddgd¬«      }|d	   j                  d
„ «      }t	        ddg|d	¬«      }t        j                  ||«       |d   j                  d„ «      }t	        ddg|d¬«      }t        j                  ||«       y )N©r   r   r   r   ©r   r   r   r   )NNr   r   ©r   r   r   r   r   r   r¹   r   c                 ó(   — | dk7  j                  «       S r   ©Úallr   s    r   r,   z1test_groupby_agg_coercing_bools.<locals>.<lambda>ý  s   € ¨!¨q©&¯©«€ r!   FTrë   r   c                 ó>   — | j                  «       j                  «       S r)   )ÚisnullrJ  r   s    r   r,   z1test_groupby_agg_coercing_bools.<locals>.<lambda>  s   € ¨¯©«¯©Ó)9€ r!   )r   r"   r   rN   r	   r2   rO   )ÚdatÚgprC   r6   r7   s        r   Útest_groupby_agg_coercing_boolsrO  ö  s    € ä
š,ª\Ò@RÑSÓ
T€CØ	�‰�SÓ	€Bä�1�a�&˜sÔ#€Eà�‰W×ÑÑ7Ó8€FÜ�u˜d�m¨5°sÔ;€HÜ×Ñ˜6 8Ô,à�‰W×ÑÑ9Ó:€FÜ�t˜U�m¨5°sÔ;€HÜ×Ñ˜6 8Õ,r!   c                  óè   — t        g d¢g d¢dœ«      } | j                  d«      dg   j                  ddi«      }t        dddgiddg¬	«      j                  dd
¬«      }t	        j
                  ||«       y )N)r:   r:   rM   rM   rM   )r   r   r   r   r   ©r:   rM   r:   rM   r   r   r   rB   r   rÂ   )r   r"   r#   Úrename_axisr2   r3   )rM  r6   r7   s      r   Ú"test_groupby_agg_dict_with_getitemrS    so   € ä
Ò3º/ÑJÓ
K€CØ�[‰[˜Ó˜s˜eÑ$×(Ñ(¨#¨u¨Ó6€Fä˜#  1˜v˜¨s°C¨jÔ9×EÑEÀcÐPQÐEÓR€Hä×Ñ˜& (Õ+r!   c                  óä   — t        g d¢g d¢g d¢gg d¢¬«      } | j                  d«      }|j                  ddi«      }t        dd	d
git        ddgd¬«      ¬«      }t	        j
                  ||«       y )Nr   )r   r   r   rT   )r   r   rT   rÑ   r   rÒ   r   r   r   rT   r   r   r   r¹   rB   ©r   r"   r#   r   r2   r3   ©r$   r%   r6   r7   s       r   Ú!test_groupby_agg_dict_dup_columnsrW    si   € ä	Ú	’|¢\Ð2Ú$ô
€Bð 
�‰�C‹€BØ�V‰V�S˜%�LÓ!€FÜ˜#  1˜v˜¬e°Q¸°FÀÔ.EÔF€HÜ×Ñ˜& (Õ+r!   Úopc                 ó"   — | j                  «       S r)   rK   r   s    r   r,   r,     rL   r!   c                 ó"   — | j                  «       S r)   )Úcumsumr   s    r   r,   r,      s   € �!—(‘(“*€ r!   c                 ó$   — | j                  d«      S ©Nr   ©Ú	transformr   s    r   r,   r,   !  s   € �!—+‘+˜eÓ$€ r!   c                 ó$   — | j                  d«      S ©Nr[  r^  r   s    r   r,   r,   "  s   € �!—+‘+˜hÓ'€ r!   c                 ó$   — | j                  d«      S r]  ©r#   r   s    r   r,   r,   #  s   € �!—%‘%˜“,€ r!   c                 ó$   — | j                  d«      S ra  rc  r   s    r   r,   r,   $  s   € �!—%‘%˜“/€ r!   c                 ó  — t        ddgddgdœ«      }|j                  d«      d   } | |j                  d«      «      d   j                  }t	        |«      sJ ‚ | |j                  d«      «      j                  }t	        |«      sJ ‚y )Nr   FTr¸   r   r   )r   Ú	set_indexr"   r…   r   )rX  r$   r  r6   s       r   Útest_bool_agg_dtyperg    s   € ô 
˜!˜Q˜ u¨d mÑ4Ó	5€BØ
�‰�SÓ˜#Ñ€Aá�—
‘
˜3“Ó  Ñ%×+Ñ+€FÜ˜FÔ#Ð#Ð#á�—	‘	˜#“Ó×%Ñ%€FÜ˜FÔ#Ð#Ñ#r!   zkeys, agg_indexr   r   r¹   r   rg   Úinput_dtype)ÚboolÚint32rÊ   Úfloat32rŠ   Úresult_dtypeÚmethod)r‹   rN   r_  c                 óž  ‡— t        dgdgdgdœ«      }|d   j                  |«      |d<   t        |j                  | «      dg   |«      } |ˆfd„«      }|dk(  rt	        j
                  dd«      n|}t        d|d   j                  d   gi|¬	«      j                  ‰«      }	|d
k(  rdg|	j                  _        t        j                  ||	«       y )Nr   r   TrG  r   c                 ó@   •— | j                  ‰«      j                  d   S r   ©rÔ   Úiloc)r   rl  s    €r   r,   z2test_callable_result_dtype_frame.<locals>.<lambda>I  s   ø€ ˜!Ÿ(™( <Ó0×5Ñ5°aÑ8€ r!   r_  r   rB   r‹   )r   rÔ   Úgetattrr"   rŸ   Ú
RangeIndexrq  ru   rh   r2   r3   )
r3  Ú	agg_indexrh  rl  rm  r$   rX  r6   r  r7   s
      `      r   Ú test_callable_result_dtype_frameru  4  sÊ   ø€ ô$ 
˜!˜ A 3¨d¨VÑ4Ó	5€BØ�‰g�n‰n˜[Ó)€B€s�GÜ	�—‘˜DÓ! 3 %Ñ(¨&Ó	1€BÙÓ8Ó9€FØ,2°kÒ,A”R—]‘] 1 aÔ(Ày€NÜ˜#  3¡§¡¨Q¡Ð0Ð1¸ÔH×OÑOØó€Hð �ÒØ"# ˆ×ÑÔÜ×Ñ˜& (Õ+r!   Úinput)Tr   ç      ð?r…   c                 ó>  ‡— t        dgdg|gdœ«      }t        |j                  | «      d   |«      } |ˆfd„«      }|dk(  rt        j                  dd«      n|}t        |d   j                  d   g|d¬«      j                  ‰«      }	t        j                  ||	«       y )	Nr   r   rG  r   c                 ó@   •— | j                  ‰«      j                  d   S r   rp  )r   r…   s    €r   r,   z3test_callable_result_dtype_series.<locals>.<lambda>a  s   ø€ ˜!Ÿ(™( 5›/×.Ñ.¨qÑ1€ r!   r_  r   rë   )
r   rr  r"   rŸ   rs  r	   rq  rÔ   r2   rO   )
r3  rt  rv  r…   rm  r$   rX  r6   r  r7   s
      `      r   Ú!test_callable_result_dtype_seriesrz  S  s“   ø€ ô 
˜!˜ A 3¨e¨WÑ5Ó	6€BÜ	�—‘˜DÓ! #Ñ&¨Ó	/€BÙÓ1Ó2€FØ,2°kÒ,A”R—]‘] 1 aÔ(Ày€NÜ�r˜#‘w—|‘| A‘Ð'¨~ÀCÔH×OÑOÐPUÓV€HÜ×Ñ˜6 8Õ,r!   c                  óä   — t        g d¢g d¢dœ«      } | j                  d«      j                  g d¢«      }|j                  j                  d   }t        g d¢«      }t        j                  ||«       y )NrE  r   rQ  r:   )r   r  r0   r$  r  r   )r   r"   r#   ru   Úlevelsr   r2   r  )r$   r�   r6   r7   s       r   Ú#test_order_aggregate_multiple_funcsr}  g  sY   € ä	šªLÑ9Ó	:€Bà
�*‰*�S‹/×
Ñ
ÒCÓ
D€CØ�[‰[×Ñ Ñ"€FäÒ:Ó;€Hä×Ñ˜& (Õ+r!   c           	      ó  — t        g d¢ddt        j                  ddt        j                  gdœ| ¬«      }|j                  d«      }|j	                  «       }t        g d	¢t        j                  gd
z  dgd
z  dgd
z  gt        j                  dgg d¢g«      t        g d¢| d¬«      | ¬«      }t        j                  ||«       |j                  dd¬«      }|j	                  «       }|j                  «       }t        j                  ||«       y )N)r   r   r   r   r   r   é   rZ   rØ   rÚ   r¸   r„   r   )r  r  rZ   rZ   r   r   )r%  r&  r'  r(  r   ©r…   rˆ   )ru   rC   r…   F©Úas_index)r   rŸ   r»   r"   r$  r   rÓ   r   r2   r3   Úreset_index)r¼   r$   r%   r6   r7   Úgb2Úresult2Ú	expected2s           r   Útest_ohlc_ea_dtypesr‡  s  så   € ä	Ú ¨¨B´·±°r¸2¼r¿u¹uÐ'EÑFØ"ô
€Bð 
�‰�C‹€BØ�W‰W‹Y€FÜÚ	œBŸE™E˜7 Q™;¨¨¨q©°2°$¸±(Ð;Ü×'Ñ'¨#¨Ò0PÐ(QÓRÜ’LÐ(<À3ÔGØ"ô	€Hô ×Ñ˜& (Ô+à
�*‰*�S 5ˆ*Ó
)€CØ�h‰h‹j€GØ×$Ñ$Ó&€IÜ×Ñ˜' 9Õ-r!   Úhow)ÚfirstÚlastr  r  r0   Úmedianc                 ó€  — t        dddgdœ«      }|j                  d«      j                  d|i«      }|j                  j	                  | «      |_        |j                  d«      j                  d|i«      }|dvr.|j                  j	                  t
        j                  «      |_        t        j                  ||d¬	«       y )
Nl   &tLWHd~ r   r   ©r   rÝ   rÝ   r   )r0   r‹  T)Úcheck_exact)	r   r"   r#   r   rÔ   rm   rÊ   r2   r3   )r…   rˆ  r$   r7   r6   s        r   Útest_uint64_type_handlingr�  ‰  s—   € ô 
Ð,°A°q°6Ñ:Ó	;€BØ�z‰z˜#‹×"Ñ" C¨ :Ó.€HØ�4‰4�;‰;�uÓ€B„DØ�Z‰Z˜‹_× Ñ  # s Ó,€FØ
Ð$Ñ$à—8‘8—?‘?¤2§8¡8Ó,ˆŒÜ×Ñ˜& (¸Ö=r!   c                  óÐ   — d} t        g d¢g d¢dœ«      }t        j                  t        | ¬«      5  |j	                  d«      j                  ddg«       d d d «       y # 1 sw Y   y xY w)NzFunction names©r   r   r   r   r   rQ  r<   r:   r  )r   rD   rE   r   r"   r#   )rG   r$   s     r   Útest_func_duplicates_raisesr’  —  sT   € à
€CÜ	šªLÑ9Ó	:€BÜ	�‰Ô)°Ô	5ñ ,Ø
�
‰
�3‹×Ñ˜U E˜NÔ+÷,÷ ,ñ ,ús   °#AÁA%rC   ÚabcÚ2020r´   r•   ))r   r   )r   r   )r   r   c                 óú   — t        g d¢g d¢dœ| ¬«      }|j                  d«      j                  dt        j                  i«      }t        ddgddgdœ«      j                  d«      }t        j                  ||«       y )	N©r   r   r   rÜ   )Úgroupr   rB   r—  r   r   r   )r   r"   r#   r	   Únuniquerf  r2   r3   )rC   r$   r6   r7   s       r   Ú$test_agg_index_has_complex_internalsr™  Ÿ  si   € ô 
šY²Ñ;À5Ô	I€BØ�Z‰Z˜Ó ×$Ñ$ g¬v¯~©~Ð%>Ó?€FÜ A q 6°Q¸°FÑ;Ó<×FÑFÀwÓO€HÜ×Ñ˜& (Õ+r!   c                  óÚ   — t        g d¢g d¢g d¢dœ«      } | j                  d«      j                  «       }t        ddgddgdœt        d	d
gd¬«      ¬«      }t	        j
                  ||«       y )N)r   r   r   r   r   )ÚoneÚtwor›  rœ  r›  )Úthreer�  r�  Úsixrž  ©Úkey1Úkey2Úkey3r   r›  rž  )r¡  r¢  r   r   r¹   rB   )r   r"   r  r   r2   r3   ©r$   r6   r7   s      r   Útest_agg_split_blockr¤  °  sm   € ä	â-Ú7Ú=ñ	
ó
€Bð �Z‰Z˜Ó×#Ñ#Ó%€FÜØ˜�¨%°¨Ñ8Ü�S˜#�J VÔ,ô€Hô ×Ñ˜& (Õ+r!   c            
      óÒ  — t        t        j                  dd¬«      g d¢g d¢g d¢t        j                  dd¬«      g d¢dœ«      j                  t        «      } | j                  g d¢«      j                  «       }t        t        j                  d«      gd	gd
gdgt        j                  d«      gd
gdœt        j                  dg«      t        ¬«      }t        j                  ||«       y )NÚ2000r   )r–   )r   r   r   r@  r   )r   r   r@  Úe)r:   rM   r;   r´   rú   rû   )r   r   r   r   r   r   r   r   rº   )r   rŸ   r    rÔ   rž   r"   r  Ú	Timestamprm   rî   r2   r3   r£  s      r   Ú#test_agg_split_object_part_datetimer©  Á  sÅ   € ä	ä—‘˜v¨qÔ1Ú%ÚÚ%Ü—‘˜v¨qÔ1Úñ	
ó	
÷ �fŒVƒnð ð �Z‰ZšÓ%×)Ñ)Ó+€FÜä—,‘,˜vÓ&Ð'Ø�Ø�Ø�Ü—,‘,˜vÓ&Ð'Ø�ñ	
ô �h‰h˜�s‹mÜô€Hô ×Ñ˜& (Õ+r!   c                   ó–   — e Zd Zd„ Zd„ Zd„ Zd„ Zej                  j                  d e
j                  dd¬«      d	ddgg«      d
„ «       Zy)ÚTestNamedAggregationSeriesc                 óN  — t        g d¢«      }|j                  g d¢«      }|j                  dd¬«      }t        ddgddgdœd	d
gt	        j
                  ddg«      ¬«      }t        j                  ||«       |j                  dd¬«      }|d
d	g   }t        j                  ||«       y )Nr   r‘  r   r  r¸   r   rU   r   r   r   r   r˜   )r   r   ©r	   r"   r#   r   rm   rî   r2   r3   )Úselfr$   Úgrr6   r7   s        r   Útest_series_named_aggz0TestNamedAggregationSeries.test_series_named_aggÞ  s�   € Ü’LÓ!ˆØ�Z‰ZšÓ%ˆØ—‘˜% 5�Ó)ˆÜØ�a�&  1˜vÑ&°°c°
Ä"Ç(Á(ÈAÈqÈ6ÓBRô
ˆô 	×Ñ˜f hÔ/à—‘˜% 5�Ó)ˆØ˜S #˜JÑ'ˆÜ
×Ñ˜f hÕ/r!   c                 ó&  — t        ddg«      j                  ddg«      }t        j                  t        d¬«      5  |j                  «        d d d «       |j                  g «      }t        g ¬«      }t        j                  ||«       y # 1 sw Y   Œ=xY w)Nr   r   r   úMust provider<   rÒ   )	r	   r"   rD   rE   rÃ   r#   r   r2   r3   ©r®  r¯  r6   r7   s       r   Útest_no_args_raisesz.TestNamedAggregationSeries.test_no_args_raisesë  ss   € Ü�Q˜�F‹^×#Ñ# Q¨ FÓ+ˆÜ�]‰]œ9¨NÔ;ñ 	Ø�F‰FŒH÷	ð —‘˜“ˆÜ RÔ(ˆÜ
×Ñ˜f hÕ/÷	ð 	ús   ºBÂBc                 óä   — t        g d¢«      j                  g d¢«      }|j                  dd¬«      }t        ddgddgdœt	        j
                  ddg«      ¬«      }t        j                  ||«       y )	N©r   r   r   ©r   r   r   r   r¸   r   r   r   rB   r­  )r®  r¯  r5   r7   s       r   Ú*test_series_named_agg_duplicates_no_raiseszETestNamedAggregationSeries.test_series_named_agg_duplicates_no_raisesõ  s_   € ä’IÓ×&Ñ&¢yÓ1ˆØ—&‘&˜5 E�&Ó*ˆÜ A q 6°°A°Ñ7¼r¿x¹xÈÈAÈÓ?OÔPˆÜ
×Ñ˜h¨Õ0r!   c                 óè   — t        g d¢«      j                  g d¢«      }|j                  d„ d„ ¬«      }t        ddgddgdœt	        j
                  ddg«      ¬«      }t        j                  ||«       y )	Nr¶  r·  c                  ó   — yr   © r   s    r   r,   z9TestNamedAggregationSeries.test_mangled.<locals>.<lambda>þ  ó   � r!   c                  ó   — y©Nr   r»  r   s    r   r,   z9TestNamedAggregationSeries.test_mangled.<locals>.<lambda>þ  r¼  r!   r¸   r   r   rB   r­  r³  s       r   Útest_mangledz'TestNamedAggregationSeries.test_mangledü  s_   € Ü’IÓ×&Ñ&¢yÓ1ˆØ—‘™+©�Ó5ˆÜ A q 6°°A°Ñ7¼r¿x¹xÈÈAÈÓ?OÔPˆÜ
×Ñ˜f hÕ/r!   ÚinpÚanythingr  ©ÚcolumnÚaggfunc)rÁ  r  c                 ó  — t        g d¢«      }dt        |«      j                  › �}t        j                  t
        |¬«      5  |j                  |j                  «      j                  |¬«       d d d «       y # 1 sw Y   y xY w)N)r   r   r   r   r   r   r   rT   zfunc is expected but received r<   ©r   )	r	   ÚtypeÚ__name__rD   rE   rÃ   r"   r  r#   )r®  rÀ  r  rG   s       r   Útest_named_agg_nametuplez3TestNamedAggregationSeries.test_named_agg_nametuple  sg   € ô Ò+Ó,ˆØ.¬t°C«y×/AÑ/AÐ.BÐCˆÜ�]‰]œ9¨CÔ0ñ 	+Ø�I‰I�a—h‘hÓ×#Ñ# cÐ#Ô*÷	+÷ 	+ñ 	+ús   Á,A6Á6A?N)rÈ  Ú
__module__Ú__qualname__r°  r´  r¸  r¿  rD   ÚmarkÚparametrizerŸ   ÚNamedAggrÉ  r»  r!   r   r«  r«  Ý  s\   „ ò0ò0ò1ò0ð ‡[�[×ÑØàˆB�K‰K˜z°5Ô9ØØ˜Ðð	
óñ+óñ+r!   r«  c                   ó<   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y	)
ÚTestNamedAggregationDataFramec           	      ó  — t        g d¢g d¢g d¢dœ«      }|j                  d«      j                  dd¬«      }t        d	d
gddgdœt        ddgd¬«      ddg¬«      }t	        j
                  ||«       t        j                  t        j                  d¬«      }|j                  d«      j                  dddddd|f¬«      }t        ddgddgddgd	d
gddgd d!gdœt        ddgd¬«      g d¢¬«      }t	        j
                  ||«       y )"N©r   r   r   r   rF  ©rT   rÑ   rU   ri   ©r—  r:   rM   r—  ©r:   r  ©rM   r  )Úa_maxÚb_maxr   r   rÑ   ri   r   r   r¹   r×  rØ  r  éb   r  ©rM   r  ©r:   r  )r:   r0   r:   )Úb_minÚa_minÚa_meanr×  rØ  Úa_98rT   rU   r   r   ç      à?ç      @g\�Âõ(\ï?g×£p=
×@)
r   r"   r#   r   r2   r3   Ú	functoolsr   rm   Ú
percentile)r®  r$   r6   r7   Úp98s        r   Útest_agg_relabelz.TestNamedAggregationDataFrame.test_agg_relabel  s$  € ÜÚ*²ÂLÑQó
ˆð —‘˜GÓ$×(Ñ(¨|À<Ð(ÓPˆÜØ˜!�f¨¨1 vÑ.Ü˜˜c˜
¨Ô1Ø˜gÐ&ô
ˆô
 	×Ñ˜f hÔ/ô ×Ñ¤§¡°Ô4ˆØ—‘˜GÓ$×(Ñ(ØØØ ØØØ�s�ð )ó 
ˆô à˜Q˜Ø˜Q˜Ø ˜*Ø˜Q˜Ø˜Q˜Ø˜t˜ñô ˜˜c˜
¨Ô1ÚJô
ˆô 	×Ñ˜f hÕ/r!   c                 óÜ   — t        g d¢g d¢g d¢dœ«      } |j                  d«      j                  di ddi¤Ž}t        ddd	git        d
dgd¬«      ¬«      }t	        j
                  ||«       y )NrÒ  rF  rÓ  rÔ  r—  zmy colrÕ  r   r   r   r   r¹   rB   r»  rU  ©r®  r$   r6   r7   s       r   Útest_agg_relabel_non_identifierz=TestNamedAggregationDataFrame.test_agg_relabel_non_identifier7  sk   € ÜÚ*²ÂLÑQó
ˆð )�—‘˜GÓ$×(Ñ(ÑD¨H°lÐ+CÑDˆÜ˜h¨¨A¨Ð/´u¸cÀ3¸ZÈgÔ7VÔWˆÜ
×Ñ˜f hÕ/r!   c                 óh  — t        g d¢g d¢dœ«      }|j                  d«      j                  dd¬«      }t        ddgddgdœt        d	dgd¬
«      ¬«      }t	        j
                  ||«       t        j                  t        j                  d¬«      }t        j                  t        j                  d¬«      }d|_
        d|_
        t        g d¢g d¢dœ«      }|j                  d«      j                  d|fd|f¬«      }t        ddgddgdœt        ddgd¬
«      ¬«      }t	        j
                  ||«       y )Nr‘  r   rQ  r:   rÚ  r¸   r   r   r   r¹   rB   é2   r  éF   Úquant50Úquant70)r   r   r   r   r   )r   r   r   r   rT   )Úcol1Úcol2rî  rï  )Úquantile_50Úquantile_70ç      ø?ç      @g333333û?gš™™™™™@r   r   )r   r"   r#   r   r2   r3   râ  r   rm   rã  rÈ  )r®  r$   r5   r7   rì  rí  Útests          r   Útest_duplicate_no_raisesz6TestNamedAggregationDataFrame.test_duplicate_no_raises@  s  € ô š\²Ñ=Ó>ˆà—*‘*˜S“/×%Ñ%¨¸Ð%ÓEˆÜ A q 6°°A°Ñ7¼uÀaÈÀVÐRUÔ?VÔWˆÜ
×Ñ˜g xÔ0ä×#Ñ#¤B§M¡M°RÔ8ˆÜ×#Ñ#¤B§M¡M°RÔ8ˆØ$ˆÔØ$ˆÔäÒ";Â_ÑUÓVˆà—,‘,˜vÓ&×*Ñ*Ø Ð)¸ÀÐ7Hð +ó 
ˆô Ø  #˜J¸¸S°zÑBÜ˜˜c˜
¨Ô0ô
ˆô 	×Ñ˜g xÕ0r!   c                 ó  — t        g d¢g d¢dœt        j                  ddgddgg«      ¬«      }|j                  d	¬
«      j	                  ddd¬«      }t        d	dgd	dgddgdœddg¬«      }t        j                  ||«       y )Nr‘  r   rQ  r:   rM   r   r   rB   r   r¿   rÕ  rÛ  )rM   r0   )ÚaaÚbbÚccr   rò  ç      @)r   r   rÓ   r"   r#   r2   r3   rç  s       r   Útest_agg_relabel_with_levelz9TestNamedAggregationDataFrame.test_agg_relabel_with_levelY  s’   € ÜÚ¢\Ñ2Ü×)Ñ)¨C°¨:¸¸S°zÐ*BÓCô
ˆð —‘ !�Ó$×(Ñ(Ø °ð )ó 
ˆô Ø�q�6 ! Q °°S¨zÑ:À3ÈÀ*ô
ˆô 	×Ñ˜f hÕ/r!   c                 óØ  — t        g d¢g d¢dœ«      }|j                  d«      }d}t        j                  t        |¬«      5  |j                  d¬«       d d d «       t        j                  t        |¬«      5  |j                  «        d d d «       t        j                  t        |¬«      5  |j                  d	d¬
«       d d d «       y # 1 sw Y   ŒuxY w# 1 sw Y   ŒMxY w# 1 sw Y   y xY w)Nr·  r¶  rQ  r:   r²  r<   r   )rè   rÖ  r¸   )r   r"   rD   rE   rÃ   r#   )r®  r$   r5   r=   s       r   Útest_agg_relabel_other_raisesz;TestNamedAggregationDataFrame.test_agg_relabel_other_raisesf  s¼   € ÜšYªYÑ7Ó8ˆØ—*‘*˜S“/ˆØˆÜ�]‰]œ9¨EÔ2ñ 	Ø�K‰K˜AˆKÔ÷	ô �]‰]œ9¨EÔ2ñ 	Ø�K‰KŒM÷	ô �]‰]œ9¨EÔ2ñ 	5Ø�K‰K˜,¨)ˆKÔ4÷	5ð 	5÷	ð 	ú÷	ð 	ú÷	5ð 	5ús$   ÁCÁ7CÂ+C ÃCÃCÃ C)c                 óô   — t        ddgddgdœ«      }t        j                  d«      }t        j                  t
        |¬«      5  |j                  d«      j                  d¬	«       d d d «       y # 1 sw Y   y xY w)
Nr   r   r   rQ  zColumn(s) ['C'] do not existr<   r:   )r;   r   ©r   )r   ÚreÚescaperD   rE   ÚKeyErrorr"   r#   )r®  r$   r=   s      r   Útest_missing_raisesz1TestNamedAggregationDataFrame.test_missing_raisess  sd   € Ü˜a ˜V¨1¨a¨&Ñ1Ó2ˆÜ—	‘	Ð8Ó9ˆÜ�]‰]œ8¨5Ô1ñ 	0Ø�J‰J�s‹O×Ñ ,ÐÔ/÷	0÷ 	0ñ 	0ús   Á"A.Á.A7c                 ó.  — t        ddgddgdœ«      }|j                  d«      j                  t        j                  dd«      t        j                  dd¬	«      ¬
«      }|j                  d«      j                  dd¬
«      }t        j                  ||«       y )Nr   r   r   rQ  r:   rM   r   ÚcountrÂ  ©r   r   )rM   r   )rM   r  ©r   r"   r#   rŸ   rÎ  r2   r3   rç  s       r   Útest_agg_namedtuplez1TestNamedAggregationDataFrame.test_agg_namedtupley  s€   € Ü˜a ˜V¨1¨a¨&Ñ1Ó2ˆØ—‘˜C“×$Ñ$Ü�k‰k˜#˜uÓ%¬¯©¸CÈÔ)Qð %ó 
ˆð —:‘:˜c“?×&Ñ&¨¸Ð&ÓHˆÜ
×Ñ˜f hÕ/r!   c                 óì   — t        ddgddgddgdœ«      }|j                  d«      j                  dd	„ fd
d„ f¬«      }t        ddgddgdœt        ddgd¬«      ¬«      }t	        j
                  ||«       y )Nr   r   r   r   r   r  r:   rM   c                  ó   — yr   r»  r   s    r   r,   z<TestNamedAggregationDataFrame.test_mangled.<locals>.<lambda>ƒ  r¼  r!   r;   c                  ó   — yr¾  r»  r   s    r   r,   z<TestNamedAggregationDataFrame.test_mangled.<locals>.<lambda>ƒ  r¼  r!   r  r¹   rB   rU  rç  s       r   r¿  z*TestNamedAggregationDataFrame.test_mangled�  s{   € Ü˜a ˜V¨1¨a¨&¸¸1°vÑ>Ó?ˆØ—‘˜C“×$Ñ$¨©[Ð'9¸cÁ;Ð=OÐ$ÓPˆÜ A q 6°°A°Ñ7¼uÀaÈÀVÐRUÔ?VÔWˆÜ
×Ñ˜f hÕ/r!   N)rÈ  rÊ  rË  rå  rè  rõ  rû  rý  r  r  r¿  r»  r!   r   rÐ  rÐ    s+   „ ò"0òH0ò1ò20ò5ò0ò0ó0r!   rÐ  zCagg_col1, agg_col2, agg_col3, agg_result1, agg_result2, agg_result3©©rÝ   r:   r  r  )©rÝ   rM   r0   rà  rá  g      @ç      @c                 ó   — t        | «      S r)   )r  r   s    r   r,   r,   ”  s
   € ¤3 q£6€ r!   c                  ó   — yr¾  r»  r   s    r   r,   r,   •  r¼  r!   r  r  c                  ó   — yr¾  r»  r   s    r   r,   r,   ž  r¼  r!   c                 ó  — t        g d¢g d¢g d¢dœ«      }t        j                  g d¢«      |_        t	        ddgd¬	«      }|j                  d«      j                  d
¬«      }t        dddgi|¬«      }	t        j                  ||	«       d}
t        j                  t        |
¬«      5  |j                  d«      j                  | ||¬«      }d d d «       t        |||dœ|¬«      }	t        j                  ||	«       y # 1 sw Y   Œ1xY w)NrÒ  rF  rÓ  rÔ  ©©r   r—  r  r  r   r   r  r¹   r  )r×  r×  r   r   rB   r  r<   )Úcol_1Úcol_2Úcol_3)r   r   ro   ru   r   r"   r#   r2   r3   r}   r~   )Úagg_col1Úagg_col2Úagg_col3Úagg_result1Úagg_result2Úagg_result3r$   Úidxr6   r7   rG   s              r   Ú"test_agg_relabel_multiindex_columnr   ˆ  sú   € ôB 
Ú&ª\ÂÑMó
€Bô ×'Ñ'Ò(PÓQ€B„JÜ
��c�
 Ô
0€Cà�Z‰Z˜Ó'×+Ñ+Ð2EÐ+ÓF€FÜ˜' A q 6Ð*°#Ô6€HÜ×Ñ˜& (Ô+à
1€CÜ	×	#Ñ	#¤M¸Ô	=ñ 
Ø—‘˜NÓ+×/Ñ/Ø (°(ð 0ó 
ˆ÷
ô Ø¨¸kÑJÐRUô€Hô ×Ñ˜& (Õ+÷
ð 
ús   Â&$C:Ã:Dc                  ó  — t        g d¢g d¢g d¢dœ«      } t        j                  g d¢«      | _        t	        j
                  t        d¬«      5  | j                  d«      j                  d	¬
«       d d d «       y # 1 sw Y   y xY w)NrÒ  rF  rÓ  rÔ  r  zdo not existr<   r  ))ÚYr   r  rÆ  )	r   r   ro   ru   rD   rE   r  r"   r#   )r$   s    r   Ú,test_agg_relabel_multiindex_raises_not_existr#  ¾  si   € ä	Ú&ª\ÂÑMó
€Bô ×'Ñ'Ò(PÓQ€B„Jä	�‰”x ~Ô	6ñ >Ø
�
‰
�>Ó"×&Ñ&Ð)<Ð&Ô=÷>÷ >ñ >ús   Á"A8Á8Bc                  ó  — t        g d¢g d¢g d¢dœ«      } t        j                  g d¢«      | _        | j	                  d«      j                  dd¬«      }t        d	d
gd¬«      }t        ddgddgdœ|¬«      }t        j                  ||«       y )NrÒ  rF  rÓ  rÔ  r  r  )r  r  r¸   r   r   r¹   r   r   rB   )	r   r   ro   ru   r"   r#   r   r2   r3   )r$   r6   r  r7   s       r   Ú&test_agg_relabel_multiindex_duplicatesr%  É  sŒ   € ô 
Ú&ª\ÂÑMó
€Bô ×'Ñ'Ò(PÓQ€B„Jà�Z‰Z˜Ó'×+Ñ+Ø
Ð!4ð ,ó €Fô ��c�
 Ô
0€CÜ  1˜v¨Q°¨FÑ3¸3Ô?€HÜ×Ñ˜& (Õ+r!   Úkwargsr   r  r  c                 ó  — t        g d¢g d¢g d¢dœ«      }|j                  d«      j                  | «      }t        ddgt        ddgd	d¬
«      t	        j
                  ddgg«      ¬«      }t        j                  ||«       y )Nr–  r¶  ©r   r   r   rG  r   r   r   r   rÊ   r€  r   r  r  )r   r"   r#   r   r   ro   r2   r3   )r&  r$   r6   r7   s       r   Ú test_groupby_aggregate_empty_keyr)  Ú  st   € ô 
šªºÑCÓ	D€BØ�Z‰Z˜‹_× Ñ  Ó(€FÜØ	
ˆAˆÜ�Q˜�F '°Ô4Ü×&Ñ&¨¨e¨ ~Ó6ô€Hô
 ×Ñ˜& (Õ+r!   c                  óÖ   — t        g d¢g d¢g d¢dœ«      } | j                  d«      j                  dg i«      }t        t        dgg gg g g¬«      ¬«      }t	        j
                  ||«       y )	Nr–  r¶  r(  rG  r   r   )r|  ÚcodesrÒ   ©r   r"   r#   r   r2   r3   r£  s      r   Ú-test_groupby_aggregate_empty_key_empty_returnr-  ç  sZ   € ä	šªºÑCÓ	D€BØ�Z‰Z˜‹_× Ñ  # r Ó+€FÜ¤°S°E¸2°;ÀrÈ2ÀhÔ!OÔP€HÜ×Ñ˜& (Õ+r!   c            	      óâ   — t        g d¢¬«      } | j                  ddgd¬«      j                  dt        f¬«      }t        d	gt	        g g gg g gddg¬
«      ¬«      }t        j                  ||«       y )NrG  rÒ   r   r   Fr‚   r   )r@  r@  rg   r˜   )r   r"   r#   r�   r   r2   r3   r£  s      r   Ú2test_groupby_aggregate_empty_with_multiindex_framer/  ï  sl   € ä	š?Ô	+€BØ�Z‰Z˜˜c˜
¨uˆZÓ5×9Ñ9¸SÄ$¸KÐ9ÓH€FÜØ�œZ¨¨R¨°2°r°(À3ÈÀ*ÔMô€Hô ×Ñ˜& (Õ+r!   c                  óì   — t        g d¢g d¢dœ«      } | j                  dd¬«      }|j                  t        j                  dd¬	«      ¬
«      }t        g d¢g d¢dœ«      }t        j                  ||«       y )N)r   rÝ   Úzr   rÝ   r1  ©rw  çš™™™™™é?r{   g      @gÍÌÌÌÌÌ@ç      è?)r   Úvalr   Fr�  r5  r  rÂ  ©Úmin_val)r   rÝ   r1  )rw  r3  r4  )r   r7  r  ©r$   r5   r6   r7   s       r   Ú9test_grouby_agg_loses_results_with_as_index_false_relabelr9  ù  sf   € ô 
Ú.Ò7VÑWó
€Bð �j‰j˜¨ˆjÓ/€GØ�[‰[¤§¡°EÀ5Ô!Iˆ[ÓJ€FÜ¢Ò=MÑNÓO€HÜ×Ñ˜& (Õ+r!   c                  óü   — t        g d¢g d¢g d¢dœ«      } | j                  ddgd¬«      }|j                  t        j                  d	d
¬«      ¬«      }t        g d¢g d¢g d¢dœ«      }t        j                  ||«       y )N)r   rÝ   r   rÝ   r   r   )r   r   r   r   r   r   r2  )r   r   r5  r   r   Fr�  r5  r  rÂ  r6  ©r   r   rÝ   )r   r   r   )rw  r4  r3  )r   r   r7  r  r8  s       r   ÚDtest_grouby_agg_loses_results_with_as_index_false_relabel_multiindexr<    sv   € ô
 
â1Ú2Ú2ñ	
ó
€Bð �j‰j˜% ˜°5ˆjÓ9€GØ�[‰[¤§¡°EÀ5Ô!Iˆ[ÓJ€FÜÚªÒEUÑVó€Hô ×Ñ˜& (Õ+r!   rÕ   c                 ó"   — | j                  «       S r)   r
  ©r  s    r   r,   r,     s   € �q—v‘v“x€ r!   c                 ó,   — t        j                  | «      S r)   r5  r>  s    r   r,   r,     s   € ¬2¯7©7°1«:€ r!   c                 ó,   — t        j                  | «      S r)   )rm   Únanmeanr>  s    r   r,   r,     s   € ÄÇÁÈAÃ€ r!   c                 óv  — g d¢g d¢g}t        |t        j                  g d¢g d¢gddg¬«      ¬«      }|j                  t	        j
                  d	d
g«      «      j                  | «      }dddœdddœdddœdœ}t        |t	        j
                  d	d
g«      |j                  ¬«      }t        j                  ||«       y )N)r   r   r   )rT   rU   r   r–  )r   r   r   ÚSiskoÚJanewayrg   rÒ   r   r   rw  ç      @r|   ró  g      @r{   ))r   r   )r   r   )r   r   r  )
r   r   Úfrom_arraysr"   rm   rî   r#   ru   r2   r3   )rÕ   rt   r$   r6   Úexpected_dictr7   s         r   Útest_multiindex_custom_funcrH    s°   € ò
 ’yÐ!€DÜ	ØÜ×&Ñ&Úš	Ð"¨7°IÐ*>ô
ô
€Bð �Z‰ZœŸ™ ! Q Ó(Ó)×-Ñ-¨dÓ3€Fà˜CÑ Ø˜CÑ Ø˜CÑ ñ€Mô
 ˜¬b¯h©h¸¸1°vÓ.>ÈÏ
É
ÔS€HÜ×Ñ˜& (Õ+r!   c                 ó0   — t        j                  | d¬«      S ©NgÍÌÌÌÌÌì?r  ©rm   rã  r>  s    r   ÚmyfuncrL  2  s   € Ü�=‰=˜˜dÔ#Ð#r!   c                 ó0   — t        j                  | d¬«      S rJ  rK  r>  s    r   r,   r,   6  s   € ¬B¯M©M¸!¸tÔ,D€ r!   c                 óè   — t        g d¢g d¢g d¢dœ«      }|j                  d«      j                  dd| f¬«      }t        d	d
gddggddgt        ddgd¬«      ¬«      }t	        j
                  ||«       y )N©ÚcatÚdogrP  rQ  ©g333333"@g      @ç      #@ç      A@©çš™™™™™@r  çÍÌÌÌÌÌ#@ç     Àh@©ÚkindÚheightÚweightrZ  )r[  r0   r[  )Úmean_heightÚperc90gš™™™™™"@g0»'5"@g      4@g5^ºI@r]  r^  rP  rQ  r¹   r˜   rU  )rÕ   Úanimalsr6   r7   s       r   Útest_lambda_named_aggr`  6  sŠ   € ô â0Ú+Ú,ñ	
ó€Gð �_‰_˜VÓ$×(Ñ(Ø&°¸$Ð/?ð )ó €Fô Ø
ˆvˆ˜˜u˜Ð&Ø Ð)Ü�U˜E�N¨Ô0ô€Hô ×Ñ˜& (Õ+r!   c                  ó†  — t        t        j                  dgdz  «      j                  dd«      t	        d«      t	        d«      ¬«      } g d¢| d<   | j                  d«      j                  d	„ «      }dgdgdggddgddgddggg}t        |t        d
dgdd¬«      t        g d¢d¬«      ¬«      }t        j                  ||«       y )Nr   rj   r   ÚXYZr“  ©rt   ru   rC   )úgroup 1rd  r   Úgroupingc                 ó"   — | j                  «       S r)   )Útolistr   s    r   r,   z,test_aggregate_mixed_types.<locals>.<lambda>S  s   € ¸¿¹»
€ r!   r   rd  rž   r€  )ÚXr"  ÚZr„   r  )
r   rm   rî   rß   r�   r"   rN   r   r2   r3   )r$   r6   rà   r7   s       r   Útest_aggregate_mixed_typesrj  M  s¾   € ä	Ü�X‰X�q�c˜A‘gÓ×&Ñ& q¨!Ó,´d¸5³kÌÈeËô
€Bò /€B€z�NØ�Z‰Z˜
Ó#×-Ñ-Ñ.BÓC€FØ�c˜A˜3  �_¨¨1 v°°1¨v¸¸1°vÐ&>Ð?€MÜØÜ�Q˜	�N¨(¸ÔDÜ’o¨XÔ6ô€Hô
 ×Ñ˜& (Õ+r!   zNot implemented;see GH 31256©Úreasonc                  ó*  — d„ } t        dt        j                  g d¢«      i«      }|j                  g d¢«      j	                  | «      }t        dt        j                  dt        j
                  gd¬«      iddg¬	«      }t        j                  ||«       y )
Nc                 ó@   — t        | dkD  «      ryt        j                  S )Nr   r   )rJ  rŸ   r»   r   s    r   rÄ  z5test_aggregate_udf_na_extension_type.<locals>.aggfuncf  s   € Üˆq�1‰uŒ:Øä—5‘5ˆLr!   r:   r¶  r–  r   rÏ   r„   r   rB   )r   rŸ   rî   r"   r#   r»   r2   r3   )rÄ  r$   r6   r7   s       r   Ú$test_aggregate_udf_na_extension_typero  ]  sr   € òô 
�CœŸ™¢)Ó,Ð-Ó	.€BØ�Z‰Zš	Ó"×&Ñ& wÓ/€FÜ˜#œrŸx™x¨¬B¯E©E¨
¸'ÔBÐCÈAÈqÈ6ÔR€HÜ×Ñ˜& (Õ+r!   c                   óh   — e Zd Zd„ Zd„ Zej                  j                  d¬«      d„ «       Zd„ Z	d„ Z
y)	ÚTestLambdaManglingc                 óâ   — t        g d¢g d¢dœ«      }|j                  d«      j                  dd„ d„ gi«      }t        ddgd	d	gd
œt        dd	gd¬«      ¬«      }t	        j
                  ||«       y )Nr‘  r   rQ  r:   rM   c                  ó   — yr   r»  r   s    r   r,   z/TestLambdaMangling.test_basic.<locals>.<lambda>u  r¼  r!   c                  ó   — yr¾  r»  r   s    r   r,   z/TestLambdaMangling.test_basic.<locals>.<lambda>u  r¼  r!   r   r   ))rM   ú
<lambda_0>)rM   ú
<lambda_1>r¹   rB   rU  rç  s       r   Ú
test_basiczTestLambdaMangling.test_basics  sm   € Üš\²Ñ=Ó>ˆØ—‘˜C“×$Ñ$ c©K¹Ð+EÐ%FÓGˆäØ#$ a &ÀÀ1¸vÑFÜ˜˜A˜ SÔ)ô
ˆô 	×Ñ˜f hÕ/r!   c                 óì   — t        g d¢«      j                  g d¢«      }|j                  d„ d„ g«      }ddgddgdœ}t        |t	        j
                  ddg«      ¬«      }t        j                  ||«       y )	Nr   r‘  c                  ó   — yr   r»  r   s    r   r,   z?TestLambdaMangling.test_mangle_series_groupby.<locals>.<lambda>  r¼  r!   c                  ó   — yr¾  r»  r   s    r   r,   z?TestLambdaMangling.test_mangle_series_groupby.<locals>.<lambda>  r¼  r!   r   r   ©ru  rv  rB   r­  )r®  r¯  r6   Úexp_datar7   s        r   Útest_mangle_series_groupbyz-TestLambdaMangling.test_mangle_series_groupby}  se   € Ü’LÓ!×)Ñ)ª,Ó7ˆØ—‘™¡kÐ2Ó3ˆØ#$ a &¸¸A¸Ñ?ˆÜ˜X¬R¯X©X°q¸!°fÓ-=Ô>ˆÜ
×Ñ˜f hÕ/r!   zGH-26611. kwargs for multi-agg.rk  c                 óp  — dd„}dd„}t        ddg«      j                  ddg«      j                  ||gd«      }t        dgdgdœ«      }t	        j
                  ||«       t        ddg«      j                  ddg«      j                  ||gdd	¬
«      }t        dgdgdœ«      }t	        j
                  ||«       y )Nr   c                 ó.   — | j                  «       |z   |z   S r)   rK   ©r   rÝ   r   s      r   r,   z5TestLambdaMangling.test_with_kwargs.<locals>.<lambda>†  s   € ˜qŸu™u›w¨™{¨Q™€ r!   r   c                 ó.   — | j                  «       ||z  z   S r)   rK   r€  s      r   r,   z5TestLambdaMangling.test_with_kwargs.<locals>.<lambda>‡  s   € ˜qŸu™u›w¨¨Q©™€ r!   r   r   rÑ   r{  rØ   )r   é   r“   )r   )r   )r	   r"   r#   r   r2   r3   )r®  Úf1Úf2r6   r7   s        r   Útest_with_kwargsz#TestLambdaMangling.test_with_kwargs„  s±   € â.ˆÚ.ˆÜ˜˜A˜“×'Ñ'¨¨A¨Ó/×3Ñ3°R¸°H¸aÓ@ˆÜ¨Q¨CÀ¸sÑCÓDˆÜ
×Ñ˜f hÔ/ä˜˜A˜“×'Ñ'¨¨A¨Ó/×3Ñ3°R¸°H¸aÀ2Ð3ÓFˆÜ¨R¨DÀÀÑEÓFˆÜ
×Ñ˜f hÕ/r!   c                 óî  — t        g d¢g d¢g d¢dœ«      }g d¢}t        ddgdd	gd
dgdœt        ddgd¬«      |¬«      }|j                  d¬«      j                  t	        j
                  dd„ ¬«      t	        j
                  dd¬«      t	        j
                  dd¬«      ¬«      }t        j                  ||«       |j                  d¬«      j                  dd„ fdd¬«      }t        j                  ||«       y )NrO  rR  rU  rY  )Úheight_sqr_minÚ
height_maxÚ
weight_maxç¤p=
×³T@ç      B@rS  rT  rW  rX  rP  rQ  rZ  r¹   r  ©Úbyr[  c                 ó2   — t        j                  | dz  «      S rA   ©rm   r  r   s    r   r,   z=TestLambdaMangling.test_agg_with_one_lambda.<locals>.<lambda>¨  ó   € ´2·6±6¸!¸Q¹$³<€ r!   rÂ  r  r\  c                 ó2   — t        j                  | dz  «      S rA   r�  r   s    r   r,   z=TestLambdaMangling.test_agg_with_one_lambda.<locals>.<lambda>±  ó   € ´·±°q¸!±t³€ r!   ©r[  r  ©r\  r  )r   r   r"   r#   rŸ   rÎ  r2   r3   ©r®  r$   ru   r7   Úresult1r…  s         r   Útest_agg_with_one_lambdaz+TestLambdaMangling.test_agg_with_one_lambda�  s   € äâ4Ú/Ú0ñó
ˆò AˆÜà#(¨% .Ø" D˜kØ" E˜lñô
 ˜ ˜¨VÔ4Øô
ˆð —*‘* �*Ó'×+Ñ+ÜŸ;™;ØÑ)?ôô —{‘{¨(¸EÔBÜ—{‘{¨(¸EÔBð ,ó 
ˆô 	×Ñ˜g xÔ0ð —*‘* �*Ó'×+Ñ+Ø$Ñ&<Ð=Ø(Ø(ð ,ó 
ˆô
 	×Ñ˜g xÕ0r!   c           
      óf  — t        g d¢g d¢g d¢dœ«      }g d¢}t        ddgdd	gd
dgdd	gddgdœt        ddgd¬«      |¬«      }|j                  d¬«      j                  dd„ fdddd„ fdd„ f¬«      }t	        j
                  ||«       |j                  d¬«      j                  t        j                  dd„ ¬«      t        j                  dd¬«      t        j                  dd¬«      t        j                  dd„ ¬«      t        j                  dd„ ¬«      ¬«      }t	        j
                  ||«       y ) NrO  rR  rU  rY  )r‡  rˆ  r‰  Úheight_max_2Ú
weight_minrŠ  r‹  rS  rT  rW  rX  rV  r  rP  rQ  rZ  r¹   r  rŒ  r[  c                 ó2   — t        j                  | dz  «      S rA   r�  r   s    r   r,   z=TestLambdaMangling.test_agg_multiple_lambda.<locals>.<lambda>Ö  r’  r!   r“  r”  c                 ó,   — t        j                  | «      S r)   ©rm   r  r   s    r   r,   z=TestLambdaMangling.test_agg_multiple_lambda.<locals>.<lambda>Ù  s   € ¬b¯f©f°Q«i€ r!   r\  c                 ó,   — t        j                  | «      S r)   r�  r   s    r   r,   z=TestLambdaMangling.test_agg_multiple_lambda.<locals>.<lambda>Ú  s   € ¬B¯F©F°1«I€ r!   c                 ó2   — t        j                  | dz  «      S rA   r�  r   s    r   r,   z=TestLambdaMangling.test_agg_multiple_lambda.<locals>.<lambda>á  r�  r!   rÂ  r  c                 ó,   — t        j                  | «      S r)   r�  r   s    r   r,   z=TestLambdaMangling.test_agg_multiple_lambda.<locals>.<lambda>å  s   € ÌÏÉÈqË	€ r!   c                 ó,   — t        j                  | «      S r)   r�  r   s    r   r,   z=TestLambdaMangling.test_agg_multiple_lambda.<locals>.<lambda>æ  s   € ÄbÇfÁfÈQÃi€ r!   )r   r   r"   r#   r2   r3   rŸ   rÎ  r•  s         r   Útest_agg_multiple_lambdaz+TestLambdaMangling.test_agg_multiple_lambda·  sA  € ô â4Ú/Ú0ñó
ˆò
ˆô à#(¨% .Ø" D˜kØ" E˜lØ!$ d Ø" C˜jñô ˜ ˜¨VÔ4Øô

ˆð —*‘* �*Ó'×+Ñ+Ø$Ñ&<Ð=Ø(Ø(Ø"Ñ$7Ð8Ø Ñ"5Ð6ð ,ó 
ˆô 	×Ñ˜g xÔ0ð —*‘* �*Ó'×+Ñ+ÜŸ;™;ØÑ)?ôô —{‘{¨(¸EÔBÜ—{‘{¨(¸EÔBÜŸ™¨HÑ>QÔRÜ—{‘{¨(Ñ<OÔPð ,ó 
ˆô 	×Ñ˜g xÕ0r!   N)rÈ  rÊ  rË  rw  r}  rD   rÌ  Úxfailr…  r—  r¢  r»  r!   r   rq  rq  r  s?   „ ò0ò0ð ‡[�[×ÑÐ?ÐÓ@ñ	0ó Að	0ò%1óN11r!   rq  c                  óÜ   — t        g d¢g d¢dœ«      } | j                  d«      j                  dd„ i«      }t        ddgd	d
gdœ«      j                  d«      }t	        j
                  ||«       y )N)ÚSÚWr¦  )rw  rw  r{   rQ  r:   rM   c                 ó>   — | j                  | j                  d   «      S )Néÿÿÿÿ)ÚgetrC   r   s    r   r,   z+test_groupby_get_by_index.<locals>.<lambda>î  s   € ¨a¯e©e°A·G±G¸B±KÓ.@€ r!   r¥  r¦  rw  r{   )r   r"   r#   rf  r2   r3   )r$   r�   r7   s      r   Útest_groupby_get_by_indexrª  ë  sa   € ä	šªÑ?Ó	@€BØ
�*‰*�S‹/×
Ñ
˜sÑ$@ÐAÓ
B€CÜ  S˜z°°c°
Ñ;Ó<×FÑFÀsÓK€HÜ×Ñ˜#˜xÕ(r!   zgrp_col_dict, exp_data)ÚnrÚcat_ordrT   r¬  r«  c                 óÌ  — t        g d¢t        d«      t        d«      dœ«      }|j                  dddœ«      }|d   j                  j	                  «       |d<   |j                  dd	¬
«      j                  | «      }t        j                  ddgddgd	dd¬«      }t        ||¬«      }d|v r&|d   j                  }|d   j                  |«      |d<   t        j                  ||«       y )N©r   r   r   r   rT   rÑ   rU   ri   ÚaabbccddÚaaaabbbb©r«  r¬  rP  Úcategory©rP  r¬  r¬  rP  F©Úobservedr   r   ©Ú
categoriesÚorderedrˆ   r…   )rt   rC   )r   r�   rÔ   rP  Ú
as_orderedr"   r#   rŸ   ÚCategoricalIndexr…   r2   r3   )Úgrp_col_dictr|  Úinput_dfÚ	result_dfÚ	cat_indexÚexpected_dfr…   s          r   Ú test_groupby_single_agg_cat_colsrÀ  ó  sî   € ô â*Ü˜JÓ'Ü˜
Ó#ñ	
ó€Hð �‰ z¸jÑIÓJ€HØ" 9Ñ-×1Ñ1×<Ñ<Ó>€HˆYÑØ× Ñ  °Ð Ó7×;Ñ;¸LÓI€Iô ×#Ñ#Ø	ˆcˆ
  S˜z°5¸uÈJô€Iô  °Ô;€Kà�KÑà˜Ñ#×)Ñ)ˆØ!,¨YÑ!7×!>Ñ!>¸uÓ!Eˆ�IÑä×Ñ˜) [Õ1r!   )r   r   r   )rT   ri   r   )r   r   r   )rT   r   r@  r¸   )r   r@  c                 óþ  ‡
— t        g d¢t        d«      t        d«      dœ«      }|j                  dddœ«      }|d   j                  j	                  «       |d<   |j                  dd	¬
«      j                  | «      }t        j                  ddgddgd	dd¬«      }g }| j                  «       D ]C  \  Š
}t        |t        «      r|j                  ˆ
fd„|D «       «       Œ1|j                  ‰
|g«       ŒE t        j                  t        |«      «      }t        |||¬«      }|j                   D ]<  }	t        |	t        «      sŒd|	v sŒ||	   j                  |d   j"                  «      ||	<   Œ> t%        j&                  ||«       y )Nr®  r¯  r°  r±  r²  r³  r¬  rP  Fr´  r   r   r¶  c              3   ó&   •K  — | ]  }‰|g–— Œ
 y ­wr)   r»  )Ú.0r   rÎ   s     €r   ú	<genexpr>z6test_groupby_combined_aggs_cat_cols.<locals>.<genexpr><  s   øè ø€ Ò#>°5 Q¨¤JÑ#>ùs   ƒrc  )r   r�   rÔ   rP  r¹  r"   r#   rŸ   rº  Úitemsrñ   ÚextendÚappendr   ro   r¤   ru   r…   r2   r3   )r»  r|  r¼  r½  r¾  Úmulti_index_listÚvÚmulti_indexr¿  ÚcolrÎ   s             @r   Ú#test_groupby_combined_aggs_cat_colsrÌ    sx  ø€ ô â*Ü˜JÓ'Ü˜
Ó#ñ	
ó€Hð �‰ z¸jÑIÓJ€HØ" 9Ñ-×1Ñ1×<Ñ<Ó>€HˆYÑØ× Ñ  °Ð Ó7×;Ñ;¸LÓI€Iô ×#Ñ#Ø	ˆcˆ
  S˜z°5¸uÈJô€Ið ÐØ×"Ñ"Ó$ò ,‰ˆˆ1Ü�aœÔØ×#Ñ#Ó#>¸AÔ#>Õ>à×#Ñ# Q¨ FÕ+ð	,ô
 ×(Ñ(¬Ð/?Ó)@ÓA€Kä °;ÀiÔP€KØ×"Ñ"ò RˆÜ�cœ5Õ! i°3Ò&6à*¨3Ñ/×6Ñ6°xÀ	Ñ7J×7PÑ7PÓQˆK˜ÒðRô
 ×Ñ˜) [Õ1r!   c                  óü   — t        g d¢g d¢dœ«      } | j                  d«      }|j                  dg«      }|j                  j	                  d«      |_        |j                  d«      }t        j                  ||«       y )NrE  )r   r   r   r   r¸   r   r[  r¨  )r   r"   r#   ru   Ú	droplevelr2   r3   )r$   rp   r6   r7   s       r   Útest_nonagg_aggrÏ  J  sc   € ô 
šªLÑ9Ó	:€BØ
�
‰
�3‹€Aà�U‰U�H�:Ó€FØ—^‘^×-Ñ-¨bÓ1€F„NØ�u‰u�X‹€Hä×Ñ˜& (Õ+r!   c                  ó2  — t        ddgt        j                  ddddddd«      t        j                  d	dddddd«      gd
œ«      } | j                  d«      j                  j	                  «       }| j                  d«      d   }t        j                  ||«       y )Nrh  r"  iÕ  r   rØ   r“   é   i`= i½  rQ  r:   rM   )r   Údatetimer"   rM   r  rf  r2   rO   r£  s      r   Útest_aggregate_datetime_objectsrÓ  W  s”   € ô 
à�s�ä×!Ñ! $¨¨1¨b°"°b¸&ÓAÜ×!Ñ! $¨¨1¨b°"°b¸&ÓAðñ	
ó
€Bð �Z‰Z˜‹_×Ñ×"Ñ"Ó$€FØ�|‰|˜CÓ  Ñ%€HÜ×Ñ˜6 8Õ,r!   c                  óJ  — t        g d¢g d¢g d¢dœ«      } | j                  j                  d«      | _        | j                  ddg«      }|j                  j                  d„ «      }t        j                  d	d
gd¬«      }t        ddg|d¬«      }t        j                  ||«       y )N)r   r   r   r;  ©r   r   r   )Úc0Úc1ÚpÚOrÖ  r×  c                 ó   — t        | dkD  «      S r   rI  r   s    r   r,   z1test_groupby_index_object_dtype.<locals>.<lambda>n  s   € ¤# a¨!¡e£*€ r!   )r   r   r�  )rÖ  r×  rg   FTrØ  rë   )r   rC   rÔ   r"   rØ  r#   r   ro   r	   r2   rO   )r$   r5   r�   r  r7   s        r   Útest_groupby_index_object_dtyperÛ  i  sŒ   € ä	š/²ÂyÑQÓ	R€BØ�x‰x�‰˜sÓ#€B„HØ�j‰j˜$ ˜Ó&€GØ
�)‰)�-‰-Ñ,Ó
-€Cô  ×+Ñ+Ø	�ZÐ ¨ô€Nô �u˜d�m¨>ÀÔD€HÜ×Ñ˜3 Õ)r!   c                  óÜ   — d„ } t        dgt        j                  d«      g¬«      }|j                  d„ «      j	                  | «      }t        dggdg¬«      }t        j                  ||«       y )Nc                 ój   — | j                  «       j                  «       ry t        j                  | «      S r)   )ÚisnarJ  rm   r   ræ   s    r   rÕ   z)test_timeseries_groupby_agg.<locals>.func{  s#   € Ø�8‰8‹:�>‰>ÔØÜ�v‰v�c‹{Ðr!   rw  z2018-01-16 00:00:00+00:00rB   c                  ó   — yr¾  r»  r   s    r   r,   z-test_timeseries_groupby_agg.<locals>.<lambda>�  r¼  r!   r   )r   rŸ   r¨  r"   r#   r2   r3   )rÕ   r$   r�   r7   s       r   Útest_timeseries_groupby_aggrà  x  s_   € òô
 
�C�5¤§¡Ð.IÓ!JÐ KÔ	L€BØ
�*‰*‘[Ó
!×
%Ñ
% dÓ
+€Cä˜3˜%˜¨¨Ô,€HÜ×Ñ˜#˜xÕ(r!   c                 ó  — | t         j                  v rt        j                  | «      j                  }| t         j
                  v rt        j                  | «      j                  }| t         j                  v r-t        j                  | j                  «       «      j                  }| t         j                  v r-t        j                  | j                  «       «      j                  }t        dgdgt        j                  g| ¬«      dœ«      }dgdgg}t        j                  |d¬«      }t        dt        j                  |g| ¬«      i|¬«      }|j                  d	d
g«      j!                  d„ «      }t        j"                  ||«       y )Nr   r   r„   rŸ  )r   r¡  rg   r¢  rB   r   r¡  c                 ó   — | S r)   r»  r   s    r   r,   z,test_groupby_agg_precision.<locals>.<lambda>ž  s   € ¸€ r!   )r2   ÚALL_INT_NUMPY_DTYPESrm   Úiinfor  ÚFLOAT_NUMPY_DTYPESÚfinfoÚFLOAT_EA_DTYPESÚlowerÚALL_INT_EA_DTYPESr   rŸ   rî   r   rF  r"   r#   r3   )Úany_real_numeric_dtypeÚ	max_valuer$   ÚarraysrC   r7   r6   s          r   Útest_groupby_agg_precisionrí  ‡  s>  € Ø¤×!8Ñ!8Ñ8Ü—H‘HÐ3Ó4×8Ñ8ˆ	Ø¤×!6Ñ!6Ñ6Ü—H‘HÐ3Ó4×8Ñ8ˆ	Ø¤×!3Ñ!3Ñ3Ü—H‘HÐ3×9Ñ9Ó;Ó<×@Ñ@ˆ	Ø¤×!5Ñ!5Ñ5Ü—H‘HÐ3×9Ñ9Ó;Ó<×@Ñ@ˆ	ä	à�EØ�EÜ—H‘H˜i˜[Ð0FÔGñ	
ó
€Bð ˆe�c�Uˆ^€FÜ×"Ñ" 6Ð1AÔB€EäØ	”—‘˜9˜+Ð-CÔDÐEÈUô€Hð �Z‰Z˜ Ð(Ó)×-Ñ-©kÓ:€FÜ×Ñ˜& (Õ+r!   c                 ó�  — | dv ry t        ddgdt        j                  gg«      }|j                  d«      j	                  | «      }|j                  d«      j	                  d| i«      }| dv rt        j                  ||d   d¬«       y t        j                  ||«       t        j                  |j                  |j                  «       y )N)ÚcorrwithÚnthr   r   )rå   ÚngroupF)Úcheck_names)	r   rm   rn   r"   r#   r2   rO   r3   Údtypes)rÅ   ÚobjÚresult_reduced_seriesÚresult_reduced_frames       r   Ú test_groupby_aggregate_directoryr÷  ¢  s¸   € àÐ,Ñ,Øä
�a˜�V˜a¤§¡˜[Ð)Ó
*€CàŸK™K¨›N×.Ñ.¨~Ó>ÐØŸ;™; q›>×-Ñ-¨q°.Ð.AÓBÐàÐ+Ñ+ä
×ÑØ!Ð#7¸Ñ#:Èö	
ô 	×ÑÐ3Ð5IÔJÜ
×ÑØ!×(Ñ(Ð*>×*EÑ*Eõ	
r!   c                  óÖ   — t        g d¢d¬«      } t        dgdt        j                  dg«      ¬«      }| j                  g d¢«      j	                  «       }t        j                  ||«       y )N)z1 dayz3 daysÚNaTútimedelta64[ns]r„   z2 daysr   r†   ©r   r   r   )r	   rm   rî   r"   r0   r2   rO   )rt   r7   r6   s      r   Útest_group_mean_timedelta_natrü  ¸  sR   € äÒ,Ð4EÔF€DÜ�x�jÐ(9ÄÇÁÈ1È#ÃÔO€Hà�\‰\š)Ó$×)Ñ)Ó+€Fä×Ñ˜6 8Õ,r!   zinput_data, expected_output)z2021-01-01T00:00rù  z2021-01-01T02:00z2021-01-01T01:00)z2021-01-01T00:00-0100rù  z2021-01-01T02:00-0100z2021-01-01T01:00-0100c                 óî   — t        t        | «      «      }t        t        |t        j                  dg«      ¬«      «      }|j	                  g d¢«      j                  «       }t        j                  ||«       y )Nr   rB   rû  )r   r	   rm   rî   r"   r0   r2   rO   )Ú
input_dataÚexpected_outputrt   r7   r6   s        r   Útest_group_mean_datetime64_natr   Â  sU   € ô ”v˜jÓ)Ó*€DÜœ6 /¼¿¹À1À#»ÔGÓH€Hà�\‰\š)Ó$×)Ñ)Ó+€FÜ×Ñ˜6 8Õ,r!   zfunc, outputr0   y       @      2@y      $@      6@y      D@     €V@y      I@     €[@c                 ó  — t        t        j                  d«      j                  dd«      j	                  ddg«      «      }|j                  |j                  dz  «      j                  | «      }t        |«      }t        j                  ||«       y )NrÚ   rØ   r   r   ù               @)
r	   rm   rÞ   rß   Údotr"   rC   r#   r2   rO   )rÕ   Úoutputrt   r6   r7   s        r   Útest_groupby_complexr  Ø  sl   € ô
 ”"—)‘)˜B“-×'Ñ'¨¨AÓ.×2Ñ2°A°r°7Ó;Ó<€DØ�\‰\˜$Ÿ*™* q™.Ó)×-Ñ-¨dÓ3€FÜ�f‹~€HÜ×Ñ˜6 8Õ,r!   )r  r  r²   c                 ó@  — t        t        j                  d«      j                  dd«      j	                  ddg«      «      }d}t        j                  t        |¬«      5  |j                  |j                  dz  «      j                  | «       d d d «       y # 1 sw Y   y xY w)NrÚ   rØ   r   r   r  zNo matching signature foundr<   )r	   rm   rÞ   rß   r  rD   rE   rÃ   r"   rC   r#   )rÕ   rt   rG   s      r   Útest_groupby_complex_raisesr  ã  sy   € ô ”"—)‘)˜B“-×'Ñ'¨¨AÓ.×2Ñ2°A°r°7Ó;Ó<€DØ
'€CÜ	�‰”y¨Ô	,ñ /Ø�‰�T—Z‘Z !‘^Ó$×(Ñ(¨Ô.÷/÷ /ñ /ús   Á.BÂBÚprodr‹  c                 ó:  — t        g d¢g d¢g d¢dœ«      }d}t        j                  t        |¬«      5  |j	                  dd¬	«      }d d d «       t        j                  t        d
¬«      5  j                  | «       d d d «       y # 1 sw Y   Œ?xY w# 1 sw Y   y xY w)Nr–  ©r   r   rT   )rÑ   rU   ri   rG  rv   r<   r   r   rÂ   z"axis other than 0 is not supported)	r   r2   r}   r~   r"   rD   rE   ÚNotImplementedErrorr#   )rÕ   r$   rG   r%   s       r   Útest_multi_axis_1_raisesr  ì  s†   € ô
 
šªºÑCÓ	D€BØ
7€CÜ	×	#Ñ	#¤M¸Ô	=ñ %Ø�Z‰Z˜ !ˆZÓ$ˆ÷%ä	�‰Ô*Ð2VÔ	Wñ Ø
�‰ˆtŒ÷ð ÷%ð %ú÷ð ús   ³BÁ*BÂBÂBztest, constantr:   rM   r;   r|   r“   )Úmarksc                 óÚ   — t        | «      }|j                  d«      j                  t        j                  «      }t        |«      }|j                  d«      }t        j                  ||«       y r   )r   r"   r#   r	   Úmoderf  r2   r3   )rô  ÚconstantÚdf1r6   r7   s        r   Útest_agg_of_mode_listr  ù  sU   € ô �D‹/€CØ�[‰[˜‹^×Ñ¤§¡Ó,€Fô ˜Ó"€HØ×!Ñ! !Ó$€Hä×Ñ˜& (Õ+r!   c                  ó¶  — t        g d¢g d¢dœ«      } | j                  d«      }dd„}dd„}d}t        j                  t        |¬«      5  |j                  ||gd	d	d
¬«       d d d «       |j                  ||gd	d
¬«      }t        ddgddgddggt        g d¢d¬«      t        j                  ddg«      ¬«      }t        j                  ||«       y # 1 sw Y   ŒoxY w)Nr¶  rG  r�  rÝ   c                 ó.   — | j                  «       |z   |z   S r)   rK   ©r   r   r   s      r   Úfoo1z@test_dataframe_groupy_agg_list_like_func_with_args.<locals>.foo1  ó   € Ø�u‰u‹w˜‰{˜Q‰Ðr!   c                 ó.   — | j                  «       |z   |z   S r)   rK   ©r   r   r   s      r   Úfoo2z@test_dataframe_groupy_agg_list_like_func_with_args.<locals>.foo2  r  r!   ú/foo1\(\) got an unexpected keyword argument 'b'r<   r   r   r  rÿ  ri   rj   rØ   r¹   )r   r  )r   r  r  ©r   r   ©r   r   )r   r"   rD   rE   rÃ   r#   r   r   ro   r2   r3   )r$   r%   r  r  rG   r6   r7   s          r   Ú2test_dataframe_groupy_agg_list_like_func_with_argsr    sÓ   € ä	šªÑ9Ó	:€BØ	�‰�C‹€Bóóð =€CÜ	�‰”y¨Ô	,ñ *Ø
�‰��dˆ|˜Q ! qˆÔ)÷*ð �V‰V�T˜4�L ! qˆVÓ)€FÜØ
ˆQˆ�!�Q�˜"˜b˜Ð"Ü’O¨#Ô.Ü×&Ñ&¨°}Ð'EÓFô€Hô
 ×Ñ˜& (Õ+÷*ð *ús   Á	CÃCc                  ó‚  — t        g d¢«      } | j                  | «      }dd„}dd„}d}t        j                  t        |¬«      5  |j                  ||gddd¬«       d d d «       |j                  ||gdd¬	«      }t        d
d
gddgddggt        g d¢«      ddg¬«      }t        j                  ||«       y # 1 sw Y   ŒZxY w)Nr¶  c                 ó.   — | j                  «       |z   |z   S r)   rK   r  s      r   r  z=test_series_groupy_agg_list_like_func_with_args.<locals>.foo1/  r  r!   c                 ó.   — | j                  «       |z   |z   S r)   rK   r  s      r   r  z=test_series_groupy_agg_list_like_func_with_args.<locals>.foo22  r  r!   r  r<   r   r   r  rÿ  ri   rj   rØ   r  r  r  r  r  )
r	   r"   rD   rE   rÃ   r#   r   r   r2   r3   )r  Úsgbr  r  rG   r6   r7   s          r   Ú/test_series_groupy_agg_list_like_func_with_argsr#  *  s¿   € äŠyÓ€AØ
�)‰)�A‹,€Cóóð =€CÜ	�‰”y¨Ô	,ñ +Ø�‰��t�˜a 1¨ˆÔ*÷+ð �W‰W�d˜D�\ 1¨ˆWÓ*€FÜØ
ˆQˆ�!�Q�˜"˜b˜Ð"¬%²	Ó*:ÀVÈVÐDTô€Hô ×Ñ˜& (Õ+÷+ð +ús   ÁB5Â5B>c                  ó  — t        g d¢g d¢g d¢dœ«      } | j                  ddg«      }|ddg   }|j                  d„ «      }t        d	d
gddggdd	gdd	ggddg¬«      }t        ddgddgdœ|¬«      }t	        j
                  ||«       y )Nr–  )r   r   r   )rT   rÑ   rU   rG  r   r   r   c                 ó"   — | j                  «       S r)   rK   r   s    r   r,   z.test_agg_groupings_selection.<locals>.<lambda>E  s   €  q§u¡u£w€ r!   r   r   r   r   r   )r|  r+  rh   rÑ   rZ   rU   r  rB   r,  )r$   r%   Úselected_gbr6   rC   r7   s         r   Útest_agg_groupings_selectionr'  @  s›   € ä	šªºÑCÓ	D€BØ	�‰�S˜#�JÓ	€BØ�c˜3�Z‘.€KØ�_‰_Ñ.Ó/€FÜØ�A�˜˜A˜Ð¨¨A¨°°A°Ð'7ÀÀS¸zô€Eô   1˜v¨R°¨GÑ4¸EÔB€HÜ×Ñ˜& (Õ+r!   c                  óÐ   — t        g d¢g d¢dœ«      } | j                  dd¬«      d   }|j                  dd	g«      }t        d
dgddgddgdœ«      }t        j                  ||«       y )Nr–  r
  r¸   r   Fr�  r   r   r0   r   r   rU   rT   rú  rE  )r   r   r0   )r   r"   r#   r2   r3   rV  s       r   Ú?test_agg_multiple_with_as_index_false_subset_to_a_single_columnr)  M  sg   € ä	šªÑ3Ó	4€BØ	�‰�C %ˆÓ	(¨Ñ	-€BØ�V‰V�U˜F�OÓ$€FÜ  1˜v¨q°!¨f¸sÀC¸jÑIÓJ€HÜ×Ñ˜& (Õ+r!   c                  óþ   — t        g d¢g d¢g d¢dœ«      } | j                  ddgd¬«      }|j                  d	g«      }t        g d
¢g d¢g d¢gt        j                  g d¢«      ¬«      }t        j                  ||«       y )Nr·  )r   r   r   )r   rT   rÑ   )Úa1Úa2r   r+  r,  F)r�  r‚  r   )r   r   r   )r   r   rT   )r   r   rÑ   ))r+  Ú )r,  r-  )r   r   rs   )r   r"   r#   r   ro   r2   r3   rV  s       r   Ú&test_agg_with_as_index_false_with_listr.  V  sm   € ä	š)ª9º9ÑEÓ	F€BØ	�‰˜˜d�|¨eˆÓ	4€BØ�V‰V�U�G‹_€FäÚš¢IÐ.Ü×&Ñ&Ò'MÓNô€Hô ×Ñ˜& (Õ+r!   c                  óD  — t        dt        j                  d«      t        j                  d«      t        j                  d«      dœi«      } t        t        g d¢d¬«      g d¢d	œ«      }|j	                  d
«      }|j                  d¬«      }t        j                  || «       y )NÚtdú0 days 01:00:00ú0 days 01:15:00rÕ  )r1  z0 days 00:15:00r2  rú  r„   )r   r   r   )r0  Úgrpsr3  )r0  r[  )r0  )r   rŸ   Ú	Timedeltar	   r"   r#   r2   r3   )r7   r$   r%   r6   s       r   ÚBtest_groupby_agg_extension_timedelta_cumsum_with_named_aggregationr5  c  s•   € äàÜ—<‘<Ð 1Ó2Ü—<‘<Ð 1Ó2Ü—<‘<Ð 1Ó2ñð	
ó€Hô 
äÚIØ'ôò $ñ	
ó
€Bð 
�‰�FÓ	€BØ�V‰VÐ'ˆVÓ(€FÜ×Ñ˜& (Õ+r!   c                  ó  — d„ } t        t        j                  ddgg d¢¬«      ddgdœ«      }d}t        j                  t
        |¬«      5  |j                  d	d
¬«      j                  | «       d d d «       y # 1 sw Y   y xY w)Nc                 óJ   — t        | «      dk(  rt        d«      ‚t        | «      S )Nr   úlength must not be 0)r   rÄ   r   s    r   rÕ   z2test_groupby_aggregation_empty_group.<locals>.func~  s"   € Üˆq‹6�QŠ;ÜÐ3Ó4Ð4Ü�1‹vˆr!   r   rG  )r·  r   rQ  r8  r<   r:   Fr´  )r   rŸ   ÚCategoricalrD   rE   rÄ   r"   r#   )rÕ   r$   rG   s      r   Ú$test_groupby_aggregation_empty_groupr:  |  ss   € òô
 
Ü�n‰n˜c 3˜Z²OÔDÈAÈqÈ6ÑRó
€Bð !€CÜ	�‰”z¨Ô	-ñ 2Ø
�
‰
�3 ˆ
Ó'×+Ñ+¨DÔ1÷2÷ 2ñ 2ús   Á
#A6Á6A?)sÚ__doc__rÒ  râ  r   r   Únumpyrm   rD   Úpandas.errorsr   Úpandas.core.dtypes.commonr   ÚpandasrŸ   r   r   r   r	   r
   r   Úpandas._testingÚ_testingr2   Úpandas.core.groupby.grouperr   r&   r8   rH   rR   rq   r€   r‘   r¦   r©   rÌ  rÍ  rµ   r½   rÉ   ÚintrŒ   r×   rá   rö   rÿ   r  r  r   r,  r0  rA  rC  rO  rS  rW  rg  ru  ri  rz  r}  r‡  rÊ   Úuint64r�  r’  rº  r�   Úinterval_rangeÚperiod_rangero   r™  r¤  r©  r«  rÐ  r0   rÎ  r   r#  r%  r)  r-  r/  r9  r<  rH  rL  r`  rj  r£  ro  rq  rª  rÀ  rÌ  rÏ  rÓ  rÛ  rà  rí  r÷  rü  r   r  r  r  Úparamr  r  r#  r'  r)  r.  r5  r:  r»  r!   r   ú<module>rH     s­	  ðñó Û Ý Û 	ã Û å ,å 6ã ÷÷ õ Ý 0ò	ò,ò+ò.ò.,òb,ò,'ò6,ò,,ð ‡�×ÑØÑ)Ñ,=Ñ?TÐ+UÐVóñ,óð,ò4,ò+ð  ‡�×ÑØ.à	’	˜7 BÐ'Ø	��
˜Q‘ ¨5°uÀ5Ñ%IÐJØ	��˜‘	˜3 e°%¸eÑ DÐEØ	’	˜7 S¨' NÐ3Ø	��
˜Q‘ ¨u¸5ÀuÑ)MÐNØ	��˜‘	˜7¨)¸)È)Ñ$TÐUðó
ñ,ó
ð,ð$ ‡�×ÑØ,à	�!�Q�˜"˜b˜ B¨ 8Ð,°7ÀÑ.HÐIà	�&�˜A‘� Ñ" IÐ.Ø	�!��q‘�	˜A‘ I°9Ñ=Ð>ð	óñ,óð,ò*ò0,ò 4ò$ò,ò* ,òF,ò"!òHò0-ò ,ò	,ð ‡�×ÑØáÙÙ$Ù'ÙÙ!ðó
ñ
$ó
ð
$ð ‡�×ÑØà
ˆ‘�q�c Ô$Ð%Ø
ˆsˆ‘Z !  q c 
¨a¨S°1°#¨J¸sÀC¸jÔIÐJðóð ‡�×ÑØÒCóð ‡�×ÑØÒDóð ‡�×Ñ˜Ò#FÓGñ,ó Hóóóð,ð" ‡�×ÑØà
ˆ‘�q�c Ô$Ð%Ø
ˆsˆ‘Z !  q c 
¨a¨S°1°#¨J¸sÀC¸jÔIÐJðóð ‡�×Ñ˜¢.Ó1Ø‡�×Ñ˜ 4¨¨eÐ"4Ó5Ø‡�×Ñ˜Ò#FÓGñ-ó Hó 6ó 2óð-ò	,ò.ð, ‡�×Ñ˜ 2§8¡8¨R¯Y©YÐ"7Ó8Ø‡�×Ñ˜Ò QÓRñ	>ó Só 9ð	>ò,ð ‡�×ÑØàˆ×Ñ™D ›KÓ(Øˆ×Ñ˜!˜QÓØˆ�‰˜¨°Ô4Øˆ
×ÑÒ=Ó>ð	óñ,óð,ò,ò",÷82+ñ 2+÷js0ñ s0ðl ‡�×ÑØIð  Ø˜Ÿ™Ð!Ø Ø�ˆFØ�#ˆJØ�#ˆJð	
ð Ñ)Ð*Ø™Ð%Ø˜Ÿ™Ð!Ø�ˆFØ�ˆFØ�#ˆJð	
ð ˆB�K‰K˜
 EÓ*ØˆB�K‰K˜
 B§G¡GÓ,ØˆB�K‰K˜
¡KÓ0Ø�ˆFØ�#ˆJØ�ˆFð	
ð#óñ:,ó;ð:,ò2>ò,ð" ‡�×Ñ˜ S¨5¨' N¸"ÀEÀ7Ñ4KÐ#LÓMñ	,ó Nð	,ò,ò,ò,ò,ð* ‡�×ÑØ
ÑÑ!5Ñ7NÐOóñ,óð,ò&$ð ‡�×Ñ˜Ñ"DÀfÐ!MÓNñ,ó Oð,ò,,ð  ‡�×ÑÐ8ÐÓ9ñ,ó :ð,÷(v1ñ v1òr)ð ‡�×ÑØà %Ñ	(°!°Q°ÀSÈ#ÀJÑ*OÐPØ
�UÐ	˜i¨#¨s¨Ð4Ð5Ø
�ˆ˜  1˜v˜Ð'ðóñ2óð2ð> ‡�×ÑØà˜�¨5Ñ	1°KÀÐ3MÐNØ 5¨% .Ñ	1°MÀ=Ð3QÐRØ
�e˜U�^Ð	$ z°:Ð&>Ð?ðóñ%2óð%2òP
,ò-ò$*ò)ò,ò6
ò,-ð ‡�×ÑØ!ò <ØÐ ð	
ò
 FØ$Ð%ð	
ð	óñ-óð-ð ‡�×ÑØ�f˜w¨Ð1Ð2°U¸XÀyÐ<QÐ4RÐSóñ-óð-ð ‡�×Ñ˜Ò!6Ó7ñ/ó 8ð/ð ‡�×ÑØ
ˆeˆW�v˜u�o¨¨U |¸6ÈÑ5QÐRóñóðð ‡�×ÑØàˆsˆ)�b˜#�Y  S 	Ð	*°°R°¸cÀCÈÀ:Ð=NÑ,OÐPØˆsˆ)�b˜#�Y  S 	Ð	*°°R°¸sÀC¸jÈ#Ð=NÑ,OÐPØ�ˆ(�S˜!�H˜s A˜h¨¨a¨Ð	1¸¸S°zÀqÈ1ÈaÈ&ÀkÑ3RÐSØˆ�‰Ø�1ˆX˜˜Q�x # q ¨C°¨8Ð4Ø�c�
  A ¨˜{Ñ+Ø—+‘+×#Ñ#ô	
ð		óñ	,óð	,ò,ò0,ò,
,ò,ò
,ò,ó22r!   