Ë
    *V.j" ã                   óž  — d dl m Z  d dlZd dlZd dlZd dlmZmZmZm	Z	m
Z
mZmZ d dlmZ d dlmZ d dlmZ ej(                  fd„Zi dej(                  “dej(                  “d	d “d
ej(                  “dej(                  “dej(                  “dej(                  “dej(                  “dej(                  “dej(                  “dej(                  “dej(                  “dej(                  “dd “dej(                  “dej(                  “dej(                  “d ej(                  ej(                  d ej(                  dœ¥Zd„ Zd„ Zd„ Zd„ Zej6                  j9                  dddg«      d „ «       Zd!„ Zd"„ Zd#„ Z d$„ Z!ej6                  j9                  d%d&g d'¢ eg d(¢d&¬)«      fd&d*gg d+¢ eg d(¢d&¬)«       e	g d,¢«      gfd&d-gg d.¢ eg d(¢d&¬)«       eg d(¢d&¬)«      gfg«      ej6                  j9                  d/ddg«      d0„ «       «       Z"d1„ Z#d2„ Z$d3„ Z%ej6                  j9                  dddg«      ej6                  j9                  d4ddg«      ej6                  j9                  d5ddg«      d6„ «       «       «       Z&d7„ Z'd8„ Z(d9„ Z)d:„ Z*d;„ Z+ej6                  j9                  d<d=g e e,d>«      «      d d?gd@dAgdBœf e e,d>«      «      j[                  dC„ «      dAgd d@gdBœf e e,dD«      «      d d?gd@dAgdBœfg«      dE„ «       Z.dF„ Z/dG„ Z0dH„ Z1ej6                  j9                  dIddJdgfddKdLgfddKdgfddJdLgfg«      dM„ «       Z2dN„ Z3dO„ Z4dP„ Z5ej6                  j9                  dddg«      dQ„ «       Z6ej6                  j9                  dddg«      dR„ «       Z7dS„ Z8dT„ Z9dU„ Z:ej6                  j9                  dVd e e
jv                   eg dW¢dX¬Y«      g dZ¢gd&d*g¬[«      g d(¢d\¬]«      fd e eg dW¢dX¬Y«      g dZ¢g d(¢d^œ«      fg«      d_„ «       Z<ej6                  j9                  d`dej(                  ejz                  g«      da„ «       Z>ej~                  db„ «       Z@ej6                  j9                  dcdddeg«      df„ «       ZAej6                  j9                  dcdddeg«      ej6                  j9                  d4ddg«      dg„ «       «       ZBej6                  j9                  dhd e
jv                   e	digd>z  djgd>z  z   dXdk¬l«       e	g dm¢dXdn¬l«       e	ddgd>z  «      g«      g do¢fd e
j†                   edidjgd¬p«       eg dq¢d¬p«       e	ddg«      gg dr¢¬[«      dAdAd>d>ej(                  ej(                  d@d@ej(                  ej(                  d?d?gfd e
j†                   edidjgd¬p«       eg dq¢d¬p«       e	ddg«      gg dr¢¬[«      dAdAd>d>ej(                  ej(                  d@d@ej(                  ej(                  d?d?gfg«      ds„ «       ZDdt„ ZEej6                  j9                  dug dv¢g dw¢g«      dx„ «       ZFdy„ ZGdz„ ZHd{„ ZId|„ ZJd}„ ZKej6                  j9                  d4ddg«      d~„ «       ZLd„ ZMej6                  j9                  d€ejœ                  g dW¢fejž                  g dZ¢fg«      d�„ «       ZPd‚„ ZQej6                  j9                  dƒddg«      d„„ «       ZRd…„ ZSd†„ ZTd‡„ ZUdˆ„ ZVd‰„ ZWej6                  j9                  dƒddg«      dƒeXd4eYfdŠ„«       ZZej6                  j9                  dƒddg«      dƒeXd4eYfd‹„«       Z[dŒ„ Z\ej6                  j9                  dƒddg«      d�„ «       Z]dŽ„ Z^d�„ Z_d�„ Z`ej6                  j9                  d‘g d’¢«      ej6                  j9                  dddg«      d“„ «       «       Zaej6                  j9                  d‘d”d•g«      ej6                  j9                  dddg«      d–„ «       «       Zbej6                  j9                  d‘g d’¢«      ej6                  j9                  d—d˜d™g«      ej6                  j9                  dddg«      dš„ «       «       «       Zcej6                  j9                  d‘g d’¢«      ej6                  j9                  d—g d›¢«      ej6                  j9                  dddg«      dœ„ «       «       «       Zdej6                  j9                  d‘g d’¢«      d�„ «       Zeej6                  j9                  džd&d*d&d*gg«      ej6                  j9                  dŸd&d*d&d*gg«      d „ «       «       Zfej6                  j9                  d/ddg«      ej6                  j9                  dŸd¡gd¡d-gg«      d¢„ «       «       Zgy)£é    )ÚdatetimeN)ÚCategoricalÚCategoricalIndexÚ	DataFrameÚIndexÚ
MultiIndexÚSeriesÚqcut)ÚSeriesGroupBy)Úget_groupby_method_argsc                 óŒ   — d„ }t        j                  t        ||«      |¬«      }| j                  ||¬«      j	                  «       S )zpReindex to a cartesian production for the groupers,
    preserving the nature (Categorical) of each grouper
    c                 óÆ   — t        | t        t        f«      rJ| j                  }t        j                  t        j                  t        |«      «      || j                  ¬«      } | S )N©Ú
categoriesÚordered)	Ú
isinstancer   r   r   Ú
from_codesÚnpÚarangeÚlenr   )Úar   s     úgC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\pandas/tests/groupby/test_categorical.pyÚfz)cartesian_product_for_groupers.<locals>.f   sJ   € Ü�aÔ*¬KÐ8Ô9ØŸ™ˆJÜ×&Ñ&Ü—	‘	œ#˜j›/Ó*°zÈ1Ï9É9ôˆAð ˆó    ©Únames©Ú
fill_value)r   Úfrom_productÚmapÚreindexÚ
sort_index)ÚresultÚargsr   r   r   Úindexs         r   Úcartesian_product_for_groupersr&      s=   € ò
ô ×#Ñ#¤C¨¨4£L¸Ô>€EØ�>‰>˜%¨Jˆ>Ó7×BÑBÓDÐDr   ÚallÚanyÚcountÚcorrwithÚfirstÚidxmaxÚidxminÚlastÚmaxÚmeanÚmedianÚminÚnthÚnuniqueÚprodÚquantileÚsem)ÚsizeÚskewÚstdÚsumÚvarc                 óÊ   — t        | j                  d«      }d„ }| j                  |d¬«      j                  j	                  |«      }|j
                  j                  d   dk(  sJ ‚y )Né   c                 ó€   — | j                  «       | j                  «       | j                  «       | j                  «       dœS )N©r2   r/   r)   r0   r@   )Úgroups    r   Ú	get_statsz2test_apply_use_categorical_name.<locals>.get_statsI   s0   € à—9‘9“;Ø—9‘9“;Ø—[‘[“]Ø—J‘J“Lñ	
ð 	
r   F©Úobservedr   ÚC)r
   rE   ÚgroupbyÚDÚapplyr%   r   )ÚdfÚcatsrB   r#   s       r   Útest_apply_use_categorical_namerK   F   sX   € Ü�—‘�a‹=€Dò
ð �Z‰Z˜ uˆZÓ-×/Ñ/×5Ñ5°iÓ@€FØ�<‰<×Ñ˜aÑ  CÒ'Ð'Ñ'r   c           	      ó¾  — t        g d¢g d¢d¬«      }t        g d¢|dœ«      }t        t        d«      dd¬	«      }t        d
dddt        j
                  gi|¬«      }|j                  dd¬«      j                  «       }t        j                  ||«       t        g d¢g d¢d¬«      }t        g d¢g d¢d¬«      }t        ||g d¢dœ«      }|j                  dd¬«      }	t        g d¢dd¬	«      }
t        dt        g d¢|
¬«      i«      }|	j                  d¬«      }t        j                  ||«       t        ddgddgddggddg¬«      }t        |j                  «      |d<   |j                  dgd¬«      }|j                  d „ «      }t        j                  ||dg   «       |j                  d«      }|j                  d!dg   }t        j                  ||«       d"„ }d#}t        j                   t"        |¬$«      5  |j%                  |«      }d d d «       |j                  d!dg   j'                  «       }t)        ddgd¬%«      |_        | rd&nt,        }|d   j/                  |«      |d<   t        j                  ||«       t        d
g d'¢i«      }t1        j2                  |j4                  g d(¢¬)«      }d*}t        j                   t6        |¬$«      5  |j4                  j                  |d¬«      j                  t        «      }d d d «       t        j8                  ||d
   «       t        j8                  |j4                  j                  |d¬«      j                  d+„ «      |d
   «       d,}t        j                   t6        |¬$«      5  |j                  |d¬«      j                  t        «      }d d d «       |d
g   }t        j                  ||«       |j                  |d¬«      }|j                  d-„ «      }t        j                  ||d
g   «       |j                  d.„ «      }d/}t        j                   t6        |¬$«      5  |j                  t:        «      }d d d «       |j                  t        j<                  j>                  «      }|j                  d0„ «      }t        j                  ||d
g   d¬1«       t        j                  |d
g   d¬1«       t        j                  ||d
g   «       t        j                  ||d
g   «       t        j8                  |j4                  j                  |d¬«      jA                  t        jB                  «      |d
   «       t        j                  |j                  |d¬«      jA                  t        jB                  «      |«       t        d
g d2¢i«      }t1        j2                  |j4                  g d3¢¬)«      }d*}t        j                   t6        |¬$«      5  |j4                  j                  |d¬«      j                  t        «      }d d d «       t        j8                  ||d
   «       t        j8                  |j4                  j                  |d¬«      j                  d4„ «      |d
   «       d,}t        j                   t6        |¬$«      5  |j                  |d¬«      j                  t        «      }d d d «       |d
g   }t        j                  ||«       t        j                  |j                  |d¬«      j                  d5„ «      |d
g   «       t        d
g d6¢i«      }t1        j2                  |j4                  g d7¢t        t        d«      «      ¬8«      }|j                  |d¬«      j%                  tD        «      }t        |jF                  jH                  |jF                  jJ                  ¬9«      }t        g d6¢|¬«      }d
|j*                  _&        t        j8                  ||«       g d:¢}t        jN                  jQ                  d«      jS                  d!dd;¬<«      }t        jT                  ||d¬9«      }t        t        jN                  jQ                  d«      jW                  d=«      «      }|j                  |d¬«      j                  «       }|j                  t	        jX                  |«      d¬«      j                  «       }t        ||jH                  d¬«      }
|j[                  |
«      }t        j                  ||«       |j                  |d¬«      }|j]                  «       }|j^                  ja                  «       }t	        jX                  |«      jc                  |«      }|jc                  |«      }t        |dg d:¢¬>«      }|j                  |dd¬?«      j]                  «       }t        j                  ||«       t        jT                  t	        jd                  d«      jg                  d@«      |d¬9«      }t        |«      }t        jh                  |jk                  d¬A«      j*                  jm                  d!«      |«       t)        g dB¢dz  «      }t        jh                  |jk                  d¬A«      j*                  jm                  d«      |«       y # 1 sw Y   �Œ�xY w# 1 sw Y   �Œ¨xY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒqxY w# 1 sw Y   �ŒºxY w# 1 sw Y   �ŒxY w)CN©	r   r   r   ÚbrN   rN   ÚcrO   rO   ©r   rN   rO   ÚdTr   ©	é   rS   rS   é   rT   rT   é   r>   é   ©r   rN   ÚabcdrN   ©Únamer   r   rS   rT   r>   ©r%   FrC   ©r   r   rN   rN   ©r   rN   Úz©rO   rQ   rO   rQ   ©rO   rQ   Úy©rS   rT   rU   r>   ©ÚAÚBÚvaluesrd   rf   )rU   é   r   ©Únumeric_onlyzJohn P. Doez	Jane DoveÚ	person_idÚperson_name©Úcolumnsc                 ó   — | S ©N© ©Úxs    r   Ú<lambda>ztest_basic.<locals>.<lambda>u   s   € ¡1r   r   c                 ó>   — | j                  d«      j                  d   S )Nrk   r   )Údrop_duplicatesÚilocrq   s    r   r   ztest_basic.<locals>.f|   s   € Ø× Ñ  Ó/×4Ñ4°QÑ7Ð7r   ú7DataFrameGroupBy.apply operated on the grouping columns©Úmatch©rZ   zstring[pyarrow_numpy])rV   é   é   )r   é
   é   é   é(   )Úbinsúusing SeriesGroupBy.sumc                 ó,   — t        j                  | «      S ro   ©r   r;   ©Úxss    r   rs   ztest_basic.<locals>.<lambda>”   ó   € ¼R¿V¹VÀB¼Zr   zusing DataFrameGroupBy.sumc                 ó0   — t        j                  | d¬«      S ©Nr   ©Úaxis©r   r/   r…   s    r   rs   ztest_basic.<locals>.<lambda>ž   s   € ¤b§f¡f¨R°aÕ&8r   c                 ó0   — t        j                  | d¬«      S r‰   rŒ   r…   s    r   rs   ztest_basic.<locals>.<lambda>¡   s   € ¤r§v¡v¨b°qÕ'9r   zusing DataFrameGroupBy.maxc                 ó@   — t         j                  j                  | «      S ro   )r   ÚmaximumÚreducer…   s    r   rs   ztest_basic.<locals>.<lambda>§   s   € ¤r§z¡z×'8Ñ'8¸Ô'<r   )Úcheck_dtype)rV   r{   r|   éûÿÿÿ)iöÿÿÿr   r}   r~   r   r€   c                 ó,   — t        j                  | «      S ro   r„   r…   s    r   rs   ztest_basic.<locals>.<lambda>¼   r‡   r   c                 ó,   — t        j                  | «      S ro   r„   r…   s    r   rs   ztest_basic.<locals>.<lambda>Æ   s   € ¼2¿6¹6À"¼:r   )rS   r   r   r   ©r   rS   rT   rU   r>   )Úlabels©r   ©ÚfooÚbarÚbazÚquxéd   ©r8   ©r�   r>   )r   r   ©ÚsortrD   é   ©Úfuture_stack©r)   r0   r:   r2   z25%z50%z75%r/   )7r   r   r   Úlistr   ÚnanrF   r0   ÚtmÚassert_frame_equalr	   r;   rk   Ú	transformru   rv   Úassert_produces_warningÚDeprecationWarningrH   Úcopyr   r%   ÚobjectÚastypeÚpdÚcutr   ÚFutureWarningÚassert_series_equalr/   r�   r�   Úfilterr'   r   rf   r   r   rZ   ÚrandomÚdefault_rngÚintegersr   Ústandard_normalÚasarrayr!   ÚdescribeÚcodesÚargsortÚtaker   ÚrepeatÚassert_index_equalÚstackÚget_level_values) Úusing_infer_stringrJ   ÚdataÚ	exp_indexÚexpectedr#   Úcat1Úcat2rI   ÚgbÚexp_idxrr   Úgr   ÚmsgÚdtyperO   ÚgbcÚresult2Úresult3Úresult4Úresult5Úlevelsr»   ÚgroupedÚdesc_resultÚidxÚ
ord_labelsÚord_dataÚexp_catsÚexpcÚexps                                    r   Ú
test_basicrÛ   U   s¹  € ÜÚ5Ú'Øô€Dô
 Ò6¸TÑBÓC€Dä ¤ f£°CÀÔF€IÜ˜#  1 a¬¯©Ð0Ð1¸ÔC€HØ�\‰\˜#¨ˆ\Ó.×3Ñ3Ó5€FÜ×Ñ˜& (Ô+äÒ+ºÐQUÔV€DÜÒ+ºÐQUÔV€DÜ	˜ D²LÑAÓ	B€Bð 
�‰�C %ˆÓ	(€BÜš°SÀ$ÔG€GÜ˜(¤Fª9¸GÔ$DÐEÓF€HØ�V‰V ˆVÓ&€FÜ×Ñ˜& (Ô+ô 	Ø
ˆ]Ð	˜a Ð-°°=Ð/AÐBØ˜mÐ,ô	€Aô # 1§=¡=Ó1€A€mÑà	�	‰	�;�-¨%ˆ	Ó0€AØ�[‰[™Ó%€FÜ×Ñ˜& ! ] OÑ"4Ô5à×Ñ˜}Ó-€FØ�v‰v�q˜!�f‰~€HÜ×Ñ˜& (Ô+ò8ð D€CÜ	×	#Ñ	#Ô$6¸cÖ	BØ—‘˜“ˆ÷ 
Cà�v‰v�q˜!�f‰~×"Ñ"Ó$€HÜ˜A˜q˜6¨Ô4€H„NÙ'9Ñ#¼v€EØ& }Ñ5×<Ñ<¸UÓC€Hˆ]ÑÜ×Ñ˜& (Ô+ô 
�CšÐ%Ó	&€BÜ
�‰ˆr�t‰tÒ-Ô.€Aà
#€CÜ	×	#Ñ	#¤M¸Ö	=à—‘—‘˜a¨%�Ó0×:Ñ:¼3Ó?ˆ÷ 
>ô ×Ñ˜6 2 c¡7Ô+ä×ÑØ
�‰�‰�Q ˆÓ'×1Ñ1Ñ2GÓHÈ"ÈSÉ'ôð '€CÜ	×	#Ñ	#¤M¸Ö	=à—‘˜A¨�Ó.×8Ñ8¼Ó=ˆ÷ 
>ð �3�%‰y€HÜ×Ñ˜& (Ô+à
�*‰*�Q ˆ*Ó
'€CØ�]‰]Ñ8Ó9€FÜ×Ñ˜& " c U¡)Ô,à�m‰mÑ9Ó:€GØ
&€CÜ	×	#Ñ	#¤M¸Ö	=à—-‘-¤Ó$ˆ÷ 
>ð �m‰mœBŸJ™J×-Ñ-Ó.€GØ�m‰mÑ<Ó=€GÜ×Ñ˜' 2 s e¡9¸%Õ@Ü×Ñ˜' 2 s e¡9¸%Õ@Ü×Ñ˜' 2 s e¡9Ô-Ü×Ñ˜' 2 s e¡9Ô-ô ×Ñ˜2Ÿ4™4Ÿ<™<¨°E˜<Ó:×AÑAÄ"Ç&Á&ÓIÈ2ÈcÉ7ÔSÜ×Ñ˜"Ÿ*™* Q°˜*Ó7×>Ñ>¼r¿v¹vÓFÈÔKô 
�CšÐ)Ó	*€BÜ
�‰ˆr�t‰tÒ2Ô3€Aà
#€CÜ	×	#Ñ	#¤M¸Ö	=à—‘—‘˜a¨%�Ó0×:Ñ:¼3Ó?ˆ÷ 
>ô ×Ñ˜6 2 c¡7Ô+ä×ÑØ
�‰�‰�Q ˆÓ'×1Ñ1Ñ2GÓHÈ"ÈSÉ'ôð '€CÜ	×	#Ñ	#¤M¸Ö	=à—‘˜A¨�Ó.×8Ñ8¼Ó=ˆ÷ 
>ð �3�%‰y€HÜ×Ñ˜& (Ô+ä×ÑØ
�
‰
�1˜uˆ
Ó%×/Ñ/Ñ0EÓFÈÈCÈ5É	ôô
 
�CšÐ&Ó	'€BÜ
�‰ˆr�t‰t’_¬[¼¸f»Ó-FÔG€AØ�Z‰Z˜ EˆZÓ*×0Ñ0´Ó5€Fä  §¡×!4Ñ!4¸a¿h¹h×>NÑ>NÔO€IÜ’l¨)Ô4€HØ€H‡N�NÔÜ×Ñ˜6 8Ô,ò *€FÜ�I‰I×!Ñ! !Ó$×-Ñ-¨a°¸Ð-Ó=€Eä×!Ñ! %¨¸Ô>€Dä”R—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸hÓGÓH€Dà�\‰\˜$¨ˆ\Ó/×4Ñ4Ó6€Fà�|‰|œBŸJ™J tÓ,°uˆ|Ó=×BÑBÓD€HÜ˜v°$·/±/È4ÔP€GØ×Ñ Ó(€Hä×Ñ˜& (Ô+à�l‰l˜4¨%ˆlÓ0€GØ×"Ñ"Ó$€Kà
�*‰*×
Ñ
Ó
€CÜ—‘˜DÓ!×&Ñ& sÓ+€JØ�y‰y˜‹~€HäØ˜DÒ-Iô€Hð ×Ñ ¨u¸uÐÓE×NÑNÓP€HÜ×Ñ˜+ xÔ0ô ×!Ñ!¤"§)¡)¨A£,×"5Ñ"5°aÓ"8¸&È$ÔO€DÜ
˜4Ó
 €CÜ×ÑØ	×	Ñ	¨Ð	Ó	-×	3Ñ	3×	DÑ	DÀQÓ	GÈ#ôô ÒKÈaÑOÓ
P€CÜ×ÑØ	×	Ñ	¨Ð	Ó	-×	3Ñ	3×	DÑ	DÀQÓ	GÈ#õ÷o 
CÑ	Bú÷ 
>Ñ	=ú÷ 
>Ñ	=ú÷ 
>Ñ	=ú÷& 
>Ñ	=ú÷ 
>Ñ	=úsH   Ç4jË1jÍ:'j+Ð3j8×1kÚ'kêjêj(ê+j5ê8këkëkc           
      ó@  — t        t        j                  ddd«      t        t	        ddg«      t        d«      gdgdz  dgdz  z   t        d«      gd	d
g¬«      ¬«      }|j                  d	g| ¬«      }t        t        j                  ddd«      t        t	        ddg«      t        d«      gdgdz  t        d«      gd	d
g¬«      ¬«      }d}t        j                  t        |¬«      5  |j                  d«      }d d d «       t        j                  |«       y # 1 sw Y   Œ xY w)NrT   é   r   rN   r}   r   rV   rS   ÚIndex1ÚIndex2)rÒ   r»   r   ©rÃ   r%   ©ÚlevelrD   é   z&you will need to pass a length-1 tuplerx   )r   r   r   r   r   ÚrangerF   r¨   r«   r²   Ú	get_groupr©   )rD   rI   rÊ   rÅ   rË   r#   s         r   Útest_level_get_groupræ   ü   s  € ä	Ü�Y‰Y�q˜"˜aÓ ÜÜ$ c¨3 ZÓ0´%¸³)Ð<Ø�3˜‘7˜a˜S 1™WÑ$¤e¨B£iÐ0Ø˜XÐ&ô
ô
€Bð 	�
‰
˜(˜¨hˆ
Ó7€Aô Ü�Y‰Y�q˜"˜aÓ ÜÜ$ c¨3 ZÓ0´%¸³(Ð;Ø�3˜‘7œE !›HÐ%Ø˜XÐ&ô
ô€Hð 3€CÜ	×	#Ñ	#¤M¸Ö	=à—‘˜SÓ!ˆ÷ 
>ô ×Ñ˜& (Õ+÷	 
>Ð	=ús   Ã#DÄDc                  óØ  — t        dgdz  dgdz  z   g d¢dz  t        j                  d«      dœ«      } t        | j                  g d¢d	¬
«      | _        | j                  d«      d   j                  «       }|j                  dd	¬«      }g d¢}t        |g d¢d	¬
«      }g d¢t        |«      g}t        j                  |ddg¬«      }t        dgdz  |d¬«      }t        j                  ||«       y )Nrd   é   re   )ÚhighÚmedÚlowr>   g      (@)rA   ÚdoseÚoutcomes)rë   rê   ré   Tr   rA   rì   r   )râ   Úsort_remaining)rë   rê   ré   rë   rê   ré   )rd   rd   rd   re   re   re   r   rT   r)   ©r%   rZ   )r   r   r   r   rì   rF   Úvalue_countsr"   r   r   Úfrom_arraysr	   r¨   r³   ©rI   r#   r%   rÅ   s       r   Ú(test_sorting_with_different_categoricalsró     sß   € ä	à�U˜Q‘Y # ¨¡Ñ*Ú*¨QÑ.ÜŸ	™	 $›ñ	
ó
€Bô ˜"Ÿ'™'Ò.DÈdÔS€B„Gà�Z‰Z˜Ó  Ñ(×5Ñ5Ó7€FØ×Ñ Q°tÐÓ<€FÚ8€EÜ˜Ò*@È$ÔO€EÚ+Ô-=¸eÓ-DÐE€EÜ×"Ñ" 5°¸&Ð0AÔB€EÜ�q�c˜A‘g U°Ô9€HÜ×Ñ˜6 8Õ,r   r   TFc                 ó¬  — t        t        d«      | ¬«      }t        t        d«      ddg| ¬«      }t        j                  t	        |«      «      }t        |||dœ«      }|j                  dd	gd
¬«      }t        j                  ||gdd	g¬«      }t        g d¢|dg¬«      }|j                  d„ «      }t        j                  ||«       |j                  «       }t        j                  ||«       d}	t        j                  t        |	¬«      5  |j                  t        j                  «      }d d d «       t        j                  ||«       t        j                  ||gdd	g¬«      }t!        d|¬«      }d}	t        j                  t"        |	¬«      5  |j                  d„ «      }d d d «       t        j$                  ||«       y # 1 sw Y   Œ–xY w# 1 sw Y   Œ,xY w)NÚabcr—   Úaaar   rN   r   )ÚmissingÚdenserf   r÷   rø   TrC   r   )r   rS   ç       @rf   )r%   rm   c                 ó0   — t        j                  | d¬«      S r‰   )r   r0   rq   s    r   rs   ztest_apply.<locals>.<lambda>@  s   € ¤R§W¡W¨Q°QÕ%7r   zusing DataFrameGroupBy.meanrx   rS   r[   rw   c                  ó   — y©NrS   rp   rq   s    r   rs   ztest_apply.<locals>.<lambda>Q  s   € ¨r   )r   r¦   r   r   r   r   rF   r   rñ   rH   r¨   r©   r0   r«   r²   Úaggr	   r¬   r³   )
r   rø   r÷   rf   rI   rÓ   rÕ   rÅ   r#   rË   s
             r   Ú
test_applyrþ   0  sƒ  € ô œ˜U›¨WÔ5€Eô œ$˜u›+°3¸°*ÀgÔN€GÜ�Y‰Y”s˜5“zÓ"€FÜ	˜w°À&ÑIÓ	J€BØ�j‰j˜) WÐ-¸ˆjÓ=€Gô ×
 Ñ
  '¨5Ð!1¸)ÀWÐ9MÔ
N€CÜš¨C¸(¸ÔD€Hà�]‰]Ñ7Ó8€FÜ×Ñ˜& (Ô+à�\‰\‹^€FÜ×Ñ˜& (Ô+à
'€CÜ	×	#Ñ	#¤M¸Ö	=à—‘œRŸW™WÓ%ˆ÷ 
>ô ×Ñ˜& (Ô+ô ×
 Ñ
  '¨5Ð!1¸)ÀWÐ9MÔ
N€CÜ�a˜sÔ#€HØ
C€CÜ	×	#Ñ	#Ô$6¸cÖ	BØ—‘™{Ó+ˆ÷ 
Cä×Ñ˜6 8Õ,÷ 
>Ð	=ú÷ 
CÐ	Bús   Ä	 F>ÆG
Æ>GÇ
Gc                 ó¶  — t        g d¢g d¢d¬«      }t        g d¢g d¢d¬«      }t        ||g d¢dœ«      }d	d
gdz  |d<   |j                  g d¢| ¬«      }t        j                  ||d	d
gdz  gg d¢¬«      }t        dt        g d¢|¬«      i«      j                  «       }|j                  «       }| st        |||d	d
ggt        d«      d¬«      }t        j                  ||«       |j                  ddg| ¬«      }t        j                  ||gddg¬«      }t        g d¢g d¢dœ|¬«      }|j                  «       }| st        |||gt        d«      d¬«      }t        j                  ||«       t        g d¢g d¢d¬«      g d¢g d¢dœ}t        |«      }|j                  d| ¬«      }	|	j                  «       }t        t        d «      dt        d!«      d¬"«      }t        d#d#gd$d%gd&œ|¬«      }| s2t        t        d!«      dt        d!«      d¬"«      }
|j                  |
«      }t        j                  ||«       |j                  dd'g| ¬«      }|j                  d(«      }t        g d)¢t        g d¢g d¢d¬«      g d*¢d+œ«      j!                  dd'g«      }| s't        ||j"                  j$                  d,dggdd'g«      }t        j                  ||«       d-D ]P  }|\  }}|j'                  |«      }||j"                  |k(  |j(                  |k(  z     }t        j                  ||«       ŒR g d.¢g d/¢g d0¢d1œ}t        |«      }t+        j,                  |d	   t/        j0                  dd2d3«      «      }||d4<   |j                  d4d5gd6| ¬7«      }|j                  d(«      }|j                  d4d5gd| ¬7«      }|j                  d(«      j3                  «       }t        j                  ||«       y )8Nr\   r]   Tr   r_   r`   rb   rc   r™   rš   rT   rE   )rd   re   rE   rC   r   rf   r[   ÚABCr   r   rd   re   )r™   rš   r™   rš   )rf   rE   ÚAB)r   rN   r   rN   ©r   rN   rO   ©rS   rS   rT   rT   ©r}   r~   r   r€   )ÚcatÚintsÚvalr  Úabrõ   )rZ   r   r   g      ø?ç      4@r   )r  r  r  r0   )ç      $@g      >@r	  g      D@©rS   rT   rS   rT   )r  r  r  rS   ))r   rS   )rN   rT   )rN   rS   )r   rT   )r}   r¢   r>   r¢   r>   rS   rS   ©r}   r~   r   r€   é2   é<   éF   )rQ   rO   Úer   r   rQ   rO   ©r™   rš   r›   r}   rU   rä   r›   F©Úas_indexrD   )r   r   rF   r   rñ   r	   r"   r;   r&   r¦   r¨   r©   r0   r   r!   rý   Ú	set_indexr  rf   rå   r  r°   r±   r   ÚlinspaceÚreset_index)rD   rÆ   rÇ   rI   rÈ   rÄ   rÅ   r#   rQ   Úgroups_single_keyr%   Úgroups_double_keyÚkeyrO   Úir  ÚgroupsÚgroups2s                     r   Útest_observedr  U  sÊ  € ô Ò+ºÐQUÔV€DÜÒ+ºÐQUÔV€DÜ	˜ D²LÑAÓ	B€BØ�eˆn˜qÑ €B€s�Gð 
�‰’O¨hˆÓ	7€BÜ×&Ñ&Ø	ˆt�e˜U�^ aÑ'Ð(²ô€Iô ˜(¤Fª<¸yÔ$IÐJÓK×VÑVÓX€HØ�V‰V‹X€FÙÜ1Ø�t˜T E¨5 >Ð2´D¸³KÈAô
ˆô ×Ñ˜& (Ô+à	�‰�S˜#�J¨ˆÓ	2€BÜ×&Ñ&¨¨d |¸CÀ¸:ÔF€IÜÚÒ&BÑCÈ9ô€Hð �V‰V‹X€FÙÜ1Ø�t˜T�l¤D¨£J¸1ô
ˆô ×Ñ˜& (Ô+ô Ú ª_Àdô
ò Úñ	€Aô 
�1‹€Bð Ÿ
™
 5°8˜
Ó<ÐØ×#Ñ#Ó%€Fä ÜˆT‹
˜¬4°«;Àô€Iô  3¨ *°d¸B°ZÑ@È	ÔR€HÙÜ Ü�‹K˜e´°U³ÀTô
ˆð ×#Ñ# EÓ*ˆä×Ñ˜& (Ô+ð Ÿ
™
 E¨6 ?¸X˜
ÓFÐØ×"Ñ" 6Ó*€FÜâ+ÜÚ$²È$ôò !ñ	
ó÷ �i�˜�Ó ð ñ Ü1Ø�r—v‘v—}‘} q¨! fÐ-°°v¨ó
ˆô ×Ñ˜& (Ô+ó 8ˆØ‰ˆˆ1Ø"×,Ñ,¨SÓ1ˆØ�r—v‘v ‘{ r§w¡w°!¡|Ñ4Ñ5ˆÜ
×Ñ˜f hÕ/ð	 8ò &Ú+Ú2ñ	€Aô
 
�1‹€BÜ
�&‰&��E‘œBŸK™K¨¨2¨qÓ1Ó
2€CØ€B€w�KØ�Z‰Z˜ %Ð(°5À8ˆZÓL€FØ�Z‰Z˜Ó€Fà�j‰j˜' 5Ð)°DÀ8ˆjÓL€GØ�{‰{˜6Ó"×.Ñ.Ó0€HÜ×Ñ˜& (Õ+r   c                 óŽ  — g d¢g d¢g d¢dœ}t        |«      }t        j                  |d   g d¢«      }d|_        |j	                  |dg| ¬	«      }t        j                  |g d¢gddg¬
«      }t        g d¢g d¢dœ|¬«      }| st        ||j                  g d¢gddg«      }|j                  d«      }t        j                  ||«       y )N)rU   rU   r>   rV   rb   )r}   r�   éÈ   é"   )ÚC1ÚC2ÚC3r!  )rS   rT   rU   rè   r  r"  rC   r   )ç      @r$  g      @g      @)r
  g      Y@g      i@g      A@)r!  r#  r[   r0   )r   r°   r±   rZ   rF   r   rñ   r&   rf   rý   r¨   r©   )rD   rQ   rI   rf   r  rÕ   rÅ   r#   s           r   Útest_observed_codes_remapr%  Ã  s¿   € Ú¢<Ò7IÑJ€AÜ	�1‹€BÜ�V‰V�B�t‘HšlÓ+€FØ€F„KØŸ
™
 F¨D >¸H˜
ÓEÐä
×
 Ñ
  &ª,Ð!7ÀÀt¸}Ô
M€CÜÚ#Ò+EÑFÈcô€Hñ Ü1Ø�v—}‘}¢lÐ3°e¸T°]ó
ˆð ×"Ñ" 6Ó*€FÜ×Ñ˜& (Õ+r   c            	      ó‚  — t        t        j                  j                  d«      j	                  ddd¬«      t        j                  j                  d«      j	                  ddd¬«      t        j                  j                  d«      j	                  ddd¬«      ddœ«      } | j
                  j                  t        «      j                  d«      | d	<   | j                  g d
¢d¬«      }|j                  «       }|j                  j                  d   j                  «       | j
                  j                  «       k(  sJ ‚|j                  j                  d   j                  «       | j                  j                  «       k(  sJ ‚|j                  j                  d   j                  «       | j                  j                  «       k(  sJ ‚y )NrT   r   éÿ   i0u  rž   é'  )r  Úint_idÚother_idr™   Úcategoryr  )r  r)  r*  TrC   rS   )r   r   rµ   r¶   r·   r  r¯   ÚstrrF   r)   r%   rÒ   r4   r)  r*  )rI   rÓ   r#   s      r   Útest_observed_perfr-  ×  sZ  € ô 
ä—9‘9×(Ñ(¨Ó+×4Ñ4°Q¸À%Ð4ÓHÜ—i‘i×+Ñ+¨AÓ.×7Ñ7¸¸3ÀUÐ7ÓKÜŸ	™	×-Ñ-¨aÓ0×9Ñ9¸!¸UÈÐ9ÓOØñ		
ó
€Bð —‘—‘œcÓ"×)Ñ)¨*Ó5€B€u�Ià�j‰jÒ6ÀˆjÓF€GØ�]‰]‹_€FØ�<‰<×Ñ˜qÑ!×)Ñ)Ó+¨r¯v©v¯~©~Ó/?Ò?Ð?Ð?Ø�<‰<×Ñ˜qÑ!×)Ñ)Ó+¨r¯y©y×/@Ñ/@Ó/BÒBÐBÐBØ�<‰<×Ñ˜qÑ!×)Ñ)Ó+¨r¯{©{×/BÑ/BÓ/DÒDÐDÑDr   c                 óF  — t        g d¢g d¢¬«      }t        |g d¢dœ«      }|j                  d| ¬«      }|j                  }| rt	        dd	gd
¬«      t	        dgd
¬«      dœ}n*t	        dd	gd
¬«      t	        g d
¬«      t	        dgd
¬«      dœ}t        j                  ||«       y )N)r   rO   r   r  ©r   ©rS   rT   rU   ©r  Úvalsr  rC   r   rT   Úint64©rÌ   rS   )r   rO   )r   r   rF   r  r   r¨   Úassert_dict_equal)rD   r  rI   rÊ   r#   rÅ   s         r   Útest_observed_groupsr6  ì  sš   € ô ’o²/Ô
B€CÜ	˜3ª	Ñ2Ó	3€BØ
�
‰
�5 8ˆ
Ó,€Aà�X‰X€FÙÜ  1˜v¨WÔ5¼EÀ1À#ÈWÔ<UÑV‰ô ˜˜1�v WÔ-Ü�r Ô)Ü˜�s 'Ô*ñ
ˆô ×Ñ˜ Õ*r   z,keys, expected_values, expected_index_levelsr   )r{   é	   r   r0  rz   rN   )	rg   r¢   r   r   r   r7  r   r   r   ©r>   rV   rè   Úa2)	r{   r   r   r   r7  r   r   r   r   Útest_seriesc                 ó¶  — t        t        g d¢g d¢¬«      t        g d¢g d¢¬«      g d¢g d¢dœ«      j                  ddg«      }d	| vr|j                  d	¬
«      }|j	                  | d¬«      }|r|d   }|j                  «       }t        | «      dk(  r|}ng d¢dg d¢z  g}t        ||| ¬«      }t        d|i|¬«      }	|r|	d   }	t        j                  ||	«       y )N©rS   rS   rT   r0  r/  r8  )rg   r¢   r7  )r   r9  rN   rO   r   r9  rN   rl   FrC   rO   rS   ©	r   r   r   rS   rS   rS   rT   rT   rT   rU   ©r   rS   rT   )r»   r   r[   )
r   r   r  ÚdroprF   r;   r   r   r¨   Úassert_equal)
ÚkeysÚexpected_valuesÚexpected_index_levelsr:  rI   rÈ   r#   r%   r»   rÅ   s
             r   Útest_unobserved_in_indexrD    sà   € ô, 
äšY²9Ô=Üši²IÔ>ÚÚñ		
ó
÷ �i��d�Óð ð �$�à�W‰W˜SˆWÓ!ˆà	�‰�D 5ˆÓ	)€BÙØ�‰WˆØ�V‰V‹X€Fä
ˆ4ƒy�A‚~Ø%‰â,¨a²)©mÐ<ˆÜØ!ØØô
ˆô
 ˜#˜Ð/°uÔ=€HÙØ˜C‘=ˆÜ‡O�O�F˜HÕ%r   c                 óD  — t        t        dt        j                  dgg d¢¬«      g d¢dœ«      }|j	                  d| ¬«      }|j
                  }| rdt        dd	gd
¬«      i}n)t        dd	gd
¬«      t        g d
¬«      t        g d
¬«      dœ}t        j                  ||«       y )Nr   )r   rN   rQ   r/  r0  r1  r  rC   r   rT   r3  r4  )	r   r   r   r§   rF   r  r   r¨   r5  )rD   rI   rÊ   r#   rÅ   s        r   Útest_observed_groups_with_nanrF  7  s›   € ä	ä ¤R§V¡V¨SÐ1ºoÔNÚñ	
ó
€Bð 	�
‰
�5 8ˆ
Ó,€AØ�X‰X€FÙØœ  1˜v¨WÔ5Ð6‰ô ˜˜1�v WÔ-Ü�r Ô)Ü�r Ô)ñ
ˆô
 ×Ñ˜ Õ*r   c                  ó2  — t        dt        j                  t        j                  gg d¢¬«      } t        g d¢«      }t	        | |dœ«      }|j                  dd¬«      d	   j                  d
«      }|d	   j                  d
g   }t        j                  ||«       y )Nr   r  r/  r0  )r  Úserr  FrC   rH  r   )
r   r   r§   r	   r   rF   r3   rv   r¨   r³   )r  rH  rI   r#   rÅ   s        r   Útest_observed_nthrI  L  s|   € ä
�sœBŸF™F¤B§F¡FÐ+ºÔ
H€CÜ
’Ó
€CÜ	˜3 sÑ+Ó	,€Bà�Z‰Z˜¨ˆZÓ.¨uÑ5×9Ñ9¸!Ó<€FØ�%‰y�~‰~˜q˜cÑ"€HÜ×Ñ˜6 8Õ,r   c                 óÚ  — t        t        j                  dt        j                  dgg d¢¬«      }t        g d¢«      }t	        ||dœ«      }|j                  d| ¬«      j                  «       j                  «       }| rt	        t        dgg d¢¬«      dgdœ«      }n<t	        t        g d¢g d¢¬«      dt        j                  t        j                  gdœ«      }t        j                  ||«       y )	Nr   r  r/  rb   )Ús1Ús2rK  rC   rT   )
r   r   r§   r	   r   rF   r+   r  r¨   r©   )rD   rK  rL  rI   r#   rÅ   s         r   Ú#test_dataframe_categorical_with_nanrM  W  s»   € ä	”b—f‘f˜c¤2§6¡6¨3Ð/ºOÔ	L€BÜ	’Ó	€BÜ	˜" BÑ'Ó	(€BØ�Z‰Z˜ xˆZÓ0×6Ñ6Ó8×DÑDÓF€FÙÜÜ ˜u²ÔAÈ!ÈÑMó
‰ô ä!¢/ºoÔNØœ"Ÿ&™&¤"§&¡&Ð)ñó
ˆô ×Ñ˜& (Õ+r   rD   r¡   c                 ó†  — t        g d¢g d¢| ¬«      }t        g d¢«      }t        ||dœ«      }|j                  d||¬«      d   j	                  d«      }t        |j
                  j                  d	¬
«      }t        |j                  «      }|sd||j                  «       <   t        ||k(  «      sd| › d|› d|› d|› �}J |«       ‚y )N)rQ   r   rN   r   rQ   rN   )r   rN   r÷   rQ   r   )Úlabelr  rO  )rD   r¡   r  r+   r®   r4  r÷   zDLabels and aggregation results not consistently sorted
for (ordered=z, observed=z, sort=z
)
Result:
)	r   r	   r   rF   Ú	aggregater%   ÚarrayÚisnar'   )	r   rD   r¡   rO  r  rI   r#   ÚaggrrË   s	            r   Ú0test_dataframe_categorical_ordered_observed_sortrT  k  sÛ   € ô Ú&Ú-Øô€Eô
 Ò/Ó
0€CÜ	˜U¨3Ñ/Ó	0€Bð �Z‰Z˜¨(¸ˆZÓ>¸uÑE×OÑOÐPWÓX€Fô �6—<‘<×%Ñ%¨XÔ6€EÜ�&—,‘,Ó€DÙØ%ˆˆT�Y‰Y‹[ÑÜˆu˜‰}ÔðØ#˜9 K°¨z¸ÀÀð GØ�xð!ð 	ð
 	�cÓˆuð r   c                  ó.  — t        j                  dd¬«      } t        j                  j	                  d«      j                  ddd¬«      }t        j                  || d¬	«      }t        t        j                  j	                  d«      j                  d
«      «      }|j                  |d¬«      j                  «       }|j                  t        j                  |«      d¬«      j                  «       }|j                  | «      }t        |j                  |j                  d¬«      |_        t!        j"                  ||«       |j                  |d¬«      }|j%                  «       }|j&                  j)                  «       }|j+                  |«      }	|j+                  |«      }
|
j                  |	d¬«      j%                  «       }t!        j"                  ||«       t!        j,                  |j                  |j                  «       t!        j,                  |j                  j/                  d«      |j                  j/                  d«      «       t        j                  t        j0                  d«      j3                  d«      | d¬	«      }t        |«      }t!        j,                  |j5                  d¬«      j                  j/                  d«      |«       t7        g d¢dz  «      }t!        j,                  |j5                  d¬«      j                  j/                  d«      |«       y )Nz
2014-01-01r>   )ÚperiodsrT   r   r�   rž   Tr—   rŸ   FrC   r   r¢   r£   r¥   rS   )r°   Ú
date_ranger   rµ   r¶   r·   r   r   r   r¸   rF   r0   r¹   r!   r   r%   r¨   r©   rº   r»   r¼   r½   r¿   rÁ   r   r¾   rÀ   r   )rÒ   r»   rJ   rÃ   r#   rÅ   rÓ   rÔ   rÕ   rÖ   r×   rÙ   rÚ   s                r   Útest_datetimerX  Ž  s\  € ä�]‰]˜<°Ô3€FÜ�I‰I×!Ñ! !Ó$×-Ñ-¨a°¸Ð-Ó=€Eä×!Ñ! %¨¸Ô>€Dä”R—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸hÓGÓH€DØ�\‰\˜$¨ˆ\Ó/×4Ñ4Ó6€Fà�|‰|œBŸJ™J tÓ,°uˆ|Ó=×BÑBÓD€HØ×Ñ Ó'€HÜ%Ø�‰ 8§>¡>¸4ô€H„Nô ×Ñ˜& (Ô+à�l‰l˜4¨%ˆlÓ0€GØ×"Ñ"Ó$€Kà
�*‰*×
Ñ
Ó
€CØ—‘˜3“€JØ�y‰y˜‹~€HØ×Ñ 
°UÐÓ;×DÑDÓF€HÜ×Ñ˜+ xÔ0Ü×Ñ˜+×+Ñ+¨X¯^©^Ô<Ü×ÑØ×Ñ×*Ñ*¨1Ó-¨x¯~©~×/NÑ/NÈqÓ/Qôô
 ×!Ñ!¤"§)¡)¨A£,×"5Ñ"5°aÓ"8¸&È$ÔO€DÜ
˜4Ó
 €CÜ×ÑØ	×	Ñ	¨Ð	Ó	-×	3Ñ	3×	DÑ	DÀQÓ	GÈ#ôô ÒKÈaÑOÓ
P€CÜ×ÑØ	×	Ñ	¨Ð	Ó	-×	3Ñ	3×	DÑ	DÀQÓ	GÈ#õr   c                  óÄ  — t         j                  j                  d«      } g d¢}| j                  ddd¬«      }t	        j
                  ||d¬«      }t        t        j                  t        j                  d«      d«      j                  d	d«      t        d
«      ¬«      }||d<   |j                  d«      j                  dd¬«      j                  «       }|t        d
«         j                  |j                  d¬«      j                  «       }t        t	        j
                  g d¢|d¬«      d¬«      |_        t#        j$                  ||«       |j                  dd¬«      j                  «       }|t        d
«         j                  |j                  d¬«      j                  «       }t        t	        j
                  g d¢|d¬«      d¬«      |_        t#        j$                  ||«       y )NrT   r˜   r   r>   r~   rž   Tr—   éÿÿÿÿrX   rl   rJ   Frá   rC   ©r   rS   rT   rU   rz   )r   rµ   r¶   r·   r   r   r   r¾   r   Úreshaper¦   r  rF   r;   r»   r   r%   r¨   r©   )ÚsrÒ   r»   rJ   rI   r#   rÅ   s          r   Útest_categorical_indexr^  ¹  s|  € Ü
�	‰	×Ñ˜aÓ €AÚ)€FØ�J‰J�q˜! "ˆJÓ%€EÜ×!Ñ! %¨¸Ô>€DÜ	”2—9‘9œRŸY™Y r›]¨AÓ.×6Ñ6°r¸1Ó=ÄtÈFÃ|Ô	T€BØ€B€v�Jð �\‰\˜&Ó!×)Ñ)°¸EÐ)ÓB×FÑFÓH€FØ”$�v“,Ñ×'Ñ'¨¯
©
¸UÐ'ÓC×GÑGÓI€HÜ%Ü×Ñš|¨V¸TÔBÈô€H„Nô ×Ñ˜& (Ô+ð �Z‰Z˜¨ˆZÓ/×3Ñ3Ó5€FØ”$�v“,Ñ×'Ñ'¨¯
©
¸UÐ'ÓC×GÑGÓI€HÜ%Ü×Ñš|¨V¸TÔBÈô€H„Nô ×Ñ˜& (Õ+r   c                  óÊ  — t        g d¢g d¢d¬«      } t        t        j                  j	                  d«      j                  d«      | ¬«      }|j                  g d¢d	z  «      j                  «       }t        j                  |j                  d¬
«      j                  | «       t        j                  |j                  d¬
«      j                  j                  | j                  «       y )N)rœ   r™   r›   rš   r˜   Tr   rT   )r~   r>   rl   rb   rV   r£   )r   r   r   rµ   r¶   r¸   rF   rº   r¨   r¿   rÀ   rm   Úassert_categorical_equalrf   )rJ   rI   r#   s      r   Ú!test_describe_categorical_columnsra  Ò  s¨   € äÚ$Ú/Øô€Dô
 
”2—9‘9×(Ñ(¨Ó+×;Ñ;¸GÓDÈdÔ	S€BØ�Z‰Zš qÑ(Ó)×2Ñ2Ó4€Fä×Ñ˜&Ÿ,™,°D˜,Ó9×AÑAÀ4ÔHÜ×ÑØ�‰ $ˆÓ'×/Ñ/×6Ñ6¸¿¹õr   c                  óN  — t        t        d«      ddgdz  t        d«      dz  dœ«      } | d   j                  d	«      | d<   | j	                  d
dgd¬«      d   j                  «       j                  «       }|j                  «       }t        ddgdd¬«      }t        j                  |j                  |«       t        j                  |j                  j                  |j                  «       |d   |d   z   }t        ddgt        ddgd
¬«      ¬«      }t        j                   ||«       y )Nr}   rd   re   rV   ÚXYXXYrT   )r   ÚmediumÚartistrd  r+  re  FrC   r   ©r   rZ   rè   r>   ÚXÚYrz   r[   )r   rä   r¦   r¯   rF   r)   Úunstackrº   r   r¨   r¿   rm   r`  rf   r	   r   r³   )rI   Úgcatr#   Úexp_columnsrÅ   s        r   Útest_unstack_categoricalrl  â  s  € ä	Ü�B‹i C¨ :°¡>¼TÀ'»]ÈQÑ=NÑOó
€Bð �h‘<×&Ñ& zÓ2€B€x�Là�:‰:�x Ð*°Uˆ:Ó;¸CÑ@×FÑFÓH×PÑPÓR€DØ�]‰]‹_€Fä" C¨ :°uÀ8ÔL€KÜ×Ñ˜&Ÿ.™.¨+Ô6Ü×Ñ §¡× 5Ñ 5°{×7IÑ7IÔJà�#‰Y˜˜c™Ñ"€FÜ�q˜!�f¤E¨3°¨*¸8Ô$DÔE€HÜ×Ñ˜6 8Õ,r   c                  ó`  — t        t        j                  t        j                  ddddddddg
«      } t        j                  | j                  «       j                  d«      }t        j                  t        d¬«      5  | j                  |«      j                  «        d d d «       y # 1 sw Y   y xY w)NrS   rT   rU   r>   z$Grouper and axis must be same lengthrx   )r	   r   r§   r°   r±   Údropnarf   ÚpytestÚraisesÚ
ValueErrorrF   r0   )Úseriesr�   s     r   Útest_bins_unequal_lenrs  õ  sx   € ä”R—V‘VœRŸV™V Q¨¨1¨a°°A°q¸!Ð<Ó=€FÜ�6‰6�&—-‘-“/×(Ñ(¨!Ó,€Dô 
�‰”zÐ)OÖ	PØ�‰�tÓ×!Ñ!Ô#÷ 
Q×	PÑ	Pús   Á; B$Â$B-rr  rÃ   r>   rU   rS   rT   ©rd   re   c                 ó   — | dz   S rü   rp   )rÕ   s    r   rs   rs     s   € ¨S°1ªWr   rg   c                 óð   — | j                  t        t        d«      d¬«      d¬«      }|j                  t        «      }t        |t	        |j                  «       «      ¬«      }t        j                  ||«       y )NÚABBAr+  r4  FrC   r[   )rF   r	   r¦   rP  r   rA  r¨   r³   )rr  rÃ   rF   r#   rÅ   s        r   Útest_categorical_seriesrx  ÿ  sY   € ð  �n‰nœV¤D¨£L¸
ÔCÈeˆnÓT€GØ×ÑœtÓ$€FÜ�dÔ"2°4·9±9³;Ó"?Ô@€HÜ×Ñ˜6 8Õ,r   c                  óÞ  ‡— t        t        g d¢g d¢«      g d¢g d¢dœ«      Š‰j                  ddgdd	¬
«      j                  «       } t        t        ddg‰j                  j                  j
                  ¬«      ddgddgdœg d¢¬«      }t        j                  | |«       ˆfd„}d}t        j                  t        |¬«      5  ‰j                  d|gdd	¬
«      j                  «       } d d d «       t        t        ddg‰j                  j                  j
                  ¬«      ddgddgdœg d¢¬«      }t        j                  | |«       t        g d¢d¬«      }d}t        j                  t        |¬«      5  ‰j                  d|gdd	¬
«      j                  «       } d d d «       t        j                  | |«       ddg}t        t        ddg‰j                  j                  j
                  ¬«      ddgddgdœg d¢¬«      }dD ]U  }t        t        d«      |¬«      ‰_        ‰j                  |dd	¬
«      j                  «       } t        j                  | |«       ŒW y # 1 sw Y   �ŒrxY w# 1 sw Y   ŒÍxY w)N©rS   rT   rT   r0  )r}   é   r{  )ée   éf   ég   )r  rd   re   r  rd   FTr  rS   rT   r/  r}   r{  r|  éÍ   rl   c                 ó&   •— ‰j                   | df   S )Nrd   )Úloc)ÚrrI   s    €r   rs   ztest_as_index.<locals>.<lambda>*  s   ø€ �"—&‘&˜˜C˜’.r   z*A grouping .* was excluded from the resultrx   rÝ   )r   rN   rN   rz   )Nrg  re   rõ   )r   r   rF   r;   r  r   r¨   r©   r«   r²   r	   r   r¦   r%   )r#   rÅ   r   rË   r]  Úgroup_columnsrZ   rI   s          @r   Útest_as_indexr„    s&  ø€ ä	äšyª)Ó4ÚÚ ñ	
ó
€Bð �Z‰Z˜ ˜¨u¸tˆZÓD×HÑHÓJ€FÜä  1˜v°"·&±&·*±*×2GÑ2GÔHØ�b�Ø�s�ñ	
ò
 "ô€Hô ×Ñ˜& (Ô+ó 	!€AØ
6€CÜ	×	#Ñ	#¤M¸Ö	=Ø—‘˜U A˜J°À�ÓF×JÑJÓLˆ÷ 
>ää  1˜v°"·&±&·*±*×2GÑ2GÔHØ�b�Ø�s�ñ	
ò
 "ô€Hô ×Ñ˜& (Ô+ô 	Š UÔ+€AØ
6€CÜ	×	#Ñ	#¤M¸Ö	=Ø—‘˜U A˜J°À�ÓF×JÑJÓLˆ÷ 
>ä×Ñ˜& (Ô+ð ˜C�L€MÜä  1˜v°"·&±&·*±*×2GÑ2GÔHØ�b�Ø�s�ñ	
ò
 "ô€Hó !ˆÜœ˜e›¨4Ô0ˆŒØ—‘˜M°EÀD�ÓI×MÑMÓOˆä
×Ñ˜f hÕ/ñ	 !÷= 
>Ñ	=ú÷ 
>Ð	=ús   Ã%IÅ2%I#ÉI É#I,c                  óP  — t        d«      } t        dt        t        d«      | d¬«      i«      }t        | | dd¬«      }t        t        d«      | dd¬«      }t	        j
                  |j                  ddd¬	«      j                  «       j                  |«       t	        j
                  |j                  ddd¬	«      j                  «       j                  |«       t        dt        t        d«      | d¬«      i«      }t        | | dd¬«      }t        t        d«      t        d«      dd¬«      }t	        j
                  |j                  ddd¬	«      j                  «       j                  |«       t	        j
                  |j                  ddd¬	«      j                  «       j                  |«       y )
Nrõ   rd   ÚbaTr   rf  ÚbacFr    )	r¦   r   r   r   r¨   r¿   rF   r+   r%   )r   rI   r"   Únosort_indexs       r   Útest_preserve_categoriesr‰  Q  sa  € ä�e“€Jô 
�Cœ¤T¨$£Z¸JÐPTÔUÐVÓ	W€BÜ! *¨jÀ$ÈSÔQ€JÜ#¤D¨£K°ÀTÐPSÔT€LÜ×ÑØ
�
‰
�3˜T¨Eˆ
Ó2×8Ñ8Ó:×@Ñ@À*ôô ×ÑØ
�
‰
�3˜U¨Uˆ
Ó3×9Ñ9Ó;×AÑAÀ<ôô
 
�Cœ¤T¨$£Z¸JÐPUÔVÐWÓ	X€BÜ! *¨jÀ%ÈcÔR€Jô $¤D¨£K´°e³ÀeÐRUÔV€LÜ×ÑØ
�
‰
�3˜T¨Eˆ
Ó2×8Ñ8Ó:×@Ñ@À*ôô ×ÑØ
�
‰
�3˜U¨Uˆ
Ó3×9Ñ9Ó;×AÑAÀ<õr   c                  óÊ  — t        g d¢g d¢t        t        d«      t        d«      d¬«      t        t        d«      t        d«      d¬«      dœ«      } t        d	d
t        j                  gddt        j                  gt        t        d«      t        d«      d¬«      t        t        d«      t        d«      d¬«      dœ«      }dD ]   }| j                  |dd¬«      j                  d¬«      }| j                  |dd¬«      j                  d¬«      j                  «       }|j                  |j                  ¬«      }t        j                  ||«       t        j                  ||«       Œ¢ y )N)rS   rT   rS   rS   rT   )r}   é   rÝ   é   r   Úabaabr‡  Fr   T)rd   re   r!  r"  rù   g      ð?g      9@r	  )r!  r"  ©Úbyr  rD   rh   rl   )r   r   r¦   r   r§   rF   r0   r  r!   rm   r¨   r©   )rI   Úexp_fullÚcolÚresult1rÎ   rÅ   s         r   Útest_preserve_categorical_dtyper“  o  s-  € ä	â Ú%Üœd 7›m¼¸U»ÈUÔSÜœd 7›m¼¸U»ÈTÔRñ		
ó
€Bô à�sœBŸF™FÐ#Ø˜œbŸf™fÐ%Üœd 5›k´d¸5³kÈ5ÔQÜœd 5›k´d¸5³kÈ4ÔPñ		
ó€Hó ˆØ—*‘* ¨e¸e�*ÓD×IÑIØð Jó 
ˆð �J‰J˜#¨°uˆJÓ=ß‰T˜tˆTÓ$ß‰[‹]ð 	ð
 ×#Ñ#¨G¯O©OÐ#Ó<ˆÜ
×Ñ˜g xÔ0Ü
×Ñ˜g xÕ0ñ r   zfunc, valuesÚsecondÚfourthÚthirdc                 óš  — t        g d¢d¬«      }t        g d¢|dœ«      }|j                  d«      } t        || «      «       }t        ddgt	        ||j
                  ¬	«      dœ«      j                  d«      }t        j                  ||«       |j                  d«      d
   } t        || «      «       }|d
   }t        j                  ||«       y )N)r+   r”  r–  r•  Tr—   )rZ  éþÿÿÿrZ  r˜  )Úpayloadr‘  r™  r˜  rZ  r4  r‘  )
r   r   rF   Úgetattrr	   rÌ   r  r¨   r©   r³   )Úfuncrf   rO   rI   rÊ   r#   rÅ   Úsgbs           r   Útest_preserve_on_ordered_opsr�  �  s¿   € ô 	Ò:ÀDÔI€AÜ	Ò/¸Ñ:Ó	;€BØ
�
‰
�9Ó€AØŒW�Q˜ÓÓ€FÜØ˜�H¤V¨F¸!¿'¹'Ô%BÑCóç�i�	Óð ô ×Ñ˜& (Ô+ð �*‰*�YÓ
 Ñ
&€CØŒW�S˜$ÓÓ!€FØ˜‰€HÜ×Ñ˜6 8Õ,r   c                  óª  — t        t        j                  j                  d«      j	                  d«      «      } t        j
                  g d¢«      }t        j                  |g d¢d¬«      }| j                  |d¬«      j                  «       }| j                  |d¬«      j                  «       }t        |j                  |j                  |j                  ¬	«      |_        t        j                  ||«       t        j
                  g d
¢«      }t        j                  |g d¢d¬«      }| j                  |d¬«      j                  «       }| j                  |d¬«      j                  «       j!                  |j                  «      }t        |j                  |j                  |j                  ¬	«      |_        t        j                  ||«       t        g d¢g d¢d¬	«      }t#        g d¢|dœ«      } | j                  dd¬«      j                  «       }|d   j$                  }t        j
                  dddt        j&                  g«      }t        j(                  ||«       y )NrT   r7  r=  r>  Tr—   FrC   r   )	r   r   r   rS   rS   rS   rU   rU   rU   r[  rM   rP   rR   rW   rN   r   rS   r>   )r	   r   rµ   r¶   r¸   rQ  r   r   rF   r0   r   r%   r   r   r¨   r³   r!   r   rf   r§   Úassert_numpy_array_equal)rÃ   r»   rJ   r#   rÚ   s        r   Útest_categorical_no_compressr   ¬  sÃ  € Ü”"—)‘)×'Ñ'¨Ó*×:Ñ:¸1Ó=Ó>€Dä�H‰HÒ0Ó1€EÜ×!Ñ! %ª¸DÔA€Dà�\‰\˜$¨ˆ\Ó/×4Ñ4Ó6€FØ
�,‰,�u uˆ,Ó
-×
2Ñ
2Ó
4€Cä Ø�	‰	˜dŸo™o°t·|±|ô€C„Iô ×Ñ˜6 3Ô'ä�H‰HÒ0Ó1€EÜ×!Ñ! %ª¸tÔD€Dà�\‰\˜$¨ˆ\Ó/×4Ñ4Ó6€FØ
�,‰,�u uˆ,Ó
-×
2Ñ
2Ó
4×
<Ñ
<¸T¿_¹_Ó
M€CÜ Ø�	‰	˜dŸo™o°t·|±|ô€C„Iô ×Ñ˜6 3Ô'äÚ5Ú'Øô€Dô
 Ò6¸TÑBÓC€Dà�\‰\˜#¨ˆ\Ó.×3Ñ3Ó5€FØ�C‰[×Ñ€FÜ
�(‰(�A�q˜!œRŸV™VÐ$Ó
%€CÜ×Ñ ¨Õ,r   c                  óü   — t        d gdz  t        g d¢«      dœ«      } | j                  d«      j                  «       d   }t	        t        g ddg¬«      t	        g d	d¬
«      d¬«      }t        j                  ||«       y )NrU   )Útrainr¢  Útestrt  rd   re   r£  r¢  r/  r®   ©rÌ   rZ   rï   )r   r   rF   r+   r	   r¨   r³   ©rI   r#   rÅ   s      r   Ú test_groupby_empty_with_categoryr¦  Ñ  st   € ô 
˜$˜ !™¬+Ò6PÓ*QÑRÓ	S€BØ�Z‰Z˜‹_×"Ñ"Ó$ SÑ)€FÜÜ�B F¨GÐ#4Ô5Ü�R˜x¨cÔ2Øô€Hô
 ×Ñ˜6 8Õ,r   c                  óv  — t        dt        j                  j                  d«      j	                  ddd«      i«      } t        ddd«      D �cg c]  }|› d|dz   › �‘Œ }}t        ||«      }| j                  dgd	¬
«      } t        j                  | j                  t        ddd«      d|¬«      | d<   | j                  dgd¬«      d   j                  «       }|t        |j                  d„ ¬«         }t        |j                  |j                  j                   ¬«      |_        t#        j$                  ||«       y c c}w )NÚvaluerT   r   r(  r�   iô  z - ió  T)r�  Ú	ascendingi)  F)Úrightr–   Úvalue_grouprC   c                 ó:   — t        | j                  «       d   «      S )Nr   )ÚfloatÚsplitrq   s    r   rs   ztest_sort.<locals>.<lambda>ð  s   € ¬e°A·G±G³I¸a±LÔ.Ar   )r  rz   )r   r   rµ   r¶   r·   rä   r   Úsort_valuesr°   r±   r¨  rF   r)   Úsortedr%   r   rZ   r¨   r³   )rI   r  r–   Ú
cat_labelsÚresrÚ   s         r   Ú	test_sortr³  ß  s  € ô 
�GœRŸY™Y×2Ñ2°1Ó5×>Ñ>¸qÀ%ÈÓMÐNÓ	O€BÜ(-¨a°¸Ô(<Ó=Ñ(< 1���3�q˜‘u�gÒÐ(<€FÐ=Ü˜V VÓ,€Jà	�‰˜G˜9°ˆÓ	5€BÜŸ™Ø
�‰”%˜˜5 #Ó&¨e¸Jô€B€}Ñð �*‰*�m�_¨uˆ*Ó
5°mÑ
D×
JÑ
JÓ
L€CØ
Œf�S—Y‘YÑ$AÔBÑ
C€CÜ  §¡°·±·±Ô@€C„IÜ×Ñ˜3 Õ$ùò >s   ÁD6c           
      óh  — t        g d¢g d¢g d¢g d¢g d¢g d¢g d¢gg d¢¬	«      }t        |d
   |¬«      |d
<   |j                  d
| d¬«      j                  «       }| rddgddgddgddgg}g d¢}nddgddgddgddgg}g d¢}t        |ddgt	        |d
|¬«      ¬«      }t        j                  ||«       y )N)ú	(7.5, 10]r}   r}   )rµ  r¢   r~   )ú(2.5, 5]rV   r   )ú(5, 7.5]rè   r€   )r¶  r>   r  )ú(0, 2.5]rS   r  )r·  rg   r  )rä   r™   rš   rl   rä   r—   Fr    rS   r  rV   r   rè   r€   r}   )r¸  r¶  r·  rµ  )rµ  r¶  r·  r¸  r™   rš   rY   ©rm   r%   )r   r   rF   r+   r   r¨   r©   )r¡   r   rI   r#   Údata_valuesÚindex_valuesrÅ   s          r   Ú
test_sort2r¼  õ  sÛ   € ô
 
â!Ú ÚÚÚÚÚð	
ò (ô
€Bô ˜b ™k°7Ô;€B€w�KØ�Z‰Z˜ d°UˆZÓ;×AÑAÓC€FáØ˜2�w  B ¨!¨R¨°2°r°(Ð;ˆÚH‰à˜B�x ! R ¨1¨b¨'°A°r°7Ð;ˆÚHˆÜØØ˜�Ü˜|°'À7ÔKô€Hô ×Ñ˜& (Õ+r   c                 ó®  — t        t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      gg d¢g d¢dœg d¢¬	«      }t        |d
   |¬«      |d
<   | rAddgddgddgddgg}t        ddd«      t        ddd«      t        ddd«      t        ddd«      g}n@ddgddgddgddgg}t        ddd«      t        ddd«      t        ddd«      t        ddd«      g}t        |ddgt        |d
|¬«      ¬«      }|j	                  d
| d¬«      j                  «       }t        j                  ||«       y )NiÛ  rg   rS   rT   rV   )r}   r¢   rV   rè   r>   rS   rg   r  )Údtr™   rš   rl   r¾  r—   r  r   rè   r€   r}   r™   rš   rY   r¹  Fr    )r   r   r   r   rF   r+   r¨   r©   )r¡   r   rI   rº  r»  rÅ   r#   s          r   Útest_sort_datetimeliker¿    s‘  € ô 
ô ˜˜q !Ó$Ü˜˜q !Ó$Ü˜˜q !Ó$Ü˜˜q !Ó$Ü˜˜q !Ó$Ü˜˜q !Ó$Ü˜˜q !Ó$ðò *Ú/ñ	
ò %ô
€Bô$ ˜2˜d™8¨WÔ5€B€t�HÙØ˜2�w  B ¨!¨R¨°2°r°(Ð;ˆä�T˜1˜aÓ Ü�T˜1˜aÓ Ü�T˜1˜aÓ Ü�T˜1˜aÓ ð	
‰ð ˜B�x ! R ¨1¨b¨'°A°r°7Ð;ˆä�T˜1˜aÓ Ü�T˜1˜aÓ Ü�T˜1˜aÓ Ü�T˜1˜aÓ ð	
ˆô ØØ˜�Ü˜|°$ÀÔHô€Hð
 �Z‰Z˜ 4°%ˆZÓ8×>Ñ>Ó@€FÜ×Ñ˜& (Õ+r   c                  óL  — t        t        g d¢g d¢¬«      g d¢dœ«      } t        g d¢d¬«      }| j                  dd¬	«      j                  j                  «       }t        g d
¢|d¬«      }t        j                  ||«       | j                  dd¬	«      j                  j                  d¬«      }t        g d
¢|d¬«      }t        j                  ||«       | j                  dd¬	«      j                  j                  d¬«      }t        ddt        j                  g|d¬«      }t        j                  ||«       | j                  dd¬	«      j                  j                  d¬«      }t        dt        j                  t        j                  g|d¬«      }t        j                  ||«       y )N©r   r   rN   r  r/  ©rS   rT   rS   rt  rd   rz   FrC   )rU   rS   r   re   r   ©Ú	min_countrS   rU   rT   )r   r   r   rF   re   r;   r	   r¨   r³   r   r§   ©rI   Úexpected_idxr#   rÅ   s       r   Útest_empty_sumrÇ  K  sU  € ä	Üš/²oÔFÊYÑWó
€Bô $¢O¸#Ô>€Lð �Z‰Z˜ eˆZÓ,×.Ñ.×2Ñ2Ó4€FÜ’i °CÔ8€HÜ×Ñ˜6 8Ô,ð �Z‰Z˜ eˆZÓ,×.Ñ.×2Ñ2¸QÐ2Ó?€FÜ’i °CÔ8€HÜ×Ñ˜6 8Ô,ð �Z‰Z˜ eˆZÓ,×.Ñ.×2Ñ2¸QÐ2Ó?€FÜ�q˜!œRŸV™V�n l¸Ô=€HÜ×Ñ˜6 8Ô,ð �Z‰Z˜ eˆZÓ,×.Ñ.×2Ñ2¸QÐ2Ó?€FÜ�qœ"Ÿ&™&¤"§&¡&Ð)¨<¸cÔB€HÜ×Ñ˜6 8Õ,r   c                  ól  — t        t        g d¢g d¢¬«      g d¢dœ«      } t        g d¢d¬«      }| j                  dd¬	«      j                  j                  «       }t        g d
¢|d¬«      }t        j                  ||«       | j                  dd¬	«      j                  j                  d¬«      }t        g d
¢|d¬«      }t        j                  ||«       | j                  dd¬	«      j                  j                  d¬«      }t        ddt        j                  g|d¬«      }t        j                  ||«       y )NrÁ  r  r/  rÂ  rt  rd   rz   FrC   )rT   rS   rS   re   r   rÃ  rS   rT   )r   r   r   rF   re   r5   r	   r¨   r³   r   r§   rÅ  s       r   Útest_empty_prodrÉ  g  s   € ä	Üš/²oÔFÊYÑWó
€Bô $¢O¸#Ô>€Lð �Z‰Z˜ eˆZÓ,×.Ñ.×3Ñ3Ó5€FÜ’i °CÔ8€HÜ×Ñ˜6 8Ô,ð �Z‰Z˜ eˆZÓ,×.Ñ.×3Ñ3¸aÐ3Ó@€FÜ’i °CÔ8€HÜ×Ñ˜6 8Ô,ð �Z‰Z˜ eˆZÓ,×.Ñ.×3Ñ3¸aÐ3Ó@€FÜ�q˜!œRŸV™V�n l¸Ô=€HÜ×Ñ˜6 8Õ,r   c                  ó
  — t        t        t        d«      «      t        t        t        j                  ddd¬«      «      dz  «      t        j                  d«      dœ«      } | j                  dd	gd
¬«      j                  «       }t        j                  t        g d¢«      t        t        j                  ddd¬«      «      gdd	g¬«      }t        ddddddddt
        j                  dg	i|¬«      }t        j                  ||«       y )NÚ	abcbabcbaz2018-06-01 00Ú1minrU   )ÚfreqrV  r7  )Úkey1Úkey2rf   rÎ  rÏ  FrC   r  r   rf   r   r>   r¢   rV   rè   rT   r[   )r   r   r¦   r°   rW  r   r   rF   r0   r   r   r§   r¨   r©   )rI   r#   rÕ   rÅ   s       r   Ú,test_groupby_multiindex_categorical_datetimerÐ    sç   € ô 
ä¤ [Ó 1Ó2ÜÜ”R—]‘] ?¸ÈÔKÓLÈqÑPóô —i‘i “lñ	
ó
€Bð �Z‰Z˜ Ð(°5ˆZÓ9×>Ñ>Ó@€Fä
×
!Ñ
!äšÓ(ÜœŸ™ o¸FÈAÔNÓOð	
ð �vÐô€Cô ˜( Q¨¨1¨a°°A°q¼"¿&¹&À!Ð$DÐEÈSÔQ€HÜ×Ñ˜& (Õ+r   zas_index, expectedr<  r+  r4  rz  r   rr   )r%   rÃ   rZ   ©r   rN   rr   c                 ó¾   — t        t        g d¢d¬«      g d¢g d¢dœ«      }|j                  ddg| d	¬
«      d   j                  «       }t	        j
                  ||«       y )Nr<  r+  r4  rz  r0  rÑ  r   rN   Tr  rr   )r   r	   rF   r;   r¨   r@  )r  rÅ   rI   r#   s       r   Ú,test_groupby_agg_observed_true_single_columnrÓ  ˜  sU   € ô6 
Ü’Y jÔ1º	Ê	ÑRó
€Bð �Z‰Z˜˜c˜
¨XÀˆZÓEÀcÑJ×NÑNÓP€Fä‡O�O�F˜HÕ%r   r   c                 óž   — t        g d¢g d¢d¬«      }t        g d¢g d¢d¬«      }|j                  d| ¬«      }t        j                  ||«       y )NrP   Fr   )Nr   rN   rO   rS   r   )r   Úshiftr¨   r@  )r   ÚctrÅ   r²  s       r   Ú
test_shiftr×  ¼  sJ   € ä	ÚÒ)=Àuô
€Bô ÚÒ*>Èô€Hð �(‰(�1 ˆ(Ó
,€CÜ‡O�O�C˜Õ"r   c                 óÐ   — | j                  «       dd }|d   j                  d«      |d<   |d   j                  d«      |d<   t        g d¢«      |d<   |j                  dgd	¬
«      }|S )a¥  
    DataFrame with multiple categorical columns and a column of integers.
    Shortened so as not to contain all possible combinations of categories.
    Useful for testing `observed` kwarg functionality on GroupBy objects.

    Parameters
    ----------
    df: DataFrame
        Non-categorical, longer DataFrame from another fixture, used to derive
        this one

    Returns
    -------
    df_cat: DataFrame
    Nr>   rd   r+  re   rb   rE   rG   rS   rŠ   )r­   r¯   r	   r?  )rI   Údf_cats     r   rÙ  rÙ  È  sl   € ð" �W‰W‹Y�r˜ˆ]€FØ˜‘+×$Ñ$ ZÓ0€Fˆ3�KØ˜‘+×$Ñ$ ZÓ0€Fˆ3�KÜšÓ&€Fˆ3�KØ�[‰[˜#˜ Qˆ[Ó'€FØ€Mr   Ú	operationrý   rH   c                 óÜ  — t        g d¢| d   j                  d¬«      }t        g d¢| d   j                  d¬«      }t        j                  ||g«      }t	        g d¢|d¬«      j                  «       }| j                  ddgd	¬
«      d   }|dk(  rdnd}t        j                  t        |¬«      5   t        ||«      t        «      }d d d «       t        j                  |«       y # 1 sw Y   Œ xY w)N)rš   rš   r™   r™   rd   r¤  )ÚoneÚthreerÜ  Útwore   )rT   r>   rS   rU   rE   ©rÃ   r%   rZ   TrC   rH   úusing np.sumr‚   rx   )r   rÌ   r   rñ   r	   r"   rF   r¨   r«   r²   rš  r;   r³   )	rÙ  rÚ  Úlev_aÚlev_br%   rÅ   rÓ   rË   r#   s	            r   Ú test_seriesgroupby_observed_truerã  á  sÏ   € ô Ò.°f¸S±k×6GÑ6GÈcÔR€EÜÒ0¸¸s¹×8IÑ8IÐPSÔT€EÜ×"Ñ" E¨5 >Ó2€EÜš<¨u¸3Ô?×JÑJÓL€Hà�n‰n˜c 3˜Z°$ˆnÓ7¸Ñ<€GØ%¨Ò0‰.Ð6O€CÜ	×	#Ñ	#¤M¸Ö	=à,”˜ )Ó,¬SÓ1ˆ÷ 
>ô ×Ñ˜6 8Õ,÷ 
>Ð	=ús   Â,C"Ã"C+c                 ó~  — t        j                  t        ddgd¬«      t        g d¢d¬«      gddg¬«      j                  «       \  }}t	        d	d
t
        j                  dt
        j                  dg|d¬«      }|dk(  r9d}t        j                  t        |¬«      5  |j                  dd¬«      }d d d «       | j                  ddg|¬«      d   }|dk(  rdnd}t        j                  t        |¬«      5   t        ||«      t        «      }d d d «       t        j                  |«       y # 1 sw Y   Œ{xY w# 1 sw Y   Œ,xY w)Nrš   r™   Fr—   ©rÜ  rÝ  rÞ  rd   re   r   rT   r>   rS   rU   rE   rß  rý   z.The 'downcast' keyword in fillna is deprecatedrx   r   Úinfer)ÚdowncastrC   r‚   rà  )r   r   r   Ú	sortlevelr	   r   r§   r¨   r«   r²   ÚfillnarF   rš  r;   r³   )	rÙ  rD   rÚ  r%   Ú_rÅ   rË   rÓ   r#   s	            r   Ú)test_seriesgroupby_observed_false_or_nonerë  ò  s  € ô
 ×&Ñ&ä˜e U˜^°UÔ;ÜÒ4¸eÔDð	
ð �Cˆjô÷ �iƒkñ €Eˆ1ô ˜A˜q¤"§&¡&¨!¬R¯V©V°QÐ7¸uÈ3ÔO€HØ�EÒØ>ˆÜ×'Ñ'¬¸SÖAØ—‘ q°7�Ó;ˆH÷ Bà�n‰n˜c 3˜Z°(ˆnÓ;¸CÑ@€GØ'0°EÒ'9Ñ
#¸~€CÜ	×	#Ñ	#¤M¸Ö	=à,”˜ )Ó,¬SÓ1ˆ÷ 
>ô ×Ñ˜6 8Õ,÷ BÐAú÷ 
>Ð	=ús   ÂD'Ã1D3Ä'D0Ä3D<zobserved, index, datarš   r™   rd   r¤  )rÜ  rÜ  rÝ  rÝ  rÜ  rÜ  rÞ  rÞ  re   )rT   rT   r>   r>   rS   rS   rU   rU   r—   rå  )rd   re   Nc                 óœ   — t        ||d¬«      }| j                  ddg|¬«      d   j                  d„ «      }t        j                  ||«       y )NrE   rß  rd   re   rC   c                 óD   — | j                  «       | j                  «       dœS )N©r2   r/   rî  rq   s    r   rs   z8test_seriesgroupby_observed_apply_dict.<locals>.<lambda><  s   € ˜!Ÿ%™%›'¨!¯%©%«'Ò2r   )r	   rF   rH   r¨   r³   )rÙ  rD   r%   rÃ   rÅ   r#   s         r   Ú&test_seriesgroupby_observed_apply_dictrï    sN   € ô\ ˜4 u°3Ô7€HØ�^‰^˜S #˜J°ˆ^Ó:¸3Ñ?×EÑEÙ2ó€Fô ×Ñ˜6 8Õ,r   c                 óÈ   — | j                  ddgd¬«      d   j                  «       }| j                  ddgd¬«      j                  «       d   }t        j                  ||«       y )Nrd   re   FrC   rE   )rF   r0   r¨   r³   )rÙ  rÅ   r#   s      r   Ú4test_groupby_categorical_series_dataframe_consistentrñ  A  sZ   € à�~‰~˜s C˜j°5ˆ~Ó9¸#Ñ>×CÑCÓE€HØ�^‰^˜S #˜J°ˆ^Ó7×<Ñ<Ó>¸sÑC€FÜ×Ñ˜6 8Õ,r   Úcode)rS   r   r   )r   r   r   c                 ó  — t        g d¢g d¢g d¢dœ«      }t        j                  | t        d«      ¬«      }d}t	        j
                  t        |¬«      5  |j                  |d	d
¬«      }d d d «       j                  «       }d}t	        j
                  t        |¬«      5  |j                  j                  |dd
¬«      }d d d «       j                  «       j                  }t	        j                  ||«       y # 1 sw Y   ŒŽxY w# 1 sw Y   ŒFxY w)Nrb   )rZ  r˜  éýÿÿÿéüÿÿÿ)rV   rè   rg   r¢   r  rõ   r/  z+DataFrame.groupby with axis=1 is deprecatedrx   rS   F)r‹   rD   z5The 'axis' keyword in DataFrame.groupby is deprecatedr   )r   r   r   r¦   r¨   r«   r²   rF   r0   ÚTr©   )rò  rI   r  rË   rÈ   r#   Úgb2rÅ   s           r   Útest_groupby_categorical_axis_1rø  H  sÈ   € ô 
šÒ,<Â<ÑPÓ	Q€BÜ
×
 Ñ
  ´$°u³+Ô
>€CØ
7€CÜ	×	#Ñ	#¤M¸Ö	=Ø�Z‰Z˜ !¨eˆZÓ4ˆ÷ 
>à�W‰W‹Y€FØ
A€CÜ	×	#Ñ	#¤M¸Ö	=Ø�d‰d�l‰l˜3 Q°ˆlÓ7ˆ÷ 
>à�x‰x‹z�|‰|€HÜ×Ñ˜& (Õ+÷ 
>Ð	=ú÷ 
>Ð	=ús   ÁC5ÂDÃ5C>ÄD
c                 ó  — t        t        ddg|¬«      ddgdœddg¬	«      }|j                  «       }|j                  d| ¬
«      j	                  t         j
                  d¬«      j                  «       }t        j                  ||«       y )NÚBobÚGregr—   rS   rT   )ÚNameÚItemrü  rý  rl   rC   T)Úskipna)	r   r   r­   rF   rý   r;   r  r¨   r©   )rD   r   rI   rÅ   r#   s        r   Ú$test_groupby_cat_preserves_structurerÿ  X  sz   € ä	Ü˜e V˜_°gÔ>ÈÈAÈÑOØ˜Ð ô
€Bð �w‰w‹y€Hð 	�
‰
�6 Hˆ
Ó-ß	‰ŒY�]‰] 4ˆÓ	(ß	‰‹ð ô ×Ñ˜& (Õ+r   c                  óØ   — t        g d¢t        d«      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  z'vau'rx   r<   c                 ób   — t        | j                  d   d   g| j                  d   d   gdœ«      S )NrZ  r<   Úvaur  )r   rv   )Úrowss    r   rs   z/test_get_nonexistent_category.<locals>.<lambda>n  s1   € œØŸ™ 2™ uÑ-Ð.¸¿	¹	À"¹ÀeÑ8LÐ7MÑNôr   )r   rä   ro  rp  ÚKeyErrorrF   rH   ©rI   s    r   Útest_get_nonexistent_categoryr  i  sL   € ä	Ò/¼¸a»ÑAÓ	B€BÜ	�‰”x wÖ	/Ø
�
‰
�5Ó×Ññô	
÷ 
0×	/Ñ	/ús   µ"A Á A)c           	      ó  — | dk(  rt        j                  d«       t        t        t	        d«      t	        d«      ¬«      t        t	        d«      dz  t	        d«      ¬«      dgd	z  d
œ«      }t        | |«      }|rd	nd}|j                  ddg|¬«      d   }| dk(  rt        || «      rJ ‚y t        || «      }|s.| dv r*t        j                  t        d¬«      5   ||Ž  d d d «       y  ||Ž }t        |«      |k(  sJ ‚y # 1 sw Y   y xY w)NÚngroupúngroup is not truly a reductionÚAABBÚABCDr/  r  rT   çš™™™™™¹?r>   ©Úcat_1Úcat_2r¨  r‹  r  r  rC   r¨  r*   ©r-   r,   ú(empty group due to unobserved categoriesrx   )ro  Úskipr   r   r¦   r   rF   Úhasattrrš  rp  rq  r   )Úreduction_funcrD   rI   r$   Úexpected_lengthÚseries_groupbyrý   r#   s           r   Ú0test_series_groupby_on_2_categoricals_unobservedr  t  s  € à˜Ò!Ü�‰Ð5Ô6ä	ä ¤ f£¼$¸v»,ÔGÜ ¤ d£¨a¡¼DÀ»LÔIØ�U˜Q‘Yñ	
ó
€Bô # >°2Ó6€Dá#‘a¨€Oà—Z‘Z ¨'Ð 2¸X�ZÓFÀwÑO€Nà˜Ò#ä˜>¨>Ô:Ð:Ð:Øä
�. .Ó
1€Cá˜Ð*>Ñ>ä�]‰]ÜÐHö
ñ �‰J÷
ð 	á�$ˆZ€Fäˆv‹;˜/Ò)Ð)Ñ)÷
ð 	ús   ÃC;Ã;Dc           	      ó¤  — | dk(  rt        j                  d«       | dk(  r1t         j                  j                  d¬«      }|j	                  |«       t        t        t        d«      t        d«      ¬«      t        t        d	«      d
z  t        d«      ¬«      dgdz  dœ«      }t        d«      t        d«      t        d«      t        d«      t        d«      g}t        | |«      }|j                  ddgd¬«      d   }t        || «      }| dv r*t        j                  t        d¬«      5   ||Ž  d d d «       y  ||Ž }t        |    }	|D ]C  }
|j                  |
   }t!        j"                  |	«      rt!        j"                  |«      rŒ=||	k(  rŒCJ ‚ |	dk(  r7| dk7  r1t%        j&                  |j(                  t$        j*                  «      sJ ‚y y y # 1 sw Y   y xY w)Nr	  r
  r*   z6TODO: implemented SeriesGroupBy.corrwith. See GH 32293©Úreasonr  r   r/  r  rT   r  r>   r  ÚACÚBCÚCAÚCBÚCCr  r  FrC   r¨  r  r  rx   r   r;   )ro  r  ÚmarkÚxfailÚapplymarkerr   r   r¦   Útupler   rF   rš  rp  rq  Ú-_results_for_groupbys_with_missing_categoriesr�  r°   rR  r   Ú
issubdtyperÌ   Úinteger)r  Úrequestr!  rI   Ú
unobservedr$   r  rý   r#   Úzero_or_nanrÕ   r  s               r   Ú?test_series_groupby_on_2_categoricals_unobserved_zeroes_or_nansr+  š  s¢  € ð ˜Ò!Ü�‰Ð5Ô6à˜Ò#Ü�{‰{× Ñ ØKð !ó 
ˆð 	×Ñ˜DÔ!ä	ä ¤ f£¼$¸u»+ÔFÜ ¤ d£¨a¡¼DÀ»KÔHØ�U˜Q‘Yñ	
ó
€Bô ˜“+œu T›{¬E°$«K¼¸t»ÄeÈDÃkÐR€JÜ" >°2Ó6€Dà—Z‘Z ¨'Ð 2¸U�ZÓCÀGÑL€NÜ
�. .Ó
1€CàÐ-Ñ-ä�]‰]ÜÐHö
ñ �‰J÷
ð 	á�$ˆZ€Fä?ÀÑO€KãˆØ�j‰j˜‰oˆÜ—‘˜Ô$¬¯©°­¸3À+Ó;MÐNÐNð ð �aÒ˜N¨eÒ3Ü�}‰}˜VŸ\™\¬2¯:©:Ô6Ð6Ñ6ð 4Ð÷%
ð 	ús   Ä$GÇGc           	      ód  — | dk(  rt        j                  d«       t        t        t	        d«      t	        d«      ¬«      t        t	        d«      t	        d«      ¬«      g d¢d	œ«      }g d
¢}|j                  ddgd¬«      }t        | |«      } t        || «      |Ž }|D ]  }||j                  vrŒJ ‚ y )Nr	  ú2ngroup does not return the Categories on the indexr  r   r/  Ú1111Ú12©r  r  r  r  r  ©)rd   Ú2)re   r2  )rE   Ú1)rE   r2  r  r  TrC   )	ro  r  r   r   r¦   rF   r   rš  r%   )r  rI   Úunobserved_catsÚdf_grpr$   r²  r  s          r   Ú>test_dataframe_groupby_on_2_categoricals_when_observed_is_truer6  Î  s©   € ð
 ˜Ò!Ü�‰ÐHÔIä	ä ¤ f£¼$¸u»+ÔFÜ ¤ f£¼$¸t»*ÔEÚ)ñ	
ó
€Bò G€Oà�Z‰Z˜ 'Ð*°TˆZÓ:€Fä" >°2Ó6€DØ
)Œ'�&˜.Ó
)¨4Ð
0€CãˆØ˜#Ÿ)™)Ò#Ð#Ð#ñ r   c           	      óÐ  — | dk(  rt        j                  d«       t        t        t	        d«      t	        d«      ¬«      t        t	        d«      t	        d«      ¬«      g d¢d	œ«      }g d
¢}|j                  ddg|¬«      }t        | |«      }|s8| dv r4t        j                  t        d¬«      5   t        || «      |Ž  d d d «       y  t        || «      |Ž }t        |    }|t        j                  u r<|j                  |   j                  «       j                  «       j                  «       sJ ‚y |j                  |   |k(  j                  «       j                  «       sJ ‚y # 1 sw Y   y xY w)Nr	  r-  r  r   r/  r.  r/  r0  r  r1  r  r  rC   r  r  rx   )ro  r  r   r   r¦   rF   r   rp  rq  rš  r%  r   r§   r�  Úisnullr'   )r  rD   rI   r4  r5  r$   r²  rÅ   s           r   Ú?test_dataframe_groupby_on_2_categoricals_when_observed_is_falser9  è  s>  € ð ˜Ò!Ü�‰ÐHÔIä	ä ¤ f£¼$¸u»+ÔFÜ ¤ f£¼$¸t»*ÔEÚ)ñ	
ó
€Bò G€Oà�Z‰Z˜ 'Ð*°XˆZÓ>€Fä" >°2Ó6€Dá˜Ð*>Ñ>ä�]‰]ÜÐHö
ð ,ŒG�F˜NÓ+¨TÑ2÷
ð 	à
)Œ'�&˜.Ó
)¨4Ð
0€Cä<¸^ÑL€Hà”2—6‘6ÑØ�w‰w�Ñ'×.Ñ.Ó0×4Ñ4Ó6×:Ñ:Ô<Ð<Ñ<à—‘˜Ñ(¨HÑ4×9Ñ9Ó;×?Ñ?ÔAÐAÑA÷
ð 	ús   Â,EÅE%c                  óB  — g d¢g d¢g d¢dœ} t        | «      }t        j                  |d   t        j                  ddd«      «      }||d	<   |j                  d	d
gddd¬«      }|d   j                  d«      }|j                  d«      d   }t        j                  ||«       y )N)r}   r¢   r>   rS   r  )rQ   rO   rQ   rO   r  r™   r   r~   rV   rä   r›   TF©r  r¡   rD   r0   )	r   r°   r±   r   r  rF   rý   r¨   r³   )rQ   rI   r  r  r#   rÅ   s         r   Ú3test_series_groupby_categorical_aggregation_getitemr<    s•   € âÒ&6Ò?SÑT€AÜ	�1‹€BÜ
�&‰&��E‘œBŸK™K¨¨2¨qÓ1Ó
2€CØ€B€w�KØ�Z‰Z˜ %Ð(°4¸dÈUˆZÓS€FØ�E‰]×Ñ˜vÓ&€FØ�z‰z˜&Ó! %Ñ(€HÜ×Ñ˜6 8Õ,r   zfunc, expected_valuesc                 ó  — t        g d¢g d¢t        g d¢«      dœ«      j                  d«      }|j                  d«      j	                  | «      }t        d|it        g d¢d¬	«      ¬
«      }t        j                  ||«       y )Nr•   )r   rS   rS   rT   rT   )r   r   r   r   rS   )Úidr  r¨  r>  r  r¨  r>  rz   r[   )r   r   r  rF   rý   r   r¨   r©   )r›  rB  rI   r#   rÅ   s        r   Ú$test_groupby_agg_categorical_columnsr?    sw   € ô 
â!Ú%Ü ¢Ó1ñ	
ó
÷ �i�ƒoð ð �Z‰Z˜Ó!×%Ñ% dÓ+€FäØ	�/Ð"¬%²	ÀÔ*Iô€Hô ×Ñ˜& (Õ+r   c                  ó‚  — t        dt        g d¢g d¢¬«      i«      } t        dddgit        j                  ddg«      ¬«      }| j	                  g d¢«      j                  t        j                  «      }t        j                  ||«       | j	                  g d¢«      j                  «       }t        j                  ||«       y )	Nrd   rÁ  r  r/  rT   rS   r[   rÂ  )
r   r   r   rQ  rF   rý   r	   r4   r¨   r©   ©rI   rÅ   r#   s      r   Útest_groupby_agg_non_numericrB  4  s�   € Ü	�Cœ¢_ÂÔQÐRÓ	S€BÜ˜#  1˜v˜¬b¯h©h¸¸1°vÓ.>Ô?€Hà�Z‰Zš	Ó"×&Ñ&¤v§~¡~Ó6€FÜ×Ñ˜& (Ô+à�Z‰Zš	Ó"×*Ñ*Ó,€FÜ×Ñ˜& (Õ+r   r›  c                 ó2  — t        dgt        dgd¬«      j                  j                  «       dœ«      }|j	                  d«      d   } t        || «      «       }t        dgt        dgd¬«      d|d   j                  ¬	«      }t        j                  ||«       y )
NiÍ  rN   r+  r4  rt  rd   re   rz   ©r%   rZ   rÌ   )
r   r	   r  Ú
as_orderedrF   rš  r   rÌ   r¨   r³   )r›  rI   Ú
df_groupedr#   rÅ   s        r   Ú<test_groupby_first_returned_categorical_instead_of_dataframerG  ?  sŠ   € ô 
˜$˜¤f¨c¨U¸*Ô&E×&IÑ&I×&TÑ&TÓ&VÑWÓ	X€BØ—‘˜C“ Ñ%€JØ&ŒW�Z Ó&Ó(€Fô Ø	ˆ”U˜D˜6¨Ô,°3¸bÀ¹g¿m¹mô€Hô ×Ñ˜6 8Õ,r   c            	      óH  — t        j                  ddg«      } d| j                  _        t	        g d¢t        g d¢t        | «      ¬«      dœ«      }t	        dd	d
git        | d¬«      ¬«      }|j                  ddd¬«      j                  «       }t        j                  ||«       y )NrS   rT   F)rS   rU   rV   rg   r  r/  rW   r   rù   g      @rN   rz   rà   r    )r   rQ  ÚflagsÚ	writeabler   r   r   r   rF   r0   r¨   r©   )rJ   rI   rÅ   r#   s       r   Útest_read_only_category_no_sortrK  N  sŠ   € ä�8‰8�Q˜�FÓ€DØ €D‡J�JÔÜ	Ú¤ª\ÄeÈDÃkÔ!RÑSó
€Bô ˜s S¨# JÐ/Ô7GÈÐSVÔ7WÔX€HØ�Z‰Z˜ %°%ˆZÓ8×=Ñ=Ó?€FÜ×Ñ˜& (Õ+r   c                  ó®  — t        g d¢g d¢dœ«      } | d   j                  d«      j                  j                  g d¢d¬«      | d<   t        d	d	d
œd	dd
œddd
œddd
œdœ«      }|j	                  dd¬«      }t        g d¢g d¢ddd¬«      |_        | j                  ddgd¬«      j                  «       j                  «       }t        j                  ||«       y )N)ÚsmallÚlargerN  rN  rd  rN  rN  rd  )rE   rd   rd   rE   rd   rE   rd   rE   )r™   rš   r™   r+  )ÚtinyrM  rd  rN  Tr—   r   )rd   rE   rS   rU   rT   rš   r%   rŠ   )r   r   rZ   rÌ   FrC   )r   r¯   r  Úset_categoriesÚrename_axisr   rm   rF   r8   ri  r¨   r©   rA  s      r   Ú#test_sorted_missing_category_valuesrR  Z  sè   € ä	ò	ò <ñ	
ó
€Bð  	ˆ5‰	ß	‰�
Ó	ß	‰�^‰^Ò@È$ˆ^ÓOð €u�Iô à !Ñ$Ø 1Ñ%Ø AÑ&Ø 1Ñ%ñ		
ó€Hð ×#Ñ# E°Ð#Ó8€HÜ'Ú,Ú7ØØØô€HÔð �Z‰Z˜ ˜°ˆZÓ7×<Ñ<Ó>×FÑFÓH€Fä×Ñ˜& (Õ+r   c                  ó´  — t        dg d¢i«      } | d   j                  d«      | d<   | j                  d«      j                  j	                  «       }t        g d¢t        g d¢d¬«      d| d   j                  ¬«      }t        j                  ||«       | j                  d«      j                  ddi«      }|j                  «       }t        j                  ||«       y )	NÚcol_num©rS   rS   rT   rU   r+  Úcol_catr0  rz   rD  r+   )r   r¯   rF   rV  r+   r	   r   rÌ   r¨   r³   rý   Úto_framer©   r¥  s      r   Ú1test_agg_cython_category_not_implemented_fallbackrX  ‡  s½   € ä	�Iš|Ð,Ó	-€BØ�y‘M×(Ñ(¨Ó4€B€y�Mà�Z‰Z˜	Ó"×*Ñ*×0Ñ0Ó2€Fô ÚÜ’I IÔ.ØØ�‰m×!Ñ!ô	€Hô ×Ñ˜6 8Ô,à�Z‰Z˜	Ó"×&Ñ&¨	°7Ð';Ó<€FØ× Ñ Ó"€HÜ×Ñ˜& (Õ+r   c                  óZ  — t        g d¢g d¢ddt        j                  dgg d¢g d¢dœ«      } | j                  dd	i«      } | j	                  d
dg«      j                  d„ «      }t        j                  ddgddggd¬«      }t        ddgddgddgdœ|¬«      }t        j                  ||«       y )N)rS   rS   rS   rS   r  r  gš™™™™™É?g333333Ó?)r™   rš   r™   Úfee)rd   re   Únumerical_colÚ
object_colÚcategorical_colr]  r+  rd   re   c                 ó>   — | j                  «       j                  «       S ro   )rR  r;   r  s    r   rs   z7test_aggregate_categorical_with_isnan.<locals>.<lambda>«  s   € °2·7±7³9·=±=´?r   rS   rT   rt  r   r   )r[  r\  r]  rà   )
r   r   r§   r¯   rF   rý   r   rñ   r¨   r©   rò   s       r   Ú%test_aggregate_categorical_with_isnanr_  �  s»   € ä	âÚØ! 3¬¯©°Ð4Ú6Ú;ñ	
ó
€Bð 
�‰Ð% zÐ2Ó	3€Bà�Z‰Z˜˜c˜
Ó#×'Ñ'Ñ(BÓC€FÜ×"Ñ" Q¨ F¨Q°¨FÐ#3¸:ÔF€EÜà ˜VØ˜a˜&Ø ! 1˜vñ
ð
 ô€Hô ×Ñ˜& (Õ+r   c                  ó  — t        g d¢g d¢dœ«      } t        j                  g d¢d¬«      }| d   j                  |«      | d<   d}t	        j
                  t        |¬	«      5  | j                  d
«      d   j                  t        «      | d<   d d d «       | j                  «       }t        g d¢g d¢g d¢dœ«      }|d   j                  |«      |d<   |d   j                  |«      |d<   t	        j                  ||«       y # 1 sw Y   ŒsxY w)N)rS   rS   rS   rT   rT   rU   )ÚWaitingÚOnTheWayÚ	Deliveredra  rb  ra  )Ú
package_idÚstatus)ra  rb  rc  Tr   re  zusing SeriesGroupBy.maxrx   rd  Úlast_status)rc  rc  rc  rb  rb  ra  )rd  re  rf  )r   r°   ÚCategoricalDtyper¯   r¨   r«   r²   rF   rª   r/   r­   r©   )rI   Údelivery_status_typerË   r#   rÅ   s        r   Útest_categorical_transformri  ¸  s  € ä	â,òñ
	
ó
€Bô ×.Ñ.Ú7ÀôÐð �h‘<×&Ñ&Ð';Ó<€B€x�LØ
#€CÜ	×	#Ñ	#¤M¸Ö	=àŸJ™J |Ó4°XÑ>×HÑHÌÓMˆˆ=Ñ÷ 
>ð �W‰W‹Y€Fäâ,òòñ	
ó€Hð, " (Ñ+×2Ñ2Ð3GÓH€HˆXÑð ' }Ñ5×<Ñ<Ð=QÓR€Hˆ]Ñä×Ñ˜& (Õ+÷A 
>Ð	=ús   Á +C=Ã=Dc                 ó4  — t        g d¢«      }g d¢}t        |||dœ«      }t        ddg«      }t        j                  ||gddg¬«      }t	        dt
        j                  t
        j                  dg|d	¬
«      t	        dt
        j                  t
        j                  dg|d	¬
«      dœ}||    }|r-|j                  «       j                  t
        j                  «      }|j                  ddg|¬«      d	   }	 t        |	| «      «       }
t        j                  |
|«       y ©N)r   r   rS   rS   )r   rS   rS   r   r  r   rS   r   rN   r   rO   rz   )r+   r.   rC   )r   r   r   r   r	   r   r§   rn  r¯   r3  rF   rš  r¨   r³   )r›  rD   r  r  rI   rÇ   rÕ   Úexpected_dictrÅ   Úsrs_grpr#   s              r   ÚFtest_series_groupby_first_on_categorical_col_grouped_on_2_categoricalsrn  ð  só   € ô
 ’lÓ
#€CÚ
€CÜ	˜ 3¨SÑ1Ó	2€Bä˜˜1�vÓ€DÜ
×
!Ñ
! 4¨ ,°s¸C°jÔ
A€Cä˜œBŸF™F¤B§F¡F¨AÐ.°¸#Ô>Ü˜œ2Ÿ6™6¤2§6¡6¨1Ð-¨s¸Ô=ñ€Mð
 ˜TÑ"€HÙØ—?‘?Ó$×+Ñ+¬B¯H©HÓ5ˆà�j‰j˜#˜s˜¨hˆjÓ7¸Ñ<€GØ#ŒW�W˜dÓ#Ó%€FÜ×Ñ˜6 8Õ,r   c                 óJ  — t        g d¢«      }g d¢}t        |||dœ«      }t        ddg«      }t        j                  ||gddg¬«      }t	        dt
        j                  t
        j                  dg|d	¬
«      t	        dt
        j                  t
        j                  dg|d	¬
«      dœ}||    j                  «       }|r-|j                  «       j                  t
        j                  «      }|j                  ddg|¬«      }	 t        |	| «      «       }
t        j                  |
|«       y rk  )r   r   r   r   r	   r   r§   rW  rn  r¯   r3  rF   rš  r¨   r©   )r›  rD   r  r  rI   rÇ   rÕ   rl  rÅ   r5  r#   s              r   ÚBtest_df_groupby_first_on_categorical_col_grouped_on_2_categoricalsrp  	  s÷   € ô
 ’lÓ
#€CÚ
€CÜ	˜ 3¨SÑ1Ó	2€Bä˜˜1�vÓ€DÜ
×
!Ñ
! 4¨ ,°s¸C°jÔ
A€Cä˜œBŸF™F¤B§F¡F¨AÐ.°¸#Ô>Ü˜œ2Ÿ6™6¤2§6¡6¨1Ð-¨s¸Ô=ñ€Mð
 ˜TÑ"×+Ñ+Ó-€HÙØ—?‘?Ó$×+Ñ+¬B¯H©HÓ5ˆà�Z‰Z˜˜c˜
¨XˆZÓ6€FØ"ŒW�V˜TÓ"Ó$€FÜ×Ñ˜& (Õ+r   c                  óÈ  — t        t        g d¢g d¢¬«      t        d«      dœ«      } | j                  ddd¬«      }|j                  }t        j                  d	d
gd¬«      t        j                  dgd¬«      t        j                  g d¬«      dœ}|j                  «       |j                  «       k(  sJ ‚|j                  «       D ]  }t        j                  ||   ||   «       Œ  y )N)rN   rN   r   r  r/  rU   )r  r‘  r  Fr    r   rS   Úintpr4  rT   )rN   r   rO   )
r   r   rä   rF   Úindicesr   rQ  rA  r¨   rŸ  )rI   rÓ   r#   rÅ   r  s        r   Ú2test_groupby_categorical_indices_unused_categoriesrt  "  s¼   € ä	äšº?ÔKÜ˜“8ñ	
ó
€Bð �j‰j˜ U°UˆjÓ;€GØ�_‰_€Fä�X‰X�q˜!�f FÔ+Ü�X‰X�q�c Ô(Ü�X‰X�b Ô'ñ€Hð
 �;‰;‹=˜HŸM™M›OÒ+Ð+Ð+Ø�{‰{Ž}ˆÜ
×#Ñ# F¨3¡K°¸#±Õ?ñ r   c                 ó  — t        dg d¢i«      }|d   j                  d«      |d<    t        |j                  d«      d   | «      «       }t	        t        g d¢«      dt        g d¢d¬«      ¬«      }t        j                  ||«       y )Nr   r0  r+  rN   rz   )rZ   r%   )	r   r¯   rš  rF   r	   r   r   r¨   r³   )r›  rI   r#   rÅ   s       r   Ú1test_groupby_last_first_preserve_categoricaldtyperv  6  sv   € ô 
�CšÐ#Ó	$€BØ�‰g�n‰n˜ZÓ(€B€s�GØ0ŒW�R—Z‘Z “_ SÑ)¨4Ó0Ó2€FÜÜ’IÓ S´²iÀcÔ0Jô€Hô ×Ñ˜8 VÕ,r   c            
      óN  — t        ddgddgddgdœ«      } | j                  dddœ¬«      } | j                  d	d
gd¬«      j                  «       d   }t	        ddgt        j                  t        ddgd	¬«      t        ddgd
¬«      g«      d¬«      }t        j                  ||«       y )NrS   rT   r}   r{  r  r+  rW   r4  r   rN   TrC   rO   rz   rï   )
r   r¯   rF   r4   r	   r   rñ   r   r¨   r³   r¥  s      r   Ú)test_groupby_categorical_observed_nuniquerx  B  s­   € ä	˜!˜Q˜ q¨! f°B¸°8Ñ<Ó	=€BØ	�‰˜z°
Ñ;ˆÓ	<€BØ�Z‰Z˜˜c˜
¨TˆZÓ2×:Ñ:Ó<¸SÑA€FÜØ	
ˆAˆÜ×$Ñ$Ü˜q !˜f¨3Ô/Ô1AÀ1ÀaÀ&ÈsÔ1SÐTó
ð ô€Hô ×Ñ˜6 8Õ,r   c            	      ób  — t        j                  ddgd¬«      } t        ddgddgddggddg¬	«      j                  d| i«      }|j	                  d«      d   j                  «       }t        ddgt        ddgd¬
«      dt        j                  ddgd¬«      ¬«      }t        j                  ||«       y )NrM  ÚbigTr   rS   rT   ÚgrpÚdescriptionrl   rz   rD  )
r°   rg  r   r¯   rF   r/   r	   r   r¨   r³   )rÌ   rI   r#   rÅ   s       r   Ú,test_groupby_categorical_aggregate_functionsr}  Q  sº   € ä×Ñ¨G°UÐ+;ÀTÔJ€EÜ	Ø
ˆWˆ˜˜5�z A w <Ð0¸5À-Ð:Pô
ç�fˆm˜UÐ#Ó$ð ð �Z‰Z˜Ó˜}Ñ-×1Ñ1Ó3€FÜØ	�ÐÜ�Q˜�F Ô'ØÜ×!Ñ!¨g°uÐ-=ÀtÔLô	€Hô ×Ñ˜6 8Õ,r   c                 ód  — t        ddgg d¢¬«      }t        t        ddgg d¢¬«      ddgdœ«      }|j                  d| |¬	«      }|j                  «       }| rt        d
ddgi|¬«      }n!t	        g d¢g d¢«      }t        d
g d¢i|¬«      }d|j
                  _        t        j                  ||«       y )NrS   rT   r0  r/  rU   r>   )rr   ra   rr   )rD   rn  ra   r[   )rU   r>   r   )	r   r   rF   r;   r   r%   rZ   r¨   r©   )rD   rn  r  rI   rÈ   r#   rÅ   r%   s           r   Útest_groupby_categorical_dropnar  c  sŸ   € ä
�q˜!�fªÔ
3€CÜ	œ a¨ Vº	ÔBÈ!ÈQÈÑPÓ	Q€BØ	�‰�C (°6ˆÓ	:€BØ�V‰V‹X€FáÜ˜c A q 6˜]°#Ô6‰ä ¢ªIÓ6ˆÜ˜c¢9Ð-°UÔ;ˆØ€H‡N�NÔä×Ñ˜& (Õ+r   Ú
index_kind)rä   ÚsingleÚmultic                 ó¾  — |dk(  r4|s2d}| j                  t        j                  j                  |¬«      «       n|dk7  r|st        j                  d¬«       t        t        g d¢g d¢|¬«      t        d	«      d
œ«      }|dk(  rdg}	n<|dk(  rdg}	|j                  |	«      }n"|dk(  rddg}	|d   |d<   |j                  |	«      }t        ||«      }
|j                  	|||¬«      }|s8|dv r4t        j                  t        d¬«      5   t        ||«      |
Ž  d d d «       y  t        ||«      |
Ž }|r&|j                  j                  d«      j                   }n|d   j"                  j                   }t%        g d¢«      }t'        j(                  ||«       |dk(  r<|j                  j                  d«      j                   }t'        j(                  ||«       y y # 1 sw Y   y xY w)Nr*   zDGH#49950 - corrwith with as_index=False may not have grouping columnr  rä   ú/Result doesn't have categories, nothing to test©rT   rS   rT   rU   ©rS   r>   rU   rT   r   r>   rW   r   r�  r‚  r9  r;  r  r  rx   )r#  ro  r!  r"  r  r   r   rä   r  r   rF   rp  rq  rš  r%   rÁ   r   r  r   r¨   r¿   )r(  r  r¡   rD   r  r€  r   rË   rI   rA  r$   rÈ   Ú	op_resultr#   rÅ   s                  r   Útest_category_order_reducerrˆ  t  sÃ  € ð ˜Ò#©HØTˆØ×ÑœFŸK™K×-Ñ-°SÐ-Ó9Õ:Ø	�wÒ	¡xÜ�‰ÐLÕMÜ	äš\²lÈGÔTÜ�q“ñ	
ó
€Bð �WÒØˆu‰Ø	�xÒ	ØˆuˆØ�\‰\˜$Ó‰Ø	�wÒ	Ø�Tˆ{ˆØ�c‘7ˆˆ4‰Ø�\‰\˜$ÓˆÜ" >°2Ó6€DØ	�‰�D 8°$ÀˆÓ	J€Bá˜Ð*>Ñ>ä�]‰]ÜÐHö
ð (ŒG�B˜Ó'¨Ñ.÷
ð 	à+”˜˜NÓ+¨TÐ2€IÙØ—‘×1Ñ1°#Ó6×AÑA‰à˜3‘×#Ñ#×.Ñ.ˆÜ’\Ó"€HÜ×Ñ˜& (Ô+à�WÒØ—‘×1Ñ1°$Ó7×BÑBˆÜ
×Ñ˜f hÕ/ð ÷
ð 	ús   ÄGÇGr�  r‚  c                 ó²  — t        t        g d¢g d¢|¬«      t        d«      dœ«      }|dk(  rdg}|j                  |«      }n"|dk(  rdd	g}|d   |d	<   |j                  |«      }t	        ||«      }|j                  | ||¬
«      }	|dk(  rt        nd }
d}t        j                  |
|¬«      5   t        |	|«      |Ž }d d d «       j                  j                  d«      j                  }t        g d¢«      }t        j                  ||«       |dk(  r<|j                  j                  d	«      j                  }t        j                  ||«       y y # 1 sw Y   Œ“xY w)Nr…  r†  r   r>   rW   r�  r   r‚  r9  r;  ré  z%DataFrameGroupBy.fillna is deprecatedrx   )r   r   rä   r  r   rF   r²   r¨   r«   rš  r%   rÁ   r   r   r¿   )r  r¡   rD   Útransformation_funcr€  r   rI   rA  r$   rÈ   ÚwarnrË   r‡  r#   rÅ   s                  r   Útest_category_order_transformerrŒ  ¦  sD  € ô 
äš\²lÈGÔTÜ�q“ñ	
ó
€Bð �XÒØˆuˆØ�\‰\˜$Ó‰Ø	�wÒ	Ø�Tˆ{ˆØ�c‘7ˆˆ4‰Ø�\‰\˜$ÓˆÜ"Ð#6¸Ó;€DØ	�‰�D 8°$ÀˆÓ	J€BØ/°8Ò;�=À€DØ
1€CÜ	×	#Ñ	# D°Ö	4Ø4”G˜BÐ 3Ó4°dÐ;ˆ	÷ 
5à�_‰_×-Ñ-¨cÓ2×=Ñ=€FÜ’\Ó"€HÜ×Ñ˜& (Ô+à�WÒØ—‘×1Ñ1°$Ó7×BÑBˆÜ
×Ñ˜f hÕ/ð ÷ 
5Ð	4ús   Â+EÅEÚmethodÚheadÚtailc                 óx  — t        t        g d¢g d¢|¬«      t        d«      dœ«      }|dk(  rdg}n<|dk(  rdg}|j                  |«      }n"|d	k(  rdd
g}|d   |d
<   |j                  |«      }|j	                  | ||¬«      } t        ||«      «       }	|dk(  r|	d   j                  j                  }
n%|	j                  j                  d«      j                  }
t        g d¢«      }t        j                  |
|«       |d	k(  r<|	j                  j                  d
«      j                  }
t        j                  |
|«       y y )Nr…  r†  r   r>   rW   rä   r   r�  r‚  r9  r;  )r   r   rä   r  rF   rš  r  r   r%   rÁ   r   r¨   r¿   )r  r¡   rD   r�  r€  r   rI   rA  rÈ   r‡  r#   rÅ   s               r   Útest_category_order_head_tailr‘  È  s/  € ô 
äš\²lÈGÔTÜ�q“ñ	
ó
€Bð �WÒØˆu‰Ø	�xÒ	ØˆuˆØ�\‰\˜$Ó‰Ø	�wÒ	Ø�Tˆ{ˆØ�c‘7ˆˆ4‰Ø�\‰\˜$ÓˆØ	�‰�D 8°$ÀˆÓ	J€BØ#”˜˜FÓ#Ó%€IØ�WÒØ˜3‘×#Ñ#×.Ñ.‰à—‘×1Ñ1°#Ó6×AÑAˆÜ’\Ó"€HÜ×Ñ˜& (Ô+à�WÒØ—‘×1Ñ1°$Ó7×BÑBˆÜ
×Ñ˜f hÕ/ð r   )rH   rý   rª   c                 óV  — |dk(  r|dk(  s| s|dk7  rt        j                  d«       t        t        g d¢g d¢|¬«      t	        d«      dœ«      }|dk(  rd	g}n<|d
k(  rd	g}|j                  |«      }n"|dk(  rd	dg}|d	   |d<   |j                  |«      }|j                  | ||¬«      }|dk(  r|dk(  rt        nd }	d}
t        j                  |	|
¬«      5   t        ||«      d„ «      }d d d «       |dk(  s| s|dk(  rd	   j                  j                  }n%j                  j                  d	«      j                  }t        g d¢«      }t        j                   ||«       |dk(  r<|j                  j                  d«      j                  }t        j                   ||«       y y # 1 sw Y   Œ¹xY w)Nrª   rä   z(No categories in result, nothing to testr…  r†  r   r>   rW   r   r�  r‚  r9  r;  rH   rw   rx   c                 ó&   — | j                  d¬«      S )NTrh   )r;   rq   s    r   rs   z+test_category_order_apply.<locals>.<lambda>  s   € °!·%±%ÀT°%Ô2Jr   )ro  r  r   r   rä   r  rF   r¬   r¨   r«   rš  r  r   r%   rÁ   r   r¿   )r  r¡   rD   r�  r€  r   rI   rA  rÈ   r‹  rË   r‡  r#   rÅ   s                 r   Útest_category_order_applyr”  ì  s›  € ð
 	�+Ò *°Ò"7Ù˜ wÒ.ä�‰Ð>Ô?Ü	äš\²lÈGÔTÜ�q“ñ	
ó
€Bð �WÒØˆu‰Ø	�xÒ	ØˆuˆØ�\‰\˜$Ó‰Ø	�wÒ	Ø�Tˆ{ˆØ�c‘7ˆˆ4‰Ø�\‰\˜$ÓˆØ	�‰�D 8°$ÀˆÓ	J€BØ!'¨7Ò!2°zÀWÒ7LÕÐRV€DØ
C€CÜ	×	#Ñ	# D°Ö	4Ø'”G˜B Ó'Ñ(JÓKˆ	÷ 
5à�+Ò¡X°:ÀÒ3HØ˜3‘×#Ñ#×.Ñ.‰à—‘×1Ñ1°#Ó6×AÑAˆÜ’\Ó"€HÜ×Ñ˜& (Ô+à�WÒØ—‘×1Ñ1°$Ó7×BÑBˆÜ
×Ñ˜f hÕ/ð ÷ 
5Ð	4ús   ÃFÆF(c                 ó  — |dk7  r| st        j                  d¬«       t        j                  ddd«      }t	        g d¢||¬«      }t        |t        d«      d	œ«      }|dk(  rd
g}n<|dk(  rd
g}|j                  |«      }n"|dk(  rd
dg}|d
   |d<   |j                  |«      }|j                  | |d¬«      }|j                  «       }	|rg d¢ng d¢}
t        |
|j                  |d
¬«      }| rAt        d|
i«      }|dk(  r't        j                  t        ||dœ«      «      |_        nF||_        n>|dk(  r"t        t        |«      t        |«      |
dœ«      }nt        t        |«      |
d	œ«      }t!        j"                  |	|«       y )Nrä   r„  r  i'  rZ  r…  r   r>   rW   r   r�  r‚  r9  Tr;  )rU   rT   rS   )rT   rS   rU   )r   r   rZ   rN   )r   r9  )r   r9  rN   )ro  r  r   r   r   r   rä   r  rF   r;   r   r   r   Ú
from_framer%   r	   r¨   r©   )r  r¡   r€  r   r   ÚgrouperrI   rA  rÈ   r#   rÃ   r%   rÅ   s                r   Útest_many_categoriesr˜    sn  € ð �WÒ¡XÜ�‰ÐLÕMÜ—‘˜4  RÓ(€JÜš,°:ÀwÔO€GÜ	˜¤u¨Q£xÑ0Ó	1€BØ�WÒØˆu‰Ø	�xÒ	ØˆuˆØ�\‰\˜$Ó‰Ø	�wÒ	Ø�Tˆ{ˆØ�c‘7ˆˆ4‰Ø�\‰\˜$ÓˆØ	�‰�D 8°$ÀˆÓ	F€BØ�V‰V‹X€Fñ ‹9¢)€DäØ˜×+Ñ+°WÀ3ô€Eñ Ü˜c 4˜[Ó)ˆØ˜Ò Ü'×2Ñ2´9À5ÐPUÑ=VÓ3WÓXˆH�Nà"ˆH�NØ	�wÒ	Ü¤6¨%£=¼¸u»ÈDÑQÓR‰ä¤6¨%£=°tÑ<Ó=ˆä×Ñ˜& (Õ+r   Úcat_columnsrA  c                 ó  — t        g d¢g d¢dœ«      }||    j                  d«      || <   d}t        | «      t        |«      z  rt        nd }t	        j
                  ||¬«      5  |j                  |«       d d d «       y # 1 sw Y   y xY w)NrU  )r>   rV   rè   rg   rW   r+  z+The default of observed=False is deprecatedrx   )r   r¯   Úsetr²   r¨   r«   rF   )r™  rA  rI   rË   Úklasss        r   Útest_groupby_default_deprr�  =  so   € ô 
šªLÑ9Ó	:€BØ˜‘o×,Ñ,¨ZÓ8€B€{�OØ
7€CÜ  Ó-´°D³	Ò9�M¸t€EÜ	×	#Ñ	# E°Ö	5Ø
�
‰
�4Ô÷ 
6×	5Ñ	5ús   Á"A=Á=BÚa1c                 ó  — |r-|dk(  r(t        t        d«      rJ ‚t        j                  d«       n�|dk(  r2d}| j	                  t        j
                  j                  |¬«      «       nJ|dk(  rE|sCt        |«      dk7  r5|s3|s1d}| j	                  t        j
                  j                  |¬«      «       t        g d¢g d	¢g d
¢dœ«      }|j                  dddœ«      }d|vr|j                  d¬«      }|j                  |||¬«      }|r|d   }t        ||«      }	|sD|dv r@|ddgk(  r9t        j                  t        d¬«      5   |j                  |gg|	¢­Ž  d d d «       y  |j                  |gg|	¢­Ž }
 t!        ||«      |	Ž }|r|s|dk(  r|j#                  |«      }|s>t%        j&                  |j(                  d d D �cg c]  }|df‘Œ c}d|fgz   «      |_        n|s||gz   |_        t+        j,                  |
|«       y # 1 sw Y   y xY wc c}w )Nr*   z*corrwith not implemented for SeriesGroupByz1GH#32293: attempts to call SeriesGroupBy.corrwithr  r4   rS   zGH#52848 - raises a ValueError)r   r   rS   )rT   rU   rU   r8  )rž  r9  rN   r+  )rž  r9  r9  rl   rŽ  rN   r  rž  r  rx   r8   rZ  Ú )r  r   ro  r  r#  r!  r"  r   r   r¯   r?  rF   r   rp  rq  rý   rš  rW  r   Úfrom_tuplesrm   r¨   r@  )r(  r  rD   r  r:  rA  rË   rI   rÈ   r$   r#   rÅ   Úinds                r   Útest_agg_listr£  I  s  € ñ �~¨Ò3Üœ=¨*Ô5Ð5Ð5Ü�‰Ð@ÕAØ	˜:Ò	%ØAˆØ×ÑœFŸK™K×-Ñ-°SÐ-Ó9Õ:à˜)Ò#ÙÜ�‹I˜ŠNÙÙà.ˆØ×ÑœFŸK™K×-Ñ-°SÐ-Ó9Ô:ä	š)ª9º9ÑEÓ	F€BØ	�‰˜*¨JÑ7Ó	8€BØ�4ÑØ�W‰W˜TˆWÓ"ˆØ	�‰�t h¸ˆÓ	B€BÙØ�‰WˆÜ" >°2Ó6€Dá˜Ð*>Ñ>À4ÈDÐRVÈ<ÒCWÜ�]‰]ÜÐHö
ð ˆB�F‰F�NÐ#Ð+ dÓ+÷
ð 	àˆR�V‰V�^Ð$Ð, tÒ,€FØ*Œw�r˜>Ó*¨DÐ1€Há‘[ N°fÒ$<Ø×$Ñ$ ^Ó4ˆÙÜ%×1Ñ1Ø"*×"2Ñ"2°3°BÑ"7Ó8Ñ"7˜3ˆc�2ŠYÐ"7Ñ8¸SÀ.Ð<QÐ;RÑRó
ˆÕñ Ø >Ð"2Ñ2ˆÔä‡O�O�F˜HÕ%÷%
ð 	üò 9s   Ä?G>Æ<H
Ç>H)hr   Únumpyr   ro  Úpandasr°   r   r   r   r   r   r	   r
   Úpandas._testingÚ_testingr¨   Úpandas.api.typingr   Úpandas.tests.groupbyr   r§   r&   r%  rK   rÛ   ræ   ró   r!  Úparametrizerþ   r  r%  r-  r6  rD  rF  rI  rM  rT  rX  r^  ra  rl  rs  rä   Úrenamerx  r„  r‰  r“  r�  r   r¦  r³  r¼  r¿  rÇ  rÉ  rÐ  rñ   rÓ  ÚNaTr×  ÚfixturerÙ  rã  rë  r   rï  rñ  rø  rÿ  r  r  r+  r6  r9  r<  r4   r)   r?  rB  rG  rK  rR  rX  r_  ri  r,  Úboolrn  rp  rt  rv  rx  r}  r  rˆ  rŒ  r‘  r”  r˜  r�  r£  rp   r   r   Ú<module>r¯     s  ðÝ ã Û ã ÷÷ ñ õ Ý +Ý 8ð DFÇ6Á6ó Eð"1ð 
ˆ2�6‰6ð1ð 
ˆ2�6‰6ð1ð ˆQð1ð �—‘ð1ð ˆR�V‰Vð1ð ˆb�f‰fð1ð ˆb�f‰fð1ð ˆB�F‰Fð1ð 
ˆ2�6‰6ð1ð  ˆB�F‰Fð!1ð" ˆb�f‰fð#1ð$ 
ˆ2�6‰6ð%1ð& 
ˆ2�6‰6ð'1ð( ˆqð)1ð* ˆB�F‰Fð+1ð, �—‘ð-1ð. 
ˆ2�6‰6ð/1ð0 Ø�F‰FØ�6‰6ØØ�6‰6ò91Ð -ò@(òdòN,ò<-ð, ‡�×Ñ˜ T¨5 MÓ2ñ!-ó 3ð!-òHk,ò\,ò(Eò*+ð* ‡�×ÑØ2à	ŠjÑ*ª9¸3Ô?Ð@à�#ˆJÚ'Ùši¨cÔ2±Eº)Ó4DÐEð	
ð �$ˆKÚ(á ¢°Ô5Ù ¢°Ô5ðð	
ðóð& ‡�×Ñ˜¨¨u¨Ó6ñ&ó 7ó'ð(&òD+ò*-ò,ð( ‡�×Ñ˜ T¨5 MÓ2Ø‡�×Ñ˜ d¨E ]Ó3Ø‡�×Ñ˜ $¨ Ó/ñó 0ó 4ó 3ðò@(òV,ò2ò -ò&$ð ‡�×ÑØˆvÐñ 
‘�a“Ó	 ! Q ¨q°!¨fÑ5Ð6ñ 
‘�a“Ó	×	 Ñ	 Ñ!4Ó	5¸a¸SÈÈ1ÀvÑ7NÐOá	‘�a“Ó	 ! Q ¨q°!¨fÑ5Ð6ðóñ-óð-ò90òxò<1ðB ‡�×ÑØà	�8˜WÐ%Ð&Ø	�(˜GÐ$Ð%Ø	�˜7Ð#Ð$Ø	�˜7Ð#Ð$ð	óñ-óð-ò&"-òJ-ò%ð, ‡�×Ñ˜ T¨5 MÓ2ñ,ó 3ð,ðD ‡�×Ñ˜ T¨5 MÓ2ñ/,ó 3ð/,òd-ò8-ò0,ð2 ‡�×ÑØð ÙØ,�j×,Ñ,ÙšI¨ZÔ8º)ÐDÈSÐRUÈJôò Øôð		
ð Ùá¢	°Ô<Ú"Ú"ñóð		
ðóñ2&ó3ð2&ð ‡�×Ñ˜¨¨b¯f©f°b·f±fÐ'=Ó>ñ#ó ?ð#ð ‡�ñó ðð0 ‡�×Ñ˜ u¨gÐ&6Ó7ñ-ó 8ð-ð  ‡�×Ñ˜ u¨gÐ&6Ó7Ø‡�×Ñ˜ e¨T ]Ó3ñ-ó 4ó 8ð-ð0 ‡�×ÑØð Ø"ˆJ×"Ñ"á˜5˜' A™+¨¨°!©Ñ3¸:ÈCÔPÙÚTØ(Ø ôñ
 ˜5 %˜.¨1Ñ,Ó-ðó
ò %ð	
ð  Ø#ˆJ×#Ñ#á$ e¨U ^¸UÔCÙ$Ò%<ÀeÔLÙ˜5 %˜.Ó)ðò
 'ôð ��1�a˜Ÿ™ §¡¨¨A¨r¯v©v°r·v±v¸qÀ!ÐDð	
ð Ø#ˆJ×#Ñ#á$ e¨U ^¸UÔCÙ$Ò%<ÀeÔLÙ˜5 %˜.Ó)ðò
 'ôð ��1�a˜Ÿ™ §¡¨¨A¨r¯v©v°r·v±v¸qÀ!ÐDð	
ð9(ó+ñX-óY+ðX-ò-ð ‡�×Ñ˜¢9²	Ð!;Ó<ñ,ó =ð,ò,ò"
ò#*òL17òh$ð4 ‡�×Ñ˜ e¨T ]Ó3ñ'Bó 4ð'BòT	-ð ‡�×ÑØØ‡n�n’iÐ  6§<¡<²Ð";Ð<óñ,ó	ð,ò",ð ‡�×Ñ˜ '¨6Ð!2Ó3ñ-ó 4ð-ò	,ò*,òZ,ò,,ò65,ðp ‡�×Ñ˜ '¨6Ð!2Ó3ð-Ø
ð-Øò-ó 4ð-ð0 ‡�×Ñ˜ '¨6Ð!2Ó3ð,Ø
ð,Øò,ó 4ð,ò0@ð( ‡�×Ñ˜ '¨6Ð!2Ó3ñ-ó 4ð-ò-ò-ò$,ð" ‡�×Ñ˜Ò'CÓDØ‡�×Ñ˜ T¨5 MÓ2ñ-0ó 3ó Eð-0ð` ‡�×Ñ˜¨°'Ð':Ó;Ø‡�×Ñ˜ T¨5 MÓ2ñ0ó 3ó <ð0ð@ ‡�×Ñ˜Ò'CÓDØ‡�×Ñ˜ F¨FÐ#3Ó4Ø‡�×Ñ˜ T¨5 MÓ2ñ0ó 3ó 5ó Eð0ðB ‡�×Ñ˜Ò'CÓDØ‡�×Ñ˜Ò#@ÓAØ‡�×Ñ˜ T¨5 MÓ2ñ#0ó 3ó Bó Eð#0ðL ‡�×Ñ˜Ò'CÓDñ$,ó Eð$,ðN ‡�×Ñ˜¨¨c°C¸°:Ð(>Ó?Ø‡�×Ñ˜ # s¨S°#¨JÐ!7Ó8ñó 9ó @ðð ‡�×Ñ˜¨¨u¨Ó6Ø‡�×Ñ˜ 4 &¨4°¨,Ð!7Ó8ñ.&ó 9ó 7ñ.&r   