Ë
    ž…j`ü  ã                   ó   — 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mZ ddl	m
c 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dlmZ d	„ Zd
„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'ejP                  jS                  dd„ d„ d„ gg«      d„ «       Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0d„ Z1d„ Z2d „ Z3d!„ Z4d"„ Z5d#„ Z6d$„ Z7d%„ Z8ejP                  jS                  d&d'„ d(„ d)„ d*„ d+„ d,„ g«      d-„ «       Z9ejP                  jS                  d.d/g ed0gd/¬1«      fd/d2g ed0gd3ggdgdggd/d2g¬4«      fg«      ejP                  jS                  d5g d6¢«      ejP                  jS                  d7g d6¢«      ejP                  jS                  d8g d9¢«      d:„ «       «       «       «       Z:ejP                  jS                  d.d/g ed0gd/¬1«      fd/d2g ed0gd3ggdgdggd/d2g¬4«      fg«      ejP                  jS                  d;g d<¢«      ejP                  jS                  d=e;e<e=g«      ejP                  jS                  d8g d9¢«      d>„ «       «       «       «       Z>d?„ Z?d@„ Z@ejP                  jS                  d=ej‚                  ej„                  g«      ejP                  jS                  dAg dB¢«      dC„ «       «       ZCdD„ ZDejP                  jS                  dE ejŠ                   eFdF«      «       ejŽ                  ddG«       ej�                  dHdGdI¬J«       ej’                  g dK¢«      g«      dL„ «       ZJdM„ ZKdN„ ZL G dO„ dP«      ZM G dQ„ dR«      ZNejP                  jS                  dSdTdUejž                  fdVd0dGgdWdXgdYdZgfdUd[„ fdUd\„ fd]ejž                  fd0dGgd0d0gdYdZgf ej                   dUd^«       ej                   d]ejž                  «       ej                   dUd_„ «      d0dGgdYdZgd0d0gfg«      d`„ «       ZQda„ ZRdb„ ZSejP                  jS                  dcdddegig degdfœg«      dg„ «       ZTdh„ ZUdi„ ZVdj„ ZWdk„ ZXdl„ ZYejP                  jS                  dmdn„ do„ dp„ g«      dq„ «       ZZdr„ Z[ejP                  jS                  dmds„ e[g«      dt„ «       Z\du„ Z]ejP                  j½                  dv¬w«      dx„ «       Z_ G dy„ dz«      Z`d{„ Zad|„ ZbejP                  jS                  d}deded~œd0dgd/ddgd~œfd€deid€d/ddgifd�deid�d0dgifg«      d‚„ «       ZcejP                  jS                  d}ded^gded~œdƒd„gfdeded^gd~œd…d†gfd€ded^gid‡dˆgfg«      d‰„ «       ZddŠ„ Zed‹„ ZfdŒ„ Zgd�„ ZhdŽ„ Zid�„ Zjd�„ ZkejP                  jS                  d‘g d’¢d“gfg d”¢d•gfg«      d–„ «       ZlejP                  jS                  d—d˜d™dšgfd›dœd�gfg«      dž„ «       ZmejP                  jS                  dmg dŸ¢«      d „ «       ZnejP                  jS                  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d/d0gd/d0gd2d3gd2dGggd/d2gd0d3dGggd§œf ejÞ                  d/d0gd/d3gd2dGgd2dGggd/d2gd0d3gdGgd§œejP                  j¼                  ¬©«      g«      dª„ «       Zpd«„ Zqd¬„ Zrd­„ Zsd®„ Ztd¯„ Zud°„ Zvd±„ Zwd²„ Zxd³„ Zyd´„ Zzdµ„ Z{d¶„ Z| ejú                  d·«      ejP                  jS                  d=g d¸¢«      d¹„ «       «       Z~ ejú                  d·«      dº„ «       Z ejú                  d·«      d»„ «       Z€ ejú                  d·«      d¼„ «       Z�d½„ Z‚d¾„ Zƒy)¿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)ÚArrowExtensionArray)Ú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    ún/root/aria/tools/markitdown-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$   r1   ÚtmÚassert_frame_equal)ÚtsframeÚgroupedÚresultÚexpecteds       r    Útest_agg_regression1r9   +   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>7   s   € ˜aŸj™j›l€ r"   c                 ó    — | j                   d d S ©Nr   ©Úindexr   s    r    r-   z#test_agg_must_agg.<locals>.<lambda>9   s   € ˜aŸg™g b q˜k€ r"   )r#   ÚpytestÚraisesÚ	Exceptionr$   )r%   r6   Úmsgs      r    Útest_agg_must_aggrI   2   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;   rN   Ú	aggregater   r3   Úassert_series_equal)r%   ÚfÚresultsr8   s       r    Útest_agg_ser_multi_keyrS   <   s`   € Ù€AØ�d‰d�l‰l˜BŸD™D "§$¡$˜<Ó(×2Ñ2°1Ó5€GØ�z‰z˜3 ˜*Ó%×)Ñ)Ó+¨CÑ0€HÜ×Ñ˜7 HÕ-r"   c                  ó  — t        t        j                  t        j                  t        j                  t        j                  gt        j                  t        j                  t        j                  t        j                  gt        j
                  t        j
                  t        j
                  t        j
                  gg d¢g d¢dœ«      } | j                  ddd¬«      }t        t        j                  t        j                  t        j                  gt        j                  t        j                  t        j                  gt        j                  t        j                  dgd	œg d¢¬
«      }t        j                  ||«       y )N)NNNNr   )ÚnanÚnaÚnatÚnoneÚvalues)rU   Úmin)rV   rZ   )rY   r   ©r   ÚyÚzg      $@)rU   rV   rY   rC   )	r   ÚnprU   ÚpdÚNAÚNaTr$   r3   r4   )Ú
missing_dfr7   r8   s      r    Útest_agg_with_missing_valuesrc   C   sæ   € ää—F‘FœBŸF™F¤B§F¡F¬B¯F©FÐ3Ü—5‘5œ"Ÿ%™%¤§¡¬¯©Ð.Ü—F‘FœBŸF™F¤B§F¡F¬B¯F©FÐ3Ú,Ú"ñ	
ó€Jð �^‰^˜n°ÐARˆ^ÓS€Fää—F‘FœBŸF™F¤B§F¡FÐ+Ü—6‘6œ2Ÿ6™6¤2§6¡6Ð*Ü—v‘vœrŸv™v tÐ,ñ	
ò
 ô€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   rn   )r   ro   )ÚbigÚdamp)ÚblueÚdry)Úredrt   )rt   ÚwetÚby1Úby2©ÚnamesrC   é   é	   éX   ro   rt   rr   r   rp   é   ru   rs   rn   rq   )rl   rm   rv   rw   rl   rm   )	r   r^   rU   r   Úfrom_tuplesr#   r1   r3   r4   )r8   r%   Úgr7   s       r    Ú$test_groupby_aggregation_mixed_dtyper€   ]   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           	      ó²  — | 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«      |«       |j                  t        j                  d
¬«      }|j!                  d¬«      }t        j                  ||«       y )NF©Ú
group_keys©Údtype©r…   rD   r   )Úcheck_index_typer;   )Únamer…   )Úcolumnsr…   rD   r   ©ÚaxisT©Údrop)r#   r^   rU   r…   Úfloat64r	   r   r3   rP   r   r$   Úapplyr   r‰   Úfloatr4   Úreset_index)Útsr5   r6   ÚexpÚexp_dfÚress         r    Útest_agg_apply_cornerr–   Ž   sJ  € à�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à
�-‰-œŸ™ Qˆ-Ó
'€CØ×Ñ TÐÓ*€FÜ×Ñ˜#˜vÕ&r"   c                 ó¬  — t        t        j                  d«      «      }t        t        j                  d«      || ¬«      }t        t        j
                  dddt        j
                  t        j
                  ddt        j
                  dg
|¬«      }|j                  |«      }|j                  t        «      }t        ddgddg¬«      }t        j                  ||d¬	«       d
„ }|j                  |«      }t        ddgddg¬«      }|j                  t        j                  k(  r|j                  t        j                  «      }t        j                  ||«       y )Né
   r„   ÚfooÚbarrC   r   r   F)Úcheck_dtypec                 ó*   — t        t        | «      «      S r*   )r�   r   r   s    r    rQ   ztest_with_na_groups.<locals>.fº   s   € Ü”S˜“V‹}Ðr"   ç      @ç       @)r   r^   Úaranger	   ÚonesrU   r#   r$   r   r3   rP   r…   Úfloat32Úastype)Úany_real_numpy_dtyperD   rY   Úlabelsr6   Úaggedr8   rQ   s           r    Útest_with_na_groupsr¦   ¨   sþ   € Ü”"—)‘)˜B“-Ó €EÜ”B—G‘G˜B“K Ð.BÔC€FÜÜ	�‰�˜˜u¤b§f¡f¬b¯f©f°e¸UÄBÇFÁFÈEÐRØô€Fð �n‰n˜VÓ$€GØ�K‰KœÓ€EÜ�q˜!�f U¨E NÔ3€Hä×Ñ˜5 (¸Õ>ò
ð �K‰K˜‹N€EÜ�s˜C�j¨°¨Ô7€HØ‡|�|”r—z‘zÒ!Ø—?‘?¤2§:¡:Ó.ˆä×Ñ˜5 (Õ+r"   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¨   rN   ©ÚperiodsÚfreq©r‰   rD   c                 ó   — | j                   S r*   r+   r   s    r    r-   z1test_agg_grouping_is_list_tuple.<locals>.<lambda>Ì   s
   €  1§6¡6€ r"   r   r1   )r   r^   ÚrandomÚdefault_rngÚstandard_normalr   ÚlistÚobjectr_   Ú
date_ranger#   Ú_grouperÚ	groupingsÚgrouping_vectorr   rD   r$   r1   r3   r4   Útuple)r’   r%   r6   Úgrouperr7   r8   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;   rN   r1   r2   )Ú multiindex_dataframe_random_datar6   r7   r8   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Úvarr1   Úsem)r;   rN   r<   ÚDrN   r<   rÈ   )r#   r$   rÅ   r3   rP   rO   rÆ   r4   r   r1   rÇ   )r5   r¾   r6   r7   r8   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ˆ   ©rD   r…   )	r   r	   r_   r`   r#   rÅ   r   r3   r4   )Úany_numeric_ea_dtyper%   r7   r8   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                 óº   — | j                  d¬«      }d|› d�}t        j                  t        |¬«      5  |j	                  |d¬«       d d d «       y # 1 sw Y   y xY w)Nr   ©Úlevelz
Operation z does not support axis=1r=   r   rŠ   )r#   rE   rF   Ú
ValueErrorr$   )r%   Úreduction_funcr&   rH   s       r    Ú%test_agg_str_with_kwarg_axis_1_raisesrÖ     sU   € Ø	�‰˜!ˆÓ	€BØ�~Ð&Ð&>Ð
?€CÜ	�‰”z¨Ô	-ñ 'Ø
�‰ˆ~ AˆÔ&÷'÷ 'ñ 'ús   ´AÁA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"   r™   rš   ÚBCD©rD   rˆ   c                 ó   — | j                   S r*   rÙ   rÛ   s    r    Úaggfun_1z-test_aggregate_item_by_item.<locals>.aggfun_1&  s   € Ø�x‰xˆr"   r   )r#   r$   r;   r   r   r‰   r	   r^   Úarrayr²   r3   rP   ÚxsÚassert_almost_equalr   Ú
isinstance)	r%   r6   Úaggfun_0r7   ÚfoosumÚbarsumÚKr“   rà   s	            r    Útest_aggregate_item_by_itemré     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;   rN   c                 ó`   — | j                   t        dfv rt        d«      ‚| j                  «       S )NÚstringúTest error message)r…   r³   Ú	TypeErrorr   rÛ   s    r    Úfuncztest_wrap_agg_out.<locals>.func1  s+   € Ø�9‰9œ Ð*Ñ*ÜÐ0Ó1Ð1Ø�w‰w‹yÐr"   rí   r=   )rÈ   ÚEÚF)r;   rN   rÈ   rð   rñ   )r#   rE   rF   rî   rO   Úlocr3   r4   )Úthree_groupr6   rï   r7   Úexp_groupedr8   s         r    Útest_wrap_agg_outrõ   .  s§   € Ø×!Ñ! 3¨ *Ó-€Gòô
 
�‰”yÐ(<Ô	=ñ  Ø×Ñ˜$Ô÷ à’_Ñ%×/Ñ/°Ó5€FØ—/‘/¢!Ò%>Ð">Ñ?€KØ×"Ñ" C¨ :Ó.×8Ñ8¸Ó>€HÜ×Ñ˜& (Õ+÷ ð  ús   ²B0Â0B9c                 ó  — dt         j                  fdt         j                  fdt         j                  fg}| j	                  d«      d   j                  |«      }t        g d¢«      }t        j                  |j                  |«       y )Nr1   ÚmaxrZ   r;   r<   )r1   r÷   rZ   )
r^   r1   r÷   rZ   r#   r$   r   r3   Úassert_index_equalr‰   )r%   Úfuncsr7   Úexp_colss       r    Ú*test_agg_multiple_functions_maintain_orderrû   >  sc   € à”b—g‘gÐ ¬¯© °%¼¿¹°ÐA€EØ�Z‰Z˜‹_˜SÑ!×%Ñ% eÓ,€FÜÒ+Ó,€Hä×Ñ˜&Ÿ.™.¨(Õ3r"   c                 óª   — | j                   d d …dgf   j                  | d   «      }|j                  d„ «      }|j                  j                  dk(  sJ ‚y )Nr<   r;   c                 ó"   — | j                  «       S r*   ©r1   r   s    r    r-   z(test_series_index_name.<locals>.<lambda>I  s   €  1§6¡6£8€ r"   )rò   r#   r$   rD   rˆ   )r%   r6   r7   s      r    Útest_series_index_namerÿ   G  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;   rN   r<   ©rD   r‰   Ú3minr;   ç§èH.ÿï?©Úqçâé•²q¼?é   )r;   Úquantile©r  r  r­   )r   r^   r¯   r°   r±   r_   r´   Úresampler$   r   r  r   r~   rá   r;   rY   ÚTr3   r4   )r%   r7   Úexpected_indexÚexpected_columnsr
  Úexpected_valuesr8   s          r    Ú%test_agg_multiple_functions_same_namer  M  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  NNrx   r  r­   )r   r^   r¯   r°   r±   r_   r´   r   r  r$   r   r  r   r~   rá   r;   rY   r  Úhstackr  r3   r4   )r%   r7   r  r  r
  Únon_ohlc_expected_valuesr  r8   s           r    Ú7test_agg_multiple_functions_same_name_with_ohlc_presentr   b  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 )	NrN   r<   ©r‰   )r™   r1   rÅ   )rÅ   rÅ   r;   rÈ   )r�   r#   r$   r3   r4   )r%   rù   Úex_funcsr7   r8   s        r    Ú-test_multiple_functions_tuples_and_non_tuplesr$  …  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}	ddddœdœ}t        j                  t        |	¬«      5  |j                  |«       d d d «       dg||gdœ}|j                  |«       y # 1 sw Y   Œ#xY w)Nr;   r1   ©r<   rÈ   rÅ   r   )Úkeysr‹   r   rŠ   )rÓ   r‹   c                 ó,   — t        j                  | «      S r*   ©r^   r1   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)r^   rÅ   r   s    r    Únumpystdz9test_more_flexible_frame_multi_function.<locals>.numpystd¬  s   € Ü�v‰v�a˜aÔ Ð r"   únested renamer is not supported©r™   rš   r=   )r#   r$   r
   Ú	swaplevelÚ
sort_indexrO   r3   r4   rE   rF   r   )
r%   r6   ÚexmeanÚexstdr8   Údr7   r*  r-  rH   s
             r    Ú'test_more_flexible_frame_multi_functionr5  –  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Ø 6°%Ñ8Ñ9€AÜ	�‰Ô)°Ô	5ñ Ø×Ñ˜!Ô÷ð ˆ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;   r1   rÅ   r/  r   r&  r.  r=   )r#   rE   rF   r   rO   )r%   r6   r4  rH   s       r    Ú test_multi_function_flexible_mixr7  º  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*   )Úisnullr>  r   s    r    r-   z1test_groupby_agg_coercing_bools.<locals>.<lambda>Ý  s   € ¨¯©«¯©Ó)9€ r"   )r   r#   r   rO   r	   r3   rP   )ÚdatÚgprD   r7   r8   s        r    Útest_groupby_agg_coercing_boolsrC  Ò  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;   rN   rN   rN   )r   r   r   r   r   ©r;   rN   r;   rN   r   r   r   rC   r   rŠ   )r   r#   r$   Úrename_axisr3   r4   )rA  r7   r8   s      r    Ú"test_groupby_agg_dict_with_getitemrG  â  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   re   ©r   r   re   r  r   r"  r   r   r   re   r   r   r   rÍ   rC   ©r   r#   r$   r   r3   r4   ©r%   r&   r7   r8   s       r    Ú!test_groupby_agg_dict_dup_columnsrM  ì  si   € ä	Ú	’|¢\Ð2Ú$ô
€Bð 
�‰�C‹€BØ�V‰V�S˜%�LÓ!€FÜ˜#  1˜v˜¬e°Q¸°FÀÔ.EÔF€HÜ×Ñ˜& (Õ+r"   Úopc                 ó"   — | j                  «       S r*   rL   r   s    r    r-   r-   û  rM   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 ©NrQ  rT  r   s    r    r-   r-   þ  s   € �!—+‘+˜hÓ'€ r"   c                 ó$   — | j                  d«      S rS  ©r$   r   s    r    r-   r-   ÿ  s   € �!—%‘%˜“,€ r"   c                 ó$   — | j                  d«      S rW  rY  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   )rN  r%   r  r7   s       r    Útest_bool_agg_dtyper]  ø  s   € ô 
˜!˜Q˜ u¨d mÑ4Ó	5€BØ
�‰�SÓ˜#Ñ€Aá�—
‘
˜3“Ó  Ñ%×+Ñ+€FÜ˜FÔ#Ð#Ð#á�—	‘	˜#“Ó×%Ñ%€FÜ˜FÔ#Ð#Ñ#r"   zkeys, agg_indexr   r   rÍ   r   r   rx   Úinput_dtype)ÚboolÚint32Úint64r¡   rŽ   Úresult_dtypeÚmethod)r�   rO   rU  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|}|d	k(  r|d
k(  r‰dk(  rd
Š|dk(  r‰dk(  rdŠt        d|d   j                  d   gi|¬«      j                  ‰«      }	|dk(  rdg|	j                  _        t        j                  ||	«       y )Nr   r   Tr;  r   c                 ó@   •— | j                  ‰«      j                  d   S r   ©r¢   Úiloc)r   rb  s    €r    r-   z2test_callable_result_dtype_frame.<locals>.<lambda>%  s   ø€ ˜!Ÿ(™( <Ó0×5Ñ5°aÑ8€ r"   rU  r   rO   r¡   rŽ   r`  ra  rC   r�   )r   r¢   Úgetattrr#   r_   Ú
RangeIndexrg  r‰   ry   r3   r4   )
r'  Ú	agg_indexr^  rb  rc  r%   rN  r7   r  r8   s
      `      r    Ú test_callable_result_dtype_framerk    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à�Òà˜)Ò#¨¸	Ò(AØ$ˆLØ˜'Ò! l°gÒ&=Ø"ˆLä˜#  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   r;  r   c                 ó@   •— | j                  ‰«      j                  d   S r   rf  )r   r…   s    €r    r-   z3test_callable_result_dtype_series.<locals>.<lambda>E  s   ø€ ˜!Ÿ(™( 5›/×.Ñ.¨qÑ1€ r"   rU  r   rÞ   )
r   rh  r#   r_   ri  r	   rg  r¢   r3   rP   )
r'  rj  rl  r…   rc  r%   rN  r7   r  r8   s
      `      r    Ú!test_callable_result_dtype_seriesrp  7  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 )Nr9  r   rE  r;   )r   r÷   r1   r  rZ   r   )r   r#   r$   r‰   Úlevelsr   r3   rø   )r%   r•   r7   r8   s       r    Ú#test_order_aggregate_multiple_funcsrs  K  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   é   rk   r˜   é   rÌ   r„   r   )ru  ru  rk   rk   r   r   )r  r  r  r  r   ©r…   rˆ   )r‰   rD   r…   F©Úas_index)r   r_   r`   r#   r  r   Úfrom_productr   r3   r4   r‘   )rÏ   r%   r&   r7   r8   Úgb2Úresult2Ú	expected2s           r    Útest_ohlc_ea_dtypesr~  W  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ÚlastrZ   r÷   r1   Ú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   )r1   r‚  T)Úcheck_exact)	r   r#   r$   r   r¢   r^   ra  r3   r4   )r…   r  r%   r8   r7   s        r    Útest_uint64_type_handlingr†  m  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   rE  r=   r;   rZ   )r   rE   rF   r   r#   r$   )rH   r%   s     r    Útest_func_duplicates_raisesr‰  {  sT   € à
€CÜ	šªLÑ9Ó	:€BÜ	�‰Ô)°Ô	5ñ ,Ø
�
‰
�3‹×Ñ˜U E˜NÔ+÷,÷ ,ñ ,ús   °#AÁA%rD   Úabcr   Ú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   r   r   )Úgroupr   rC   rŽ  r   r   r   )r   r#   r$   r	   Únuniquer\  r3   r4   )rD   r%   r7   r8   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Í   rC   )r   r#   rZ   r   r3   r4   ©r%   r7   r8   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   r4  r   )r   r   r4  Úe)r;   rN   r<   rÈ   rð   rñ   ©r   r   r   r   r   r   r   r   rÎ   )r   r_   r´   r¢   r³   r#   rZ   Ú	Timestampr^   rá   r3   r4   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   rZ   rÌ   r   rf   r   r   r   r   r­   )r   r   ©r	   r#   r$   r   r^   rá   r3   r4   )Úselfr%   Úgrr7   r8   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#   rE   rF   rî   r$   r   r3   r4   ©r¦  r§  r7   r8   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   rC   r¥  )r¦  r§  r6   r8   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   rC   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ÚanythingrZ   ©ÚcolumnÚaggfunc)r¹  rZ   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   re   zfunc is expected but received r=   ©r   )	r	   ÚtypeÚ__name__rE   rF   rî   r#   rY   r$   )r¦  r¸  r  rH   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·  rE   ÚmarkÚparametrizer_   ÚNamedAggrÁ  r³  r"   r    r£  r£  Á  s\   „ ò0ò0ò1ò0ð ‡[�[×ÑØàˆB�K‰K˜z°5Ô9ØØ˜Ðð	
óñ+óñ+r"   r£  c                   óZ   — e Zd Zd„ Zd„ Zd„ Zd„ 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   r:  ©re   r  rf   rz   ©rŽ  r;   rN   rŽ  ©r;   r÷   ©rN   r÷   )Úa_maxÚb_maxr   r   r  rz   r   r   rÍ   rÏ  rÐ  r  éb   r	  ©rN   rZ   ©r;   rZ   )r;   r1   r;   )Úb_minÚa_minÚa_meanrÏ  rÐ  Úa_98re   rf   r   r   ç      à?ç      @g\�Âõ(\ï?g×£p=
×@)
r   r#   r$   r   r3   r4   Ú	functoolsr   r^   Ú
percentile)r¦  r%   r7   r8   Ú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Ê  r:  rË  rÌ  rŽ  zmy colrÍ  r   r   r   r   rÍ   rC   r³  rK  ©r¦  r%   r7   r8   s       r    Útest_agg_relabel_non_identifierz=TestNamedAggregationDataFrame.test_agg_relabel_non_identifier  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   rE  r;   rÒ  rÌ   r   r   r   rÍ   rC   é2   r	  éF   Úquant50Úquant70)r   r   r   r   r   )r   r   r   r   re   )Úcol1Úcol2ræ  rç  )Úquantile_50Úquantile_70ç      ø?r�   g333333û?gš™™™™™@r   r   )r   r#   r$   r   r3   r4   rÚ  r   r^   rÛ  rÀ  )r¦  r%   r6   r8   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   rE  r;   rN   r   r   rC   r   rÒ   rÍ  rÓ  )rN   r1   )ÚaaÚbbÚccr   rê  ç      @)r   r   rz  r#   r$   r3   r4   rß  s       r    Útest_agg_relabel_with_levelz9TestNamedAggregationDataFrame.test_agg_relabel_with_level=  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®  rE  r;   rª  r=   r   )r™   rÎ  rÌ   )r   r#   rE   rF   rî   r$   )r¦  r%   r6   r>   s       r    Útest_agg_relabel_other_raisesz;TestNamedAggregationDataFrame.test_agg_relabel_other_raisesJ  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œ«      }d}t        j                  t        |¬«      5  |j	                  d«      j                  d¬	«       d d d «       y # 1 sw Y   y xY w)
Nr   r   r   rE  zLabel\(s\) \['C'\] do not existr=   r;   )r<   r   ©r   )r   rE   rF   ÚKeyErrorr#   r$   )r¦  r%   rH   s      r    Útest_missing_raisesz1TestNamedAggregationDataFrame.test_missing_raisesW  sZ   € Ü˜a ˜V¨1¨a¨&Ñ1Ó2ˆØ0ˆÜ�]‰]œ8¨3Ô/ñ 	0Ø�J‰J�s‹O×Ñ ,ÐÔ/÷	0÷ 	0ñ 	0ús   °"AÁA$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   rE  r;   rN   r   Úcountrº  ©r   r   )rN   r   )rN   rú  ©r   r#   r$   r_   rÆ  r3   r4   rß  s       r    Útest_agg_namedtuplez1TestNamedAggregationDataFrame.test_agg_namedtuple]  s€   € Ü˜a ˜V¨1¨a¨&Ñ1Ó2ˆØ—‘˜C“×$Ñ$Ü�k‰k˜#˜uÓ%¬¯©¸CÈÔ)Qð %ó 
ˆð —:‘:˜c“?×&Ñ&¨¸Ð&ÓHˆÜ
×Ñ˜f hÕ/r"   c                 óF   —  |j                   ||fi |¤Žj                  «       S r*   )Úbetweenr   )r¦  rÜ   r  r  Úkwargss        r    Ú	n_betweenz'TestNamedAggregationDataFrame.n_betweene  s#   € Øˆs�{‰{˜3 Ñ/¨Ñ/×3Ñ3Ó5Ð5r"   c                 ó  — t        g d¢g d¢dœ«      }|j                  d«      j                  t        j                  d| j
                  dd«      ¬«      }t        d	ddgit        ddgd¬
«      ¬«      }t        j                  ||«       y )Nrˆ  ©éÿÿÿÿr   r   r   rE  r;   rN   r   r   )Úcount_betweenr  rÍ   rC   ©	r   r#   r$   r_   rÆ  r  r   r3   r4   rß  s       r    Útest_namedagg_argsz0TestNamedAggregationDataFrame.test_namedagg_argsh  sw   € äš\²Ñ>Ó?ˆà—‘˜C“×$Ñ$ÜŸ+™+ c¨4¯>©>¸1¸aÓ@ð %ó 
ˆô ˜o°°1¨vÐ6¼eÀQÈÀFÐQTÔ>UÔVˆÜ
×Ñ˜f hÕ/r"   c           	      ó  — t        g d¢g d¢dœ«      }|j                  d«      j                  t        j                  d| j
                  ddd¬	«      ¬
«      }t        dddgit        ddgd¬«      ¬«      }t        j                  ||«       y )Nrˆ  r  rE  r;   rN   r   r   Úboth©Ú	inclusive)Úcount_between_kwr  rÍ   rC   r  rß  s       r    Útest_namedagg_kwargsz2TestNamedAggregationDataFrame.test_namedagg_kwargsr  s}   € äš\²Ñ>Ó?ˆà—‘˜C“×$Ñ$ÜŸ[™[¨¨d¯n©n¸aÀÈfÔUð %ó 
ˆô Ø ! Q Ð(´°q¸!°fÀ3Ô0Gô
ˆô 	×Ñ˜f hÕ/r"   c           	      ó  — t        g d¢g d¢dœ«      }|j                  d«      j                  t        j                  d| j
                  ddd¬	«      ¬
«      }t        dddgit        ddgd¬«      ¬«      }t        j                  ||«       y )Nrˆ  r  rE  r;   rN   r   r   Úneitherr
  )Úcount_between_mixr  rÍ   rC   r  rß  s       r    Útest_namedagg_args_and_kwargsz;TestNamedAggregationDataFrame.test_namedagg_args_and_kwargs~  s€   € äš\²Ñ>Ó?ˆà—‘˜C“×$Ñ$Ü Ÿk™kØ�T—^‘^ Q¨°Yôð %ó 
ˆô
 Ø  1 a &Ð)´¸¸1°vÀCÔ1Hô
ˆô 	×Ñ˜f hÕ/r"   c           
      ó¢  — t        g d¢g d¢dœ«      }|j                  d«      j                  t        j                  d| j
                  dd«      t        j                  d| j
                  dd«      t        j                  d| j
                  dd	«      ¬
«      }t        g d¢g d¢g d¢d
œt        g d¢d¬«      ¬«      }t        j                  ||«       y )Nr:  r   rE  r;   rN   r   r   r   r   )Ún_between01Ún_between13Ún_between02)r   r   r   r   )r   r   r   r   )r   r   r   r   rÍ   rC   r  rß  s       r    Ú,test_multiple_named_agg_with_args_and_kwargszJTestNamedAggregationDataFrame.test_multiple_named_agg_with_args_and_kwargsŒ  s¨   € äš\²Ñ=Ó>ˆà—‘˜C“×$Ñ$ÜŸ™ C¨¯©¸¸AÓ>ÜŸ™ C¨¯©¸¸AÓ>ÜŸ™ C¨¯©¸¸AÓ>ð %ó 
ˆô
 â+Ú+Ú+ñô
 š¨3Ô/ô
ˆô 	×Ñ˜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;   rN   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Í   rC   rK  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·  r³  r"   r    rÈ  rÈ  ö  sD   „ ò"0òH0ò1ò20ò5ò0ò0ò6ò0ò
0ò0ò0ó&0r"   rÈ  zCagg_col1, agg_col2, agg_col3, agg_result1, agg_result2, agg_result3©©r\   r;   r÷   r  )©r\   rN   r1   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                  ||	«       |j                  d«      j                  | ||¬«      }t        |||dœ|¬«      }	t        j                  ||	«       y )NrÊ  r:  rË  rÌ  ©©r   rŽ  r  r  r   r   r#  rÍ   r  )rÏ  rÏ  r   r   rC   )Úcol_1Úcol_2Úcol_3)	r   r   r~   r‰   r   r#   r$   r3   r4   )
Úagg_col1Úagg_col2Úagg_col3Úagg_result1Úagg_result2Úagg_result3r%   Úidxr7   r8   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Ü×Ñ˜& (Ô+à�Z‰Z˜Ó'×+Ñ+Ø˜h¨hð ,ó €Fô Ø¨¸kÑJÐRUô€Hô ×Ñ˜& (Õ+r"   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Ê  r:  rË  rÌ  r"  zdo not existr=   r#  ))ÚYr   r÷   r¾  )	r   r   r~   r‰   rE   rF   r÷  r#   r$   )r%   s    r    Ú,test_agg_relabel_multiindex_raises_not_existr1  Ú  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Ê  r:  rË  rÌ  r"  r#  )r  rZ   rÌ   r   r   rÍ   r   r   rC   )	r   r   r~   r‰   r#   r$   r   r3   r4   )r%   r7   r-  r8   s       r    Ú&test_agg_relabel_multiindex_duplicatesr3  å  sŒ   € ô 
Ú&ª\ÂÑMó
€Bô ×'Ñ'Ò(PÓQ€B„Jà�Z‰Z˜Ó'×+Ñ+Ø
Ð!4ð ,ó €Fô ��c�
 Ô
0€CÜ  1˜v¨Q°¨FÑ3¸3Ô?€HÜ×Ñ˜& (Õ+r"   r   r   rZ   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   r;  r   r   r   r   ra  rw  r   rZ   r  )r   r#   r$   r   r   r~   r3   r4   )r   r%   r7   r8   s       r    Ú test_groupby_aggregate_empty_keyr6  ö  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®  r5  r;  r   r   ©rr  Úcodesr"  ©r   r#   r$   r   r3   r4   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 )Nr;  r"  r   r   Fr‚   r   )r4  r4  rx   r­   )r   r#   r$   r²   r   r3   r4   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\   r]   r   r\   r]   ©rm  çš™™™™™é?rž   g      @gÍÌÌÌÌÌ@ç      è?)r   Úvalr   Frx  rB  rZ   rº  ©Úmin_valr[   )rm  r@  rA  )r   rD  rü  ©r%   r6   r7   r8   s       r    Ú9test_grouby_agg_loses_results_with_as_index_false_relabelrF    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   r?  )r   r—  rB  r   r—  Frx  rB  rZ   rº  rC  ©r   r   r\   )r   r   r   )rm  rA  r@  )r   r—  rD  rü  rE  s       r    ÚDtest_grouby_agg_loses_results_with_as_index_false_relabel_multiindexrI  #  sv   € ô
 
â1Ú2Ú2ñ	
ó
€Bð �j‰j˜% ˜°5ˆjÓ9€GØ�[‰[¤§¡°EÀ5Ô!Iˆ[ÓJ€FÜÚªÒEUÑVó€Hô ×Ñ˜& (Õ+r"   c                 ó^  — | j                  dd¬«      }|ddg   j                  d«      }|j                  d¬«      }t        j                  ||«       |j                  dd	d
œ«      }|j                  d¬«      }|j                  «       d   |d<   t        j                  ||«       | j                  dd¬«      }d}t        j                  t        |¬«      5  |d   j                  dd	i«       d d d «       | j                  ddgd¬«      }|j                  d«      }|j                  «       }t        j                  ||«       |j                  dd	d
œ«      }|j                  «       }|j                  «       d   |d<   t        j                  ||«       |d   j                  «       }t        |«      j                  ddi¬«      }d}t        j                  t        |¬«      5  |d   j                  dd	i«       d d d «       t        t        j                  j                  d«      j                  ddd«      g d¢¬«      } t        t        j                  j                  d«      j                  ddd«      d¬«      }| j                  |«      }	|	j!                  d«       dD ]z  }
| j                  |d¬«      }	 t#        |	|
«      «       }| j                  |j$                  d¬«      }	 t#        |	|
«      «       j'                  d¬«      }t        j                  ||«       Œ| y # 1 sw Y   �Œ,xY w# 1 sw Y   �Œ1xY w)Nr;   Frx  r<   rÈ   r1   T)Únumeric_onlyr   r&  r.  r=   ÚQrN   r"  r   r   éd   )râ  r   )ÚjimÚjoeÚjoliere   r˜   râ  rN  rÍ   )r1   r÷   rú  ÚidxmaxrQ  r>  rŒ   )r#   r$   r1   r3   r4   r   rE   rF   r   r   Úrenamer^   r¯   r°   Úintegersr	   Únthrh  rY   r‘   )r%   r6   r7   r8   r|  r}  rH   Ú	expected3r’   r§  ÚattrÚleftÚrights                r    Útest_groupby_as_index_aggrY  8  sÃ  € Ø�j‰j˜ uˆjÓ-€Gð �c˜3�ZÑ ×$Ñ$ VÓ,€FØ�|‰|¨ˆ|Ó.€HÜ×Ñ˜& (Ô+à�k‰k ¨UÑ3Ó4€GØ—‘¨$�Ó/€IØ—[‘[“] 3Ñ'€Iˆc�NÜ×Ñ˜' 9Ô-à�j‰j˜ tˆjÓ,€Gà
,€CÜ	�‰Ô)°Ô	5ñ 'Ø�‰×Ñ˜#˜u˜Ô&÷'ð
 �j‰j˜#˜s˜¨eˆjÓ4€Gà�[‰[˜Ó €FØ�|‰|‹~€HÜ×Ñ˜& (Ô+à�k‰k ¨UÑ3Ó4€GØ—‘“€IØ—[‘[“] 3Ñ'€Iˆc�NÜ×Ñ˜' 9Ô-à˜‘× Ñ Ó"€IÜ˜)Ó$×+Ñ+°S¸#°JÐ+Ó?€IØ
+€CÜ	�‰Ô)°Ô	5ñ 'Ø�‰×Ñ˜#˜u˜Ô&÷'ô 
Ü
�	‰	×Ñ˜aÓ ×)Ñ)¨!¨S°'Ó:Ú'ô
€Bô 
”—	‘	×%Ñ% aÓ(×1Ñ1°!°R¸Ó<À5Ô	I€Bà	�‰�B‹€BØ‡F�Fˆ1„IàCò +ˆØ�Z‰Z˜ UˆZÓ+ˆØ Œw�r˜4Ó Ó"ˆà�Z‰Z˜Ÿ	™	¨DˆZÓ1ˆØ!”˜˜DÓ!Ó#×/Ñ/°TÐ/Ó:ˆä
×Ñ˜d EÕ*ñ+÷A'ñ 'ú÷&'ñ 'ús   ÃLÇL"ÌLÌ"L,rï   c                 ó"   — | j                  «       S r*   rþ   ©r  s    r    r-   r-   t  s   € �q—v‘v“x€ r"   c                 ó,   — t        j                  | «      S r*   r)  r[  s    r    r-   r-   t  s   € ¬2¯7©7°1«:€ r"   c                 ó,   — t        j                  | «      S r*   )r^   Únanmeanr[  s    r    r-   r-   t  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   )re   rf   r   r�  )r   r   r   ÚSiskoÚJanewayrx   r"  r   r   rm  ç      @©r   r   r�   g      @rž   ))r   r   )r   r   )r   r   r  )
r   r   Úfrom_arraysr#   r^   rá   r$   r‰   r3   r4   )rï   Údatar%   r7   Úexpected_dictr8   s         r    Útest_multiindex_custom_funcrg  s  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	  ©r^   rÛ  r[  s    r    Úmyfuncrk  ‰  s   € Ü�=‰=˜˜dÔ#Ð#r"   c                 ó0   — t        j                  | d¬«      S ri  rj  r[  s    r    r-   r-   �  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Údogro  rp  ©g333333"@g      @ç      #@ç      A@©çš™™™™™@r  çÍÌÌÌÌÌ#@ç     Àh@©ÚkindÚheightÚweightry  )rz  r1   rz  )Úmean_heightÚperc90gš™™™™™"@g0»'5"@g      4@g5^ºI@r|  r}  ro  rp  rÍ   r­   rK  )rï   Úanimalsr7   r8   s       r    Útest_lambda_named_aggr  �  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¢«      ¬«      }t        j                  ||«       y )Nr   r{   r   ÚXYZrŠ  ©re  r‰   rD   )úgroup 1rƒ  r   Úgroupingc                 ó"   — | j                  «       S r*   )Útolistr   s    r    r-   z,test_aggregate_mixed_types.<locals>.<lambda>ª  s   € ¸¿¹»
€ r"   r   rƒ  r³   rw  )ÚXr0  ÚZr  )
r   r^   rá   Úreshaper²   r#   rO   r   r3   r4   )r%   r7   Úexpected_datar8   s       r    Útest_aggregate_mixed_typesr‹  ¤  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Ó&ô€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   )r>  r_   r`   r   s    r    r¼  z5test_aggregate_udf_na_extension_type.<locals>.aggfunc½  s   € Üˆq�1‰uŒ:Øä—5‘5ˆLr"   r;   r®  r�  r   ÚInt64r„   r   rC   )r   r_   rá   r#   r$   r`   r3   r4   )r¼  r%   r7   r8   s       r    Ú$test_aggregate_udf_na_extension_typer‘  ´  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   rE  r;   rN   c                  ó   — yr   r³  r   s    r    r-   z/TestLambdaMangling.test_basic.<locals>.<lambda>Ì  r´  r"   c                  ó   — yr¶  r³  r   s    r    r-   z/TestLambdaMangling.test_basic.<locals>.<lambda>Ì  r´  r"   r   r   ))rN   ú
<lambda_0>)rN   ú
<lambda_1>rÍ   rC   rK  rß  s       r    Ú
test_basiczTestLambdaMangling.test_basicÊ  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   ©r—  r˜  rC   r¥  )r¦  r§  r7   Úexp_datar8   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.rŒ  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*   rL   ©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*   rL   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   r3   r4   )r¦  Úf1Úf2r7   r8   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 )Nrn  rq  rt  rx  )Úheight_sqr_minÚ
height_maxÚ
weight_maxç¤p=
×³T@ç      B@rr  rs  rv  rw  ro  rp  ry  rÍ   r  ©Úbyrz  c                 ó2   — t        j                  | dz  «      S rB   ©r^   rZ   r   s    r    r-   z=TestLambdaMangling.test_agg_with_one_lambda.<locals>.<lambda>þ  ó   € Ì"Ï&É&ÐQRÐTUÑQUË,€ r"   rº  r÷   r{  c                 ó2   — t        j                  | dz  «      S rB   r±  r   s    r    r-   z=TestLambdaMangling.test_agg_with_one_lambda.<locals>.<lambda>  ó   € ´·±°q¸!±t³€ r"   ©rz  r÷   ©r{  r÷   )r   r   r#   r$   r_   rÆ  r3   r4   ©r¦  r%   r‰   r8   Úresult1r|  s         r    Útest_agg_with_one_lambdaz+TestLambdaMangling.test_agg_with_one_lambdaç  sû   € äâ4Ú/Ú0ñó
ˆò AˆÜà#(¨% .Ø" D˜kØ" E˜lñô
 ˜ ˜¨VÔ4Øô
ˆð —*‘* �*Ó'×+Ñ+ÜŸ;™;¨hÑ@VÔWÜ—{‘{¨(¸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 ) Nrn  rq  rt  rx  )r©  rª  r«  Úheight_max_2Ú
weight_minr¬  r­  rr  rs  rv  rw  ru  r  ro  rp  ry  rÍ   r  r®  rz  c                 ó2   — t        j                  | dz  «      S rB   r±  r   s    r    r-   z=TestLambdaMangling.test_agg_multiple_lambda.<locals>.<lambda>+  r´  r"   rµ  r¶  c                 ó,   — t        j                  | «      S r*   ©r^   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 rB   r±  r   s    r    r-   z=TestLambdaMangling.test_agg_multiple_lambda.<locals>.<lambda>5  r²  r"   rº  r÷   c                 ó,   — t        j                  | «      S r*   r¿  r   s    r    r-   z=TestLambdaMangling.test_agg_multiple_lambda.<locals>.<lambda>8  s   € ÌÏÉÈqË	€ r"   c                 ó,   — t        j                  | «      S r*   r±  r   s    r    r-   z=TestLambdaMangling.test_agg_multiple_lambda.<locals>.<lambda>9  s   € ÄbÇfÁfÈQÃi€ r"   )r   r   r#   r$   r3   r4   r_   rÆ  r·  s         r    Útest_agg_multiple_lambdaz+TestLambdaMangling.test_agg_multiple_lambda  s<  € ô â4Ú/Ú0ñó
ˆò
ˆô à#(¨% .Ø" D˜kØ" E˜lØ!$ d Ø" C˜jñô ˜ ˜¨VÔ4Øô

ˆð —*‘* �*Ó'×+Ñ+Ø$Ñ&<Ð=Ø(Ø(Ø"Ñ$7Ð8Ø Ñ"5Ð6ð ,ó 
ˆô 	×Ñ˜g xÔ0ð —*‘* �*Ó'×+Ñ+ÜŸ;™;¨hÑ@VÔWÜ—{‘{¨(¸EÔBÜ—{‘{¨(¸EÔBÜŸ™¨HÑ>QÔRÜ—{‘{¨(Ñ<OÔPð ,ó 
ˆô 	×Ñ˜g xÕ0r"   N)rÀ  rÂ  rÃ  r™  rŸ  rE   rÄ  Úxfailr§  r¹  rÄ  r³  r"   r    r“  r“  É  s?   „ ò0ò0ð ‡[�[×ÑÐ?ÐÓ@ñ	0ó Að	0ò#1óJ/1r"   r“  c                 óæ  — g d¢| _         | j                  d„ |¬«      }|j                  t        j                  dd¬«      }| | j
                  j                  dk(     j                  d«      | | j
                  j                  d	k(     j                  d«      d
œ}t        |«      j                  }|s.|j                  dddd	g«       t        t        d	«      «      |_        t        j                  ||«       y )N)r;   rN   r;   r<   c                 ó   — | j                   S r*   r/   r   s    r    r-   z9test_pass_args_kwargs_duplicate_columns.<locals>.<lambda>A  s
   €  1§7¡7€ r"   rx  éP   r   rŠ   r   r@  r   )r   r   rD   )r‰   r#   r$   r^   rÛ  rD   r0   r  r   r  Úinsertr   Úranger3   r4   )r5   ry  r&   r•   Úex_datar8   s         r    Ú'test_pass_args_kwargs_duplicate_columnsrÌ  >  sÉ   € â*€G„OØ	�‰Ñ*°XˆÓ	>€Bà
�&‰&”—‘ ¨ˆ&Ó
+€Cð �7—=‘=×&Ñ&¨!Ñ+Ñ,×5Ñ5°cÓ:Ø�7—=‘=×&Ñ&¨!Ñ+Ñ,×5Ñ5°cÓ:ñ€Gô ˜Ó!×#Ñ#€HÙØ�‰˜˜7 Q¨ FÔ+Üœu Q›x›ˆŒä×Ñ˜#˜xÕ(r"   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Ï  )rm  rm  rž   rE  r;   rN   c                 ó>   — | j                  | j                  d   «      S )Nr  )ÚgetrD   r   s    r    r-   z+test_groupby_get_by_index.<locals>.<lambda>T  s   € ¨a¯e©e°A·G±G¸B±KÓ.@€ r"   rÎ  rÏ  rm  rž   )r   r#   r$   r\  r3   r4   )r%   r•   r8   s      r    Útest_groupby_get_by_indexrÒ  Q  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_ordre   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   re   r  rf   rz   ÚaabbccddÚaaaabbbb©rÓ  rÔ  ro  Úcategory©ro  rÔ  rÔ  ro  F©Úobservedr   r   ©Ú
categoriesÚorderedrˆ   r…   )re  rD   )r   r²   r¢   ro  Ú
as_orderedr#   r$   r_   ÚCategoricalIndexr…   r3   r4   )Úgrp_col_dictrž  Úinput_dfÚ	result_dfÚ	cat_indexÚexpected_dfr…   s          r    Ú test_groupby_single_agg_cat_colsrè  Y  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   )re   rz   r   )r   r   r   )re   r   r4  rÌ   )r   r4  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Ô  ro  FrÜ  r   r   rÞ  c              3   ó&   •K  — | ]  }‰|g–— Œ
 y ­wr*   r³  )Ú.0r   Úks     €r    ú	<genexpr>z6test_groupby_combined_aggs_cat_cols.<locals>.<genexpr>¢  s   øè ø€ Ò#>°5 Q¨¤JÑ#>ùs   ƒr‚  )r   r²   r¢   ro  rá  r#   r$   r_   râ  Úitemsrä   ÚextendÚappendr   r~   r¸   r‰   r…   r3   r4   )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 )Nr9  )r   r   r   r   rÌ   r   rQ  r  )r   r#   r$   r‰   Ú	droplevelr3   r4   )r%   r   r7   r8   s       r    Útest_nonagg_aggrø  °  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 )Nr‡  r0  iÕ  r   r˜   r¨   é   i`= i½  rE  r;   rN   )r   Údatetimer#   rN   r÷   r\  r3   rP   rš  s      r    Útest_aggregate_datetime_objectsrü  ½  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   rH  ©r   r   r   )Úc0Úc1ÚpÚOrÿ  r   c                 ó   — t        | dkD  «      S r   r=  r   s    r    r-   z1test_groupby_index_object_dtype.<locals>.<lambda>Ô  s   € ¤# a¨!¡e£*€ r"   )r   r   r„  )rÿ  r   rx   FTr  rÞ   )r   rD   r¢   r#   r  r$   r   r~   r	   r3   rP   )r%   r6   r•   r  r8   s        r    Útest_groupby_index_object_dtyper  Ï  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*   )Úisnar>  r^   r   rÛ   s    r    rï   z)test_timeseries_groupby_agg.<locals>.funcá  s#   € Ø�8‰8‹:�>‰>ÔØÜ�v‰v�c‹{Ðr"   rm  z2018-01-16 00:00:00+00:00rC   c                  ó   — yr¶  r³  r   s    r    r-   z-test_timeseries_groupby_agg.<locals>.<lambda>ç  r´  r"   r   )r   r_   r   r#   r$   r3   r4   )rï   r%   r•   r8   s       r    Útest_timeseries_groupby_aggr	  Þ  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˜  rx   r™  rC   r—  r˜  c                 ó   — | S r*   r³  r   s    r    r-   z,test_groupby_agg_precision.<locals>.<lambda>  s   € ¸€ r"   )r3   ÚALL_INT_NUMPY_DTYPESr^   Úiinfor÷   ÚFLOAT_NUMPY_DTYPESÚfinfoÚFLOAT_EA_DTYPESÚlowerÚALL_INT_EA_DTYPESr   r_   rá   r   rd  r#   r$   r4   )Úany_real_numeric_dtypeÚ	max_valuer%   ÚarraysrD   r8   r7   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)ÚcorrwithrT  r   r   )rÚ   ÚngroupF)Úcheck_names)	r   r^   rU   r#   r$   r3   rP   r4   Ú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 daysra   ztimedelta64[ns]r„   z2 daysr   r†   ©r   r   r   )r	   r^   rá   r#   r1   r3   rP   )re  r8   r7   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:00ra   z2021-01-01T02:00z2021-01-01T01:00)z2021-01-01T00:00-0100ra   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   rC   r!  )r   r	   r^   rá   r#   r1   r3   rP   )Ú
input_dataÚexpected_outputre  r8   r7   s        r    Útest_group_mean_datetime64_natr&  (  sU   € ô ”v˜jÓ)Ó*€DÜœ6 /¼¿¹À1À#»ÔGÓH€Hà�\‰\š)Ó$×)Ñ)Ó+€FÜ×Ñ˜6 8Õ,r"   zfunc, outputr1   y       @      2@y      $@      6@r   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 )Nrv  r˜   r   r   ù               @)
r	   r^   rŸ   r‰  Údotr#   rD   r$   r3   rP   )rï   Úoutputre  r7   r8   s        r    Útest_groupby_complexr+  >  sl   € ô
 ”"—)‘)˜B“-×'Ñ'¨¨AÓ.×2Ñ2°A°r°7Ó;Ó<€DØ�\‰\˜$Ÿ*™* q™.Ó)×-Ñ-¨dÓ3€FÜ�f‹~€HÜ×Ñ˜6 8Õ,r"   )rZ   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)Nrv  r˜   r   r   r(  zNo matching signature foundr=   )r	   r^   rŸ   r‰  r)  rE   rF   rî   r#   rD   r$   )rï   re  rH   s      r    Útest_groupby_complex_raisesr-  I  sy   € ô ”"—)‘)˜B“-×'Ñ'¨¨AÓ.×2Ñ2°A°r°7Ó;Ó<€DØ
'€CÜ	�‰”y¨Ô	,ñ /Ø�‰�T—Z‘Z !‘^Ó$×(Ñ(¨Ô.÷/÷ /ñ /ús   Á.BÂBztest, constantrv  r;   rN   r˜   r<   rc  r¨   )Úmarksc                 óÚ   — t        | «      }|j                  d«      j                  t        j                  «      }t        |«      }|j                  d«      }t        j                  ||«       y r   )r   r#   r$   r	   Úmoder\  r3   r4   )rë  ÚconstantÚdf1r7   r8   s        r    Útest_agg_of_mode_listr3  R  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®  r;  r„  r\   c                 ó.   — | j                  «       |z   |z   S r*   rL   ©r   r   r   s      r    Úfoo1z@test_dataframe_groupy_agg_list_like_func_with_args.<locals>.foo1p  ó   € Ø�u‰u‹w˜‰{˜Q‰Ðr"   c                 ó.   — | j                  «       |z   |z   S r*   rL   ©r   r   r   s      r    Úfoo2z@test_dataframe_groupy_agg_list_like_func_with_args.<locals>.foo2s  r8  r"   ú/foo1\(\) got an unexpected keyword argument 'b'r=   r   r   rû  rö  rz   r{   r˜   rÍ   )r   r7  )r   r;  r  ©r   r   ©r   r   )r   r#   rE   rF   rî   r$   r   r   r~   r3   r4   )r%   r&   r7  r;  rH   r7   r8   s          r    Ú2test_dataframe_groupy_agg_list_like_func_with_argsr?  k  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*   rL   r6  s      r    r7  z=test_series_groupy_agg_list_like_func_with_args.<locals>.foo1ˆ  r8  r"   c                 ó.   — | j                  «       |z   |z   S r*   rL   r:  s      r    r;  z=test_series_groupy_agg_list_like_func_with_args.<locals>.foo2‹  r8  r"   r<  r=   r   r   rû  rö  rz   r{   r˜   r7  r;  r  r=  r>  )
r	   r#   rE   rF   rî   r$   r   r   r3   r4   )r  Úsgbr7  r;  rH   r7   r8   s          r    Ú/test_series_groupy_agg_list_like_func_with_argsrD  ƒ  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   )re   r  rf   r;  r   r   r   c                 ó"   — | j                  «       S r*   rL   r   s    r    r-   z.test_agg_groupings_selection.<locals>.<lambda>ž  s   €  q§u¡u£w€ r"   r   r   r   r   r   )rr  r9  ry   r  rk   rf   rû  rC   r:  )r%   r&   Úselected_gbr7   rD   r8   s         r    Útest_agg_groupings_selectionrH  ™  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   re   rÌ   r   Frx  r   r   r1   r   r   rf   re   rñ  rb  )r   r   r1   ©r   r#   r$   r3   r4   rL  s       r    Ú?test_agg_multiple_with_as_index_false_subset_to_a_single_columnrK  ¦  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   re   r  )Úa1Úa2r   rM  rN  F)r¯  ry  r   )r   r   r   )r   r   re   )r   r   r  ))rM  Ú )rN  rO  )r   r   )re  r‰   )r   r#   r$   r   r~   r3   r4   rL  s       r    Ú&test_agg_with_as_index_false_with_listrP  ¯  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þ  )rS  z0 days 00:15:00rT  ztimedelta64[us]r„   )r   r   r   )rR  ÚgrpsrU  )rR  rQ  )rR  )r   r_   Ú	Timedeltar	   r#   r$   r3   r4   )r8   r%   r&   r7   s       r    ÚBtest_groupby_agg_extension_timedelta_cumsum_with_named_aggregationrW  ¼  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   r;  )rß  r   rE  rZ  r=   r;   FrÜ  )r   r_   ÚCategoricalrE   rF   rÔ   r#   r$   )rï   r%   rH   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?c                  óî   — t        g d¢g d¢g d¢gg d¢¬«      } | j                  d«      }|j                  ddi«      }t        d	d
gddggddgt        ddgd¬«      ¬«      }t	        j
                  ||«       y )Nr   rI  rJ  r   r"  r   r   r   rf   r{   re   r  r   r   rÍ   r­   rK  rL  s       r    Ú<test_groupby_aggregation_duplicate_columns_single_dict_valuer^  ä  sy   € ä	Ú	’|¢\Ð2Ú$ô
€Bð 
�‰�C‹€BØ�V‰V�S˜%�LÓ!€FäØ
ˆQˆ�!�Q�Ð 3¨ *´E¸1¸a¸&ÀsÔ4Kô€Hô ×Ñ˜& (Õ+r"   c            	      ó  — t        g d¢g d¢g d¢gg d¢¬«      } | j                  d«      }|j                  dg d¢i«      }t        g d	¢g d
¢gt        dgg d¢gg d¢g d¢g¬«      t	        ddgd¬«      ¬«      }t        j                  ||«       y )Nr   rI  rJ  r   r"  r   r   )r   rZ   r÷   rZ   )rf   r   r   r   r{   r   re   r   )re   re   re   re   r  r  r  r  )r   rZ   r÷   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r8  r   r   rÍ   r­   ©r   r#   r$   r   r   r3   r4   rL  s       r    Ú?test_groupby_aggregation_duplicate_columns_multiple_dict_valuesra  ó  s�   € ä	Ú	’|¢\Ð2Ú$ô
€Bð 
�‰�C‹€BØ�V‰V�SÒ6Ð7Ó8€FäÚ	!Ò#;Ð<ÜØ�EÒ0Ð1Ú+Ò-EÐFô
ô �Q˜�F Ô%ô€Hô ×Ñ˜& (Õ+r"   c            	      ó  — t        g d¢g d¢g d¢g d¢gg d¢¬«      } | j                  d«      }|j                  g dgd	œ«      }t        d
dgddggt        dgdggddgddgg¬«      t	        ddgd¬«      ¬«      }t        j                  ||«       y )N)r   is&  é+   é6   é»  ©r   é¬  r{   éÞÿÿÿrj   )r   rh  iÞýÿÿéž÷ÿr   ©r   éô   éßÿÿÿiœÿÿÿrj   )r   r   r   r   r   r"  r   rÆ   rû  g  @ø‘ABg   Èä‚}Ag     ¡@g        r   r   r8  r   r   rÍ   r­   r`  rL  s       r    Ú<test_groupby_aggregation_duplicate_columns_some_empty_resultrm    s¢   € ä	â#Ú Ú&Ú#ð		
ò *ô
€Bð 
�‰�C‹€BØ�V‰V˜" E 7Ñ+Ó,€FäØ
�zÐ	" [°#Ð$6Ð7Ü C 5¨5¨'Ð"2¸A¸q¸6ÀAÀqÀ6Ð:JÔKÜ�Q˜�F Ô%ô€Hô
 ×Ñ˜& (Õ+r"   c            
      ór  — t        g d¢g d¢g d¢g d¢gt        ddgddggg d	¢g d
¢g¬«      t        ddgddggg d¢g d¢g¬«      ¬«      } | j                  d¬«      }|j                  ddi«      }t        ddgddggt        dgdggddgddgg¬«      t	        ddg«      ¬«      }t        j                  ||«       y )N©r   é�Ùÿÿrc  rd  re  rf  ©r   rh  é"  ri  r   rj  úlevel1.1úlevel1.2úlevel2.1úlevel2.2©r   r   r   r   r   ©r   r   r   r   r   r8  ©r   r   r   r   ©r   r   r   r   r­   r   rÒ   ©rs  rv  rZ   rp  r{   rk  rl  ©r   r   r#   r$   r   r3   r4   rL  s       r    Ú6test_groupby_aggregation_multi_index_duplicate_columnsr}    sæ   € ä	â$Ú Ú%Ú#ð		
ô Ø Ð,¨z¸:Ð.FÐGÚ"¢OÐ4ô
ô Ø Ð,¨z¸:Ð.FÐGÚ¢Ð.ô
ô
€Bð  
�‰˜!ˆÓ	€BØ�V‰VÐ-¨uÐ5Ó6€FäØ
�ˆ�c˜3�ZÐ Ü J <°*°Ð">ÈÈ1ÀvÐPQÐSTÈvÐFVÔWÜ�Z Ð,Ó-ô€Hô
 ×Ñ˜& (Õ+r"   c            
      ó‚  — t        g d¢g d¢g d¢g d¢gt        ddgddggg d	¢g d
¢g¬«      t        ddgddggg d¢g d¢g¬«      ¬«      } | j                  d¬«      }|j                  dddgi«      }t        g d¢g d¢gt        dgdgddggg d¢g d¢g d¢g¬«      t	        ddg«      ¬«      }t        j                  ||«       y )Nro  rf  rq  rj  rs  rt  ru  rv  rw  rx  r8  ry  rz  r­   r   rÒ   r{  rZ   r÷   )rp  rg  r{   rr  )rk  rk  rl  rl  rŸ  )r   r   r   r   r|  rL  s       r    Ú@test_groupby_aggregation_func_list_multi_index_duplicate_columnsr  :  sç   € ä	â$Ú Ú%Ú#ð		
ô Ø Ð,¨z¸:Ð.FÐGÚ"¢OÐ4ô
ô Ø Ð,¨z¸:Ð.FÐGÚ¢Ð.ô
ô
€Bð  
�‰˜!ˆÓ	€BØ�V‰VÐ-°°u¨~Ð>Ó?€FäÚ	Ò3Ð4ÜØ�L : ,°¸°Ð?Ú¢ª|Ð<ô
ô �Z Ð,Ó-ô€Hô ×Ñ˜& (Õ+r"   Úpyarrow)zfloat[pyarrow]úint64[pyarrow]úuint64[pyarrow]zbool[pyarrow]c                 ó*  — t        g d¢t        j                  g d¢| ¬«      dœ«      }|j                  d«      }|j	                  d„ «      }t        dt        j                  g d¢| ¬«      it        g d	¢d¬
«      ¬«      }t        j                  ||«       y )N)r   Úc2Úc3r   r„  r…  )rM  éÈ   éÿ   r   éÇ   iÈ�  r„   rE  r;   c                 ó"   — | j                  «       S r*   )rZ   r   s    r    r-   z:test_agg_lambda_pyarrow_dtype_conversion.<locals>.<lambda>i  s   € ˜aŸe™e›g€ r"   rN   )r   rˆ  r‡  ©r   r„  r…  rÍ   rC   ©r   r_   rá   r#   r$   r   r3   r4   )r…   r%   r&   r7   r8   s        r    Ú(test_agg_lambda_pyarrow_dtype_conversionrŒ  Z  s}   € ô 
â5Ü—‘Ò8ÀÔFñ	
ó
€Bð 
�‰�C‹€BØ�V‰VÑ%Ó&€FäØ	Œb�h‰h’}¨EÔ2Ð3ÜÒ&¨SÔ1ô€Hô ×Ñ˜& (Õ+r"   c                  óf  — t        g d¢t        j                  g d¢d«      dœ«      } | j                  d«      }|j	                  d„ «      }t        dt        j                  t        dd	«      t        d
d	«      t        dd	«      gd¬«      it        g d¢d¬«      ¬«      }t        j                  ||«       y )NrŠ  ©rM  r†  r‡  r�  rE  r;   c                 óR   — t        | j                  «       | j                  «       «      S r*   )Úcomplexr   rú  r   s    r    r-   z=test_agg_lambda_complex128_dtype_conversion.<locals>.<lambda>y  s   € œg a§e¡e£g¨q¯w©w«yÓ9€ r"   rN   rM  r   r†  r‡  Ú
complex128r„   rÍ   rC   )	r   r_   rá   r#   r$   r�  r   r3   r4   rL  s       r    Ú+test_agg_lambda_complex128_dtype_conversionr’  r  sš   € ô 
Ú ¤r§x¡x²ÐAQÓ'RÑSó
€Bð 
�‰�C‹€BØ�V‰VÑ9Ó:€Fäà”—‘Ü˜˜a“¤'¨#¨q£/´7¸3À³?ÐCÈ<ôð	
ô
 Ò&¨SÔ1ô€Hô ×Ñ˜& (Õ+r"   c                  ó*  — t        g d¢t        j                  g d¢d¬«      dœ«      } | j                  d«      }|j	                  d„ «      }t        dt        j                  g d¢d¬«      it        g d¢d¬	«      ¬
«      }t        j                  ||«       y )NrŠ  rŽ  r‚  r„   rE  r;   c                 óH   — t        j                  | j                  «       «      S r*   )r^   Úuint64r   r   s    r    r-   zJtest_agg_lambda_numpy_uint64_to_pyarrow_dtype_conversion.<locals>.<lambda>�  s   € œbŸi™i¨¯©«Ó0€ r"   rN   rÍ   rC   r‹  rL  s       r    Ú8test_agg_lambda_numpy_uint64_to_pyarrow_dtype_conversionr–  †  s‚   € ô 
â#Ü—‘š/Ð1BÔCñ	
ó
€Bð 
�‰�C‹€BØ�V‰VÑ0Ó1€Fäà”—‘š/Ð1BÔCð	
ô Ò&¨SÔ1ô	€Hô ×Ñ˜& (Õ+r"   c                  óJ  — dd l } t        g d¢t        j                  g d¢d¬«      dœ«      }|j	                  d«      }|j                  d„ «      }| j                  d	d
id	d
id	d
ig«      }t        dt        |«      it        g d¢d¬«      ¬«      }t        j                  ||«       y )Nr   rŠ  rŽ  r�  r„   rE  r;   c                 ó
   — ddiS )NÚnumberr   r³  r   s    r    r-   zKtest_agg_lambda_pyarrow_struct_to_object_dtype_conversion.<locals>.<lambda>§  s
   € ˜x¨˜m€ r"   r™  r   rN   rÍ   rC   )
r€  r   r_   rá   r#   r$   r   r   r3   r4   )Úpar%   r&   r7   Úarrr8   s         r    Ú9test_agg_lambda_pyarrow_struct_to_object_dtype_conversionrœ  ›  sœ   € ó ä	â#Ü—‘š/Ð1AÔBñ	
ó
€Bð 
�‰�C‹€BØ�V‰VÑ+Ó,€Fà
�(‰(�X˜q�M H¨a =°8¸Q°-Ð@Ó
A€CÜØ	Ô! #Ó&Ð'ÜÒ&¨SÔ1ô€Hô
 ×Ñ˜& (Õ+r"   c                  ó´   — t        ddg¬«      } | j                  dgd¬«      d   j                  d«      }t        ddg¬«      }t        j                  ||«       y )NÚGroupÚDatar"  Frx  r   rJ  rš  s      r    Ú(test_groupby_aggregate_empty_builtin_sumr   ²  sT   € Ü	˜G VÐ,Ô	-€BØ�Z‰Z˜˜	¨EˆZÓ2°6Ñ:×>Ñ>¸uÓE€FÜ '¨6Ð!2Ô3€HÜ×Ñ˜& (Õ+r"   c                  óº   — d„ } t        ddg¬«      }|j                  dgd¬«      d   j                  | «      }t        ddg¬«      }t        j                  ||«       y )Nc                 ó   — t        | «      S r*   rL   r   s    r    rï   z.test_groupby_aggregate_empty_udf.<locals>.funcº  s   € Ü�1‹vˆr"   rž  rŸ  r"  Frx  rJ  )rï   r%   r7   r8   s       r    Ú test_groupby_aggregate_empty_udfr£  ¹  s[   € òô 
˜G VÐ,Ô	-€BØ�Z‰Z˜˜	¨EˆZÓ2°6Ñ:×>Ñ>¸tÓD€FÜ '¨6Ð!2Ô3€HÜ×Ñ˜& (Õ+r"   )„Ú__doc__rû  rÚ  r   Únumpyr^   rE   Úpandas.errorsr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsrR  Úpandas.core.dtypes.commonr   Úpandasr_   r   r   r   r	   r
   r   Úpandas._testingÚ_testingr3   Úpandas.arraysr   Úpandas.core.groupby.grouperr   r'   r9   rI   rS   rc   r€   r–   r¦   rº   r½   rÄ  rÅ  rÉ   rÐ   rÖ   ré   rõ   rû   rÿ   r  r   r$  r5  r7  rC  rG  rM  r]  rk  r_  Úintr�   rp  rs  r~  ra  r•  r†  r‰  râ  r²   Úinterval_rangeÚperiod_ranger~   r�  r›  r¡  r£  rÈ  r1   rÆ  r.  r1  r3  r6  r;  r=  rF  rI  rY  rg  rk  r  r‹  rÅ  r‘  r“  rÌ  rÒ  rè  rõ  rø  rü  r  r	  r  r  r"  r&  r+  r-  Úparamr3  r?  rD  rH  rK  rP  rW  r\  r^  ra  rm  r}  r  Ú
skip_if_norŒ  r’  r–  rœ  r   r£  r³  r"   r    ú<module>rµ     s	  ðñó Û Ý ã Û å ,ß )Ð )å 6ã ÷÷ õ Ý -Ý 0ò	ò,ò+ò.ò,ò4.,òb'ò4,ò:,ò,,ð ‡�×ÑØÑ)Ñ,=Ñ?TÐ+UÐVóñ,óð,ò4,ò'òò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óóóð,ð2 ‡�×ÑØà
ˆ‘�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m0ñ m0ð` ‡�×ÑØ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ð	
ð#óñ:,ó;ð:,ò.>ò,ð" ‡�×Ñ˜ S¨5¨' N¸"ÀEÀ7Ñ4KÐ#LÓMñ	,ó Nð	,ò,ò,ò,ò,ò*8+ðv ‡�×ÑØ
ÑÑ!5Ñ7NÐOóñ,óð,ò&$ð ‡�×Ñ˜Ñ"DÀfÐ!MÓNñ,ó Oð,ò,,ð  ‡�×ÑÐ8ÐÓ9ñ,ó :ð,÷(r1ñ r1òj)ò&)ð ‡�×ÑØà %Ñ	(°!°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ð/ð ‡�×ÑØàˆ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2ò,ò,ò(,ò,,ò:,ð@ €‡�ˆyÓØ‡�×ÑØÚLóñ,ó	ó ð
,ð& €‡�ˆyÓñ,ó ð,ð& €‡�ˆyÓñ,ó ð,ð( €‡�ˆyÓñ,ó ð,ò,,ó,r"   