Ë
    u™ãj6 ã                   ó¾  — d dl m Z  d dlZd dlZd dlmZ d dlZd dlm	Z
 d dlmZ d dlmZ ej                  fd„Zi dd“d	d
“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d“dej                  “dej                  “d ej                  ej                  ej                  d ej                  dœ¥Zd„ Zd„ Zd„ Zd„ Zd „ Zd!„ Zd"„ Zd#„ Zd$„ Zd%„ Zej8                  j;                  d&dd
g«      d'„ «       Zd(„ Zd)„ Z d*„ Z!d+„ Z"d,„ Z#d-„ Z$d.„ Z%d/„ Z&ej8                  j;                  d0d1g d2¢ ejN                  g d3¢d1¬4«      fd1d5gg d6¢ ejN                  g d3¢d1¬4«       ejP                  g d7¢«      gfd1d8gg d9¢ ejN                  g d3¢d1¬4«       ejN                  g d3¢d1¬4«      gfg«      ej8                  j;                  d:dd
g«      d;„ «       «       Z)d<„ Z*d=„ Z+d>„ Z,ej8                  j;                  d&dd
g«      d?„ «       Z-d@„ Z.dA„ Z/dB„ Z0dC„ Z1dD„ Z2ej8                  j;                  dEdFg ejf                   e4dG«      «      d dHgddIgdJœf ejf                   e4dG«      «      jk                  dK„ «      dIgd dgdJœf ejf                   e4dL«      «      d dHgddIgdJœfg«      dM„ «       Z6dN„ Z7dO„ Z8dP„ Z9ej8                  j;                  dQdRdSg«      dT„ «       Z:ej8                  j;                  dUddVdgfddWdXgfddWdgfddVdXgfg«      dY„ «       Z;dZ„ Z<d[„ Z=d\„ Z>d]„ Z?ej8                  j;                  d&dd
g«      d^„ «       Z@ej8                  j;                  d&dd
g«      d_„ «       ZAd`„ ZBda„ ZCdb„ ZDej8                  j;                  dcd ejf                  ejŠ                  j�                   ejf                  g dd¢de¬f«      g dg¢gd1d5g¬h«      g d3¢di¬j«      fd
 ejŽ                   ejf                  g dd¢de¬f«      g dg¢g d3¢dkœ«      fg«      dl„ «       ZHej8                  j;                  dmdej                  ej’                  g«      dn„ «       ZJej–                  do„ «       ZLej8                  j;                  dpdqdrg«      ds„ «       ZMej8                  j;                  dpdqdrg«      ej8                  j;                  dtd
dg«      du„ «       «       ZNej8                  j;                  dvdejŠ                  j�                   ejP                  dwgdGz  dxgdGz  z   dedy¬z«       ejP                  g d{¢ded|¬z«       ejP                  ddgdGz  «      g«      g d}¢fd
ejŠ                  jŸ                   ejN                  dwdxgd
¬~«       ejN                  g d¢d
¬~«       ejP                  ddg«      gg d€¢¬h«      dIdIdGdGej                  ej                  ddej                  ej                  dHdHgfdejŠ                  jŸ                   ejN                  dwdxgd
¬~«       ejN                  g d¢d
¬~«       ejP                  ddg«      gg d€¢¬h«      dIdIdGdGej                  ej                  ddej                  ej                  dHdHgfg«      d�„ «       ZPd‚„ ZQdƒ„ ZRd„„ ZSd…„ ZTd†„ ZUd‡„ ZVej8                  j;                  dtd
dg«      dˆ„ «       ZWd‰„ ZXej8                  j;                  dŠejf                  j²                  g dd¢fejf                  j´                  g dg¢fg«      d‹„ «       Z[dŒ„ Z\ej8                  j;                  d�ddg«      dŽ„ «       Z]d�„ Z^d�„ Z_d‘„ Z`d’„ Zad“„ Zbej8                  j;                  d�ddg«      d�ecdtedfd”„«       Zeej8                  j;                  d�ddg«      d�ecdtedfd•„«       Zfd–„ Zgd—„ Zhd˜„ Ziej8                  j;                  d�ddg«      d™„ «       Zjdš„ Zkd›„ Zldœ„ Zmej8                  j;                  d�g dž¢«      ej8                  j;                  d&dd
g«      dŸ„ «       «       Znej8                  j;                  d�d d¡g«      ej8                  j;                  d&dd
g«      d¢„ «       «       Zoej8                  j;                  d�g dž¢«      ej8                  j;                  d£d¤d¥g«      ej8                  j;                  d&dd
g«      d¦„ «       «       «       Zpej8                  j;                  d�g dž¢«      ej8                  j;                  d£g d§¢«      ej8                  j;                  d&dd
g«      d¨„ «       «       «       Zqej8                  j;                  d�g dž¢«      d©„ «       Zrej8                  j;                  d:dd
g«      ej8                  j;                  dªd«gd«d8gg«      d¬„ «       «       Zsd­„ Ztd®„ Zud¯„ Zvd°„ Zwd±„ Zxy)²é    )ÚdatetimeN)ÚPandas4Warning)ÚSeriesGroupBy)Úget_groupby_method_argsc                 óh  — d„ }t         j                  j                  t        ||«      |¬«      }t	        |t
        «      rTi }| j                  D ]  }| |   j                  |||   ¬«      ||<   Œ  t        j                  ||¬«      j                  «       S | j                  ||¬«      j                  «       S )zmReindex to a cartesian product for the groupers,
    preserving the nature (Categorical) of each grouper
    c                 ó  — t        | t        j                  t        j                  f«      rT| j                  }t        j                  j                  t        j                  t        |«      «      || j                  ¬«      } | S )N©Ú
categoriesÚordered)
Ú
isinstanceÚpdÚCategoricalIndexÚCategoricalr
   Ú
from_codesÚnpÚarangeÚlenr   )Úar
   s     úp/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/groupby/test_categorical.pyÚfz)cartesian_product_for_groupers.<locals>.f   s\   € Ü�aœ"×-Ñ-¬r¯~©~Ð>Ô?ØŸ™ˆJÜ—‘×)Ñ)Ü—	‘	œ#˜j›/Ó*°zÈ1Ï9É9ð *ó ˆAð ˆó    ©Únames©Ú
fill_value©Úindex)
r   Ú
MultiIndexÚfrom_productÚmapr   ÚdictÚcolumnsÚreindexÚ	DataFrameÚ
sort_index)ÚresultÚargsr   r   r   r   ÚresÚcols           r   Úcartesian_product_for_groupersr*      s¥   € ò
ô �M‰M×&Ñ&¤s¨1¨d£|¸5Ð&ÓA€EÜ�*œdÔ#ð ˆØ—>‘>ò 	NˆCØ˜c‘{×*Ñ*¨5¸ZÈ¹_Ð*ÓMˆC�ŠHð	Nä�|‰|˜C uÔ-×8Ñ8Ó:Ð:à�>‰>˜%¨Jˆ>Ó7×BÑBÓDÐDr   ÚallTÚanyFÚcountÚcorrwithÚfirstÚidxmaxÚidxminÚlastÚmaxÚmeanÚmedianÚminÚnthÚnuniqueÚprodé   ÚquantileÚsem)ÚsizeÚskewÚkurtÚstdÚsumÚvarc                 óÞ   — t        j                  | j                  d«      }d„ }| j                  |d¬«      j                  j                  |«      }|j                  j                  d   dk(  sJ ‚y )Né   c                 ó€   — | j                  «       | j                  «       | j                  «       | j                  «       dœS )N©r6   r3   r-   r4   rF   )Úgroups    r   Ú	get_statsz2test_apply_use_categorical_name.<locals>.get_statsK   s0   € à—9‘9“;Ø—9‘9“;Ø—[‘[“]Ø—J‘J“Lñ	
ð 	
r   F©Úobservedr   ÚC)r   ÚqcutrK   ÚgroupbyÚDÚapplyr   r   )ÚdfÚcatsrH   r&   s       r   Útest_apply_use_categorical_namerR   H   s]   € Ü�7‰7�2—4‘4˜Ó€Dò
ð �Z‰Z˜ uˆZÓ-×/Ñ/×5Ñ5°iÓ@€FØ�<‰<×Ñ˜aÑ  CÒ'Ð'Ñ'r   c                  óv  — t        j                  g d¢g d¢d¬«      } t        j                  g d¢| dœ«      }t        j                  t	        d«      dd¬	«      }t        j                  d
dddt
        j                  gi|¬«      }|j                  dd¬«      j                  «       }t        j                  ||«       y )N©	r   r   r   ÚbrU   rU   ÚcrV   rV   ©r   rU   rV   ÚdTr	   ©	r:   r:   r:   é   rZ   rZ   é   rD   é   ©r   rU   ÚabcdrU   ©Únamer   r   r:   rZ   rD   r   FrI   )r   r   r$   r   Úlistr   ÚnanrM   r4   ÚtmÚassert_frame_equal)rQ   ÚdataÚ	exp_indexÚexpectedr&   s        r   Ú
test_basicrh   W   s”   € Ü�>‰>Ú5Ú'Øô€Dô
 �<‰<Ò9ÀÑEÓF€Dä×#Ñ#¤D¨£L°sÀDÔI€IÜ�|‰|˜S 1 a¨¬B¯F©FÐ"3Ð4¸IÔF€HØ�\‰\˜#¨ˆ\Ó.×3Ñ3Ó5€FÜ×Ñ˜& (Õ+r   c                  ó°  — t        j                  g d¢g d¢d¬«      } t        j                  g d¢g d¢d¬«      }t        j                  | |g d¢dœ«      }|j                  d	d
¬«      }t        j                  g d¢d	d¬«      }t        j                  dt        j
                  g d¢|¬«      i«      }|j                  d¬«      }t        j                  ||«       y )N©r   r   rU   rU   ©r   rU   ÚzTr	   ©rV   rX   rV   rX   ©rV   rX   Úy©r:   rZ   r[   rD   ©ÚAÚBÚvaluesrr   FrI   r_   rt   )r[   é   r   r   ©Únumeric_only)	r   r   r$   rM   r   ÚSeriesrA   rc   rd   )Úcat1Úcat2rP   ÚgbÚexp_idxrg   r&   s          r   Útest_basic_single_grouperr}   e   s©   € Ü�>‰>ÚªÀ$ô€Dô �>‰>ÚªÀ$ô€Dô 
�‰˜D t²|ÑDÓ	E€Bà	�‰�C %ˆÓ	(€BÜ×!Ñ!¢/¸ÀTÔJ€GÜ�|‰|˜X¤r§y¡y²À'Ô'JÐKÓL€HØ�V‰V ˆVÓ&€FÜ×Ñ˜& (Õ+r   c                 óx  — t        j                  ddgddgddggddg¬«      }t        j                  |j                  «      |d<   |j	                  dgd¬	«      }|j                  d
„ «      }t        j                  ||dg   «       |j                  d«      }|j                  ddg   }t        j                  ||«       d„ }|j                  |«      }|dg   j                  ddg   }t        j                  ddgd¬«      |_        | rdnt        }|d   j                  |«      |d<   t        j                  ||«       y )Nr:   zJohn P. DoerZ   z	Jane DoveÚ	person_idÚperson_name©r"   FrI   c                 ó   — | S ©N© ©Úxs    r   ú<lambda>z#test_basic_string.<locals>.<lambda>~   s   €  1€ r   r   c                 ó>   — | j                  d«      j                  d   S )Nr€   r   )Údrop_duplicatesÚilocr…   s    r   r   ztest_basic_string.<locals>.f…   s   € Ø× Ñ  Ó/×4Ñ4°QÑ7Ð7r   ©r`   Ústr)r   r$   r   r€   rM   Ú	transformrc   rd   r‰   rŠ   rO   ÚIndexr   ÚobjectÚastype)Úusing_infer_stringr†   Úgr&   rg   r   Údtypes          r   Útest_basic_stringr”   u   s,  € ä
�‰Ø
ˆ]Ð	˜a Ð-°°=Ð/AÐBØ˜mÐ,ô	€Aô —~‘~ a§m¡mÓ4€A€mÑà	�	‰	�;�-¨%ˆ	Ó0€AØ�[‰[™Ó%€FÜ×Ñ˜& ! ] OÑ"4Ô5à×Ñ˜}Ó-€FØ�v‰v�q˜!�f‰~€HÜ×Ñ˜& (Ô+ò8ð �W‰W�Q‹Z€FØ�-�Ñ!×&Ñ&¨¨1 vÑ.€HÜ—X‘X˜q !˜f¨;Ô7€H„NÙ'‰E¬V€EØ& }Ñ5×<Ñ<¸UÓC€Hˆ]ÑÜ×Ñ˜& (Õ+r   c                  óV  — t        j                  dg d¢i«      } t        j                  | j                  g d¢¬«      }| j                  j	                  |d¬«      j                  t        «      }t        j                  || d   «       t        j                  | j                  j	                  |d¬«      j                  d„ «      | d   «       | j	                  |d¬«      j                  t        «      }| dg   }t        j                  ||«       | j	                  |d¬«      }|j                  d„ «      }t        j                  || dg   «       |j                  d	„ «      }|j                  t        «      }|j                  t        j                  j                  «      }|j                  d
„ «      }t        j                  || dg   «       t        j                  || dg   «       t        j                  || dg   «       t        j                  || dg   «       t        j                  | j                  j	                  |d¬«      j                  t        j                  «      | d   «       t        j                  | j	                  |d¬«      j                  t        j                  «      | «       y )Nr   )r\   é   é   )r   é
   é   é   é(   ©ÚbinsFrI   c                 ó,   — t        j                  | «      S rƒ   ©r   rA   ©Úxss    r   r‡   z&test_basic_monotonic.<locals>.<lambda>™   ó   € ¼R¿V¹VÀB»Z€ r   c                 ó0   — t        j                  | d¬«      S ©Nr   ©Úaxis©r   r3   r    s    r   r‡   z&test_basic_monotonic.<locals>.<lambda>    s   € ¤b§f¡f¨R°aÔ&8€ r   c                 ó0   — t        j                  | d¬«      S r¤   r§   r    s    r   r‡   z&test_basic_monotonic.<locals>.<lambda>£   s   € ¤r§v¡v¨b°qÔ'9€ r   c                 ó@   — t         j                  j                  | «      S rƒ   )r   ÚmaximumÚreducer    s    r   r‡   z&test_basic_monotonic.<locals>.<lambda>¦   s   € ¤r§z¡z×'8Ñ'8¸Ó'<€ r   )r   r$   Úcutr   rM   r�   rA   rc   Úassert_series_equalrd   r3   r   rª   r«   Úfilterr+   )	rP   rV   r&   rg   ÚgbcÚresult2Úresult3Úresult4Úresult5s	            r   Útest_basic_monotonicr´   �   s  € ä	�‰�sšKÐ(Ó	)€BÜ
�‰ˆr�t‰tÒ-Ô.€Aà�T‰T�\‰\˜! eˆ\Ó,×6Ñ6´sÓ;€FÜ×Ñ˜6 2 c¡7Ô+ä×ÑØ
�‰�‰�Q ˆÓ'×1Ñ1Ñ2GÓHÈ"ÈSÉ'ôð �Z‰Z˜ EˆZÓ*×4Ñ4´SÓ9€FØ�3�%‰y€HÜ×Ñ˜& (Ô+à
�*‰*�Q ˆ*Ó
'€CØ�]‰]Ñ8Ó9€FÜ×Ñ˜& " c U¡)Ô,à�m‰mÑ9Ó:€GØ�m‰mœCÓ €GØ�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ÈÕKr   c                  ó�  — t        j                  dg d¢i«      } t        j                  | j                  g d¢¬«      }| j                  j	                  |d¬«      j                  t        «      }t        j                  || d   «       t        j                  | j                  j	                  |d¬«      j                  d„ «      | d   «       | j	                  |d¬«      j                  t        «      }| dg   }t        j                  ||«       t        j                  | j	                  |d¬«      j                  d„ «      | dg   «       y )	Nr   )r\   r–   r—   éûÿÿÿ)iöÿÿÿr   r˜   r™   rš   r›   rœ   FrI   c                 ó,   — t        j                  | «      S rƒ   rŸ   r    s    r   r‡   z*test_basic_non_monotonic.<locals>.<lambda>¹   r¢   r   c                 ó,   — t        j                  | «      S rƒ   rŸ   r    s    r   r‡   z*test_basic_non_monotonic.<locals>.<lambda>À   s   € ¼2¿6¹6À"»:€ r   )
r   r$   r¬   r   rM   r�   rA   rc   r­   rd   )rP   rV   r&   rg   s       r   Útest_basic_non_monotonicr¹   ±   sÿ   € Ü	�‰�sšOÐ,Ó	-€BÜ
�‰ˆr�t‰tÒ2Ô3€Aà�T‰T�\‰\˜! eˆ\Ó,×6Ñ6´sÓ;€FÜ×Ñ˜6 2 c¡7Ô+ä×ÑØ
�‰�‰�Q ˆÓ'×1Ñ1Ñ2GÓHÈ"ÈSÉ'ôð �Z‰Z˜ EˆZÓ*×4Ñ4´SÓ9€FØ�3�%‰y€HÜ×Ñ˜& (Ô+ä×ÑØ
�
‰
�1˜uˆ
Ó%×/Ñ/Ñ0EÓFÈÈCÈ5É	õr   c            	      ó   — t        j                  dg d¢i«      } t        j                  | j                  g d¢t        j                  t        d«      «      ¬«      }| j                  |d¬«      j                  t        «      }t        j                  |j                  j                  |j                  j                  ¬«      }t        j                  g d¢|¬	«      }d|j                  _        t!        j"                  ||«       y )
Nr   )r:   r   r   r   ©r   r:   rZ   r[   rD   r^   )ÚlabelsFrI   ©r   r   )r   r$   r¬   r   r   ra   rM   rO   r   r   rt   r
   r   rx   r   r`   rc   r­   )rP   rV   r&   rf   rg   s        r   Útest_basic_cut_groupingr¾   Ä   s§   € ä	�‰�sšLÐ)Ó	*€BÜ
�‰ˆr�t‰t’_¬R¯^©^¼DÀ»LÓ-IÔJ€AØ�Z‰Z˜ EˆZÓ*×0Ñ0´Ó5€Fä×#Ñ# A§H¡H×$7Ñ$7ÀÇÁ×AQÑAQÔR€IÜ�y‰yš¨YÔ7€HØ€H‡N�NÔÜ×Ñ˜6 8Õ,r   c                  óÒ  — g d¢} t         j                  j                  d«      j                  ddd¬«      }t        j
                  j                  || d¬«      }t	        j                  t         j                  j                  d«      j                  d	«      «      }|j                  |d
¬«      j                  «       }|j                  t        j                  |«      d
¬«      j                  «       }t	        j                  | |j                  d¬«      }|j                  |«      }t        j                   ||«       |j                  |d
¬«      }|j#                  «       }|j$                  j'                  «       }	t        j                  |«      j)                  |	«      }
|j)                  |	«      }t	        j
                  |
dg d¢¬«      }|j                  |d
d
¬«      j#                  «       }t        j                   ||«       t        j
                  j                  t        j*                  d«      j-                  d«      | d¬«      }t	        j                  |«      }t        j.                  |j1                  «       j2                  j5                  d«      |«       t	        j6                  g d¢dz  «      }t        j.                  |j1                  «       j2                  j5                  d«      |«       y )N©ÚfooÚbarÚbazÚquxrZ   r   rD   r˜   ©r=   Tr½   ©r˜   rD   FrI   r	   )r   r
   ©ÚsortrJ   é   ©r-   r4   r@   r6   z25%z50%z75%r3   r:   )r   ÚrandomÚdefault_rngÚintegersr   r   r   r$   Ústandard_normalrM   r4   Úasarrayr   r
   r#   rc   rd   ÚdescribeÚcodesÚargsortÚtaker   ÚrepeatÚassert_index_equalÚstackr   Úget_level_valuesrŽ   )ÚlevelsrÑ   rQ   re   r&   rg   r|   ÚgroupedÚdesc_resultÚidxÚ
ord_labelsÚord_dataÚexp_catsÚexpcÚexps                  r   Útest_more_basicrá   Ð   s0  € Ú)€FÜ�I‰I×!Ñ! !Ó$×-Ñ-¨a°¸Ð-Ó<€Eä�>‰>×$Ñ$ U¨F¸DÐ$ÓA€Dä�<‰<œŸ	™	×-Ñ-¨aÓ0×@Ñ@ÀÓIÓJ€Dà�\‰\˜$¨ˆ\Ó/×4Ñ4Ó6€Fà�|‰|œBŸJ™J tÓ,°uˆ|Ó=×BÑBÓD€HÜ×!Ñ! &°T·_±_ÈdÔS€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ô �>‰>×$Ñ$¤R§Y¡Y¨q£\×%8Ñ%8¸Ó%;¸VÈTÐ$ÓR€DÜ
×
Ñ
˜dÓ
#€CÜ×Ñ˜+×+Ñ+Ó-×3Ñ3×DÑDÀQÓGÈÔMÜ
�(‰(ÒNÐQRÑRÓ
S€CÜ×Ñ˜+×+Ñ+Ó-×3Ñ3×DÑDÀQÓGÈÕMr   c           
      óT  — t        j                  t        j                  ddd«      t        j                  t        j
                  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        j                  t        j                  ddd«      t        j                  t        j
                  ddg«      t        d«      gdgdz  t        d«      gd	d
g¬«      ¬«      }|j                  d«      }t        j                  ||«       y )NrZ   é   r   rU   r˜   r   r\   r:   ÚIndex1ÚIndex2)rØ   rÑ   r   ©re   r   ©ÚlevelrJ   é   )r   )r   r$   r   r   r   r   ÚrangerM   Ú	get_grouprc   rd   )rJ   rP   r’   rg   r&   s        r   Útest_level_get_grouprì   õ   s  € ä	�‰Ü�Y‰Y�q˜"˜aÓ Ü�m‰mÜ×'Ñ'¨¨c¨
Ó3´U¸2³YÐ?Ø�3˜‘7˜a˜S 1™WÑ$¤e¨B£iÐ0Ø˜XÐ&ô
ô
€Bð 	�
‰
˜(˜¨hˆ
Ó7€Aô �|‰|Ü�Y‰Y�q˜"˜aÓ Ü�m‰mÜ×'Ñ'¨¨c¨
Ó3´U¸1³XÐ>Ø�3˜‘7œE !›HÐ%Ø˜XÐ&ô
ô€Hð �[‰[˜Ó €FÜ×Ñ˜& (Õ+r   c                  óP  — t        j                  dgdz  dgdz  z   g d¢dz  t        j                  d«      dœ«      } t        j                  | j
                  g d¢d	¬
«      | _        | j                  d«      d   j                  «       }|j                  dd	¬«      }g d¢}t        j                  |g d¢d	¬
«      }g d¢t        j                  |«      g}t         j                  j                  |ddg¬«      }t        j                  dgdz  |d¬«      }t        j                  ||«       y )Nrr   é   rs   )ÚhighÚmedÚlowrD   g      (@)rG   ÚdoseÚoutcomes)rñ   rð   rï   Tr	   rG   rò   r   )rè   Úsort_remaining)rñ   rð   rï   rñ   rð   rï   )rr   rr   rr   rs   rs   rs   r   rZ   r-   ©r   r`   )r   r$   r   r   r   rò   rM   Úvalue_countsr%   r   r   Úfrom_arraysrx   rc   r­   ©rP   r&   r   rg   s       r   Ú(test_sorting_with_different_categoricalsrù     sü   € ä	�‰à�U˜Q‘Y # ¨¡Ñ*Ú*¨QÑ.ÜŸ	™	 $›ñ	
ó
€Bô �n‰n˜RŸW™WÒ1GÐQUÔV€B„Gà�Z‰Z˜Ó  Ñ(×5Ñ5Ó7€FØ×Ñ Q°tÐÓ<€FÚ8€EÜ�N‰N˜5Ò-CÈTÔR€EÚ+¬R×-@Ñ-@ÀÓ-GÐH€EÜ�M‰M×%Ñ% e°G¸VÐ3DÐ%ÓE€EÜ�y‰y˜!˜˜q™¨°GÔ<€HÜ×Ñ˜6 8Õ,r   r   c                 óp  — t        j                  t        d«      | ¬«      }t        j                  t        d«      ddg| ¬«      }t        j                  t        |«      «      }t        j                  |||dœ«      }|j                  dd	gd
¬«      }t         j                  j                  ||gdd	g¬«      }t        j                  g d¢|dg¬«      }|j                  d„ «      }t        j                  ||«       |j                  «       }t        j                  ||«       |j                  t        j                  «      }t        j                  ||«       t         j                  j                  ||gdd	g¬«      }t        j                  d|¬«      }|j                  d„ «      }t        j                   ||«       y )NÚabcr½   Úaaar   rU   r	   )ÚmissingÚdensert   rý   rþ   TrI   r   )r   r:   ç       @rt   )r   r"   c                 ó0   — t        j                  | d¬«      S r¤   )r   r4   r…   s    r   r‡   ztest_apply.<locals>.<lambda>5  s   € ¤R§W¡W¨Q°QÔ%7€ r   r:   r   c                  ó   — y©Nr:   r„   r…   s    r   r‡   ztest_apply.<locals>.<lambda>A  s   � r   )r   r   ra   r   r   r   r$   rM   r   r÷   rO   rc   rd   r4   Úaggrx   r­   )	r   rþ   rý   rt   rP   rÙ   rÛ   rg   r&   s	            r   Ú
test_applyr  %  sZ  € ô �N‰Nœ4 ›;°Ô8€Eô �n‰nœT %›[°c¸3°ZÈÔQ€GÜ�Y‰Y”s˜5“zÓ"€FÜ	�‰ '°EÀVÑLÓ	M€BØ�j‰j˜) WÐ-¸ˆjÓ=€Gô �-‰-×
#Ñ
# W¨eÐ$4¸YÈÐ<PÐ
#Ó
Q€CÜ�|‰|šK¨s¸X¸JÔG€Hà�]‰]Ñ7Ó8€FÜ×Ñ˜& (Ô+à�\‰\‹^€FÜ×Ñ˜& (Ô+à�[‰[œŸ™Ó!€FÜ×Ñ˜& (Ô+ô �-‰-×
#Ñ
# W¨eÐ$4¸YÈÐ<PÐ
#Ó
Q€CÜ�y‰y˜ #Ô&€HØ�]‰]™;Ó'€FÜ×Ñ˜6 8Õ,r   c                 ó‚  — t        j                  g d¢g d¢d¬«      }t        j                  g d¢g d¢d¬«      }t        j                  ||g d¢dœ«      }d	d
gdz  |d<   |j                  g d¢| ¬«      }t         j                  j                  ||d	d
gdz  gg d¢¬«      }t        j                  dt        j                  g d¢|¬«      i«      j                  «       }|j                  «       }| st        |||d	d
ggt        d«      d¬«      }t        j                  ||«       |j                  ddg| ¬«      }t         j                  j                  ||gddg¬«      }t        j                  g d¢g d¢dœ|¬«      }|j                  «       }| s!t        |||gt        d«      |rdddœnd¬«      }t        j                  ||«       y )Nrj   rk   Tr	   rm   rn   rp   rq   rÁ   rÂ   rZ   rK   )rr   rs   rK   rI   r   rt   r   ÚABCr   r   rr   rs   )rÁ   rÂ   rÁ   rÂ   )rt   rK   ÚABÚ )r   r   r$   rM   r   r÷   rx   r%   rA   r*   ra   rc   rd   )	rJ   r‘   ry   rz   rP   r{   rf   rg   r&   s	            r   Útest_observedr	  E  s¥  € ô �>‰>ÚªÀ$ô€Dô �>‰>ÚªÀ$ô€Dô 
�‰˜D t²|ÑDÓ	E€BØ�eˆn˜qÑ €B€s�Gð 
�‰’O¨hˆÓ	7€BÜ—‘×)Ñ)Ø	ˆt�e˜U�^ aÑ'Ð(²ð *ó €Iô �|‰|Ø	”2—9‘9š\°Ô;Ð<óç�jƒlð ð �V‰V‹X€FÙÜ1Ø�t˜T E¨5 >Ð2´D¸³KÈAô
ˆô ×Ñ˜& (Ô+à	�‰�S˜#�J¨ˆÓ	2€BÜ—‘×)Ñ)¨4°¨,¸sÀC¸jÐ)ÓI€IÜ�|‰|ÚÒ&BÑCÈ9ô€Hð �V‰V‹X€FÙÜ1ØØ�4ˆLÜ�‹JÙ1C !¨"Ò-Èô	
ˆô ×Ñ˜& (Õ+r   c                 óö  — t        j                  g d¢g d¢d¬«      g d¢g d¢dœ}t        j                  |«      }|j                  d| ¬	«      }|j	                  «       }t        j
                  t        d
«      dt        d«      d¬«      }t        j                  ddgddgdœ|¬«      }| s<t        j
                  t        d«      dt        d«      d¬«      }|j                  |«      }t        j                  ||«       y )N©r   rU   r   rU   ©r   rU   rV   Tr	   ©r:   r:   rZ   rZ   ©r˜   r™   rš   r›   ©ÚcatÚintsÚvalr  rI   Úabrû   )r`   r
   r   g      ø?ç      4@rš   )r  r  r   )
r   r   r$   rM   r4   r   ra   r#   rc   rd   )rJ   rX   rP   Úgroups_single_keyr&   rf   rg   r   s           r   Útest_observed_single_columnr  w  sÜ   € ô �~‰~Ú ª_Àdô
ò Úñ	€Aô 
�‰�a‹€BàŸ
™
 5°8˜
Ó<ÐØ×#Ñ#Ó%€Fä×#Ñ#ÜˆT‹
˜¬4°«;Àô€Iô �|‰| c¨3 Z¸¸r¸
ÑCÈ9ÔU€HÙÜ×#Ñ#Ü�‹K˜e´°U³ÀTô
ˆð ×#Ñ# EÓ*ˆä×Ñ˜& (Õ+r   c                 óz  — t        j                  g d¢g d¢d¬«      g d¢g d¢dœ}t        j                  |«      }|j                  dd	g| ¬
«      }|j	                  d«      }t        j                  g d¢t        j                  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 y )Nr  r  Tr	   r  r  r  r  r  rI   r4   )ç      $@g      >@r  g      D@rj   ©r:   rZ   r:   rZ   )r  r  r  r:   rZ   ))r   r:   )rU   rZ   )rU   r:   )r   rZ   )r   r   r$   rM   r  Ú	set_indexr*   r  rt   rc   rd   rë   r  )	rJ   rX   rP   Úgroups_double_keyr&   rg   ÚkeyrV   Úis	            r   Útest_observed_two_columnsr  ’  s3  € ô �~‰~Ú ª_Àdô
ò Úñ	€Aô 
�‰�a‹€BØŸ
™
 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Õ/ñ	0r   c                 ó�  — g d¢g d¢g d¢dœ}t        j                  |«      }t        j                  |d   t        j                  ddd«      «      }||d	<   |j                  d	d
gd| ¬«      }|j                  d«      }|j                  d	d
gd| ¬«      }|j                  d«      j                  «       }t        j                  ||«       y )N)r˜   rÉ   rD   rÉ   rD   r:   r:   ©r˜   r™   rš   r›   é2   é<   éF   )rX   rV   Úer   r   rX   rV   ©rÁ   rÂ   rÃ   rÁ   r   r˜   r[   rê   rÃ   F©Úas_indexrJ   r4   T)
r   r$   r¬   r   ÚlinspacerM   r  Úreset_indexrc   rd   )rJ   rX   rP   r  Úgroupsr&   Úgroups2rg   s           r   Útest_observed_with_as_indexr,  ¶  s´   € ò &Ú+Ú2ñ	€Aô
 
�‰�a‹€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        j                  |«      }t        j                  |d   g d¢«      }d|_        |j	                  |dg| ¬	«      }t         j
                  j                  |g d¢gddg¬
«      }t        j                  g d¢g d¢dœ|¬«      }| st        ||j                  g d¢gddg«      }|j                  d«      }t        j                  ||«       y )N)r[   r[   rD   r\   rp   )r˜   éd   éÈ   é"   )ÚC1ÚC2ÚC3r1  )r:   rZ   r[   rî   r  r2  rI   r   )ç      @r4  g      @g      @)r  g      Y@g      i@g      A@)r1  r3  r   r4   )r   r$   r¬   r`   rM   r   r÷   r*   rt   r  rc   rd   )rJ   rX   rP   rt   r  rÛ   rg   r&   s           r   Útest_observed_codes_remapr5  É  sÎ   € Ú¢<Ò7IÑJ€AÜ	�‰�a‹€BÜ�V‰V�B�t‘HšlÓ+€FØ€F„KØŸ
™
 F¨D >¸H˜
ÓEÐä
�-‰-×
#Ñ
# Vª\Ð$:À5È$À-Ð
#Ó
P€CÜ�|‰|Ú#Ò+EÑFÈcô€Hñ Ü1Ø�v—}‘}¢lÐ3°e¸T°]ó
ˆð ×"Ñ" 6Ó*€FÜ×Ñ˜& (Õ+r   c            	      ó–  — t        j                  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 )NrZ   r   éÿ   i0u  rÅ   é'  )r  Úint_idÚother_idrÁ   Úcategoryr  )r  r9  r:  TrI   r:   )r   r$   r   rË   rÌ   rÍ   r  r�   rŒ   rM   r-   r   rØ   r8   r9  r:  )rP   rÙ   r&   s      r   Útest_observed_perfr<  Ý  s^  € ô 
�‰ä—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                 óÒ  — t        j                  g d¢g d¢¬«      }t        j                  |g d¢dœ«      }|j                  d| ¬«      }|j                  }| r3t        j
                  dd	gd
¬«      t        j
                  dgd
¬«      dœ}nHt        j
                  dd	gd
¬«      t        j
                  g d
¬«      t        j
                  dgd
¬«      dœ}t        j                  ||«       y )N)r   rV   r   r  ©r
   ©r:   rZ   r[   ©r  Úvalsr  rI   r   rZ   Úint64©r“   r:   )r   rV   )r   r   r$   rM   r*  rŽ   rc   Úassert_dict_equal)rJ   r  rP   r’   r&   rg   s         r   Útest_observed_groupsrE  ò  s¹   € ô �.‰.š²_Ô
E€CÜ	�‰˜cª9Ñ5Ó	6€BØ
�
‰
�5 8ˆ
Ó,€Aà�X‰X€FÙä—‘˜1˜a˜&¨Ô0Ü—‘˜1˜# WÔ-ñ
‰ô —‘˜1˜a˜&¨Ô0Ü—‘˜" GÔ,Ü—‘˜1˜# WÔ-ñ
ˆô ×Ñ˜ Õ*r   c           	      óú  — t        j                  dt        j                  dt        j                  dgt        d«      ¬«      it        d«      ¬«      }|j                  d|| ¬«      }|j                  }dt        j                  dd	g«      i}| s)|t        j                  t        j                  d
g«      iz  }|s.|t        j                  g «      t        j                  g «      dœz  }t        j                  ||«       y )Nr  r   Úadbr>  Úxyzr   ©rJ   Údropnar†   rl   ro   )rU   rX   )r   r$   r   r   rb   ra   rM   r*  rŽ   rc   rD  )rJ  rJ   rP   r’   r&   rg   s         r   Útest_groups_na_categoryrK  
  sÁ   € ä	�‰Ø	”—‘ ¤R§V¡V¨SÐ1¼dÀ5»kÔJÐKÜ�5‹kô
€Bð 	�
‰
�5 8°Fˆ
Ó;€Aà�X‰X€FØ”R—X‘X˜s C˜jÓ)Ð*€HÙØ”R—V‘VœRŸX™X s e›_Ð-Ñ-ˆÙØœ"Ÿ(™( 2›,¬R¯X©X°b«\Ñ:Ñ:ˆÜ×Ñ˜ Õ*r   z,keys, expected_values, expected_index_levelsr   )r–   é	   r   r?  r‹   rU   )	ru   rÉ   r   r   r   rL  r   r   r   ©rD   r\   rî   Úa2)	r–   r   r   r   rL  r   r   r   r   Útest_seriesc                 ó  — t        j                  t        j                  g d¢g d¢¬«      t        j                  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        j                  ||| ¬«      }t        j                  d|i|¬«      }	|r|	d   }	t        j                  ||	«       y )N©r:   r:   rZ   r?  r>  rM  )ru   rÉ   rL  )r   rN  rU   rV   r   rN  rU   r�   FrI   rV   r:   ©	r   r   r   r:   r:   r:   rZ   rZ   rZ   r[   ©r   r:   rZ   )rÑ   r   r   )r   r$   r   r  ÚdroprM   rA   r   r   rc   Úassert_equal)
ÚkeysÚexpected_valuesÚexpected_index_levelsrO  rP   r{   r&   r   rÑ   rg   s
             r   Útest_unobserved_in_indexrY    sô   € ô, 
�‰ä—‘¢	²iÔ@Ü—.‘.¢²yÔAÚÚñ		
ó
÷ �i��d�Óð ð �$�à�W‰W˜SˆWÓ!ˆà	�‰�D 5ˆÓ	)€BÙØ�‰WˆØ�V‰V‹X€Fä
ˆ4ƒy�A‚~Ø%‰â,¨a²)©mÐ<ˆÜ—‘Ø!ØØô
ˆô
 �|‰|˜S /Ð2¸%Ô@€HÙØ˜C‘=ˆÜ‡O�O�F˜HÕ%r   c                 ó¼  — t        j                  t        j                  dt        j                  dgg d¢¬«      g d¢dœ«      }|j                  d| ¬«      }|j                  }| rdt        j                  dd	gd
¬«      i}nGt        j                  dd	gd
¬«      t        j                  g d
¬«      t        j                  g d
¬«      dœ}t        j                  ||«       y )Nr   )r   rU   rX   r>  r?  r@  r  rI   r   rZ   rB  rC  )
r   r$   r   r   rb   rM   r*  rŽ   rc   rD  )rJ   rP   r’   r&   rg   s        r   Útest_observed_groups_with_nanr[  Q  s³   € ä	�‰ä—>‘> 3¬¯©°Ð"4ÂÔQÚñ	
ó
€Bð 	�
‰
�5 8ˆ
Ó,€AØ�X‰X€FÙØœŸ™ 1 a &°Ô8Ð9‰ô —‘˜1˜a˜&¨Ô0Ü—‘˜" GÔ,Ü—‘˜" GÔ,ñ
ˆô
 ×Ñ˜ Õ*r   c                  ón  — t        j                  dt        j                  t        j                  gg d¢¬«      } t        j                  g d¢«      }t        j
                  | |dœ«      }|j                  dd¬«      d	   j                  d
«      }|d	   j                  d
g   }t        j                  ||«       y )Nr   r  r>  r?  )r  Úserr  FrI   r]  r   )r   r   r   rb   rx   r$   rM   r7   rŠ   rc   r­   )r  r]  rP   r&   rg   s        r   Útest_observed_nthr^  f  sˆ   € ä
�.‰.˜#œrŸv™v¤r§v¡vÐ.º?Ô
K€CÜ
�)‰)’IÓ
€CÜ	�‰˜c¨#Ñ.Ó	/€Bà�Z‰Z˜¨ˆZÓ.¨uÑ5×9Ñ9¸!Ó<€FØ�%‰y�~‰~˜q˜cÑ"€HÜ×Ñ˜6 8Õ,r   c                 óf  — t        j                  t        j                  dt        j                  dgg d¢¬«      }t        j                  g d¢«      }t        j
                  ||dœ«      }|j                  d| ¬«      j                  «       j                  «       }| r2t        j
                  t        j                  dgg d¢¬«      dgdœ«      }nPt        j
                  t        j                  g d¢g d¢¬«      dt        j                  t        j                  gdœ«      }t        j                  ||«       y )	Nr   r  r>  rp   )Ús1Ús2r`  rI   rZ   )r   r   r   rb   rx   r$   rM   r/   r)  rc   rd   )rJ   r`  ra  rP   r&   rg   s         r   Ú#test_dataframe_categorical_with_nanrb  q  s×   € ä	�‰œŸ™ ¤b§f¡f¨cÐ2ºÔ	O€BÜ	�‰’<Ó	 €BÜ	�‰˜R rÑ*Ó	+€BØ�Z‰Z˜ xˆZÓ0×6Ñ6Ó8×DÑDÓF€FÙÜ—<‘<Ü—>‘> 3 %²OÔDÈQÈCÑPó
‰ô —<‘<ä—n‘n¢_ÂÔQØœ"Ÿ&™&¤"§&¡&Ð)ñó
ˆô ×Ñ˜& (Õ+r   c                 ó  — t        j                  g d¢g d¢| ¬«      }t        j                  g d¢«      }t        j                  ||dœ«      }|j	                  d||¬«      d   j                  d«      }t        j                  |j                  j                  d	¬
«      }t        j                  |j                  «      }|sd||j                  «       <   t        ||k(  «      s$d| › d|› d|› d|› �}t        j                  |«       y y )N)rX   r   rU   r   rX   rU   )r   rU   rý   rX   r	   )Úlabelr  rd  ©rJ   rÈ   r  r/   r�   rC  rý   zDLabels and aggregation results not consistently sorted
for (ordered=z, observed=z, sort=z
)
Result:
)r   r   rx   r$   rM   Ú	aggregater   ÚarrayÚisnar+   ÚpytestÚfail)	r   rJ   rÈ   rd  r  rP   r&   ÚaggrÚmsgs	            r   Ú0test_dataframe_categorical_ordered_observed_sortrm  …  sñ   € ô �N‰NÚ&Ú-Øô€Eô
 �)‰)Ò2Ó
3€CÜ	�‰ ¨cÑ2Ó	3€Bð �Z‰Z˜¨(¸ˆZÓ>¸uÑE×OÑOÐPWÓX€Fô �I‰I�f—l‘l×(Ñ(°Ô9€EÜ�9‰9�V—\‘\Ó"€DÙØ%ˆˆT�Y‰Y‹[ÑÜˆu˜‰}ÔðØ#˜9 K°¨z¸ÀÀð GØ�xð!ð 	ô
 	�‰�CÕð r   c                  óž  — t        j                  dd¬«      } t        j                  j	                  d«      j                  ddd¬«      }t         j                  j                  || d¬	«      }t        j                  t        j                  j	                  d«      j                  d
«      «      }|j                  |d¬«      j                  «       }|j                  t        j                  |«      d¬«      j                  «       }|j                  | «      }t        j                  |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                  j                  t        j0                  d«      j3                  d«      | d¬	«      }t        j                  |«      }t!        j,                  |j5                  «       j                  j/                  d«      |«       t        j6                  g d¢dz  «      }t!        j,                  |j5                  «       j                  j/                  d«      |«       y )Nz
2014-01-01rD   )ÚperiodsrZ   r   r˜   rÅ   Tr½   rÆ   FrI   r	   rÉ   rÊ   r:   )r   Ú
date_ranger   rË   rÌ   rÍ   r   r   r$   rÎ   rM   r4   rÏ   r#   r   r   rc   rd   rÐ   rÑ   rÒ   rÓ   rÕ   r×   r   rÔ   rÖ   rŽ   )rØ   rÑ   rQ   re   r&   rg   rÙ   rÚ   rÛ   rÜ   rÝ   rß   rà   s                r   Útest_datetimerq  ¦  sm  € ä�]‰]˜<°Ô3€FÜ�I‰I×!Ñ! !Ó$×-Ñ-¨a°¸Ð-Ó<€Eä�>‰>×$Ñ$ U¨F¸DÐ$ÓA€Dä�<‰<œŸ	™	×-Ñ-¨aÓ0×@Ñ@ÀÓIÓJ€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ôô
 �>‰>×$Ñ$¤R§Y¡Y¨q£\×%8Ñ%8¸Ó%;¸VÈTÐ$ÓR€DÜ
×
Ñ
˜dÓ
#€CÜ×Ñ˜;×,Ñ,Ó.×4Ñ4×EÑEÀaÓHÈ3ÔOÜ
�(‰(ÒNÐQRÑRÓ
S€CÜ×Ñ˜;×,Ñ,Ó.×4Ñ4×EÑEÀaÓHÈ3ÕOr   c                  ó<  — t         j                  j                  d«      } g d¢}| j                  ddd¬«      }t        j
                  j                  ||d¬«      }t	        j                  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	        j                   t        j
                  j                  g d¢|d¬«      d¬«      |_        t%        j&                  ||«       |j                  dd¬«      j                  «       }|t        d
«         j                  |j                  d¬«      j                  «       }t	        j                   t        j
                  j                  g d¢|d¬«      d¬«      |_        t%        j&                  ||«       y )NrZ   rÀ   r   rD   r™   rÅ   Tr½   éÿÿÿÿr^   r�   rQ   Frç   rI   ©r   r:   rZ   r[   r‹   )r   rË   rÌ   rÍ   r   r   r   r$   rÔ   r   Úreshapera   r  rM   rA   rÑ   r   r   rc   rd   )ÚsrØ   rÑ   rQ   rP   r&   rg   s          r   Útest_categorical_indexrw  Í  s¡  € Ü
�	‰	×Ñ˜aÓ €AÚ)€FØ�J‰J�q˜! "ˆJÓ%€EÜ�>‰>×$Ñ$ U¨F¸DÐ$ÓA€DÜ	�‰”b—i‘i¤§	¡	¨"£¨qÓ1×9Ñ9¸"¸aÓ@Ì$ÈvË,Ô	W€BØ€B€v�Jð �\‰\˜&Ó!×)Ñ)°¸EÐ)ÓB×FÑFÓH€FØ”$�v“,Ñ×'Ñ'¨¯
©
¸UÐ'ÓC×GÑGÓI€HÜ×(Ñ(Ü
�‰×!Ñ!¢,°ÀÐ!ÓEÈFô€H„Nô ×Ñ˜& (Ô+ð �Z‰Z˜¨ˆZÓ/×3Ñ3Ó5€FØ”$�v“,Ñ×'Ñ'¨¯
©
¸UÐ'ÓC×GÑGÓI€HÜ×(Ñ(Ü
�‰×!Ñ!¢,°ÀÐ!ÓEÈFô€H„Nô ×Ñ˜& (Õ+r   c                  óê  — t        j                  g d¢g d¢d¬«      } t        j                  t        j                  j                  d«      j                  d«      | ¬«      }|j                  g d¢d	z  «      j                  «       }t        j                  |j                  «       j                  | «       t        j                  |j                  «       j                  j                  | j                  «       y )
N)rÄ   rÁ   rÃ   rÂ   rÀ   Tr	   rZ   )r™   rD   r�   rp   r\   )r   r   r$   r   rË   rÌ   rÎ   rM   rÐ   rc   rÕ   rÖ   r"   Úassert_categorical_equalrt   )rQ   rP   r&   s      r   Ú!test_describe_categorical_columnsrz  æ  s¦   € ä×ÑÚ$Ú/Øô€Dô
 
�‰”b—i‘i×+Ñ+¨AÓ.×>Ñ>¸wÓGÐQUÔ	V€BØ�Z‰Zš qÑ(Ó)×2Ñ2Ó4€Fä×Ñ˜&Ÿ,™,›.×0Ñ0°$Ô7Ü×Ñ §¡£× 6Ñ 6× =Ñ =¸t¿{¹{ÕKr   c                  óž  — t        j                  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        j                  ddgdd¬«      }t        j                  |j                  |«       t        j                  |j                  j                  |j                  «       |d   |d   z   }t        j                  ddgt        j                   ddgd
¬«      ¬«      }t        j"                  ||«       y )Nr˜   rr   rs   r\   ÚXYXXYrZ   )r   ÚmediumÚartistr}  r;  r~  FrI   r   ©r   r`   rî   rD   ÚXÚYr‹   r   )r   r$   rê   ra   r�   rM   r-   ÚunstackrÐ   r   rc   rÕ   r"   ry  rt   rx   rŽ   r­   )rP   Úgcatr&   Úexp_columnsrg   s        r   Útest_unstack_categoricalr…  ô  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ä×%Ñ% s¨C j¸%ÀhÔO€KÜ×Ñ˜&Ÿ.™.¨+Ô6Ü×Ñ §¡× 5Ñ 5°{×7IÑ7IÔJà�#‰Y˜˜c™Ñ"€FÜ�y‰y˜!˜Q˜¤r§x¡x°°c°
ÀÔ'JÔK€HÜ×Ñ˜6 8Õ,r   c                  ót  — t        j                  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)Nr:   rZ   r[   rD   z$Grouper and axis must be same length©Úmatch)r   rx   r   rb   r¬   rJ  rt   ri  ÚraisesÚ
ValueErrorrM   r4   )Úseriesr�   s     r   Útest_bins_unequal_lenrŒ    s„   € ä�Y‰YœŸ™¤§¡¨¨1¨a°°A°q¸!¸QÐ?Ó@€FÜ�6‰6�&—-‘-“/×(Ñ(¨!Ó,€Dô 
�‰”zÐ)OÔ	Pñ $Ø�‰�tÓ×!Ñ!Ô#÷$÷ $ñ $ús   Â B.Â.B7r‹  re   rD   r[   rZ   ©rr   rs   c                 ó   — | dz   S r  r„   )rÛ   s    r   r‡   r‡     s
   € °°a±€ r   ru   c                 ó,  — | j                  t        j                  t        d«      d¬«      d¬«      }|j	                  t        «      }t        j                  |t        j
                  |j                  «       «      ¬«      }t        j                  ||«       y )NÚABBAr;  rC  FrI   r   )	rM   r   rx   ra   rf  r   rV  rc   r­   )r‹  re   rM   r&   rg   s        r   Útest_categorical_seriesr‘    sg   € ð  �n‰nœRŸY™Y¤t¨F£|¸:ÔFÐQVˆnÓW€GØ×ÑœtÓ$€FÜ�y‰y˜¤R×%8Ñ%8¸¿¹»Ó%EÔF€HÜ×Ñ˜6 8Õ,r   c                  ó  ‡— t        j                  t        j                  g d¢g d¢«      g d¢g d¢dœ«      Š‰j                  ddgdd	¬
«      j	                  «       } t        j                  t        j                  ddg‰j
                  j
                  j                  ¬«      ddgddgdœg d¢¬«      }t        j                  | |«       ˆfd„}‰j                  d|gdd	¬
«      j	                  «       } t        j                  t        j                  ddg‰j
                  j
                  j                  ¬«      ddgddgddgdœ«      }t        j                  | |«       t        j                  g d¢d¬«      }‰j                  d|gdd	¬
«      j	                  «       } t        j                  ddgddgddgdœ«      }t        j                  | |«       ddg}t        j                  t        j                  ddg‰j
                  j
                  j                  ¬«      ddgddgdœg d¢¬«      }dD ]_  }t        j                  t        d«      |¬«      ‰_        ‰j                  |dd	¬
«      j	                  «       } t        j                  | |«       Œa y )N©r:   rZ   rZ   r?  )r˜   é   r”  )ée   éf   ég   )r  rr   rs   r  rr   FTr&  r:   rZ   r>  r˜   r”  r•  éÍ   r�   c                 ó&   •— ‰j                   | df   S )Nrr   )Úloc)ÚrrP   s    €r   r‡   ztest_as_index.<locals>.<lambda><  s   ø€ �"—&‘&˜˜C˜‘.€ r   rã   )r  Úlevel_1rr   rs   )r   rU   rU   r‹   r   rU   )Nr€  rs   rû   )r   r$   r   rM   rA   r  r
   rc   rd   rx   rŽ   ra   r   )r&   rg   r   rv  Úgroup_columnsr`   rP   s         @r   Útest_as_indexrž  '  s9  ø€ ä	�‰ä—>‘>¢)ªYÓ7ÚÚ ñ	
ó
€Bð �Z‰Z˜ ˜¨u¸tˆZÓD×HÑHÓJ€FÜ�|‰|ä—>‘> 1 a &°R·V±V·Z±Z×5JÑ5JÔKØ�b�Ø�s�ñ	
ò
 "ô€Hô ×Ñ˜& (Ô+ó 	!€AØ�Z‰Z˜ ˜
¨U¸TˆZÓB×FÑFÓH€FÜ�|‰|ä—>‘> 1 a &°R·V±V·Z±Z×5JÑ5JÔKØ˜B�xØ�b�Ø�s�ñ		
ó€Hô ×Ñ˜& (Ô+ô 	�	‰	’/¨Ô.€AØ�Z‰Z˜ ˜
¨U¸TˆZÓB×FÑFÓH€FÜ�|‰|à˜�:Ø�b�Ø�s�ñ	
ó€Hô ×Ñ˜& (Ô+ð ˜C�L€MÜ�|‰|ä—>‘> 1 a &°R·V±V·Z±Z×5JÑ5JÔKØ�b�Ø�s�ñ	
ò
 "ô€Hð !ò 0ˆÜ—8‘8œD ›K¨dÔ3ˆŒØ—‘˜M°EÀD�ÓI×MÑMÓOˆä
×Ñ˜f hÕ/ñ	0r   c                  óü  — t        d«      } t        j                  dt        j                  t        d«      | d¬«      i«      }t        j                  | | dd¬«      }t        j                  t        d«      | dd¬«      }t        j                  |j                  ddd¬	«      j                  «       j                  |«       t        j                  |j                  ddd¬	«      j                  «       j                  |«       y )
Nrû   rr   ÚbaTr	   r  ÚbacFrÇ   ©
ra   r   r$   r   r   rc   rÕ   rM   r/   r   ©r
   rP   r%   Únosort_indexs       r   Útest_preserve_categoriesr¥  f  sÌ   € ä�e“€Jô 
�‰Ø	Œb�n‰nœT $›Z°JÈÔMÐNó
€Bô ×$Ñ$ Z°ÀTÐPSÔT€JÜ×&Ñ&¤t¨E£{°JÈÐSVÔW€LÜ×ÑØ
�
‰
�3˜T¨Eˆ
Ó2×8Ñ8Ó:×@Ñ@À*ôô ×ÑØ
�
‰
�3˜U¨Uˆ
Ó3×9Ñ9Ó;×AÑAÀ<õr   c                  ó  — t        d«      } t        j                  dt        j                  t        d«      | d¬«      i«      }t        j                  | | dd¬«      }t        j                  t        d«      t        d«      dd¬«      }t        j                  |j                  ddd¬	«      j                  «       j                  |«       t        j                  |j                  ddd¬	«      j                  «       j                  |«       y )
Nrû   rr   r   Fr	   r  r¡  TrÇ   r¢  r£  s       r   Ú&test_preserve_categories_ordered_falser§  y  sÔ   € ä�e“€JÜ	�‰Ø	Œb�n‰nœT $›Z°JÈÔNÐOó
€Bô ×$Ñ$ Z°ÀUÐQTÔU€Jô ×&Ñ&ÜˆU‹”T˜%“[¨%°cô€Lô ×ÑØ
�
‰
�3˜T¨Eˆ
Ó2×8Ñ8Ó:×@Ñ@À*ôô ×ÑØ
�
‰
�3˜U¨Uˆ
Ó3×9Ñ9Ó;×AÑAÀ<õr   r)   r1  r2  c                 ó4  — t        j                  g d¢g d¢t        j                  t        d«      t        d«      d¬«      t        j                  t        d«      t        d«      d¬«      dœ«      }t        j                  d	d
t        j
                  gddt        j
                  gt        j                  t        d«      t        d«      d¬«      t        j                  t        d«      t        d«      d¬«      dœ«      }|j                  | dd¬«      j                  d¬«      }|j                  | dd¬«      j                  d¬«      j                  «       }|j                  |j                  ¬«      }t        j                  ||«       t        j                  ||«       y )N)r:   rZ   r:   r:   rZ   )r˜   é   rã   é   r0  Úabaabr¡  Fr	   T)rr   rs   r1  r2  rÿ   g      ð?g      9@r  ©Úbyr'  rJ   rv   r�   )r   r$   r   ra   r   rb   rM   r4   r)  r#   r"   rc   rd   )r)   rP   Úexp_fullÚresult1r°   rg   s         r   Útest_preserve_categorical_dtyper°  �  s8  € ô 
�‰â Ú%Ü—.‘.¤ g£¼4À»;ÐPUÔVÜ—.‘.¤ g£¼4À»;ÐPTÔUñ		
ó
€Bô �|‰|à�sœBŸF™FÐ#Ø˜œbŸf™fÐ%Ü—.‘.¤ e£¼¸e»ÈeÔTÜ—.‘.¤ e£¼¸e»ÈdÔSñ		
ó€Hð �j‰j˜C¨%¸%ˆjÓ@×EÑEÐSWÐEÓX€Gà
�
‰
�c D°5ˆ
Ó9ß	‰˜4ˆÓ	 ß	‰‹ð ð
 ×Ñ¨¯©ÐÓ8€HÜ×Ñ˜' 8Ô,Ü×Ñ˜' 8Õ,r   zfunc, valuesÚsecondÚfourthÚthirdc                 óê  — t        j                  g d¢d¬«      }t        j                  g d¢|dœ«      }|j                  d«      } t	        || «      «       }t        j                  ddgt        j
                  ||j                  ¬	«      dœ«      j                  d«      }t        j                  ||«       |j                  d«      d
   } t	        || «      «       }|d
   }t        j                  ||«       y )N)r/   r±  r³  r²  Tr½   )rs  éþÿÿÿrs  rµ  )Úpayloadr)   r¶  rµ  rs  rC  r)   )r   r   r$   rM   Úgetattrrx   r“   r  rc   rd   r­   )Úfuncrt   rV   rP   r’   r&   rg   Úsgbs           r   Útest_preserve_on_ordered_opsrº  ¬  sÏ   € ô 	�‰Ò=ÀtÔL€AÜ	�‰Ò"2¸1Ñ=Ó	>€BØ
�
‰
�9Ó€AØŒW�Q˜ÓÓ€FÜ�|‰|Ø˜�H¤R§Y¡Y¨v¸Q¿W¹WÔ%EÑFóç�i�	Óð ô ×Ñ˜& (Ô+ð �*‰*�YÓ
 Ñ
&€CØŒW�S˜$ÓÓ!€FØ˜‰€HÜ×Ñ˜6 8Õ,r   c                  óð  — t        j                  t        j                  j	                  d«      j                  d«      «      } t        j                  g d¢«      }t         j                  j                  |g d¢d¬«      }| j                  |d¬«      j                  «       }| j                  |d¬«      j                  «       }t        j                  |j                  |j                  |j                  ¬	«      |_        t        j                   ||«       t        j                  g d
¢«      }t         j                  j                  |g d¢d¬«      }| j                  |d¬«      j                  «       }| j                  |d¬«      j                  «       j#                  |j                  «      }t        j                  |j                  |j                  |j                  ¬	«      |_        t        j                   ||«       y )NrZ   rL  rR  rS  Tr½   FrI   r	   )	r   r   r   r:   r:   r:   r[   r[   r[   rt  )r   rx   r   rË   rÌ   rÎ   rg  r   r   rM   r4   r   r   r
   r   rc   r­   r#   )re   rÑ   rQ   r&   rà   s        r   Útest_categorical_no_compressr¼  È  sg  € Ü�9‰9”R—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸aÓ@ÓA€Dä�H‰HÒ0Ó1€EÜ�>‰>×$Ñ$ UªI¸tÐ$ÓD€Dà�\‰\˜$¨ˆ\Ó/×4Ñ4Ó6€FØ
�,‰,�u uˆ,Ó
-×
2Ñ
2Ó
4€Cä×#Ñ#Ø�	‰	˜dŸo™o°t·|±|ô€C„Iô ×Ñ˜6 3Ô'ä�H‰HÒ0Ó1€EÜ�>‰>×$Ñ$ UªLÀ$Ð$ÓG€Dà�\‰\˜$¨ˆ\Ó/×4Ñ4Ó6€FØ
�,‰,�u uˆ,Ó
-×
2Ñ
2Ó
4×
<Ñ
<¸T¿_¹_Ó
M€CÜ×#Ñ#Ø�	‰	˜dŸo™o°t·|±|ô€C„Iô ×Ñ˜6 3Õ'r   c                  óJ  — t        j                  g d¢g d¢d¬«      } t        j                  g d¢| dœ«      }|j                  dd¬	«      j	                  «       }|d
   j
                  }t        j                  dddt        j                  g«      }t        j                  ||«       y )NrT   rW   Tr	   rY   r]   rU   FrI   r   r:   rZ   rD   )r   r   r$   rM   r4   rt   r   rg  rb   rc   Úassert_numpy_array_equal)rQ   re   r&   rà   s       r   Ú#test_categorical_no_compress_stringr¿  á  s„   € Ü�>‰>Ú5Ú'Øô€Dô
 �<‰<Ò9ÀÑEÓF€Dà�\‰\˜#¨ˆ\Ó.×3Ñ3Ó5€FØ�C‰[×Ñ€FÜ
�(‰(�A�q˜!œRŸV™VÐ$Ó
%€CÜ×Ñ ¨Õ,r   c                  ó`  — t        j                  d gdz  t        j                  g d¢«      dœ«      } | j                  d«      j	                  «       d   }t        j
                  t        j                  g ddg¬«      t        j
                  g d	d¬
«      d¬«      }t        j                  ||«       y )Nr[   )ÚtrainrÁ  Útestr�  rr   rs   rÂ  rÁ  r>  r�   ©r“   r`   rõ   )r   r$   r   rM   r/   rx   rc   r­   ©rP   r&   rg   s      r   Ú test_groupby_empty_with_categoryrÅ  ï  s�   € ô 
�‰Øˆf�q‰jœrŸ~™~Ò.HÓIÑJó
€Bð �Z‰Z˜‹_×"Ñ"Ó$ SÑ)€FÜ�y‰yÜ
�‰�r v¨wÐ&7Ô8Ü�i‰i˜ (°Ô5Øô€Hô
 ×Ñ˜6 8Õ,r   c                  ó²  — t        j                  dt        j                  j	                  d«      j                  ddd«      i«      } t        ddd«      D �cg c]  }|› d|dz   › �‘Œ }}t        j                  ||«      }| 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                  j                   ¬«      |_        t#        j$                  ||«       y c c}w )NÚvaluerZ   r   r8  r˜   iô  z - ió  T)r­  Ú	ascendingi)  F)Úrightr¼   Úvalue_grouprI   c                 ó:   — t        | j                  «       d   «      S )Nr   )ÚfloatÚsplitr…   s    r   r‡   ztest_sort.<locals>.<lambda>  s   € ¬e°A·G±G³I¸a±LÓ.A€ r   )r  r‹   )r   r$   r   rË   rÌ   rÍ   rê   r   Úsort_valuesr¬   rÇ  rM   r-   Úsortedr   r   r`   rc   r­   )rP   r  r¼   Ú
cat_labelsr(   rà   s         r   Ú	test_sortrÑ  ÿ  s  € ô 
�‰�w¤§	¡	× 5Ñ 5°aÓ 8× AÑ AÀ!ÀUÈBÓ OÐPÓ	Q€BÜ*/°°5¸#Ó*>Ö? Q���3�q˜3‘w�iÒ Ð?€FÐ?Ü—‘ ¨Ó/€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¡I°C·I±I·N±NÔC€C„IÜ×Ñ˜3 Õ$ùò @s   ÁEc           
      ó¸  — t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢gg d¢¬	«      }t        j                  |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        j                  |ddgt        j
                  |d
|¬«      ¬«      }t        j                  ||«       y )N)ú	(7.5, 10]r˜   r˜   )rÓ  rÉ   r™   )ú(2.5, 5]r\   rš   )ú(5, 7.5]rî   r›   )rÔ  rD   r!  )ú(0, 2.5]r:   r"  )rÕ  ru   r#  )rê   rÁ   rÂ   r�   rê   r½   FrÇ   r:   r"  r\   rš   rî   r›   r˜   )rÖ  rÔ  rÕ  rÓ  )rÓ  rÔ  rÕ  rÖ  rÁ   rÂ   r_   ©r"   r   )r   r$   r   rM   r/   r   rc   rd   )rÈ   r   rP   r&   Údata_valuesÚindex_valuesrg   s          r   Ú
test_sort2rÚ    sí   € ô
 
�‰â!Ú ÚÚÚÚÚð	
ò (ô
€Bô —.‘.  G¡°gÔ>€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ˆÜ�|‰|ØØ˜�Ü×!Ñ! ,°WÀgÔNô€Hô ×Ñ˜& (Õ+r   c                 óþ  — t        j                  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        j                  |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        j                  |ddgt        j                  |d
|¬«      ¬«      }|j                  d
| d¬«      j                  «       }t        j                  ||«       y )NiÛ  ru   r:   rZ   r\   )r˜   rÉ   r\   rî   rD   r:   ru   r   )ÚdtrÁ   rÂ   r�   rÜ  r½   r"  rš   rî   r›   r˜   rÁ   rÂ   r_   r×  FrÇ   )	r   r$   r   r   r   rM   r/   rc   rd   )rÈ   r   rP   rØ  rÙ  rg   r&   s          r   Útest_sort_datetimelikerÝ  8  s£  € ô 
�‰ô ˜˜q !Ó$Ü˜˜q !Ó$Ü˜˜q !Ó$Ü˜˜q !Ó$Ü˜˜q !Ó$Ü˜˜q !Ó$Ü˜˜q !Ó$ðò *Ú/ñ	
ò %ô
€Bô$ �~‰~˜b ™h°Ô8€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Ó ð	
ˆô �|‰|ØØ˜�Ü×!Ñ! ,°TÀ7ÔKô€Hð
 �Z‰Z˜ 4°%ˆZÓ8×>Ñ>Ó@€FÜ×Ñ˜& (Õ+r   c                  óØ  — t        j                  t        j                  g d¢g d¢¬«      g d¢dœ«      } t        j                  g d¢d¬«      }| j	                  dd¬	«      j
                  j                  «       }t        j                  g d
¢|d¬«      }t        j                  ||«       | j	                  dd¬	«      j
                  j                  d¬«      }t        j                  g d
¢|d¬«      }t        j                  ||«       | j	                  dd¬	«      j
                  j                  d¬«      }t        j                  ddt        j                  g|d¬«      }t        j                  ||«       | j	                  dd¬	«      j
                  j                  d¬«      }t        j                  dt        j                  t        j                  g|d¬«      }t        j                  ||«       y )N©r   r   rU   r  r>  ©r:   rZ   r:   r�  rr   r‹   FrI   )r[   r:   r   rs   r   ©Ú	min_countr:   r[   rZ   )r   r$   r   r   rM   rs   rA   rx   rc   r­   r   rb   ©rP   Úexpected_idxr&   rg   s       r   Útest_empty_sumrå  k  sv  € ä	�‰ä—‘¢ºOÔLÚñ	
ó
€Bô ×&Ñ&¢¸SÔA€Lð �Z‰Z˜ eˆZÓ,×.Ñ.×2Ñ2Ó4€FÜ�y‰yš L°sÔ;€HÜ×Ñ˜6 8Ô,ð �Z‰Z˜ eˆZÓ,×.Ñ.×2Ñ2¸QÐ2Ó?€FÜ�y‰yš L°sÔ;€HÜ×Ñ˜6 8Ô,ð �Z‰Z˜ eˆZÓ,×.Ñ.×2Ñ2¸QÐ2Ó?€FÜ�y‰y˜!˜Q¤§¡˜¨¸CÔ@€HÜ×Ñ˜6 8Ô,ð �Z‰Z˜ eˆZÓ,×.Ñ.×2Ñ2¸QÐ2Ó?€FÜ�y‰y˜!œRŸV™V¤R§V¡VÐ,¨lÀÔE€HÜ×Ñ˜6 8Õ,r   c                  óä  — t        j                  t        j                  g d¢g d¢¬«      g d¢dœ«      } t        j                  g d¢d¬«      }| j	                  dd¬	«      j
                  j                  «       }t        j                  g d
¢|d¬«      }t        j                  ||«       | j	                  dd¬	«      j
                  j                  d¬«      }t        j                  g d
¢|d¬«      }t        j                  ||«       | j	                  dd¬	«      j
                  j                  d¬«      }t        j                  ddt        j                  g|d¬«      }t        j                  ||«       y )Nrß  r  r>  rà  r�  rr   r‹   FrI   )rZ   r:   r:   rs   r   rá  r:   rZ   )r   r$   r   r   rM   rs   r9   rx   rc   r­   r   rb   rã  s       r   Útest_empty_prodrç  Š  s  € ä	�‰ä—‘¢ºOÔLÚñ	
ó
€Bô ×&Ñ&¢¸SÔA€Lð �Z‰Z˜ eˆZÓ,×.Ñ.×3Ñ3Ó5€FÜ�y‰yš L°sÔ;€HÜ×Ñ˜6 8Ô,ð �Z‰Z˜ eˆZÓ,×.Ñ.×3Ñ3¸aÐ3Ó@€FÜ�y‰yš L°sÔ;€HÜ×Ñ˜6 8Ô,ð �Z‰Z˜ eˆZÓ,×.Ñ.×3Ñ3¸aÐ3Ó@€FÜ�y‰y˜!˜Q¤§¡˜¨¸CÔ@€HÜ×Ñ˜6 8Õ,r   c                  óš  — t        j                  t        j                  t        d«      «      t        j                  t        t        j                  ddd¬«      «      dz  «      t        j                  d«      dœ«      } | j                  dd	gd
¬«      j                  «       }t         j                  j                  t        j                  g d¢«      t        j                  t        j                  ddd¬«      «      gdd	g¬«      }t        j                  ddddddddt
        j                  dg	i|¬«      }t        j                  ||d
¬«       y )NÚ	abcbabcbaz2018-06-01 00Ú1minr[   )Úfreqro  rL  )Úkey1Úkey2rt   rì  rí  FrI   r  r   rt   r   rD   rÉ   r\   rî   rZ   r   )Ú
check_freq)r   r$   r   ra   rp  r   r   rM   r4   r   r   rb   rc   rd   )rP   r&   rÛ   rg   s       r   Ú,test_groupby_multiindex_categorical_datetimerï  ¥  s  € ô 
�‰ä—N‘N¤4¨Ó#4Ó5Ü—N‘NÜ”R—]‘] ?¸ÈÔKÓLÈqÑPóô —i‘i “lñ	
ó
€Bð �Z‰Z˜ Ð(°5ˆZÓ9×>Ñ>Ó@€Fä
�-‰-×
$Ñ
$ä�N‰Nš?Ó+Ü�N‰Nœ2Ÿ=™=¨¸vÈqÔQÓRð	
ð �vÐð %ó €Cô �|‰|˜X¨¨1¨a°°A°q¸!¼R¿V¹VÀQÐ'GÐHÐPSÔT€HÜ×Ñ˜& (°uÖ=r   zas_index, expectedrQ  r;  rC  r“  r   r†   )r   re   r`   ©r   rU   r†   c                 óæ   — t        j                  t        j                  g d¢d¬«      g d¢g d¢dœ«      }|j                  ddg| d	¬
«      d   j	                  «       }t        j                  ||«       y )NrQ  r;  rC  r“  r?  rð  r   rU   Tr&  r†   )r   r$   rx   rM   rA   rc   rU  )r'  rg   rP   r&   s       r   Ú,test_groupby_agg_observed_true_single_columnrò  ¾  s]   € ô8 
�‰Ü�i‰iš	¨Ô4º9Ê9ÑUó
€Bð �Z‰Z˜˜c˜
¨XÀˆZÓEÀcÑJ×NÑNÓP€Fä‡O�O�F˜HÕ%r   r   c                 óÆ   — t        j                  g d¢g d¢d¬«      }t        j                  g d¢g d¢d¬«      }|j                  d| ¬«      }t        j                  ||«       y )NrW   Fr	   )Nr   rU   rV   r:   r   )r   r   Úshiftrc   rU  )r   Úctrg   r(   s       r   Ú
test_shiftrö  ã  sR   € ä	�‰ÚÒ)=Àuô
€Bô �~‰~ÚÒ*>Èô€Hð �(‰(�1 ˆ(Ó
,€CÜ‡O�O�C˜Õ"r   c                 óä   — | j                  «       dd }|d   j                  d«      |d<   |d   j                  d«      |d<   t        j                  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
    NrD   rr   r;  rs   rp   rK   rN   r:   r¥   )Úcopyr�   r   rx   rT  )rP   Údf_cats     r   rù  rù  ï  sp   € ð" �W‰W‹Y�r˜ˆ]€FØ˜‘+×$Ñ$ ZÓ0€Fˆ3�KØ˜‘+×$Ñ$ ZÓ0€Fˆ3�KÜ—)‘)šLÓ)€Fˆ3�KØ�[‰[˜#˜ Qˆ[Ó'€FØ€Mr   Ú	operationr  rO   c                 óº  — t        j                  g d¢| d   j                  d¬«      }t        j                  g d¢| d   j                  d¬«      }t         j                  j	                  ||g«      }t        j
                  g d¢|d¬«      j                  «       }| j                  ddgd	¬
«      d   } t        ||«      t        «      }t        j                  ||«       y )N)rÂ   rÂ   rÁ   rÁ   rr   rÃ  )ÚoneÚthreerü  Útwors   )rZ   rD   r:   r[   rK   ©re   r   r`   TrI   )r   rŽ   r“   r   r÷   rx   r%   rM   r·  rA   rc   r­   )rù  rú  Úlev_aÚlev_br   rg   rÙ   r&   s           r   Ú test_seriesgroupby_observed_truer    s±   € ô �H‰HÒ1¸À¹×9JÑ9JÐQTÔU€EÜ�H‰HÒ3¸6À#¹;×;LÑ;LÐSVÔW€EÜ�M‰M×%Ñ% u¨e nÓ5€EÜ�y‰yšl°%¸cÔB×MÑMÓO€Hà�n‰n˜c 3˜Z°$ˆnÓ7¸Ñ<€GØ(ŒW�W˜iÓ(¬Ó-€FÜ×Ñ˜6 8Õ,r   rJ   c                 óˆ  — t         j                  j                  t        j                  ddgd¬«      t        j                  g d¢d¬«      gddg¬«      j	                  «       \  }}t        j
                  g d	¢|d
¬«      }| j                  ddg|¬«      d
   } t        ||«      t        «      }t        j                  ||«       y )NrÂ   rÁ   Fr½   ©rü  rý  rþ  rr   rs   r   )rZ   rD   r   r:   r   r[   rK   rÿ  rI   )r   r   r   r   Ú	sortlevelrx   rM   r·  rA   rc   r­   )rù  rJ   rú  r   Ú_rg   rÙ   r&   s           r   Ú)test_seriesgroupby_observed_false_or_noner    s³   € ô
 �}‰}×)Ñ)ä×Ñ ¨ ¸Ô>Ü×ÑÒ 7ÀÔGð	
ð �Cˆjð *ó ÷ �iƒkñ €Eˆ1ô �y‰yÒ0¸ÀCÔH€HØ�n‰n˜c 3˜Z°(ˆnÓ;¸CÑ@€GØ(ŒW�W˜iÓ(¬Ó-€FÜ×Ñ˜6 8Õ,r   zobserved, index, datarÂ   rÁ   rr   rÃ  )rü  rü  rý  rý  rü  rü  rþ  rþ  rs   )rZ   rZ   rD   rD   r:   r:   r[   r[   r½   r  )rr   rs   Nc                 ó°   — t        j                  ||d¬«      }| j                  ddg|¬«      d   j                  d„ «      }t	        j
                  ||«       y )NrK   rÿ  rr   rs   rI   c                 óD   — | j                  «       | j                  «       dœS )N©r6   r3   r
  r…   s    r   r‡   z8test_seriesgroupby_observed_apply_dict.<locals>.<lambda>Y  s   € ˜!Ÿ%™%›'¨!¯%©%«'Ñ2€ r   )r   rx   rM   rO   rc   r­   )rù  rJ   r   re   rg   r&   s         r   Ú&test_seriesgroupby_observed_apply_dictr  )  sR   € ô\ �y‰y˜d¨%°cÔ:€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 )Nrr   rs   FrI   rK   )rM   r4   rc   r­   )rù  rg   r&   s      r   Ú4test_groupby_categorical_series_dataframe_consistentr  ^  sZ   € à�~‰~˜s C˜j°5ˆ~Ó9¸#Ñ>×CÑCÓE€HØ�^‰^˜S #˜J°ˆ^Ó7×<Ñ<Ó>¸sÑC€FÜ×Ñ˜6 8Õ,r   c                 óN  — t        j                  t        j                  ddg|¬«      ddgdœddg¬	«      }|j                  «       }|j	                  d| ¬
«      j                  t         j                  j                  d¬«      j                  «       }t        j                  ||«       y )NÚBobÚGregr½   r:   rZ   )ÚNameÚItemr  r  r�   rI   T)Úskipna)r   r$   r   rø  rM   r  rx   rA   r)  rc   rd   )rJ   r   rP   rg   r&   s        r   Ú$test_groupby_cat_preserves_structurer  e  s†   € ä	�‰Ü—‘ ¨ ¸ÔAÈAÈqÈ6ÑRØ˜Ð ô
€Bð �w‰w‹y€Hð 	�
‰
�6 Hˆ
Ó-ß	‰ŒR�Y‰Y�]‰] 4ˆÓ	(ß	‰‹ð ô ×Ñ˜& (Õ+r   c                  óì   — t        j                  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)Nrj   rD   )rB   r  z'vau'r‡  rB   c                 óR   — t        j                  d| j                  d   d   gi«      S )Nr  rs  Úvau)r   r$   rŠ   )Úrowss    r   r‡   z/test_get_nonexistent_category.<locals>.<lambda>{  s$   € œŸ™ u¨t¯y©y¸©}¸UÑ/CÐ.DÐ&EÓF€ r   )r   r$   rê   ri  r‰  ÚKeyErrorrM   rO   ©rP   s    r   Útest_get_nonexistent_categoryr  v  sW   € ä	�‰Ò2¼5À»8ÑDÓ	E€BÜ	�‰”x wÔ	/ñ 
Ø
�
‰
�5Ó×ÑÙFô	
÷
÷ 
ñ 
ús   ¿"A*Á*A3c           	      óJ  — | dk(  rt        j                  d«       t        j                  t        j                  t        d«      t        d«      ¬«      t        j                  t        d«      dz  t        d«      ¬«      dgd	z  d
œ«      }t        | |«      }|rd	nd}|j                  ddg|¬«      d   }| dk(  rt        || «      rJ ‚y t        || «      }|s.| dv r*t        j                  t        d¬«      5   ||Ž  d d d «       y  ||Ž }t        |«      |k(  sJ ‚y # 1 sw Y   y xY w)NÚngroupúngroup is not truly a reductionÚAABBÚABCDr>  r  rZ   çš™™™™™¹?rD   ©Úcat_1Úcat_2rÇ  r©  r#  r$  rI   rÇ  r.   ©r1   r0   ú(empty group due to unobserved categoriesr‡  )ri  Úskipr   r$   r   ra   r   rM   Úhasattrr·  r‰  rŠ  r   )Úreduction_funcrJ   rP   r'   Úexpected_lengthÚseries_groupbyr  r&   s           r   Ú0test_series_groupby_on_2_categoricals_unobservedr,    s  € à˜Ò!Ü�‰Ð5Ô6ä	�‰ä—^‘^¤D¨£L¼TÀ&»\ÔJÜ—^‘^¤D¨£J°¡N¼tÀF»|ÔLØ�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   Ã4DÄD"c           	      óê  — | dk(  rt        j                  d«       | dk(  r1t         j                  j                  d¬«      }|j	                  |«       t        j                  t        j                  t        d«      t        d«      ¬«      t        j                  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(  r<| dv r1t%        j&                  |j(                  t$        j*                  «      sJ ‚y | dv sJ ‚y y # 1 sw Y   y xY w)Nr  r  r.   z6TODO: implemented SeriesGroupBy.corrwith. See GH 32293©Úreasonr  r  r>  r  rZ   r!  rD   r"  ÚACÚBCÚCAÚCBÚCCr#  r$  FrI   rÇ  r%  r&  r‡  r   )r-   r8   r=   )rA   r,   )ri  r'  ÚmarkÚxfailÚapplymarkerr   r$   r   ra   Útupler   rM   r·  r‰  rŠ  Ú-_results_for_groupbys_with_missing_categoriesrš  rh  r   Ú
issubdtyper“   Úinteger)r)  Úrequestr5  rP   Ú
unobservedr'   r+  r  r&   Úmissing_fillinrÛ   r  s               r   Ú?test_series_groupby_on_2_categoricals_unobserved_zeroes_or_nansr?  ¥  sÇ  € ð ˜Ò!Ü�‰Ð5Ô6à˜Ò#Ü�{‰{× Ñ ØKð !ó 
ˆð 	×Ñ˜DÔ!ä	�‰ä—^‘^¤D¨£L¼TÀ%»[ÔIÜ—^‘^¤D¨£J°¡N¼tÀE»{ÔKØ�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äBÀ>ÑR€Nàò UˆØ�j‰j˜‰oˆÜ—‘˜Ô'¬B¯G©G°C­L¸cÀ^Ó>SÐTÐTðUð ˜ÒØÐ9Ñ9Ü—=‘= §¡¬r¯z©zÔ:Ð:Ñ:à! ^Ñ3Ð3Ñ3ð	 ÷%	ð 	ús   ÅG)Ç)G2c           	      ó  — | dk(  rt        j                  d«       t        j                  t        j                  t        d«      t        d«      ¬«      t        j                  t        d«      t        d«      ¬«      g d¢d	œ«      }g d
¢}|j                  ddgd¬«      }t        | |«      }| dk(  r	t        }d}nd }d}t        j                  ||¬«      5   t        || «      |Ž }d d d «       |D ]  }|j                  vrŒJ ‚ y # 1 sw Y   Œ!xY w)Nr  ú2ngroup does not return the Categories on the indexr  r  r>  Ú1111Ú12©r!  r!  r!  r!  r"  ©)rr   Ú2)rs   rF  )rK   Ú1)rK   rF  r#  r$  TrI   r.   ú'DataFrameGroupBy.corrwith is deprecatedr  r‡  )ri  r'  r   r$   r   ra   rM   r   r   rc   Úassert_produces_warningr·  r   )	r)  rP   Úunobserved_catsÚdf_grpr'   ÚwarnÚwarn_msgr(   r  s	            r   Ú>test_dataframe_groupby_on_2_categoricals_when_observed_is_truerN  Ü  sý   € ð
 ˜Ò!Ü�‰ÐHÔIä	�‰ä—^‘^¤D¨£L¼TÀ%»[ÔIÜ—^‘^¤D¨£L¼TÀ$»ZÔHÚ)ñ	
ó
€Bò G€Oà�Z‰Z˜ 'Ð*°TˆZÓ:€Fä" >°2Ó6€DØ˜Ò#ÜˆØ<‰àˆØˆÜ	×	#Ñ	# D°Ô	9ñ 5Ø-Œg�f˜nÓ-¨tÐ4ˆ÷5ð ò $ˆØ˜#Ÿ)™)Ò#Ð#Ð#ñ$÷5ð 5ús   ÃDÄDc           	      óà  — | dk(  rt        j                  d«       t        j                  t        j                  t        d«      t        d«      ¬«      t        j                  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 | dk(  r	t        }d}nd }d}t        j                  ||¬«      5   t        || «      |Ž }	d d d «       t        |    }
|r*| dk(  r%	j                  |   |
k(  j!                  «       du sJ ‚y |
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# 1 sw Y   ŒÉxY w)Nr  rA  r  r  r>  rB  rC  rD  r"  rE  r#  r$  rI   r%  r&  r‡  r.   rH  r  r=   T)ri  r'  r   r$   r   ra   rM   r   r‰  rŠ  r·  r   rc   rI  r9  rš  r+   r   rb   Úisnull)r)  rJ   Úusing_python_scalarsrP   rJ  rK  r'   rL  rM  r(   rg   s              r   Ú?test_dataframe_groupby_on_2_categoricals_when_observed_is_falserR  ý  sÁ  € ð ˜Ò!Ü�‰ÐHÔIä	�‰ä—^‘^¤D¨£L¼TÀ%»[ÔIÜ—^‘^¤D¨£L¼TÀ$»ZÔHÚ)ñ	
ó
€Bò G€Oà�Z‰Z˜ 'Ð*°XˆZÓ>€Fä" >°2Ó6€Dá˜Ð*>Ñ>ä�]‰]ÜÐHô
ñ 	3ð ,ŒG�F˜NÓ+¨TÑ2÷	3ð 	à˜Ò#ÜˆØ<‰àˆØˆÜ	×	#Ñ	# D°Ô	9ñ 5Ø-Œg�f˜nÓ-¨tÐ4ˆ÷5ô =¸^ÑL€Há °&Ò 8Ø—‘˜Ñ(¨HÑ4×9Ñ9Ó;¸tÑCÐCÑCØ	”R—V‘VÑ	Ø�w‰w�Ñ'×.Ñ.Ó0×4Ñ4Ó6×:Ñ:Ô<Ð<Ñ<à—‘˜Ñ(¨HÑ4×9Ñ9Ó;×?Ñ?ÔAÐAÑA÷-	3ð 	ú÷5ð 5ús   Ã
GÄG$ÇG!Ç$G-c                  óV  — g d¢g d¢g d¢dœ} t        j                  | «      }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É   rD   r:   r  )rX   rV   rX   rV   r%  rÁ   r   r™   r\   rê   rÃ   TF©r'  rÈ   rJ   r4   )	r   r$   r¬   r   r(  rM   r  rc   r­   )rX   rP   r  r*  r&   rg   s         r   Ú3test_series_groupby_categorical_aggregation_getitemrU  1  s™   € âÒ&6Ò?SÑT€AÜ	�‰�a‹€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                 óR  — t        j                  g d¢g d¢t        j                  g d¢«      dœ«      j                  d«      }|j	                  d«      j                  | «      }t        j                  d|it        j                  g d¢d¬	«      ¬
«      }t        j                  ||«       y )Nr»   )r   r:   r:   rZ   rZ   )r   r   r   r   r:   )Úidr*  rÇ  rW  r*  rÇ  rS  r‹   r   )	r   r$   r   r  rM   r  rŽ   rc   rd   )r¸  rW  rP   r&   rg   s        r   Ú$test_groupby_agg_categorical_columnsrX  =  s‡   € ô 
�‰â!Ú%Ü—^‘^¢OÓ4ñ	
ó
÷ �i�ƒoð ð �Z‰Z˜Ó!×%Ñ% dÓ+€Fä�|‰|Ø	�/Ð"¬"¯(©(²9À8Ô*Lô€Hô ×Ñ˜& (Õ+r   c                  óÒ  — t        j                  dt        j                  g d¢g d¢¬«      i«      } t        j                  dddgit        j                  ddg«      ¬«      }| j                  g d¢«      j                  t         j                  j                  «      }t        j                  ||«       | j                  g d¢«      j                  «       }t        j                  ||«       y )	Nrr   rß  r  r>  rZ   r:   r   rà  )r   r$   r   r   rg  rM   r  rx   r8   rc   rd   ©rP   rg   r&   s      r   Útest_groupby_agg_non_numericr[  R  s¤   € Ü	�‰Ø	Œb�n‰nš_ºÔIÐJó
€Bô �|‰|˜S 1 a &˜M´·±¸1¸a¸&Ó1AÔB€Hà�Z‰Zš	Ó"×&Ñ&¤r§y¡y×'8Ñ'8Ó9€FÜ×Ñ˜& (Ô+à�Z‰Zš	Ó"×*Ñ*Ó,€FÜ×Ñ˜& (Õ+r   r¸  c                 ó‚  — t        j                  dgt        j                  dgd¬«      j                  j	                  «       dœ«      }|j                  d«      d   } t        || «      «       }t        j                  dgt        j                  dgd¬«      d|d   j                  ¬	«      }t        j                  ||«       y )
NiÍ  rU   r;  rC  r�  rr   rs   r‹   ©r   r`   r“   )r   r$   rx   r  Ú
as_orderedrM   r·  rŽ   r“   rc   r­   )r¸  rP   Ú
df_groupedr&   rg   s        r   Ú<test_groupby_first_returned_categorical_instead_of_dataframer`  _  sŸ   € ô 
�‰Øˆfœ2Ÿ9™9 c U°*Ô=×AÑA×LÑLÓNÑOó
€Bð —‘˜C“ Ñ%€JØ&ŒW�Z Ó&Ó(€Fô �y‰yØ	ˆ”R—X‘X˜t˜f¨3Ô/°cÀÀCÁÇÁô€Hô ×Ñ˜6 8Õ,r   c            	      ó¬  — t        j                  ddg«      } d| j                  _        t	        j
                  g d¢t	        j                  g d¢t	        j                  | «      ¬«      dœ«      }t	        j
                  dd	d
git	        j                  | d¬«      ¬«      }|j                  ddd¬«      j                  «       }t        j                  ||«       y )Nr:   rZ   F)r:   r[   r\   ru   r  r>  r]   r   rÿ   g      @rU   r‹   ræ   rÇ   )r   rg  ÚflagsÚ	writeabler   r$   r   rŽ   r   rM   r4   rc   rd   )rQ   rP   rg   r&   s       r   Útest_read_only_category_no_sortrd  p  s¦   € ä�8‰8�Q˜�FÓ€DØ €D‡J�JÔÜ	�‰âÜ—‘¢¼¿¹À$»ÔHñ	
ó
€Bô �|‰|Ø�C˜�:Ð¤b×&9Ñ&9¸$ÀSÔ&Iô€Hð �Z‰Z˜ %°%ˆZÓ8×=Ñ=Ó?€FÜ×Ñ˜& (Õ+r   c                  óê  — t        j                  g d¢g d¢dœ«      } | d   j                  d«      j                  j	                  g d¢d¬«      | d<   t        j                  d	d	d
œd	dd
œddd
œddd
œdœ«      }|j                  dd¬«      }t        j                  g d¢g d¢ddd¬«      |_        | j                  ddgd¬«      j                  «       j                  «       }t        j                  ||«       y )N)ÚsmallÚlargerg  rg  r}  rg  rg  r}  )rK   rr   rr   rK   rr   rK   rr   rK   )rÁ   rÂ   rÁ   r;  )Útinyrf  r}  rg  Tr½   r   )rr   rK   r:   r[   rZ   rÂ   r   r¥   )r
   r   r`   r“   FrI   )r   r$   r�   r  Úset_categoriesÚrename_axisr   r"   rM   r=   r‚  rc   rd   rZ  s      r   Ú#test_sorted_missing_category_valuesrk  �  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        j                  dg d¢i«      } | d   j                  d«      | d<   | j                  d«      j                  j                  «       }t        j                  g d¢t        j                  g d¢d¬«      d| d   j                  ¬«      }t        j                  ||«       | j                  d«      j                  ddi«      }|j                  «       }t        j                  ||«       y )	NÚcol_num)r:   r:   rZ   r[   r;  Úcol_catr?  r‹   r]  r/   )r   r$   r�   rM   rn  r/   rx   rŽ   r“   rc   r­   r  Úto_framerd   rÄ  s      r   Ú1test_agg_cython_category_not_implemented_fallbackrp  ®  sÉ   € ä	�‰�y¢,Ð/Ó	0€BØ�y‘M×(Ñ(¨Ó4€B€y�Mà�Z‰Z˜	Ó"×*Ñ*×0Ñ0Ó2€Fô �y‰yÚÜ�h‰h’y yÔ1ØØ�‰m×!Ñ!ô	€Hô ×Ñ˜6 8Ô,à�Z‰Z˜	Ó"×&Ñ&¨	°7Ð';Ó<€FØ× Ñ Ó"€HÜ×Ñ˜& (Õ+r   c                  ó–  — t        j                  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                  j                  ddgddggd¬«      }t        j                  ddgddgddgdœ|¬«      }t        j                  ||«       y )N)r:   r:   r:   r:   r  r!  gš™™™™™É?g333333Ó?)rÁ   rÂ   rÁ   Úfee)rr   rs   Únumerical_colÚ
object_colÚcategorical_colru  r;  rr   rs   c                 ó>   — | j                  «       j                  «       S rƒ   )rh  rA   r  s    r   r‡   z7test_aggregate_categorical_with_isnan.<locals>.<lambda>Ò  s   € °2·7±7³9·=±=³?€ r   r:   rZ   r�  r   r   )rs  rt  ru  ræ   )r   r$   r   rb   r�   rM   r  r   r÷   rc   rd   rø   s       r   Ú%test_aggregate_categorical_with_isnanrw  Ä  sÊ   € ä	�‰âÚØ! 3¬¯©°Ð4Ú6Ú;ñ	
ó
€Bð 
�‰Ð% zÐ2Ó	3€Bà�Z‰Z˜˜c˜
Ó#×'Ñ'Ñ(BÓC€FÜ�M‰M×%Ñ%¨¨1 v°°1¨vÐ&6¸jÐ%ÓI€EÜ�|‰|à ˜VØ˜a˜&Ø ! 1˜vñ
ð
 ô€Hô ×Ñ˜& (Õ+r   c                  ó¨  — t        j                  g d¢g d¢dœ«      } t        j                  g d¢d¬«      }| d   j                  |«      | d<   | j	                  d«      d   j                  t        «      | d	<   | j                  «       }t        j                  g d¢g d¢g d
¢dœ«      }|d   j                  |«      |d<   t        j                  ||«       y )N)r:   r:   r:   rZ   rZ   r[   )ÚWaitingÚOnTheWayÚ	Deliveredry  rz  ry  )Ú
package_idÚstatus)ry  rz  r{  Tr	   r}  r|  Úlast_status)ry  ry  ry  ry  ry  ry  )r|  r}  r~  )
r   r$   ÚCategoricalDtyper�   rM   r�   r3   rø  rc   rd   )rP   Údelivery_status_typer&   rg   s       r   Útest_categorical_transformr�  ß  sË   € ä	�‰â,òñ
	
ó
€Bô ×.Ñ.Ú7ÀôÐð �h‘<×&Ñ&Ð';Ó<€B€x�LØŸ
™
 <Ó0°Ñ:×DÑDÄSÓI€B€}ÑØ�W‰W‹Y€Fä�|‰|â,òòñ	
ó€Hð, " (Ñ+×2Ñ2Ð3GÓH€HˆXÑÜ×Ñ˜& (Õ+r   c                 ó¬  — t        j                  g d¢«      }g d¢}t        j                  |||dœ«      }t        j                  ddg«      }t         j                  j	                  ||gddg¬«      }t        j
                  dt        j                  t        j                  dg|d	¬
«      t        j
                  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   r:   r:   )r   r:   r:   r   r  r   r:   r   rU   r   rV   r‹   )r/   r2   rI   )r   r   r$   r   r   rx   r   rb   rJ  r�   rB  rM   r·  rc   r­   )r¸  rJ   r  r  rP   rz   rÛ   Úexpected_dictrg   Úsrs_grpr&   s              r   ÚFtest_series_groupby_first_on_categorical_col_grouped_on_2_categoricalsr†    s  € ô
 �.‰.šÓ
&€CÚ
€CÜ	�‰˜C c°Ñ4Ó	5€Bä�>‰>˜1˜a˜&Ó!€DÜ
�-‰-×
$Ñ
$ d¨D \¸#¸s¸Ð
$Ó
D€Cä—‘˜AœrŸv™v¤r§v¡v¨qÐ1°3¸SÔAÜ—	‘	˜1œbŸf™f¤b§f¡f¨aÐ0°#¸CÔ@ñ€Mð
 ˜TÑ"€HÙØ—?‘?Ó$×+Ñ+¬B¯H©HÓ5ˆà�j‰j˜#˜s˜¨hˆjÓ7¸Ñ<€GØ#ŒW�W˜dÓ#Ó%€FÜ×Ñ˜6 8Õ,r   c                 óÂ  — t        j                  g d¢«      }g d¢}t        j                  |||dœ«      }t        j                  ddg«      }t         j                  j	                  ||gddg¬«      }t        j
                  dt        j                  t        j                  dg|d	¬
«      t        j
                  dt        j                  t        j                  dg|d	¬
«      dœ}||    j                  «       }|r-|j                  «       j                  t        j                  «      }|j                  ddg|¬«      }	 t        |	| «      «       }
t        j                  |
|«       y rƒ  )r   r   r$   r   r   rx   r   rb   ro  rJ  r�   rB  rM   r·  rc   rd   )r¸  rJ   r  r  rP   rz   rÛ   r„  rg   rK  r&   s              r   ÚBtest_df_groupby_first_on_categorical_col_grouped_on_2_categoricalsrˆ  )  s  € ô
 �.‰.šÓ
&€CÚ
€CÜ	�‰˜C c°Ñ4Ó	5€Bä�>‰>˜1˜a˜&Ó!€DÜ
�-‰-×
$Ñ
$ d¨D \¸#¸s¸Ð
$Ó
D€Cä—‘˜AœrŸv™v¤r§v¡v¨qÐ1°3¸SÔAÜ—	‘	˜1œbŸf™f¤b§f¡f¨aÐ0°#¸CÔ@ñ€Mð
 ˜TÑ"×+Ñ+Ó-€HÙØ—?‘?Ó$×+Ñ+¬B¯H©HÓ5ˆà�Z‰Z˜˜c˜
¨XˆZÓ6€FØ"ŒW�V˜TÓ"Ó$€FÜ×Ñ˜& (Õ+r   c                  óð  — t        j                  t        j                  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)rU   rU   r   r  r>  r[   )r  r)   r  FrÇ   r   r:   ÚintprC  rZ   )rU   r   rV   )r   r$   r   rê   rM   Úindicesr   rg  rV  rc   r¾  )rP   rÙ   r&   rg   r  s        r   Ú2test_groupby_categorical_indices_unused_categoriesrŒ  B  sË   € ä	�‰ä—>‘>¢/ºoÔNÜ˜“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            	      ó|  — ddg} t        j                  g d¢t        j                  ddgdz  | d¬«      dœ«      }|j                  dd	gd
d
¬«      }|j                  }t        j                  dgd¬«      t        j                  dgd¬«      t        j                  dgd¬«      t        j                  dgd¬«      t        j                  dgd¬«      t        j                  dgd¬«      dœ}|j                  «       |j                  «       k(  sJ ‚|j                  «       D ]  }t        j                  ||   ||   «       Œ  y )Nrñ   Úmid©r   r   r:   r:   rZ   rZ   r[   Tr	   ©r†   r’   r†   r’   FrÇ   r   rŠ  rC  r:   rZ   rD   r\   ))r   rŽ  )r   rñ   ©r:   rŽ  )r:   rñ   )rZ   rŽ  )rZ   rñ   )
r   r$   r   rM   r‹  r   rg  rV  rc   r¾  )rQ   rP   r{   r&   rg   r  s         r   Ú5test_groupby_categorical_indices_sort_false_multi_keyr’  V  s  € à�5ˆ>€DÜ	�‰â#Ü—‘ ¨ °Ñ 2¸tÈTÔRñ	
ó
€Bð 
�‰�S˜#�J U°UˆÓ	;€Bà�Z‰Z€Fä—H‘H˜a˜S¨Ô/Ü—H‘H˜a˜S¨Ô/Ü—H‘H˜a˜S¨Ô/Ü—H‘H˜a˜S¨Ô/Ü—H‘H˜a˜S¨Ô/Ü—H‘H˜a˜S¨Ô/ñ€Hð �;‰;‹=˜HŸM™M›OÒ+Ð+Ð+Ø�{‰{‹}ò @ˆÜ
×#Ñ# F¨3¡K°¸#±Õ?ñ@r   c                  ó  — ddg} t        j                  g d¢t        j                  ddgdz  | d¬«      dœ«      }|j                  dd	gd
d
¬«      }|j	                  d«      }|j
                  dg   }t        j                  ||«       y )Nrñ   rŽ  r�  r[   Tr	   r�  r†   r’   FrÇ   r‘  rZ   )r   r$   r   rM   rë   rŠ   rc   rd   )rQ   rP   r{   r&   rg   s        r   Ú7test_groupby_categorical_get_group_sort_false_multi_keyr”  o  s�   € à�5ˆ>€DÜ	�‰â#Ü—‘ ¨ °Ñ 2¸tÈTÔRñ	
ó
€Bð 
�‰�S˜#�J U°UˆÓ	;€Bà�\‰\˜*Ó%€FØ�w‰w˜�s‰|€HÜ×Ñ˜& (Õ+r   c                 ó^  — t        j                  dg d¢i«      }|d   j                  d«      |d<    t        |j	                  d«      d   | «      «       }t        j
                  t        j                  g d¢«      dt        j                  g d¢d¬«      ¬«      }t        j                  ||«       y )Nr   r?  r;  rU   r‹   )r`   r   )
r   r$   r�   r·  rM   rx   r   rŽ   rc   r­   )r¸  rP   r&   rg   s       r   Ú1test_groupby_last_first_preserve_categoricaldtyper–    s†   € ô 
�‰�sšIÐ&Ó	'€BØ�‰g�n‰n˜ZÓ(€B€s�GØ0ŒW�R—Z‘Z “_ SÑ)¨4Ó0Ó2€FÜ�y‰yÜ
�‰’yÓ!¨´2·8±8ºIÈCÔ3Pô€Hô ×Ñ˜8 VÕ,r   c            
      ó²  — t        j                  ddgddgddgdœ«      } | j                  dddœ¬«      } | j                  d	d
gd¬«      j	                  «       d   }t        j
                  ddgt         j                  j                  t        j                  ddgd	¬«      t        j                  ddgd
¬«      g«      d¬«      }t        j                  ||«       y )Nr:   rZ   r˜   r”  r  r;  r]   rC  r   rU   TrI   rV   r‹   rõ   )r   r$   r�   rM   r8   rx   r   r÷   r   rc   r­   rÄ  s      r   Ú)test_groupby_categorical_observed_nuniquer˜  ‹  sÇ   € ä	�‰˜Q ˜F¨!¨Q¨°r¸2°hÑ?Ó	@€BØ	�‰˜z°
Ñ;ˆÓ	<€BØ�Z‰Z˜˜c˜
¨TˆZÓ2×:Ñ:Ó<¸SÑA€FÜ�y‰yØ	
ˆAˆÜ�m‰m×'Ñ'ä×#Ñ# Q¨ F°Ô5Ü×#Ñ# Q¨ F°Ô5ðó
ð ô	€Hô ×Ñ˜6 8Õ,r   c            	      óž  — t        j                  ddgd¬«      } t        j                  ddgddgddggddg¬	«      j                  d| i«      }|j	                  d«      d   j                  «       }t        j                  ddgt        j                  ddgd¬
«      dt        j                  ddgd¬«      ¬«      }t        j                  ||«       y )Nrf  ÚbigTr	   r:   rZ   ÚgrpÚdescriptionr�   r‹   r]  )
r   r  r$   r�   rM   r3   rx   rŽ   rc   r­   )r“   rP   r&   rg   s       r   Ú,test_groupby_categorical_aggregate_functionsr�  �  sÆ   € ä×Ñ¨G°UÐ+;ÀTÔJ€EÜ	�‰Ø
ˆWˆ˜˜5�z A w <Ð0¸5À-Ð:Pô
ç�fˆm˜UÐ#Ó$ð ð �Z‰Z˜Ó˜}Ñ-×1Ñ1Ó3€FÜ�y‰yØ	�ÐÜ�h‰h˜˜1�v EÔ*ØÜ×!Ñ!¨g°uÐ-=ÀtÔLô	€Hô ×Ñ˜6 8Õ,r   c                 óÜ  — t        j                  ddgg d¢¬«      }t        j                  t        j                  ddgg d¢¬«      ddgdœ«      }|j                  d| |¬	«      }|j	                  «       }| rt        j                  d
ddgi|¬«      }n5t        j
                  g d¢g d¢«      }t        j                  d
g d¢i|¬«      }d|j                  _        t        j                  ||«       y )Nr:   rZ   r?  r>  r[   rD   )r†   ro   r†   rI  ro   r   )r[   rD   r   )
r   r   r$   rM   rA   r   r   r`   rc   rd   )rJ   rJ  r  rP   r{   r&   rg   r   s           r   Útest_groupby_categorical_dropnarŸ  ¯  s»   € ä
�.‰.˜!˜Q˜ªIÔ
6€CÜ	�‰œBŸN™N¨A¨q¨6ºiÔHÐPQÐSTÈvÑVÓ	W€BØ	�‰�C (°6ˆÓ	:€BØ�V‰V‹X€FáÜ—<‘<  q¨! f °SÔ9‰ä×#Ñ#¢IªyÓ9ˆÜ—<‘< ¢iÐ 0¸Ô>ˆØ€H‡N�NÔä×Ñ˜& (Õ+r   Ú
index_kind)rê   ÚsingleÚmultic                 ó€  — |dk(  r9|s7|dk7  r2d}| j                  t        j                  j                  |¬«      «       n|dk7  r|st        j                  d¬«       t        j                  t        j                  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 |dk(  r	t        }d}nd }d}t!        j"                  ||¬«      5   t        ||«      |
Ž }d d d «       |r&j$                  j'                  d«      j(                  }nd   j*                  j(                  }t        j,                  g d¢«      }t!        j.                  ||«       |dk(  r<|j$                  j'                  d«      j(                  }t!        j.                  ||«       y y # 1 sw Y   y xY w# 1 sw Y   ŒÅxY w)Nr.   r¡  zDGH#49950 - corrwith with as_index=False may not have grouping columnr.  rê   ú/Result doesn't have categories, nothing to test©rZ   r:   rZ   r[   ©r:   rD   r[   rZ   r	   rD   r]   r   r¢  rN  rT  r%  r&  r‡  rH  r  )r7  ri  r5  r6  r'  r   r$   r   rê   r  r   rM   r‰  rŠ  r·  r   rc   rI  r   r×   r
   r  rŽ   rÕ   )r<  r'  rÈ   rJ   r)  r   r   rl  rP   rV  r'   r{   rL  rM  Ú	op_resultr&   rg   s                    r   Útest_category_order_reducerr¨  À  s  € ð ˜Ò#©H¸ÀxÒ9OØTˆØ×ÑœFŸK™K×-Ñ-°SÐ-Ó9Õ:Ø	�wÒ	¡xÜ�‰ÐLÕMÜ	�‰ä—‘¢ºÈwÔWÜ�q“ñ	
ó
€Bð �WÒØˆu‰Ø	�xÒ	ØˆuˆØ�\‰\˜$Ó‰Ø	�wÒ	Ø�Tˆ{ˆØ�c‘7ˆˆ4‰Ø�\‰\˜$ÓˆÜ" >°2Ó6€DØ	�‰�D 8°$ÀˆÓ	J€Bá˜Ð*>Ñ>ä�]‰]ÜÐHô
ñ 	/ð (ŒG�B˜Ó'¨Ñ.÷	/ð 	Ø˜Ò#ÜˆØ<‰àˆØˆÜ	×	#Ñ	# D°Ô	9ñ 7Ø/”G˜B Ó/°Ð6ˆ	÷7áØ—‘×1Ñ1°#Ó6×AÑA‰à˜3‘×#Ñ#×.Ñ.ˆÜ�x‰xšÓ%€HÜ×Ñ˜& (Ô+à�WÒØ—‘×1Ñ1°$Ó7×BÑBˆÜ
×Ñ˜f hÕ/ð ÷)	/ð 	ú÷7ð 7ús   ÄH(Å H4È(H1È4H=r¡  r¢  c                 óx  — t        j                  t        j                  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                  | ||¬
«      }	 t        |	|«      |Ž }
|
j                  j                  d«      j                  }t        j                  g d¢«      }t        j                  ||«       |dk(  r<|
j                  j                  d	«      j                  }t        j                  ||«       y y )Nr¥  r¦  r	   rD   r]   r¡  r   r¢  rN  rT  )r   r$   r   rê   r  r   rM   r·  r   r×   r
   rŽ   rc   rÕ   )r'  rÈ   rJ   Útransformation_funcr   r   rP   rV  r'   r{   r§  r&   rg   s                r   Útest_category_order_transformerr«  ø  s  € ô 
�‰ä—‘¢ºÈwÔWÜ�q“ñ	
ó
€Bð �XÒØˆuˆØ�\‰\˜$Ó‰Ø	�wÒ	Ø�Tˆ{ˆØ�c‘7ˆˆ4‰Ø�\‰\˜$ÓˆÜ"Ð#6¸Ó;€DØ	�‰�D 8°$ÀˆÓ	J€BØ0”˜Ð/Ó0°$Ð7€IØ�_‰_×-Ñ-¨cÓ2×=Ñ=€FÜ�x‰xšÓ%€HÜ×Ñ˜& (Ô+à�WÒØ—‘×1Ñ1°$Ó7×BÑBˆÜ
×Ñ˜f hÕ/ð r   ÚmethodÚheadÚtailc                 ó´  — t        j                  t        j                  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        j                  g d¢«      }t        j                  |
|«       |d	k(  r<|	j                  j                  d
«      j                  }
t        j                  |
|«       y y )Nr¥  r¦  r	   rD   r]   rê   r   r¡  r¢  rN  rT  )r   r$   r   rê   r  rM   r·  r  r
   r   r×   rŽ   rc   rÕ   ©r'  rÈ   rJ   r¬  r   r   rP   rV  r{   r§  r&   rg   s               r   Útest_category_order_head_tailr±    s;  € ô 
�‰ä—‘¢ºÈwÔWÜ�q“ñ	
ó
€Bð �WÒØˆu‰Ø	�xÒ	ØˆuˆØ�\‰\˜$Ó‰Ø	�wÒ	Ø�Tˆ{ˆØ�c‘7ˆˆ4‰Ø�\‰\˜$ÓˆØ	�‰�D 8°$ÀˆÓ	J€BØ#”˜˜FÓ#Ó%€IØ�WÒØ˜3‘×#Ñ#×.Ñ.‰à—‘×1Ñ1°#Ó6×AÑAˆÜ�x‰xšÓ%€HÜ×Ñ˜& (Ô+à�WÒØ—‘×1Ñ1°$Ó7×BÑBˆÜ
×Ñ˜f hÕ/ð r   )rO   r  r�   c                 ó  — |dk(  r|dk(  s| s|dk7  rt        j                  d«       t        j                  t        j                  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„ «      }	|dk(  s| s|dk(  r|	d	   j                  j                  }
n%|	j                  j                  d	«      j                  }
t        j                  g d¢«      }t        j                  |
|«       |dk(  r<|	j                  j                  d«      j                  }
t        j                  |
|«       y y )Nr�   rê   z(No categories in result, nothing to testr¥  r¦  r	   rD   r]   r   r¡  r¢  rN  rT  c                 ó&   — | j                  d¬«      S )NTrv   )rA   r…   s    r   r‡   z+test_category_order_apply.<locals>.<lambda>T  s   € ¨a¯e©eÀ¨eÓ.F€ r   )ri  r'  r   r$   r   rê   r  rM   r·  r  r
   r   r×   rŽ   rc   rÕ   r°  s               r   Útest_category_order_applyr´  ;  sm  € ð
 	�+Ò *°Ò"7Ù˜ wÒ.ä�‰Ð>Ô?Ü	�‰ä—‘¢ºÈwÔWÜ�q“ñ	
ó
€Bð �WÒØˆu‰Ø	�xÒ	ØˆuˆØ�\‰\˜$Ó‰Ø	�wÒ	Ø�Tˆ{ˆØ�c‘7ˆˆ4‰Ø�\‰\˜$ÓˆØ	�‰�D 8°$ÀˆÓ	J€BØ#”˜˜FÓ#Ñ$FÓG€IØ�+Ò¡X°:ÀÒ3HØ˜3‘×#Ñ#×.Ñ.‰à—‘×1Ñ1°#Ó6×AÑAˆÜ�x‰xšÓ%€HÜ×Ñ˜& (Ô+à�WÒØ—‘×1Ñ1°$Ó7×BÑBˆÜ
×Ñ˜f hÕ/ð r   c                 óÞ  — |dk7  r| st        j                  d¬«       t        j                  ddd«      }t	        j
                  g d¢||¬«      }t	        j                  |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                  |
|j                  |d
¬«      }| r_t	        j                  d|
i«      }|dk(  r;t        j                  j                  t	        j                  ||dœ«      «      |_        nx||_        np|dk(  r@t	        j                  t	        j                   |«      t	        j                   |«      |
dœ«      }n+t	        j                  t	        j                   |«      |
d	œ«      }t#        j$                  |	|«       y )Nrê   r¤  r.  i'  rs  r¥  r	   rD   r]   r   r¡  r¢  rN  TrT  )r[   rZ   r:   )rZ   r:   r[   )r
   r   r`   rU   )r   rN  )r   rN  rU   )ri  r'  r   r   r   r   r$   rê   r  rM   rA   r   r
   r   Ú
from_framer   rx   rc   rd   )r'  rÈ   r   r   r
   ÚgrouperrP   rV  r{   r&   re   r   rg   s                r   Útest_many_categoriesr¸  a  s¨  € ð �WÒ¡XÜ�‰ÐLÕMÜ—‘˜4  RÓ(€JÜ�n‰nš\°jÈ'ÔR€GÜ	�‰˜G¬%°«(Ñ3Ó	4€BØ�WÒØˆu‰Ø	�xÒ	ØˆuˆØ�\‰\˜$Ó‰Ø	�wÒ	Ø�Tˆ{ˆØ�c‘7ˆˆ4‰Ø�\‰\˜$ÓˆØ	�‰�D 8°$ÀˆÓ	F€BØ�V‰V‹X€Fñ ‹9¢)€Dä×ÑØ˜×+Ñ+°WÀ3ô€Eñ Ü—<‘<  d Ó,ˆØ˜Ò ÜŸ]™]×5Ñ5Ü—‘ 5°Ñ6Ó7óˆH�Nð #ˆH�NØ	�wÒ	Ü—<‘<Ü—)‘)˜EÓ"¬"¯)©)°EÓ*:ÀÑFó
‰ô —<‘<¤b§i¡i°Ó&6¸TÑ BÓCˆä×Ñ˜& (Õ+r   rV  Úa1c                 ó°  — |r-|dk(  r(t        t        d«      rJ ‚t        j                  d«       n6|dk(  r1d}| j	                  t        j
                  j                  |¬«      «       t        j                  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#                  |«      }|sHt        j$                  j'                  |j(                  d d D �cg c]  }|df‘Œ c}d|fgz   «      |_        n|sg |¢|‘|_        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.  )r   r   r:   ©rZ   r[   r[   rM  )r¹  rN  rU   r;  )r¹  rN  rN  r�   r¬  rU   r%  r¹  r&  r‡  r=   rs  r  )r(  r   ri  r'  r7  r5  r6  r   r$   r�   rT  rM   r   r‰  rŠ  r  r·  ro  r   Úfrom_tuplesr"   rc   rU  )r<  r'  rJ   r)  rO  rV  rl  rP   r{   r'   r&   rg   Úinds                r   Útest_agg_listr¾  �  sÕ  € ñ �~¨Ò3Üœ=¨*Ô5Ð5Ð5Ü�‰Ð@ÕAØ	˜:Ò	%ØAˆØ×ÑœFŸK™K×-Ñ-°SÐ-Ó9Ô:ä	�‰šYªiºiÑHÓ	I€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ˆÙÜŸ=™=×4Ñ4Ø"*×"2Ñ"2°3°BÐ"7Ö8˜3ˆc�2ŠYÒ8¸SÀ.Ð<QÐ;RÑRó
ˆÕñ Ø2˜TÐ2 >Ð2ˆÔä‡O�O�F˜HÕ%÷%	,ð 	üò 9s   Ã>GÆGÇGc           
      ó  — t        j                  t        d«      t        j                  ddddt        j
                  gg d¢d¬«      g d¢dœ«      }|j                  d	d
g| |¬«      }|j                  «       }|r| rg d¢}n|s| rg d¢}n|r| sg d¢}n|s| sg d¢}t        j                  t        d«      t        j                  g d¢g d¢d¬«      g d¢dœ«      j                  d	d
g«      j                  «      }t        j                  ||«       y )NÚYXXYYrZ   r:   r?  Tr	   )r:   rZ   r[   rD   r\   ©ÚdatesÚsectorÚmetricrÂ  rÃ  re  rt  )r[   r   r:   rZ   )r   r:   rD   rZ   r[   r\   )r[   r   r:   rZ   r\   rD   ÚXXYYXY)r:   rZ   r:   rZ   r[   r[   )rZ   r[   rD   r:   r   r   )r   r$   ra   r   r   rb   rM   rA   r  rÓ   rc   rd   )rJ   rÈ   rP   r{   r&   Útakerrg   s          r   Ú'test_categorical_with_noncategorical_narÇ  ·  sò   € ä	�‰ä˜'“]Ü—n‘nØ�A�q˜!œRŸV™VÐ$²ÀDôò &ñ	
ó
€Bð 
�‰�W˜hÐ'°(ÀˆÓ	F€Bà�V‰V‹X€Fá‘Ú‰Ù‘hÚ‰Ù	‘hÚ"‰Ù™(Ú"ˆä
�‰ä˜h›ÜŸ.™.Ú&²9Àdôò -ñó	
÷ 
‰�G˜XÐ&Ó	'ß	‰ˆe‹ð ô ×Ñ˜& (Õ+r   c            	      ó&  — t        j                  g d¢g d¢t        j                  g d¢ddg¬«      dœ«      } | j                  g d¢d¬	«      j	                  «       }|j
                  j                  «       g d
¢k(  sJ ‚|j                  «       g d¢k(  sJ ‚y )NrQ  )r   rU   r   )r€  r€  r€  r€  r�  r>  )ÚL0ÚL1ÚL2FrI   ))r:   r   r€  )r:   r   r�  )r:   rU   r€  )r:   rU   r�  )rZ   r   r€  )rZ   r   r�  )r:   r   r:   r   r:   r   )r   r$   r   rM   r=   r   Útolist)rP   r&   s     r   Ú;test_groupby_observed_false_expands_only_categorical_levelsrÍ  Þ  sŠ   € ô 
�‰âÚ!Ü—.‘.¢¸cÀ3¸ZÔHñ	
ó
€Bð �Z‰ZÒ*°UˆZÓ;×@Ñ@ÓB€Fð �<‰<×ÑÓ ò %ò ð ð ð �=‰=‹?Ò0Ò0Ð0Ñ0r   c                  ó�  — t        j                  dd gt        j                  dt        j                  gg d¢¬«      ddgdœ«      } | j                  dd	gd
¬«      j                  «       }t        j                  dgdz  t        j                  g d¢g d¢¬«      g d¢dœ«      j                  dd	g«      }t        j                  ||«       y )Nr€  r:   r?  r>  r˜   r™   rÁ  rÂ  rÃ  FrI   r[   )r˜   r   r   )
r   r$   r   r   rb   rM   rA   r  rc   rd   rÄ  s      r   Ú3test_categorical_with_noncategorical_na_dropna_sortrÏ  ö  s°   € ô 
�‰à˜4�[Ü—n‘n a¬¯© [ºYÔGØ˜2�hñ	
ó
€Bð �Z‰Z˜ (Ð+°eˆZÓ<×@Ñ@ÓB€FÜ�|‰|à�U˜Q‘YÜ—n‘n¢Yº9ÔEÚ ñ	
ó÷ �i�˜(Ð#Ó$ð ô ×Ñ˜& (Õ+r   c                  óv  — t        j                  g d¢t        j                  g d¢g d¢¬«      g d¢dœ«      } | j                  ddgd	d	¬
«      j	                  «       }t        j                  dgdz  t        j                  g d¢g d¢¬«      g d¢dœ«      j                  ddg«      }t        j                  ||«       y )N)NNr€  r»  rp   r>  )r˜   r™   rš   rÁ  rÂ  rÃ  Fre  r€  rD   )r[   rZ   r:   rD   )rš   r   r   r   )r   r$   r   rM   rA   r  rc   rd   rÄ  s      r   Ú6test_categorical_with_noncategorical_na_dropna_no_sortrÑ  	  s¤   € ô 
�‰â&Ü—n‘n¢Yº<ÔHÚ"ñ	
ó
€Bð �Z‰Z˜ (Ð+°eÀ%ˆZÓH×LÑLÓN€FÜ�|‰|ð �U˜Q‘YÜ—n‘n¢\ºlÔKÚ#ñ	
ó÷ �i�˜(Ð#Ó$ð ô ×Ñ˜& (Õ+r   c                 óÞ  — t        j                  d d gt        j                  dt        j                  gg d¢¬«      ddgdœ«      }|j                  ddgd	| ¬
«      j                  «       }t        j                  t        j                  g t        ¬«      t        j                  g g d¢¬«      t        j                  g d¬«      dœ«      j                  ddg«      }t        j                  ||«       y )Nr:   r?  r>  r˜   r™   rÁ  rÂ  rÃ  Fre  rC  rB  )r   r$   r   r   rb   rM   rA   rŽ   r�   r  rc   rd   )rÈ   rP   r&   rg   s       r   Ú2test_categorical_with_noncategorical_all_na_dropnarÓ  "	  sÀ   € ä	�‰à˜D�\Ü—n‘n a¬¯© [ºYÔGØ˜2�hñ	
ó
€Bð �Z‰Z˜ (Ð+°eÀ$ˆZÓG×KÑKÓM€FÜ�|‰|ä—X‘X˜b¬Ô/Ü—n‘n R²IÔ>Ü—h‘h˜r¨Ô1ñ	
ó÷ �i�˜(Ð#Ó$ð ô ×Ñ˜& (Õ+r   )yr   Únumpyr   ri  Úpandas.errorsr   Úpandasr   Úpandas._testingÚ_testingrc   Úpandas.api.typingr   Úpandas.tests.groupbyr   rb   r*   r9  rR   rh   r}   r”   r´   r¹   r¾   rá   rì   rù   r5  Úparametrizer  r	  r  r  r,  r5  r<  rE  rK  r   rŽ   rY  r[  r^  rb  rm  rq  rw  rz  r…  rŒ  rx   rê   Úrenamer‘  rž  r¥  r§  r°  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?  rN  rR  rU  r8   r-   rX  r[  r`  rd  rk  rp  rw  r�  rŒ   Úboolr†  rˆ  rŒ  r’  r”  r–  r˜  r�  rŸ  r¨  r«  r±  r´  r¸  r¾  rÇ  rÍ  rÏ  rÑ  rÓ  r„   r   r   ú<module>rà     s„  ðÝ ã Û å (ã Ý Ý +Ý 8ð DFÇ6Á6ó Eð21ð 
ˆ4ð1ð 
ˆ5ð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ð* ˆAð+1ð, �—‘ð-1ð. 
ˆ2�6‰6ð/1ð0 Ø�F‰FØ�F‰FØ�6‰6ØØ�6‰6ò;1Ð -òB(ò,ò,ò ,ò6LòBò&	-ò"NòJ,ò4-ð, ‡�×Ñ˜ T¨5 MÓ2ñ-ó 3ð-ò>/,òd,ò6!0òH,ò&,ò(Eò*+ò0+ð" ‡�×ÑØ2à	ŠjÐ-˜"×-Ñ-ªi¸cÔBÐCà�#ˆJÚ'Ø ˆR× Ñ ¢°Ô5°x°r·x±xÂ	Ó7JÐKð	
ð �$ˆKÚ(à#�×#Ñ#¢I°CÔ8Ø#�×#Ñ#¢I°CÔ8ðð	
ðóð& ‡�×Ñ˜¨¨u¨Ó6ñ&ó 7ó'ð(&òD+ò*-ò,ð( ‡�×Ñ˜ T¨5 MÓ2ñó 3ðò@$PòN,ò2Lò-ò&$ð ‡�×ÑØˆvÐð 
ˆ�‰‘5˜“8Ó	 Q¨ F°!°Q°Ñ8Ð9ð 
ˆ�‰‘5˜“8Ó	×	#Ñ	#Ñ$7Ó	8ÀÀÈ1ÈaÈ&Ñ:QÐRà	ˆ�‰‘5˜“8Ó	 Q¨ F°!°Q°Ñ8Ð9ðóñ-óð-ò<0ò~ò&ð( ‡�×Ñ˜  t Ó-ñ-ó .ð-ð< ‡�×ÑØà	�8˜WÐ%Ð&Ø	�(˜GÐ$Ð%Ø	�˜7Ð#Ð$Ø	�˜7Ð#Ð$ð	óñ-óð-ò&(ò2-ò-ò %ð, ‡�×Ñ˜ T¨5 MÓ2ñ,ó 3ð,ðD ‡�×Ñ˜ T¨5 MÓ2ñ/,ó 3ð/,òd-ò>-ò6>ð2 ‡�×ÑØð ØˆB�I‰IØ—m‘m×/Ñ/Ø�R—Y‘Yšy°
Ô;ºYÐGØ ˜*ð 0ó ò Øôð
	
ð ØˆB�L‰Là"˜Ÿ™¢9°JÔ?Ú"Ú"ñóð		
ðóñ4&ó5ð4&ð ‡�×Ñ˜¨¨b¯f©f°b·f±fÐ'=Ó>ñ#ó ?ð#ð ‡�ñó ðð0 ‡�×Ñ˜ u¨gÐ&6Ó7ñ
-ó 8ð
-ð ‡�×Ñ˜ u¨gÐ&6Ó7Ø‡�×Ñ˜ e¨T ]Ó3ñ-ó 4ó 8ð-ð" ‡�×ÑØð Ø�M‰M×%Ñ%à�B—H‘H˜e˜W q™[¨E¨7°Q©;Ñ6¸jÈsÔSØ�B—H‘HÚTØ(Ø ôð
 �B—H‘H˜e U˜^¨aÑ/Ó0ðó
ò %ð	
ð  Ø�M‰M×&Ñ&à'�B×'Ñ'¨°¨ÀÔFØ'�B×'Ñ'Ò(?ÈÔOØ�B—H‘H˜e U˜^Ó,ðò
 'ð 'ó ð ��1�a˜Ÿ™ §¡¨¨A¨r¯v©v°r·v±v¸qÀ!ÐDð	
ð Ø�M‰M×&Ñ&à'�B×'Ñ'¨°¨ÀÔFØ'�B×'Ñ'Ò(?ÈÔOØ�B—H‘H˜e U˜^Ó,ðò
 'ð 'ó ð ��1�a˜Ÿ™ §¡¨¨A¨r¯v©v°r·v±v¸qÀ!ÐDð	
ð9(ó+ñX-óY+ðX-ò-ò,ò"
ò#*òL44òn$ðB ‡�×Ñ˜ e¨T ]Ó3ñ0Bó 4ð0Bòf	-ð ‡�×ÑØØ‡i�i×ÑšÐ# b§i¡i§o¡o²yÐ%AÐBóñ,ó	ð,ò"
,ð ‡�×Ñ˜ '¨6Ð!2Ó3ñ-ó 4ð-ò ,ò"*,òZ,ò,,ò6.,ðb ‡�×Ñ˜ '¨6Ð!2Ó3ð-Ø
ð-Øò-ó 4ð-ð0 ‡�×Ñ˜ '¨6Ð!2Ó3ð,Ø
ð,Øò,ó 4ð,ò0@ò(@ò2,ð  ‡�×Ñ˜ '¨6Ð!2Ó3ñ-ó 4ð-ò-ò$-ò$,ð" ‡�×Ñ˜Ò'CÓDØ‡�×Ñ˜ T¨5 MÓ2ñ30ó 3ó Eð30ðl ‡�×Ñ˜¨°'Ð':Ó;Ø‡�×Ñ˜ 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ðF ‡�×Ñ˜Ò'CÓDñ(,ó Eð(,ðV ‡�×Ñ˜¨¨u¨Ó6Ø‡�×Ñ˜ 4 &¨4°¨,Ð!7Ó8ñ%&ó 9ó 7ð%&òP$,òN1ò0,ò*,ó.,r   