Ë
    ômxiD% ã                   óR  — 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ej.                  j1                  d«      d„ «       Zd„ Zd„ Zd„ Zej.                  j;                  ddd g«      d!„ «       Zej.                  j1                  d«      d"„ «       Zd#„ Z d$„ Z!d%„ Z"ej.                  j;                  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j.                  j;                  d0dd g«      d1„ «       «       Z#d2„ Z$d3„ Z%d4„ Z&ej.                  j;                  ddd g«      ej.                  j;                  d5dd g«      ej.                  j;                  d6dd g«      d7„ «       «       «       Z'd8„ Z(d9„ Z)d:„ Z*d;„ Z+d<„ Z,ej.                  j;                  d=d>g e e-d?«      «      d d@gdAdBgdCœf e e-d?«      «      j]                  dD„ «      dBgd dAgdCœf e e-dE«      «      d d@gdAdBgdCœfg«      dF„ «       Z/dG„ Z0dH„ Z1dI„ Z2ej.                  j;                  dJddKdgfddLdMgfddLdgfddKdMgfg«      dN„ «       Z3dO„ Z4dP„ Z5dQ„ Z6ej.                  j;                  ddd g«      dR„ «       Z7ej.                  j;                  ddd g«      dS„ «       Z8dT„ Z9dU„ Z:dV„ Z;ej.                  j;                  dWd e e
jx                   eg dX¢dY¬Z«      g d[¢gd'd+g¬\«      g d)¢d]¬^«      fd  e eg dX¢dY¬Z«      g d[¢g d)¢d_œ«      fg«      d`„ «       Z=ej.                  j;                  dadej(                  ej|                  g«      db„ «       Z?ej€                  dc„ «       ZAej.                  j;                  dddedfg«      dg„ «       ZBej.                  j;                  dddedfg«      ej.                  j;                  d5d dg«      dh„ «       «       ZCej.                  j;                  did e
jx                   e	djgd?z  dkgd?z  z   dYdl¬m«       e	g dn¢dYdo¬m«       e	ddgd?z  «      g«      g dp¢fd  e
jˆ                   edjdkgd ¬q«       eg dr¢d ¬q«       e	ddg«      gg ds¢¬\«      dBdBd?d?ej(                  ej(                  dAdAej(                  ej(                  d@d@gfd e
jˆ                   edjdkgd ¬q«       eg dr¢d ¬q«       e	ddg«      gg ds¢¬\«      dBdBd?d?ej(                  ej(                  dAdAej(                  ej(                  d@d@gfg«      dt„ «       ZEdu„ ZFej.                  j;                  dvg dw¢g dx¢g«      dy„ «       ZGdz„ ZHd{„ ZId|„ ZJd}„ ZKd~„ ZLej.                  j;                  d5d dg«      d„ «       ZMej.                  j1                  d«      d€„ «       ZNej.                  j;                  d�ejž                  g dX¢fej                   g d[¢fg«      d‚„ «       ZQdƒ„ ZRej.                  j;                  d„ddg«      d…„ «       ZSd†„ ZTd‡„ ZUdˆ„ ZVd‰„ ZWdŠ„ ZXej.                  j;                  d„ddg«      d„eYd5eZfd‹„«       Z[ej.                  j;                  d„ddg«      d„eYd5eZfdŒ„«       Z\d�„ Z]ej.                  j;                  d„ddg«      dŽ„ «       Z^d�„ Z_d�„ Z`d‘„ Zaej.                  j;                  d’g d“¢«      ej.                  j;                  ddd g«      d”„ «       «       Zbej.                  j;                  d’d•d–g«      ej.                  j;                  ddd g«      d—„ «       «       Zcej.                  j;                  d’g d“¢«      ej.                  j;                  d˜d™dšg«      ej.                  j;                  ddd g«      d›„ «       «       «       Zdej.                  j;                  d’g d“¢«      ej.                  j;                  d˜g dœ¢«      ej.                  j;                  ddd g«      d�„ «       «       «       Zeej.                  j;                  d’g d“¢«      dž„ «       Zfej.                  j;                  dŸd'd+d'd+gg«      ej.                  j;                  d d'd+d'd+gg«      d¡„ «       «       Zgej.                  j;                  d0dd g«      ej.                  j;                  d d¢gd¢d.gg«      d£„ «       «       Zhy)¤é    )ÚdatetimeN)ÚCategoricalÚCategoricalIndexÚ	DataFrameÚIndexÚ
MultiIndexÚSeriesÚqcut)ÚSeriesGroupBy)Úget_groupby_method_argsc                 ó@  — d„ }t        j                  t        ||«      |¬«      }t        |t        «      rJi }| j
                  D ]  }| |   j                  |||   ¬«      ||<   Œ  t        ||¬«      j                  «       S | 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     ú\/home/htdocs/ttos/venv/lib/python3.12/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©Úindex)	r   Úfrom_productÚmapr   ÚdictÚcolumnsÚreindexr   Ú
sort_index)ÚresultÚargsr   r   r   r    ÚresÚcols           r   Úcartesian_product_for_groupersr+      sš   € ò
ô ×#Ñ#¤C¨¨4£L¸Ô>€EÜ�*œdÔ#ð ˆØ—>‘>ò 	NˆCØ˜c‘{×*Ñ*¨5¸ZÈ¹_Ð*ÓMˆC�ŠHð	Nä˜ EÔ*×5Ñ5Ó7Ð7à�>‰>˜%¨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Úvarz7ignore:invalid value encountered in cast:RuntimeWarningc                 óÊ   — 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©r7   r4   r.   r5   rE   )Úgroups    r   Ú	get_statsz2test_apply_use_categorical_name.<locals>.get_statsR   s0   € à—9‘9“;Ø—9‘9“;Ø—[‘[“]Ø—J‘J“Lñ	
ð 	
r   F©Úobservedr   ÚC)r
   rJ   ÚgroupbyÚDÚapplyr    r   )ÚdfÚcatsrG   r'   s       r   Útest_apply_use_categorical_namerP   N   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                   t"        |¬$«      5  |j4                  j                  |d¬«      j                  t        «      }d d d «       t        j6                  ||d
   «       t        j6                  |j4                  j                  |d¬«      j                  d+„ «      |d
   «       d,}t        j                   t"        |¬$«      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                   t"        |¬$«      5  |j                  t8        «      }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        j6                  |j4                  j                  |d¬«      j?                  t        j@                  «      |d
   «       t        j                  |j                  |d¬«      j?                  t        j@                  «      |«       t        d
g d2¢i«      }t1        j2                  |j4                  g d3¢¬)«      }d*}t        j                   t"        |¬$«      5  |j4                  j                  |d¬«      j                  t        «      }d d d «       t        j6                  ||d
   «       t        j6                  |j4                  j                  |d¬«      j                  d4„ «      |d
   «       d,}t        j                   t"        |¬$«      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%                  tB        «      }t        |jD                  jF                  |jD                  jH                  ¬9«      }t        g d6¢|¬«      }d
|j*                  _%        t        j6                  ||«       g d:¢}t        jL                  jO                  d«      jQ                  d!dd;¬<«      }t        jR                  ||d¬9«      }t        t        jL                  jO                  d«      jU                  d=«      «      }|j                  |d¬«      j                  «       }|j                  t	        jV                  |«      d¬«      j                  «       }t        ||jF                  d¬«      }
|jY                  |
«      }t        j                  ||«       |j                  |d¬«      }|j[                  «       }|j\                  j_                  «       }t	        jV                  |«      ja                  |«      }|ja                  |«      }t        |dg d:¢¬>«      }|j                  |dd¬?«      j[                  «       }t        j                  ||«       t        jR                  t	        jb                  d«      je                  d@«      |d¬9«      }t        |«      }t        jf                  |ji                  d¬A«      j*                  jk                  d!«      |«       t)        g dB¢dz  «      }t        jf                  |ji                  d¬A«      j*                  jk                  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   ÚbrS   rS   ÚcrT   rT   ©r   rS   rT   ÚdTr   ©	é   rX   rX   é   rY   rY   é   rC   é   ©r   rS   ÚabcdrS   ©Únamer   r   rX   rY   rC   r   FrH   ©r   r   rS   rS   ©r   rS   Úz©rT   rV   rT   rV   ©rT   rV   Úy©rX   rY   rZ   rC   ©ÚAÚBÚvaluesrh   rj   )rZ   é   r   ©Únumeric_onlyzJohn P. Doez	Jane DoveÚ	person_idÚperson_name©r$   c                 ó   — | S ©N© ©Úxs    r   ú<lambda>ztest_basic.<locals>.<lambda>~   s   €  1€ r   r   c                 ó>   — | j                  d«      j                  d   S )Nro   r   )Údrop_duplicatesÚilocrt   s    r   r   ztest_basic.<locals>.f…   s   € Ø× Ñ  Ó/×4Ñ4°QÑ7Ð7r   ú7DataFrameGroupBy.apply operated on the grouping columns©Úmatch©r_   Ústr)r[   é   é   )r   é
   é   é   é(   )Úbinsúusing SeriesGroupBy.sumc                 ó,   — t        j                  | «      S rr   ©r   r@   ©Úxss    r   rv   ztest_basic.<locals>.<lambda>�   ó   € ¼R¿V¹VÀB»Z€ r   zusing DataFrameGroupBy.sumc                 ó0   — t        j                  | d¬«      S ©Nr   ©Úaxis©r   r4   r‰   s    r   rv   ztest_basic.<locals>.<lambda>§   s   € ¤b§f¡f¨R°aÔ&8€ r   c                 ó0   — t        j                  | d¬«      S r�   r�   r‰   s    r   rv   ztest_basic.<locals>.<lambda>ª   s   € ¤r§v¡v¨b°qÔ'9€ r   zusing DataFrameGroupBy.maxc                 ó@   — t         j                  j                  | «      S rr   )r   ÚmaximumÚreducer‰   s    r   rv   ztest_basic.<locals>.<lambda>°   s   € ¤r§z¡z×'8Ñ'8¸Ó'<€ r   )Úcheck_dtype)r[   r   r€   éûÿÿÿ)iöÿÿÿr   r�   r‚   rƒ   r„   c                 ó,   — t        j                  | «      S rr   rˆ   r‰   s    r   rv   ztest_basic.<locals>.<lambda>Å   r‹   r   c                 ó,   — t        j                  | «      S rr   rˆ   r‰   s    r   rv   ztest_basic.<locals>.<lambda>Ï   s   € ¼2¿6¹6À"»:€ r   )rX   r   r   r   ©r   rX   rY   rZ   rC   )Úlabels©r   ©ÚfooÚbarÚbazÚquxéd   ©r=   ©r¡   rC   )r   r   ©ÚsortrI   é   ©Úfuture_stack©r.   r5   r?   r7   z25%z50%z75%r4   )6r   r   r   Úlistr   ÚnanrK   r5   ÚtmÚassert_frame_equalr	   r@   ro   Ú	transformrx   ry   Úassert_produces_warningÚFutureWarningrM   Úcopyr   r    ÚobjectÚastypeÚpdÚcutr   Úassert_series_equalr4   r“   r”   Úfilterr,   r   rj   r   r   r_   ÚrandomÚdefault_rngÚintegersr   Ústandard_normalÚasarrayr%   ÚdescribeÚcodesÚargsortÚtaker   ÚrepeatÚassert_index_equalÚstackÚget_level_values) Úusing_infer_stringrO   ÚdataÚ	exp_indexÚexpectedr'   Úcat1Úcat2rN   ÚgbÚexp_idxru   Úgr   ÚmsgÚdtyperT   ÚgbcÚresult2Úresult3Úresult4Úresult5Úlevelsr¾   ÚgroupedÚdesc_resultÚidxÚ
ord_labelsÚord_dataÚexp_catsÚexpcÚexps                                    r   Ú
test_basicrÞ   ^   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Ü	×	#Ñ	#¤M¸Ô	=ñ Ø—‘˜“ˆ÷à�v‰v�q˜!�f‰~×"Ñ"Ó$€HÜ˜A˜q˜6¨Ô4€H„NÙ'‰E¬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ñ ú÷@ñ @ú÷>ñ >ú÷%ñ %ú÷&@ñ @ú÷>ñ >ú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)NrY   é   r   rS   r�   r   r[   rX   ÚIndex1ÚIndex2)rÕ   r¾   r   ©rÆ   r    ©ÚlevelrI   é   z&you will need to pass a length-1 tupler{   )r   r   r   r   r   ÚrangerK   r¬   r¯   r°   Ú	get_groupr­   )rI   rN   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 )Nrh   é   ri   )ÚhighÚmedÚlowrC   g      (@)rF   ÚdoseÚoutcomes)rî   rí   rì   Tr   rF   rï   r   )rå   Úsort_remaining)rî   rí   rì   rî   rí   rì   )rh   rh   rh   ri   ri   ri   r   rY   r.   ©r    r_   )r   r   r   r   rï   rK   Úvalue_countsr&   r   r   Úfrom_arraysr	   r¬   r¶   ©rN   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   rS   r   )ÚmissingÚdenserj   rú   rû   TrH   r   )r   rX   ç       @rj   )r    r$   c                 ó0   — t        j                  | d¬«      S r�   )r   r5   rt   s    r   rv   ztest_apply.<locals>.<lambda>I  s   € ¤R§W¡W¨Q°QÔ%7€ r   zusing DataFrameGroupBy.meanr{   rX   r   rz   c                  ó   — y©NrX   rs   rt   s    r   rv   ztest_apply.<locals>.<lambda>Z  s   � r   )r   rª   r   r   r   r   rK   r   rô   rM   r¬   r­   r5   r¯   r°   Úaggr	   r¶   )
r   rû   rú   rj   rN   rÖ   rØ   rÈ   r'   rÎ   s
             r   Ú
test_applyr  9  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Ü	×	#Ñ	#¤M¸Ô	=ñ ,Ø—‘™{Ó+ˆ÷,ä×Ñ˜6 8Õ,÷&ð &ú÷,ð ,ú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«      |rdddœnd¬«      }t        j                  ||«       |d   j                  «       }|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 d0¢g d1¢d2œ}	t        |	«      }t-        j.                  |d	   t1        j2                  dd3d4«      «      }||d5<   |j                  d5d6gd7| ¬8«      }|j!                  d)«      }|j                  d5d6gd| ¬8«      }|j!                  d)«      j5                  «       }t        j                  ||«       y )9Nr`   ra   Tr   rc   rd   rf   rg   r�   rž   rY   rJ   )rh   ri   rJ   rH   r   rj   r   ÚABCr   r   rh   ri   )r�   rž   r�   rž   )rj   rJ   ÚABÚ )r   rS   r   rS   ©r   rS   rT   ©rX   rX   rY   rY   ©r�   r‚   rƒ   r„   )ÚcatÚintsÚvalr	  Úabrø   )r_   r   r   g      ø?ç      4@rƒ   )r
  r  r
  r5   )ç      $@g      >@r  g      D@©rX   rY   rX   rY   )r  r	  r
  rX   ))r   rX   )rS   rY   )rS   rX   )r   rY   )r�   r¦   rC   r¦   rC   rX   rX   ©r�   r‚   rƒ   r„   é2   é<   éF   )rV   rT   Úer   r   rV   rT   ©r�   rž   rŸ   r�   rZ   rç   rŸ   F©Úas_indexrI   )r   r   rK   r   rô   r	   r&   r@   r+   rª   r¬   r­   r¶   r5   r   r%   r   Ú	set_indexr	  rj   rè   r
  r´   rµ   r   ÚlinspaceÚreset_index)rI   rÅ   rÉ   rÊ   rN   rË   rÇ   rÈ   r'   rV   Úgroups_single_keyr    Úgroups_double_keyÚkeyrT   Úir	  ÚgroupsÚgroups2s                      r   Útest_observedr!  ^  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ØØ�4ˆLÜ�‹JÙ1C !¨"Ò-Èô	
ˆô ×Ñ˜& (Ô+à�‰W�[‰[‹]€FØ˜‰}€HÜ×Ñ˜6 8Ô,ô Ú ª_À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ò 0ˆØ‰ˆˆ1Ø"×,Ñ,¨SÓ1ˆØ�r—v‘v ‘{ r§w¡w°!¡|Ñ4Ñ5ˆÜ
×Ñ˜f hÕ/ð	0ò &Ú+Ú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)rZ   rZ   rC   r[   rf   )r�   r¡   éÈ   é"   )ÚC1ÚC2ÚC3r%  )rX   rY   rZ   rë   r	  r&  rH   r   )ç      @r(  g      @g      @)r  g      Y@g      i@g      A@)r%  r'  r   r5   )r   r´   rµ   r_   rK   r   rô   r+   rj   r   r¬   r­   )rI   rV   rN   rj   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 )NrY   r   éÿ   i0u  r¢   é'  )r	  Úint_idÚother_idr�   Úcategoryr	  )r	  r-  r.  TrH   rX   )r   r   r¸   r¹   rº   r	  r³   r~   rK   r.   r    rÕ   r9   r-  r.  )rN   rÖ   r'   s      r   Útest_observed_perfr0  è  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   rT   r   r  ©r   ©rX   rY   rZ   ©r	  Úvalsr	  rH   r   rY   Úint64©rÏ   rX   )r   rT   )r   r   rK   r  r   r¬   Úassert_dict_equal)rI   r	  rN   rÍ   r'   rÈ   s         r   Útest_observed_groupsr9  ý  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   r3  r}   rS   )	rk   r¦   r   r   r   r:  r   r   r   ©rC   r[   rë   Úa2)	r   r   r   r   r:  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©rX   rX   rY   r3  r2  r;  )rk   r¦   r:  )r   r<  rS   rT   r   r<  rS   rp   FrH   rT   rX   ©	r   r   r   rX   rX   rX   rY   rY   rY   rZ   ©r   rX   rY   )r¾   r   r   )
r   r   r  ÚdroprK   r@   r   r   r¬   Úassert_equal)
ÚkeysÚexpected_valuesÚexpected_index_levelsr=  rN   rË   r'   r    r¾   rÈ   s
             r   Útest_unobserved_in_indexrG    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   rS   rV   r2  r3  r4  r	  rH   r   rY   r6  r7  )	r   r   r   r«   rK   r  r   r¬   r8  )rI   rN   rÍ   r'   rÈ   s        r   Útest_observed_groups_with_nanrI  H  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  r2  r3  )r	  Úserr	  FrH   rK  r   )
r   r   r«   r	   r   rK   r8   ry   r¬   r¶   )r	  rK  rN   r'   rÈ   s        r   Útest_observed_nthrL  ]  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  r2  rf   )Ús1Ús2rN  rH   rY   )
r   r   r«   r	   r   rK   r0   r  r¬   r­   )rI   rN  rO  rN   r'   rÈ   s         r   Ú#test_dataframe_categorical_with_nanrP  h  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   rI   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)rV   r   rS   r   rV   rS   )r   rS   rú   rV   r   )Úlabelr  rR  )rI   r¥   r  r0   r²   r7  rú   zDLabels and aggregation results not consistently sorted
for (ordered=z, observed=z, sort=z
)
Result:
)	r   r	   r   rK   Ú	aggregater    ÚarrayÚisnar,   )	r   rI   r¥   rR  r  rN   r'   ÚaggrrÎ   s	            r   Ú0test_dataframe_categorical_ordered_observed_sortrW  |  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-01rC   )ÚperiodsrY   r   r¡   r¢   Tr›   r£   FrH   r   r¦   r§   r©   rX   )r´   Ú
date_ranger   r¸   r¹   rº   r   r   r   r»   rK   r5   r¼   r%   r   r    r¬   r­   r½   r¾   r¿   rÀ   rÂ   rÄ   r   rÁ   rÃ   r   )rÕ   r¾   rO   rÆ   r'   rÈ   rÖ   r×   rØ   rÙ   rÚ   rÜ   rÝ   s                r   Útest_datetimer[  Ÿ  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 )NrY   rœ   r   rC   r‚   r¢   Tr›   éÿÿÿÿr]   rp   rO   Frä   rH   ©r   rX   rY   rZ   r}   )r   r¸   r¹   rº   r   r   r   rÁ   r   Úreshaperª   r  rK   r@   r¾   r   r    r¬   r­   )ÚsrÕ   r¾   rO   rN   r'   rÈ   s          r   Útest_categorical_indexra  Ê  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   rY   )r‚   rC   rp   rf   r[   r§   )r   r   r   r¸   r¹   r»   rK   r½   r¬   rÂ   rÃ   r$   Úassert_categorical_equalrj   )rO   rN   r'   s      r   Ú!test_describe_categorical_columnsrd  ã  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�   rh   ri   r[   ÚXYXXYrY   )r   ÚmediumÚartistrg  r/  rh  FrH   r   ©r   r_   rë   rC   ÚXÚYr}   r   )r   rç   rª   r³   rK   r.   Úunstackr½   r   r¬   rÂ   r$   rc  rj   r	   r   r¶   )rN   Úgcatr'   Úexp_columnsrÈ   s        r   Útest_unstack_categoricalro  ó  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)NrX   rY   rZ   rC   z$Grouper and axis must be same lengthr{   )r	   r   r«   r´   rµ   Údropnarj   ÚpytestÚraisesÚ
ValueErrorrK   r5   )Úseriesr…   s     r   Útest_bins_unequal_lenrv    s€   € ä”R—V‘VœRŸV™V Q¨¨1¨a°°A°q¸!Ð<Ó=€FÜ�6‰6�&—-‘-“/×(Ñ(¨!Ó,€Dô 
�‰”zÐ)OÔ	Pñ $Ø�‰�tÓ×!Ñ!Ô#÷$÷ $ñ $ús   Á; B$Â$B-ru  rÆ   rC   rZ   rX   rY   ©rh   ri   c                 ó   — | dz   S rÿ   rs   )rØ   s    r   rv   rv     s
   € ¨S°1©W€ r   rk   c                 óð   — | j                  t        t        d«      d¬«      d¬«      }|j                  t        «      }t        |t	        |j                  «       «      ¬«      }t        j                  ||«       y )NÚABBAr/  r7  FrH   r   )rK   r	   rª   rS  r   rD  r¬   r¶   )ru  rÆ   rK   r'   rÈ   s        r   Útest_categorical_seriesr{    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©rX   rY   rY   r3  )r�   é   r~  )ée   éf   ég   )r	  rh   ri   r	  rh   FTr  rX   rY   r2  r�   r~  r  éÍ   rp   c                 ó&   •— ‰j                   | df   S )Nrh   )Úloc)ÚrrN   s    €r   rv   ztest_as_index.<locals>.<lambda>;  s   ø€ �"—&‘&˜˜C˜‘.€ r   z*A grouping .* was excluded from the resultr{   rà   )r   rS   rS   r}   )Nrj  ri   rø   )r   r   rK   r@   r	  r   r¬   r­   r¯   r°   r	   r   rª   r    )r'   rÈ   r   rÎ   r`  Úgroup_columnsr_   rN   s          @r   Útest_as_indexr‡  &  sA  ø€ ä	äš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¸Ô	=ñ MØ—‘˜U A˜J°À�ÓF×JÑJÓLˆ÷Mää  1˜v°"·&±&·*±*×2GÑ2GÔHØ�b�Ø�s�ñ	
ò
 "ô€Hô ×Ñ˜& (Ô+ô 	Š UÔ+€AØ
6€CÜ	×	#Ñ	#¤M¸Ô	=ñ MØ—‘˜U A˜J°À�ÓF×JÑJÓLˆ÷Mä×Ñ˜& (Ô+ð ˜C�L€MÜä  1˜v°"·&±&·*±*×2GÑ2GÔHØ�b�Ø�s�ñ	
ò
 "ô€Hð !ò 0ˆÜœ˜e›¨4Ô0ˆŒØ—‘˜M°EÀD�ÓI×MÑMÓOˆä
×Ñ˜f hÕ/ñ	0÷=Mñ Mú÷Mð Mú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ø   rh   ÚbaTr   ri  ÚbacFr¤   )	rª   r   r   r   r¬   rÂ   rK   r0   r    )r   rN   r&   Únosort_indexs       r   Útest_preserve_categoriesrŒ  b  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)rX   rY   rX   rX   rY   )r�   é   rà   é   r$  ÚabaabrŠ  Fr   T)rh   ri   r%  r&  rü   g      ð?g      9@r  )r%  r&  ©Úbyr  rI   rl   rp   )r   r   rª   r   r«   rK   r5   r  r%   r$   r¬   r­   )rN   Úexp_fullr*   Úresult1rÑ   rÈ   s         r   Útest_preserve_categorical_dtyper•  €  s2  € ä	â Ú%Üœ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ð ò 1ˆØ—*‘* ¨e¸e�*ÓD×IÑIØð Jó 
ˆð �J‰J˜#¨°uˆJÓ=ß‰T˜tˆTÓ$ß‰[‹]ð 	ð
 ×#Ñ#¨G¯O©OÐ#Ó<ˆÜ
×Ñ˜g xÔ0Ü
×Ñ˜g xÕ0ñ1r   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)r0   r–  r˜  r—  Tr›   )r]  éþÿÿÿr]  rš  )Úpayloadr*   r›  rš  r]  r7  r*   )
r   r   rK   Úgetattrr	   rÏ   r  r¬   r­   r¶   )Úfuncrj   rT   rN   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 )NrY   r:  r@  rA  Tr›   FrH   r   )	r   r   r   rX   rX   rX   rZ   rZ   rZ   r^  rR   rU   rW   r\   rS   r   rX   rC   )r	   r   r¸   r¹   r»   rT  r   r   rK   r5   r   r    r   r   r¬   r¶   r%   r   rj   r«   Úassert_numpy_array_equal)rÆ   r¾   rO   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 )NrZ   )Útrainr¤  Útestrw  rh   ri   r¥  r¤  r2  r²   ©rÏ   r_   rò   )r   r   rK   r0   r	   r¬   r¶   ©rN   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ÚvaluerY   r   r,  r¡   iô  z - ió  T)r’  Ú	ascendingi)  F)Úrightrš   Úvalue_grouprH   c                 ó:   — t        | j                  «       d   «      S )Nr   )ÚfloatÚsplitrt   s    r   rv   ztest_sort.<locals>.<lambda>  s   € ¬e°A·G±G³I¸a±LÓ.A€ r   )r  r}   )r   r   r¸   r¹   rº   rç   r   Úsort_valuesr´   rµ   rª  rK   r.   Úsortedr    r   r_   r¬   r¶   )rN   r  rš   Ú
cat_labelsr)   rÝ   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]r[   rƒ   )ú(5, 7.5]rë   r„   )r·  rC   r  )ú(0, 2.5]rX   r  )r¸  rk   r  )rç   r�   rž   rp   rç   r›   Fr¤   rX   r  r[   rƒ   rë   r„   r�   )r¹  r·  r¸  r¶  )r¶  r·  r¸  r¹  r�   rž   r^   ©r$   r    )r   r   rK   r0   r   r¬   r­   )r¥   r   rN   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Û  rk   rX   rY   r[   )r�   r¦   r[   rë   rC   rX   rk   r  )Údtr�   rž   rp   r¿  r›   r  rƒ   rë   r„   r�   r�   rž   r^   rº  Fr¤   )r   r   r   r   rK   r0   r¬   r­   )r¥   r   rN   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   rS   r  r2  ©rX   rY   rX   rw  rh   r}   FrH   )rZ   rX   r   ri   r   ©Ú	min_countrX   rZ   rY   )r   r   r   rK   ri   r@   r	   r¬   r¶   r   r«   ©rN   Úexpected_idxr'   rÈ   s       r   Útest_empty_sumrÈ  \  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  r2  rÃ  rw  rh   r}   FrH   )rY   rX   rX   ri   r   rÄ  rX   rY   )r   r   r   rK   ri   r:   r	   r¬   r¶   r   r«   rÆ  s       r   Útest_empty_prodrÊ  x  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Ú1minrZ   )ÚfreqrY  r:  )Úkey1Úkey2rj   rÏ  rÐ  FrH   r  r   rj   r   rC   r¦   r[   rë   rY   r   )r   r   rª   r´   rZ  r   r   rK   r5   r   r!   r«   r¬   r­   )rN   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/  r7  r}  r   ru   )r    rÆ   r_   ©r   rS   ru   c                 ó¾   — t        t        g d¢d¬«      g d¢g d¢dœ«      }|j                  ddg| d	¬
«      d   j                  «       }t	        j
                  ||«       y )Nr?  r/  r7  r}  r3  rÒ  r   rS   Tr  ru   )r   r	   rK   r@   r¬   rC  )r  rÈ   rN   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 )NrU   Fr   )Nr   rS   rT   rX   r   )r   Úshiftr¬   rC  )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
    NrC   rh   r/  ri   rf   rJ   rL   rX   rŽ   )r±   r³   r	   rB  )rN   Ú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   rM   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�   rh   r¦  )ÚoneÚthreerÝ  Útwori   )rY   rC   rX   rZ   rJ   ©rÆ   r    r_   TrH   rM   úusing np.sumr†   r{   )r   rÏ   r   rô   r	   r&   rK   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¸Ô	=ñ 2à,”˜ )Ó,¬SÓ1ˆ÷2ô ×Ñ˜6 8Õ,÷2ð 2ú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ß  rh   ri   r   rY   rC   rX   rZ   rJ   rà  r   z.The 'downcast' keyword in fillna is deprecatedr{   r   Úinfer)ÚdowncastrH   r†   rá  )r   r!   r   Ú	sortlevelr	   r   r«   r¬   r¯   r°   ÚfillnarK   rœ  r@   r¶   )	rÚ  rI   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÷	<à�n‰n˜c 3˜Z°(ˆnÓ;¸CÑ@€GØ'0°EÒ'9Ñ
#¸~€CÜ	×	#Ñ	#¤M¸Ô	=ñ 2à,”˜ )Ó,¬SÓ1ˆ÷2ô ×Ñ˜6 8Õ,÷	<ð 	<ú÷2ð 2ús   ÂD'Ã1D3Ä'D0Ä3D<zobserved, index, datarž   r�   rh   r¦  )rÝ  rÝ  rÞ  rÞ  rÝ  rÝ  rß  rß  ri   )rY   rY   rC   rC   rX   rX   rZ   rZ   r›   ræ  )rh   ri   Nc                 óœ   — t        ||d¬«      }| j                  ddg|¬«      d   j                  d„ «      }t        j                  ||«       y )NrJ   rà  rh   ri   rH   c                 óD   — | j                  «       | j                  «       dœS )N©r7   r4   rï  rt   s    r   rv   z8test_seriesgroupby_observed_apply_dict.<locals>.<lambda>M  s   € ˜!Ÿ%™%›'¨!¯%©%«'Ñ2€ r   )r	   rK   rM   r¬   r¶   )rÚ  rI   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 )Nrh   ri   FrH   rJ   )rK   r5   r¬   r¶   )rÚ  rÈ   r'   s      r   Ú4test_groupby_categorical_series_dataframe_consistentrò  R  sZ   € à�~‰~˜s C˜j°5ˆ~Ó9¸#Ñ>×CÑCÓE€HØ�^‰^˜S #˜J°ˆ^Ó7×<Ñ<Ó>¸sÑC€FÜ×Ñ˜6 8Õ,r   Úcode)rX   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)Nrf   )r]  rš  éýÿÿÿéüÿÿÿ)r[   rë   rk   r¦   r  rø   r2  z+DataFrame.groupby with axis=1 is deprecatedr{   rX   F)r�   rI   z5The 'axis' keyword in DataFrame.groupby is deprecatedr   )r   r   r   rª   r¬   r¯   r°   rK   r5   ÚTr­   )ró  rN   r	  rÎ   rË   r'   Úgb2rÈ   s           r   Útest_groupby_categorical_axis_1rù  Y  sÖ   € ô 
šÒ,<Â<ÑPÓ	Q€BÜ
×
 Ñ
  ´$°u³+Ô
>€CØ
7€CÜ	×	#Ñ	#¤M¸Ô	=ñ 5Ø�Z‰Z˜ !¨eˆZÓ4ˆ÷5à�W‰W‹Y€FØ
A€CÜ	×	#Ñ	#¤M¸Ô	=ñ 8Ø�d‰d�l‰l˜3 Q°ˆlÓ7ˆ÷8à�x‰x‹z�|‰|€HÜ×Ñ˜& (Õ+÷5ð 5ú÷8ð 8ú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›   rX   rY   )ÚNameÚItemrý  rþ  rp   rH   T)Úskipna)	r   r   r±   rK   r   r@   r  r¬   r­   )rI   r   rN   rÈ   r'   s        r   Ú$test_groupby_cat_preserves_structurer   i  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`   rC   ©rA   r  z'vau'r{   rA   c                 ób   — t        | j                  d   d   g| j                  d   d   gdœ«      S )Nr]  rA   Úvaur  )r   ry   )Úrowss    r   rv   z/test_get_nonexistent_category.<locals>.<lambda>  s3   € œØŸ™ 2™ uÑ-Ð.¸¿	¹	À"¹ÀeÑ8LÐ7MÑNó€ r   )r   rç   rr  rs  ÚKeyErrorrK   rM   ©rN   s    r   Útest_get_nonexistent_categoryr  z  sU   € ä	Ò/¼¸a»ÑAÓ	B€BÜ	�‰”x wÔ	/ñ 
Ø
�
‰
�5Ó×Ññô	
÷
÷ 
ñ 
ú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ÚABCDr2  r  rY   çš™™™™™¹?rC   ©Úcat_1Úcat_2rª  rŽ  r  r  rH   rª  r/   ©r2   r1   ú(empty group due to unobserved categoriesr{   )rr  Úskipr   r   rª   r   rK   Úhasattrrœ  rs  rt  r   )Úreduction_funcrI   rN   r(   Úexpected_lengthÚseries_groupbyr   r'   s           r   Ú0test_series_groupby_on_2_categoricals_unobservedr  …  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  r2  r  rY   r  rC   r  ÚACÚBCÚCAÚCBÚCCr  r  FrH   rª  r  r  r{   r   r@   )rr  r  ÚmarkÚxfailÚapplymarkerr   r   rª   Útupler   rK   rœ  rs  rt  Ú-_results_for_groupbys_with_missing_categoriesr„  r´   rU  r   Ú
issubdtyperÏ   Úinteger)r  Úrequestr"  rN   Ú
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àò OˆØ�j‰j˜‰oˆÜ—‘˜Ô$¬¯©°­¸3À+Ó;MÐNÐNðOð �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  r2  Ú1111Ú12©r  r  r  r  r  ©)rh   Ú2)ri   r3  )rJ   Ú1)rJ   r3  r  r  TrH   )	rr  r  r   r   rª   rK   r   rœ  r    )r  rN   Úunobserved_catsÚdf_grpr(   r)   r	  s          r   Ú>test_dataframe_groupby_on_2_categoricals_when_observed_is_truer7  ß  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  r2  r/  r0  r1  r  r2  r  r  rH   r  r  r{   )rr  r  r   r   rª   rK   r   rs  rt  rœ  r&  r   r«   r„  Úisnullr,   )r  rI   rN   r5  r6  r(   r)   rÈ   s           r   Ú?test_dataframe_groupby_on_2_categoricals_when_observed_is_falser:  ù  sC  € ð ˜Ò!Ü�‰ÐHÔIä	ä ¤ f£¼$¸u»+ÔFÜ ¤ f£¼$¸t»*ÔEÚ)ñ	
ó
€Bò G€Oà�Z‰Z˜ 'Ð*°XˆZÓ>€Fä" >°2Ó6€Dá˜Ð*>Ñ>ä�]‰]ÜÐHô
ñ 	3ð ,ŒG�F˜NÓ+¨TÑ2÷	3ð 	à
)Œ'�&˜.Ó
)¨4Ð
0€Cä<¸^ÑL€Hà”2—6‘6ÑØ�w‰w�Ñ'×.Ñ.Ó0×4Ñ4Ó6×:Ñ:Ô<Ð<Ñ<à—‘˜Ñ(¨HÑ4×9Ñ9Ó;×?Ñ?ÔAÐAÑA÷	3ð 	ú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¦   rC   rX   r  )rV   rT   rV   rT   r  r�   r   r‚   r[   rç   rŸ   TF©r  r¥   rI   r5   )	r   r´   rµ   r   r  rK   r   r¬   r¶   )rV   rN   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   rX   rX   rY   rY   )r   r   r   r   rX   )Úidr  rª  r?  r  rª  rA  r}   r   )r   r   r  rK   r   r   r¬   r­   )r�  rE  rN   r'   rÈ   s        r   Ú$test_groupby_agg_categorical_columnsr@  1  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 )	Nrh   rÂ  r  r2  rY   rX   r   rÃ  )
r   r   r   rT  rK   r   r	   r9   r¬   r­   ©rN   rÈ   r'   s      r   Útest_groupby_agg_non_numericrC  F  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Í  rS   r/  r7  rw  rh   ri   r}   ©r    r_   rÏ   )
r   r	   r	  Ú
as_orderedrK   rœ  r   rÏ   r¬   r¶   )r�  rN   Ú
df_groupedr'   rÈ   s        r   Ú<test_groupby_first_returned_categorical_instead_of_dataframerH  Q  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 )NrX   rY   F)rX   rZ   r[   rk   r  r2  r\   r   rü   g      @rS   r}   rã   r¤   )r   rT  ÚflagsÚ	writeabler   r   r   r   rK   r5   r¬   r­   )rO   rN   rÈ   r'   s       r   Útest_read_only_category_no_sortrL  `  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ÚlargerO  rO  rg  rO  rO  rg  )rJ   rh   rh   rJ   rh   rJ   rh   rJ   )r�   rž   r�   r/  )ÚtinyrN  rg  rO  Tr›   r   )rh   rJ   rX   rZ   rY   rž   r    rŽ   )r   r   r_   rÏ   FrH   )r   r³   r	  Úset_categoriesÚrename_axisr   r$   rK   r=   rl  r¬   r­   rB  s      r   Ú#test_sorted_missing_category_valuesrS  l  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©rX   rX   rY   rZ   r/  Úcol_catr3  r}   rE  r0   )r   r³   rK   rW  r0   r	   r   rÏ   r¬   r¶   r   Úto_framer­   r§  s      r   Ú1test_agg_cython_category_not_implemented_fallbackrY  ™  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)rX   rX   rX   rX   r  r  gš™™™™™É?g333333Ó?)r�   rž   r�   Úfee)rh   ri   Únumerical_colÚ
object_colÚcategorical_colr^  r/  rh   ri   c                 ó>   — | j                  «       j                  «       S rr   )rU  r@   r  s    r   rv   z7test_aggregate_categorical_with_isnan.<locals>.<lambda>½  s   € °2·7±7³9·=±=³?€ r   rX   rY   rw  r   r   )r\  r]  r^  rã   )
r   r   r«   r³   rK   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)rX   rX   rX   rY   rY   rZ   )ÚWaitingÚOnTheWayÚ	Deliveredrb  rc  rb  )Ú
package_idÚstatus)rb  rc  rd  Tr   rf  zusing SeriesGroupBy.maxr{   re  Úlast_status)rd  rd  rd  rc  rc  rb  )re  rf  rg  )r   r´   ÚCategoricalDtyper³   r¬   r¯   r°   rK   r®   r4   r±   r­   )rN   Údelivery_status_typerÎ   r'   rÈ   s        r   Útest_categorical_transformrj  Ê  s  € ä	â,òñ
	
ó
€Bô ×.Ñ.Ú7ÀôÐð �h‘<×&Ñ&Ð';Ó<€B€x�LØ
#€CÜ	×	#Ñ	#¤M¸Ô	=ñ NàŸJ™J |Ó4°XÑ>×HÑHÌÓMˆˆ=Ñ÷Nð �W‰W‹Y€Fäâ,òòñ	
ó€Hð, " (Ñ+×2Ñ2Ð3GÓH€HˆXÑð ' }Ñ5×<Ñ<Ð=QÓR€Hˆ]Ñä×Ñ˜& (Õ+÷ANð Nú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   rX   rX   )r   rX   rX   r   r  r   rX   r   rS   r   rT   r}   )r0   r3   rH   )r   r   r   r!   r	   r   r«   rq  r³   r6  rK   rœ  r¬   r¶   )r�  rI   r	  r  rN   rÊ   rØ   Úexpected_dictrÈ   Úsrs_grpr'   s              r   ÚFtest_series_groupby_first_on_categorical_col_grouped_on_2_categoricalsro    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 rl  )r   r   r   r!   r	   r   r«   rX  rq  r³   r6  rK   rœ  r¬   r­   )r�  rI   r	  r  rN   rÊ   rØ   rm  rÈ   r6  r'   s              r   ÚBtest_df_groupby_first_on_categorical_col_grouped_on_2_categoricalsrq    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)rS   rS   r   r  r2  rZ   )r  r*   r  Fr¤   r   rX   Úintpr7  rY   )rS   r   rT   )
r   r   rç   rK   Úindicesr   rT  rD  r¬   r¡  )rN   rÖ   r'   rÈ   r  s        r   Ú2test_groupby_categorical_indices_unused_categoriesru  4  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   r3  r/  rS   r}   )r_   r    )	r   r³   rœ  rK   r	   r   r   r¬   r¶   )r�  rN   r'   rÈ   s       r   Ú1test_groupby_last_first_preserve_categoricaldtyperw  H  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 )NrX   rY   r�   r~  r  r/  r\   r7  r   rS   TrH   rT   r}   rò   )
r   r³   rK   r9   r	   r   rô   r   r¬   r¶   r§  s      r   Ú)test_groupby_categorical_observed_nuniquery  T  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 )NrN  ÚbigTr   rX   rY   ÚgrpÚdescriptionrp   r}   rE  )
r´   rh  r   r³   rK   r4   r	   r   r¬   r¶   )rÏ   rN   r'   rÈ   s       r   Ú,test_groupby_categorical_aggregate_functionsr~  c  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 )NrX   rY   r3  r2  rZ   rC   )ru   re   ru   )rI   rq  re   r   )rZ   rC   r   )	r   r   rK   r@   r   r    r_   r¬   r­   )rI   rq  r	  rN   rË   r'   rÈ   r    s           r   Útest_groupby_categorical_dropnar€  u  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©rY   rX   rY   rZ   ©rX   rC   rZ   rY   r   rC   r\   r   r‚  rƒ  r<  r<  r  r  r{   )r$  rr  r"  r#  r  r   r   rç   r  r   rK   rs  rt  rœ  r    rÄ   r   r	  r   r¬   rÂ   )r)  r  r¥   rI   r  r�  r   rÎ   rN   rD  r(   rË   Ú	op_resultr'   rÈ   s                  r   Útest_category_order_reducerr‰  †  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   rC   r\   r‚  r   rƒ  r<  r<  rê  z%DataFrameGroupBy.fillna is deprecatedr{   )r   r   rç   r  r   rK   r°   r¬   r¯   rœ  r    rÄ   r   r   rÂ   )r  r¥   rI   Útransformation_funcr�  r   rN   rD  r(   rË   ÚwarnrÎ   rˆ  r'   rÈ   s                  r   Útest_category_order_transformerr�  ¸  sK  € ô 
äš\²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Ð;ˆ	÷<à�_‰_×-Ñ-¨cÓ2×=Ñ=€FÜ’\Ó"€HÜ×Ñ˜& (Ô+à�WÒØ—‘×1Ñ1°$Ó7×BÑBˆÜ
×Ñ˜f hÕ/ð ÷<ð <ú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   rC   r\   rç   r   r‚  rƒ  r<  r<  )r   r   rç   r  rK   rœ  r	  r   r    rÄ   r   r¬   rÂ   )r  r¥   rI   rŽ  r�  r   rN   rD  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   )rM   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   rC   r\   r   r‚  rƒ  r<  r<  rM   rz   r{   c                 ó&   — | j                  d¬«      S )NTrl   )r@   rt   s    r   rv   z+test_category_order_apply.<locals>.<lambda>  s   € °!·%±%ÀT°%Ó2J€ r   )rr  r  r   r   rç   r  rK   r°   r¬   r¯   rœ  r	  r   r    rÄ   r   rÂ   )r  r¥   rI   rŽ  r�  r   rN   rD  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Ø" gÒ-°*ÀÒ2G�=ÈT€DØ
C€CÜ	×	#Ñ	# D°Ô	4ñ LØ'”G˜B Ó'Ñ(JÓKˆ	÷Là�+Ò¡X°:ÀÒ3HØ˜3‘×#Ñ#×.Ñ.‰à—‘×1Ñ1°#Ó6×AÑAˆÜ’\Ó"€HÜ×Ñ˜& (Ô+à�WÒØ—‘×1Ñ1°$Ó7×BÑBˆÜ
×Ñ˜f hÕ/ð ÷Lð Lú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'  r]  r†  r   rC   r\   r   r‚  rƒ  r<  Tr<  )rZ   rY   rX   )rY   rX   rZ   )r   r   r_   rS   )r   r<  )r   r<  rS   )rr  r  r   r   r   r   rç   r  rK   r@   r   r   r   Ú
from_framer    r	   r¬   r­   )r  r¥   r�  r   r   ÚgrouperrN   rD  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_columnsrD  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)NrV  )rC   r[   rë   rk   r\   r/  z+The default of observed=False is deprecatedr{   )r   r³   Úsetr°   r¬   r¯   rK   )rš  rD  rN   rÎ   Úklasss        r   Útest_groupby_default_deprrž  O  sx   € ô 
šªLÑ9Ó	:€BØ˜‘o×,Ñ,¨ZÓ8€B€{�OØ
7€CÜ  Ó-´°D³	Ò9�M¸t€EÜ	×	#Ñ	# E°Ô	5ñ Ø
�
‰
�4Ô÷÷ ñ ú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  r9   rX   zGH#52848 - raises a ValueError)r   r   rX   )rY   rZ   rZ   r;  )rŸ  r<  rS   r/  )rŸ  r<  r<  rp   r‘  rS   r  rŸ  r  r{   r=   r]  r  )r  r   rr  r  r$  r"  r#  r   r   r³   rB  rK   r   rs  rt  r   rœ  rX  r   Úfrom_tuplesr$   r¬   rC  )r)  r  rI   r  r=  rD  rÎ   rN   rË   r(   r'   rÈ   Úinds                r   Útest_agg_listr£  [  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˜3ˆc�2ŠYÒ8¸SÀ.Ð<QÐ;RÑRó
ˆÕñ Ø >Ð"2Ñ2ˆÔä‡O�O�F˜HÕ%÷%	,ð 	üò 9s   Ä?G>Æ<H
Ç>H)ir   Únumpyr   rr  Úpandasr´   r   r   r   r   r   r	   r
   Úpandas._testingÚ_testingr¬   Úpandas.api.typingr   Úpandas.tests.groupbyr   r«   r+   r&  r"  ÚfilterwarningsrP   rÞ   ré   rö   Úparametrizer  r!  r)  r0  r9  rG  rI  rL  rP  rW  r[  ra  rd  ro  rv  rç   Úrenamer{  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,  r7  r:  r=  r9   r.   r@  rC  rH  rL  rS  rY  r`  rj  r~   Úboolro  rq  ru  rw  ry  r~  r€  r‰  r�  r’  r•  r™  rž  r£  rs   r   r   ú<module>r°     s{  ðÝ ã Û ã ÷÷ ñ õ Ý +Ý 8ð DFÇ6Á6ó Eð2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Ð -ð@ ‡�×ÑÐUÓVñ(ó Wð(òdòN,ò<-ð, ‡�×Ñ˜ T¨5 MÓ2ñ!-ó 3ð!-ðH ‡�×ÑÐUÓVñr,ó Wðr,òj,ò(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 ‡�×ÑÐUÓVñ	-ó Wð	-ð ‡�×ÑØØ‡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   