§
    tŠtj¦ ã                   ó–  — 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m	Z	m
Z
mZmZmZmZ d dlmZ d dlmZ d dlmZ ej        fd„Zi d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j#         $                    d'd	dg¦  «        d(„ ¦   «         Z%d)„ Z&d*„ Z'd+„ Z(d,„ Z)d-„ Z*d.„ Z+d/„ Z,d0„ Z-ej#         $                    d1d2g d3¢ e	g d4¢d2¬5¦  «        fd2d6gg d7¢ e	g d4¢d2¬5¦  «         eg d8¢¦  «        gfd2d9gg d:¢ e	g d4¢d2¬5¦  «         e	g d4¢d2¬5¦  «        gfg¦  «        ej#         $                    d;d	dg¦  «        d<„ ¦   «         ¦   «         Z.d=„ Z/d>„ Z0d?„ Z1ej#         $                    d'd	dg¦  «        d@„ ¦   «         Z2dA„ Z3dB„ Z4dC„ Z5dD„ Z6dE„ Z7ej#         $                    dFdGg e e8dH¦  «        ¦  «        d dIgddJgdKœf e e8dH¦  «        ¦  «         9                    dL„ ¦  «        dJgd dgdKœf e e8dM¦  «        ¦  «        d dIgddJgdKœfg¦  «        dN„ ¦   «         Z:dO„ Z;dP„ Z<dQ„ Z=ej#         $                    dRdSdTg¦  «        dU„ ¦   «         Z>ej#         $                    dVddWdgfddXdYgfddXdgfddWdYgfg¦  «        dZ„ ¦   «         Z?d[„ Z@d\„ ZAd]„ ZBd^„ ZCej#         $                    d'd	dg¦  «        d_„ ¦   «         ZDej#         $                    d'd	dg¦  «        d`„ ¦   «         ZEda„ ZFdb„ ZGdc„ ZHej#         $                    ddd	 e ejI         eg de¢df¬g¦  «        g dh¢gd2d6g¬i¦  «        g d4¢dj¬k¦  «        fd e
 eg de¢df¬g¦  «        g dh¢g d4¢dlœ¦  «        fg¦  «        dm„ ¦   «         ZJej#         $                    dndej        ejK        g¦  «        do„ ¦   «         ZLejM        dp„ ¦   «         ZNej#         $                    dqdrdsg¦  «        dt„ ¦   «         ZOej#         $                    dqdrdsg¦  «        ej#         $                    duddg¦  «        dv„ ¦   «         ¦   «         ZPej#         $                    dwd	 ejI         edxgdHz  dygdHz  z   dfdz¬{¦  «         eg d|¢dfd}¬{¦  «         eddgdHz  ¦  «        g¦  «        g d~¢fd ejQ         e	dxdygd¬¦  «         e	g d€¢d¬¦  «         eddg¦  «        gg d�¢¬i¦  «        dJdJdHdHej        ej        ddej        ej        dIdIgfd ejQ         e	dxdygd¬¦  «         e	g d€¢d¬¦  «         eddg¦  «        gg d�¢¬i¦  «        dJdJdHdHej        ej        ddej        ej        dIdIgfg¦  «        d‚„ ¦   «         ZRdƒ„ ZSd„„ ZTd…„ ZUd†„ ZVd‡„ ZWdˆ„ ZXej#         $                    duddg¦  «        d‰„ ¦   «         ZYdŠ„ ZZej#         $                    d‹ej[        g de¢fej\        g dh¢fg¦  «        dŒ„ ¦   «         Z]d�„ Z^ej#         $                    dŽddg¦  «        d�„ ¦   «         Z_d�„ Z`d‘„ Zad’„ Zbd“„ Zcd”„ Zdej#         $                    dŽddg¦  «        dŽeedueffd•„¦   «         Zgej#         $                    dŽddg¦  «        dŽeedueffd–„¦   «         Zhd—„ Ziej#         $                    dŽddg¦  «        d˜„ ¦   «         Zjd™„ Zkdš„ Zld›„ Zmej#         $                    dœg d�¢¦  «        ej#         $                    d'd	dg¦  «        dž„ ¦   «         ¦   «         Znej#         $                    dœdŸd g¦  «        ej#         $                    d'd	dg¦  «        d¡„ ¦   «         ¦   «         Zoej#         $                    dœg d�¢¦  «        ej#         $                    d¢d£d¤g¦  «        ej#         $                    d'd	dg¦  «        d¥„ ¦   «         ¦   «         ¦   «         Zpej#         $                    dœg d�¢¦  «        ej#         $                    d¢g d¦¢¦  «        ej#         $                    d'd	dg¦  «        d§„ ¦   «         ¦   «         ¦   «         Zqej#         $                    dœg d�¢¦  «        d¨„ ¦   «         Zrej#         $                    d;d	dg¦  «        ej#         $                    d©dªgdªd9gg¦  «        d«„ ¦   «         ¦   «         Zsd¬„ ZtdS )­é    )ÚdatetimeN)ÚPandas4Warning)ÚCategoricalÚCategoricalIndexÚ	DataFrameÚIndexÚ
MultiIndexÚSeriesÚqcut)ÚSeriesGroupBy)Úget_groupby_method_argsc                 óv  — d„ }t          j        t          ||¦  «        |¬¦  «        }t          |t          ¦  «        rUi }| j        D ](}| |                              |||         ¬¦  «        ||<   Œ)t          ||¬¦  «                             ¦   «         S |                      ||¬¦  «                             ¦   «         S )zpReindex to a cartesian production for the groupers,
    preserving the nature (Categorical) of each grouper
    c                 óÂ   — t          | t          t          f¦  «        rB| j        }t          j        t          j        t          |¦  «        ¦  «        || j        ¬¦  «        } | S )N©Ú
categoriesÚordered)	Ú
isinstancer   r   r   Ú
from_codesÚnpÚarangeÚlenr   )Úar   s     úc/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pandas/tests/groupby/test_categorical.pyÚfz)cartesian_product_for_groupers.<locals>.f   sX   € Ý�aÕ*­KÐ8Ñ9Ô9ð 	ØœˆJÝÔ&Ý”	�#˜j™/œ/Ñ*Ô*°zÈ1Ì9ðñ ô ˆAð ˆó    ©Únames©Ú
fill_value©Úindex)	r	   Úfrom_productÚmapr   ÚdictÚcolumnsÚreindexr   Ú
sort_index)ÚresultÚargsr   r   r   r!   ÚresÚcols           r   Úcartesian_product_for_groupersr,      sÃ   € ð
ð ð õ Ô#¥C¨¨4¡L¤L¸Ð>Ñ>Ô>€EÝ�*�dÑ#Ô#ð 8ð ˆØ”>ð 	Nð 	NˆCØ˜c”{×*Ò*¨5¸ZÈ¼_Ð*ÑMÔMˆC�‰HˆHÝ˜ EÐ*Ñ*Ô*×5Ò5Ñ7Ô7Ð7à�>Š>˜%¨Jˆ>Ñ7Ô7×BÒBÑDÔ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        d¦  «        }d„ }|                      |d¬¦  «        j                             |¦  «        }|j        j        d         dk    sJ ‚d S )Né   c                 ó    — |                       ¦   «         |                      ¦   «         |                      ¦   «         |                      ¦   «         dœS )N©r8   r5   r/   r6   rH   )Úgroups    r   Ú	get_statsz2test_apply_use_categorical_name.<locals>.get_statsT   s=   € à—9’9‘;”;Ø—9’9‘;”;Ø—[’[‘]”]Ø—J’J‘L”Lð	
ð 
ð 	
r   F©Úobservedr   ÚC)r   rM   ÚgroupbyÚDÚapplyr!   r   )ÚdfÚcatsrJ   r(   s       r   Útest_apply_use_categorical_namerS   Q   si   € Ý�”�a‰=Œ=€Dð
ð 
ð 
ð �ZŠZ˜ uˆZÑ-Ô-Ô/×5Ò5°iÑ@Ô@€FØŒ<Ô˜aÔ  CÒ'Ð'Ð'Ð'Ð'Ð'r   c                  óV  — t          g d¢g d¢d¬¦  «        } t          g d¢| dœ¦  «        }t          t          d¦  «        dd¬	¦  «        }t          d
dddt          j        gi|¬¦  «        }|                     dd¬¦  «                             ¦   «         }t          j	        ||¦  «         d S )N©	r   r   r   ÚbrV   rV   ÚcrW   rW   ©r   rV   rW   ÚdTr   ©	r<   r<   r<   é   r[   r[   é   rF   é   ©r   rV   ÚabcdrV   ©Únamer   r   r<   r[   rF   r    FrK   )
r   r   r   Úlistr   ÚnanrN   r6   ÚtmÚassert_frame_equal)rR   ÚdataÚ	exp_indexÚexpectedr(   s        r   Ú
test_basicri   `   s¿   € ÝØ5Ð5Ð5Ø'Ð'Ð'Øðñ ô €Dõ
 Ð6Ð6Ð6¸TÐBÐBÑCÔC€Då ¥ f¡¤°CÀÐFÑFÔF€IÝ˜#  1 a­¬Ð0Ð1¸ÐCÑCÔC€HØ�\Š\˜#¨ˆ\Ñ.Ô.×3Ò3Ñ5Ô5€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                  óx  — t          g d¢g d¢d¬¦  «        } t          g d¢g d¢d¬¦  «        }t          | |g d¢dœ¦  «        }|                     d	d
¬¦  «        }t          g d¢d	d¬¦  «        }t          dt	          g d¢|¬¦  «        i¦  «        }|                     d¬¦  «        }t          j        ||¦  «         d S )N©r   r   rV   rV   ©r   rV   ÚzTr   ©rW   rY   rW   rY   ©rW   rY   Úy©r<   r[   r\   rF   ©ÚAÚBÚvaluesrs   FrK   r`   ru   )r\   é   r   r    ©Únumeric_only)r   r   rN   r   r
   rC   rd   re   )Úcat1Úcat2rQ   ÚgbÚexp_idxrh   r(   s          r   Útest_basic_single_grouperr}   n   sÙ   € ÝÐ+Ð+Ð+¸¸¸ÐQUÐVÑVÔV€DÝÐ+Ð+Ð+¸¸¸ÐQUÐVÑVÔV€DÝ	˜ D°L°L°LÐAÐAÑ	BÔ	B€Bà	�Š�C %ˆÑ	(Ô	(€BÝ˜˜˜°SÀ$ÐGÑGÔG€GÝ˜(¥F¨9¨9¨9¸GÐ$DÑ$DÔ$DÐEÑFÔF€HØ�VŠV ˆVÑ&Ô&€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                 óz  — t          ddgddgddggddg¬¦  «        }t          |j        ¦  «        |d<   |                     dgd¬	¦  «        }|                     d
„ ¦  «        }t          j        ||dg         ¦  «         |                     d¦  «        }|j        ddg         }t          j        ||¦  «         d„ }| 	                    |¦  «        }|dg         j        ddg         }t          ddgd¬¦  «        |_        | rdnt          }|d                              |¦  «        |d<   t          j        ||¦  «         d S )Nr<   zJohn P. Doer[   z	Jane DoveÚ	person_idÚperson_name©r%   FrK   c                 ó   — | S ©N© ©Úxs    r   ú<lambda>z#test_basic_string.<locals>.<lambda>ƒ   s   €  1€ r   r   c                 óB   — |                       d¦  «        j        d         S )Nr€   r   )Údrop_duplicatesÚilocr…   s    r   r   ztest_basic_string.<locals>.fŠ   s   € Ø× Ò  Ñ/Ô/Ô4°QÔ7Ð7r   ©ra   Ústr)r   r   r€   rN   Ú	transformrd   re   r‰   rŠ   rP   r   r!   ÚobjectÚastype)Úusing_infer_stringr†   Úgr(   rh   r   Údtypes          r   Útest_basic_stringr“   z   sZ  € åØ
ˆ]Ð	˜a Ð-°°=Ð/AÐBØ˜mÐ,ð	ñ 	ô 	€Aõ # 1¤=Ñ1Ô1€A€mÑà	�	Š	�;�-¨%ˆ	Ñ0Ô0€AØ�[Š[˜˜Ñ%Ô%€FÝÔ˜& ! ] OÔ"4Ñ5Ô5Ð5à×Ò˜}Ñ-Ô-€FØŒv�q˜!�fŒ~€HÝÔ˜& (Ñ+Ô+Ð+ð8ð 8ð 8ð �WŠW�Q‰ZŒZ€FØ�-�Ô!Ô&¨¨1 vÔ.€HÝ˜A˜q˜6¨Ð4Ñ4Ô4€H„NØ'Ð3ˆEˆE­V€EØ& }Ô5×<Ò<¸UÑCÔC€Hˆ]ÑÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                  ó°  — t          dg d¢i¦  «        } t          j        | j        g d¢¬¦  «        }| j                             |d¬¦  «                             t          ¦  «        }t          j        || d         ¦  «         t          j        | j                             |d¬¦  «                             d„ ¦  «        | d         ¦  «         |                      |d¬¦  «                             t          ¦  «        }| dg         }t          j	        ||¦  «         |                      |d¬¦  «        }|                     d„ ¦  «        }t          j	        || dg         ¦  «         |                     d	„ ¦  «        }|                     t          ¦  «        }|                     t          j        j        ¦  «        }|                     d
„ ¦  «        }t          j	        || dg         d¬¦  «         t          j	        || dg         d¬¦  «         t          j	        || dg         ¦  «         t          j	        || dg         ¦  «         t          j        | j                             |d¬¦  «                             t          j        ¦  «        | d         ¦  «         t          j	        |                      |d¬¦  «                             t          j        ¦  «        | ¦  «         d S )Nr   )r]   é   é   )r   é
   é   é   é(   ©ÚbinsFrK   c                 ó*   — t          j        | ¦  «        S rƒ   ©r   rC   ©Úxss    r   r‡   z&test_basic_monotonic.<locals>.<lambda>ž   ó   € ½R¼VÀB¹Z¼Z€ r   c                 ó.   — t          j        | d¬¦  «        S ©Nr   ©Úaxis©r   r5   rŸ   s    r   r‡   z&test_basic_monotonic.<locals>.<lambda>¥   s   € ¥b¤f¨R°aÐ&8Ñ&8Ô&8€ r   c                 ó.   — t          j        | d¬¦  «        S r£   r¦   rŸ   s    r   r‡   z&test_basic_monotonic.<locals>.<lambda>¨   s   € ¥r¤v¨b°qÐ'9Ñ'9Ô'9€ r   c                 ó@   — t           j                             | ¦  «        S rƒ   )r   ÚmaximumÚreducerŸ   s    r   r‡   z&test_basic_monotonic.<locals>.<lambda>«   s   € ¥r¤z×'8Ò'8¸Ñ'<Ô'<€ r   )Úcheck_dtype)r   ÚpdÚcutr   rN   r�   rC   rd   Úassert_series_equalre   r5   r   r©   rª   Úfilterr-   )	rQ   rW   r(   rh   ÚgbcÚresult2Úresult3Úresult4Úresult5s	            r   Útest_basic_monotonicrµ   •   sl  € å	�C˜˜˜Ð%Ñ	&Ô	&€BÝ
ŒˆrŒtÐ-Ð-Ð-Ð.Ñ.Ô.€AàŒT�\Š\˜! eˆ\Ñ,Ô,×6Ò6µsÑ;Ô;€FÝÔ˜6 2 c¤7Ñ+Ô+Ð+åÔØ
Œ�Š�Q ˆÑ'Ô'×1Ò1Ð2GÐ2GÑHÔHÈ"ÈSÌ'ñô ð ð �ZŠZ˜ EˆZÑ*Ô*×4Ò4µSÑ9Ô9€FØ�3�%Œy€HÝÔ˜& (Ñ+Ô+Ð+à
�*Š*�Q ˆ*Ñ
'Ô
'€CØ�]Š]Ð8Ð8Ñ9Ô9€FÝÔ˜& " c U¤)Ñ,Ô,Ð,à�mŠmÐ9Ð9Ñ:Ô:€GØ�mŠm�CÑ Ô €GØ�mŠm�BœJÔ-Ñ.Ô.€GØ�mŠmÐ<Ð<Ñ=Ô=€GÝÔ˜' 2 s e¤9¸%Ð@Ñ@Ô@Ð@ÝÔ˜' 2 s e¤9¸%Ð@Ñ@Ô@Ð@ÝÔ˜' 2 s e¤9Ñ-Ô-Ð-ÝÔ˜' 2 s e¤9Ñ-Ô-Ð-õ Ô˜2œ4Ÿ<š<¨°E˜<Ñ:Ô:×AÒAÅ"Ä&ÑIÔIÈ2ÈcÌ7ÑSÔSÐSÝÔ˜"Ÿ*š* Q°˜*Ñ7Ô7×>Ò>½r¼vÑFÔFÈÑKÔKÐKÐKÐKr   c                  óº  — t          dg d¢i¦  «        } t          j        | j        g d¢¬¦  «        }| j                             |d¬¦  «                             t          ¦  «        }t          j        || d         ¦  «         t          j        | j                             |d¬¦  «                             d„ ¦  «        | d         ¦  «         |                      |d¬¦  «                             t          ¦  «        }| dg         }t          j	        ||¦  «         t          j	        |                      |d¬¦  «                             d„ ¦  «        | dg         ¦  «         d S )	Nr   )r]   r•   r–   éûÿÿÿ)iöÿÿÿr   r—   r˜   r™   rš   r›   FrK   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À"¹:¼:€ r   )
r   r¬   r­   r   rN   r�   rC   rd   r®   re   )rQ   rW   r(   rh   s       r   Útest_basic_non_monotonicrº   ¶   sB  € Ý	�C˜˜˜Ð)Ñ	*Ô	*€BÝ
ŒˆrŒtÐ2Ð2Ð2Ð3Ñ3Ô3€AàŒT�\Š\˜! eˆ\Ñ,Ô,×6Ò6µsÑ;Ô;€FÝÔ˜6 2 c¤7Ñ+Ô+Ð+åÔØ
Œ�Š�Q ˆÑ'Ô'×1Ò1Ð2GÐ2GÑHÔHÈ"ÈSÌ'ñô ð ð �ZŠZ˜ EˆZÑ*Ô*×4Ò4µSÑ9Ô9€FØ�3�%Œy€HÝÔ˜& (Ñ+Ô+Ð+åÔØ
�
Š
�1˜uˆ
Ñ%Ô%×/Ò/Ð0EÐ0EÑFÔFÈÈCÈ5Ì	ñô ð ð ð r   c            	      ó¬  — t          dg d¢i¦  «        } t          j        | j        g d¢t	          t          d¦  «        ¦  «        ¬¦  «        }|                      |d¬¦  «                             t          ¦  «        }t          |j
        j        |j
        j        ¬¦  «        }t          g d¢|¬	¦  «        }d|j        _        t!          j        ||¦  «         d S )
Nr   )r<   r   r   r   ©r   r<   r[   r\   rF   r_   )ÚlabelsFrK   ©r   r    )r   r¬   r­   r   r   rb   rN   rP   r   r   ru   r   r   r
   r!   ra   rd   r®   )rQ   rW   r(   rg   rh   s        r   Útest_basic_cut_groupingr¿   É   sº   € å	�C˜˜˜Ð&Ñ	'Ô	'€BÝ
ŒˆrŒt�_�_�_­[½¸f¹¼Ñ-FÔ-FÐGÑGÔG€AØ�ZŠZ˜ EˆZÑ*Ô*×0Ò0µÑ5Ô5€Få  ¤Ô!4¸a¼hÔ>NÐOÑOÔO€IÝ�l�l�l¨)Ð4Ñ4Ô4€HØ€H„NÔÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                  óÎ  — g d¢} t           j                             d¦  «                             ddd¬¦  «        }t	          j        || d¬¦  «        }t          t           j                             d¦  «                             d	¦  «        ¦  «        }|                     |d
¬¦  «         	                    ¦   «         }|                     t          j
        |¦  «        d
¬¦  «         	                    ¦   «         }t          | |j        d¬¦  «        }|                     |¦  «        }t          j        ||¦  «         |                     |d
¬¦  «        }|                     ¦   «         }|j                             ¦   «         }	t          j
        |¦  «                             |	¦  «        }
|                     |	¦  «        }t	          |
dg d¢¬¦  «        }|                     |d
d
¬¦  «                             ¦   «         }t          j        ||¦  «         t	          j        t          j        d¦  «                             d¦  «        | d¬¦  «        }t          |¦  «        }t          j        |                     ¦   «         j                             d¦  «        |¦  «         t5          g d¢dz  ¦  «        }t          j        |                     ¦   «         j                             d¦  «        |¦  «         d S )N©ÚfooÚbarÚbazÚquxr[   r   rF   r—   ©r?   Tr¾   ©r—   rF   FrK   r   )r   r   ©ÚsortrL   é   ©r/   r6   rB   r8   z25%z50%z75%r5   r<   )r   ÚrandomÚdefault_rngÚintegersr   r   r   Ústandard_normalrN   r6   Úasarrayr   r   r&   rd   re   ÚdescribeÚcodesÚargsortÚtaker   ÚrepeatÚassert_index_equalÚstackr!   Úget_level_valuesr   )ÚlevelsrÒ   rR   rf   r(   rh   r|   ÚgroupedÚdesc_resultÚidxÚ
ord_labelsÚord_dataÚexp_catsÚexpcÚexps                  r   Útest_more_basicrâ   Õ   s~  € Ø)Ð)Ð)€FÝŒI×!Ò! !Ñ$Ô$×-Ò-¨a°¸Ð-Ñ<Ô<€EåÔ! %¨¸Ð>Ñ>Ô>€Då•R”Y×*Ò*¨1Ñ-Ô-×=Ò=¸gÑFÔFÑGÔG€Dà�\Š\˜$¨ˆ\Ñ/Ô/×4Ò4Ñ6Ô6€Fà�|Š|�BœJ tÑ,Ô,°uˆ|Ñ=Ô=×BÒBÑDÔD€HÝ˜v°$´/È4ÐPÑPÔP€GØ×Ò Ñ(Ô(€HåÔ˜& (Ñ+Ô+Ð+à�lŠl˜4¨%ˆlÑ0Ô0€GØ×"Ò"Ñ$Ô$€Kà
Œ*×
Ò
Ñ
Ô
€CÝ”˜DÑ!Ô!×&Ò& sÑ+Ô+€JØ�yŠy˜‰~Œ~€HåØ˜DÐ-IÐ-IÐ-Iðñ ô €Hð ×Ò ¨u¸uÐÑEÔE×NÒNÑPÔP€HÝÔ˜+ xÑ0Ô0Ð0õ Ô!¥"¤)¨A¡,¤,×"5Ò"5°aÑ"8Ô"8¸&È$ÐOÑOÔO€DÝ
˜4Ñ
 Ô
 €CÝÔ˜+×+Ò+Ñ-Ô-Ô3×DÒDÀQÑGÔGÈÑMÔMÐMÝ
ÐKÐKÐKÈaÑOÑ
PÔ
P€CÝÔ˜+×+Ò+Ñ-Ô-Ô3×DÒDÀQÑGÔGÈÑMÔMÐMÐMÐMr   c           
      ó8  — t          t          j        ddd¦  «        t          t	          ddg¦  «        t          d¦  «        gdgdz  dgdz  z   t          d¦  «        gd	d
g¬¦  «        ¬¦  «        }|                     d	g| ¬¦  «        }t          t          j        ddd¦  «        t          t	          ddg¦  «        t          d¦  «        gdgdz  t          d¦  «        gd	d
g¬¦  «        ¬¦  «        }|                     d¦  «        }t          j	        ||¦  «         d S )Nr[   é   r   rV   r—   r   r]   r<   ÚIndex1ÚIndex2)rÙ   rÒ   r   ©rf   r!   ©ÚlevelrL   é   )r   )
r   r   r   r	   r   ÚrangerN   Ú	get_grouprd   re   )rL   rQ   r‘   rh   r(   s        r   Útest_level_get_grouprí   ú   s.  € å	ÝŒY�q˜"˜aÑ Ô ÝÝ$ c¨3 ZÑ0Ô0µ%¸±)´)Ð<Ø�3˜‘7˜a˜S 1™WÑ$¥e¨B¡i¤iÐ0Ø˜XÐ&ð
ñ 
ô 
ð
ñ 
ô 
€Bð 	�
Š
˜(˜¨hˆ
Ñ7Ô7€Aõ ÝŒY�q˜"˜aÑ Ô ÝÝ$ c¨3 ZÑ0Ô0µ%¸±(´(Ð;Ø�3˜‘7�E !™HœHÐ%Ø˜XÐ&ð
ñ 
ô 
ðñ ô €Hð �[Š[˜Ñ Ô €FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                  ó  — t          dgdz  dgdz  z   g d¢dz  t          j        d¦  «        dœ¦  «        } t          | j        g d¢d	¬
¦  «        | _        |                      d¦  «        d                              ¦   «         }|                     dd	¬¦  «        }g d¢}t          |g d¢d	¬
¦  «        }g d¢t          |¦  «        g}t          j
        |ddg¬¦  «        }t          dgdz  |d¬¦  «        }t          j        ||¦  «         d S )Nrs   é   rt   )ÚhighÚmedÚlowrF   g      (@)rI   ÚdoseÚoutcomes)rò   rñ   rð   Tr   rI   ró   r   )ré   Úsort_remaining)rò   rñ   rð   rò   rñ   rð   )rs   rs   rs   rt   rt   rt   r   r[   r/   ©r!   ra   )r   r   r   r   ró   rN   Úvalue_countsr'   r   r	   Úfrom_arraysr
   rd   r®   ©rQ   r(   r!   rh   s       r   Ú(test_sorting_with_different_categoricalsrú     s/  € å	à�U˜Q‘Y # ¨¡Ñ*Ø*Ð*Ð*¨QÑ.Ýœ	 $™œð	
ð 	
ñ
ô 
€Bõ ˜"œ'Ð.DÐ.DÐ.DÈdÐSÑSÔS€B„Gà�ZŠZ˜Ñ Ô  Ô(×5Ò5Ñ7Ô7€FØ×Ò Q°tÐÑ<Ô<€FØ8Ð8Ð8€EÝ˜Ð*@Ð*@Ð*@È$ÐOÑOÔO€EØ+Ð+Ð+Õ-=¸eÑ-DÔ-DÐE€EÝÔ" 5°¸&Ð0AÐBÑBÔB€EÝ�q�c˜A‘g U°Ð9Ñ9Ô9€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   r   c                 ó8  — t          t          d¦  «        | ¬¦  «        }t          t          d¦  «        ddg| ¬¦  «        }t          j        t	          |¦  «        ¦  «        }t          |||dœ¦  «        }|                     dd	gd
¬¦  «        }t          j        ||gdd	g¬¦  «        }t          g d¢|dg¬¦  «        }| 	                    d„ ¦  «        }t          j        ||¦  «         |                     ¦   «         }t          j        ||¦  «         |                     t          j        ¦  «        }t          j        ||¦  «         t          j        ||gdd	g¬¦  «        }t          d|¬¦  «        }| 	                    d„ ¦  «        }t          j        ||¦  «         d S )NÚabcr¾   Úaaar   rV   r   )ÚmissingÚdenseru   rþ   rÿ   TrK   r   )r   r<   ç       @ru   )r!   r%   c                 ó.   — t          j        | d¬¦  «        S r£   )r   r6   r…   s    r   r‡   ztest_apply.<locals>.<lambda>:  s   € ¥R¤W¨Q°QÐ%7Ñ%7Ô%7€ r   r<   r    c                 ó   — dS ©Nr<   r„   r…   s    r   r‡   ztest_apply.<locals>.<lambda>F  s   €  Q€ r   )r   rb   r   r   r   r   rN   r	   rø   rP   rd   re   r6   Úaggr
   r®   )	r   rÿ   rþ   ru   rQ   rÚ   rÜ   rh   r(   s	            r   Ú
test_applyr  *  sŠ  € õ �˜U™œ¨WÐ5Ñ5Ô5€Eõ �$˜u™+œ+°3¸°*ÀgÐNÑNÔN€GÝŒY•s˜5‘z”zÑ"Ô"€FÝ	˜w°À&ÐIÐIÑ	JÔ	J€BØ�jŠj˜) WÐ-¸ˆjÑ=Ô=€Gõ Ô
  '¨5Ð!1¸)ÀWÐ9MÐ
NÑ
NÔ
N€CÝ˜˜˜¨C¸(¸ÐDÑDÔD€Hà�]Š]Ð7Ð7Ñ8Ô8€FÝÔ˜& (Ñ+Ô+Ð+à�\Š\‰^Œ^€FÝÔ˜& (Ñ+Ô+Ð+à�[Š[�œÑ!Ô!€FÝÔ˜& (Ñ+Ô+Ð+õ Ô
  '¨5Ð!1¸)ÀWÐ9MÐ
NÑ
NÔ
N€CÝ�a˜sÐ#Ñ#Ô#€HØ�]Š]˜;˜;Ñ'Ô'€FÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                 óT  — t          g d¢g d¢d¬¦  «        }t          g d¢g d¢d¬¦  «        }t          ||g d¢dœ¦  «        }d	d
gdz  |d<   |                     g d¢| ¬¦  «        }t          j        ||d	d
gdz  gg d¢¬¦  «        }t          dt          g d¢|¬¦  «        i¦  «                             ¦   «         }|                     ¦   «         }| s%t          |||d	d
ggt          d¦  «        d¬¦  «        }t          j        ||¦  «         |                     ddg| ¬¦  «        }t          j        ||gddg¬¦  «        }t          g d¢g d¢dœ|¬¦  «        }|                     ¦   «         }| s)t          |||gt          d¦  «        |rdddœnd¬¦  «        }t          j        ||¦  «         d S )Nrk   rl   Tr   rn   ro   rq   rr   rÂ   rÃ   r[   rM   )rs   rt   rM   rK   r   ru   r    ÚABCr   r   rs   rt   )rÂ   rÃ   rÂ   rÃ   )ru   rM   ÚABÚ )r   r   rN   r	   rø   r
   r'   rC   r,   rb   rd   re   )	rL   r�   ry   rz   rQ   r{   rg   rh   r(   s	            r   Útest_observedr
  J  s  € õ Ð+Ð+Ð+¸¸¸ÐQUÐVÑVÔV€DÝÐ+Ð+Ð+¸¸¸ÐQUÐVÑVÔV€DÝ	˜ D°L°L°LÐAÐAÑ	BÔ	B€BØ�eˆn˜qÑ €B€s�Gð 
�Š�O�O�O¨hˆÑ	7Ô	7€BÝÔ&Ø	ˆt�e˜U�^ aÑ'Ð(°°°ðñ ô €Iõ ˜(¥F¨<¨<¨<¸yÐ$IÑ$IÔ$IÐJÑKÔK×VÒVÑXÔX€HØ�VŠV‰XŒX€FØð 
Ý1Ø�t˜T E¨5 >Ð2µD¸±K´KÈAð
ñ 
ô 
ˆõ Ô˜& (Ñ+Ô+Ð+à	�Š�S˜#�J¨ˆÑ	2Ô	2€BÝÔ&¨¨d |¸CÀ¸:ÐFÑFÔF€IÝØ�<�<Ð&BÐ&BÐ&BÐCÐCÈ9ðñ ô €Hð �VŠV‰XŒX€FØð 
Ý1ØØ�4ˆLÝ�‰JŒJØ1CÐJ !¨"Ð-Ð-Ð-Èð	
ñ 
ô 
ˆõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r   c                 óò  — t          g d¢g d¢d¬¦  «        g d¢g d¢dœ}t          |¦  «        }|                     d| ¬	¦  «        }|                     ¦   «         }t	          t          d
¦  «        dt          d¦  «        d¬¦  «        }t          ddgddgdœ|¬¦  «        }| sBt	          t          d¦  «        dt          d¦  «        d¬¦  «        }|                     |¦  «        }t          j        ||¦  «         d S )N©r   rV   r   rV   ©r   rV   rW   Tr   ©r<   r<   r[   r[   ©r—   r˜   r™   rš   ©ÚcatÚintsÚvalr  rK   Úabrü   )ra   r   r   g      ø?ç      4@r™   )r  r  r    )	r   r   rN   r6   r   rb   r&   rd   re   )rL   rY   rQ   Úgroups_single_keyr(   rg   rh   r!   s           r   Útest_observed_single_columnr  v  s%  € õ Ø Ð Ð ¨_¨_¨_Àdð
ñ 
ô 
ð ��ØÐÐð	ð 	€Aõ 
�1‰Œ€BàŸ
š
 5°8˜
Ñ<Ô<ÐØ×#Ò#Ñ%Ô%€Få ÝˆT‰
Œ
˜­4°©;¬;Àðñ ô €Iõ  3¨ *°d¸B°ZÐ@Ð@È	ÐRÑRÔR€HØð +Ý Ý�‰KŒK˜eµ°U±´ÀTð
ñ 
ô 
ˆð ×#Ò# EÑ*Ô*ˆåÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                 óN  — t          g d¢g d¢d¬¦  «        g d¢g d¢dœ}t          |¦  «        }|                     dd	g| ¬
¦  «        }|                     d¦  «        }t          g d¢t          g d¢g d¢d¬¦  «        g d¢dœ¦  «                             dd	g¦  «        }| s!t          ||j        j        ddggdd	g¦  «        }t          j	        ||¦  «         dD ]N}|\  }}| 
                    |¦  «        }||j        |k    |j        |k    z           }t          j	        ||¦  «         ŒOd S )Nr  r  Tr   r  r  r  r  r  rK   r6   )ç      $@g      >@r  g      D@rk   ©r<   r[   r<   r[   )r  r  r  r<   r[   ))r   r<   )rV   r[   )rV   r<   )r   r[   )r   r   rN   r  Ú	set_indexr,   r  ru   rd   re   rì   r  )	rL   rY   rQ   Úgroups_double_keyr(   rh   ÚkeyrW   Úis	            r   Útest_observed_two_columnsr  ‘  s‘  € õ Ø Ð Ð ¨_¨_¨_Àdð
ñ 
ô 
ð ��ØÐÐð	ð 	€Aõ 
�1‰Œ€BØŸ
š
 E¨6 ?¸X˜
ÑFÔFÐØ×"Ò" 6Ñ*Ô*€FÝà+Ð+Ð+ÝØ$Ð$Ð$°°°È$ðñ ô ð !�L�Lð	
ð 	
ñô ÷ ‚i�˜�Ñ Ô ð ð ð 
Ý1Ø�r”v”} q¨! fÐ-°°v¨ñ
ô 
ˆõ Ô˜& (Ñ+Ô+Ð+ð 8ð 0ð 0ˆØ‰ˆˆ1Ø"×,Ò,¨SÑ1Ô1ˆØ�r”v ’{ r¤w°!¢|Ñ4Ô5ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/ð	0ð 0r   c                 ó®  — g d¢g d¢g d¢dœ}t          |¦  «        }t          j        |d         t          j        ddd¦  «        ¦  «        }||d	<   |                     d	d
gd| ¬¦  «        }|                     d¦  «        }|                     d	d
gd| ¬¦  «        }|                     d¦  «                             ¦   «         }t          j	        ||¦  «         d S )N)r—   rÊ   rF   rÊ   rF   r<   r<   ©r—   r˜   r™   rš   é2   é<   éF   )rY   rW   Úer   r   rY   rW   ©rÂ   rÃ   rÄ   rÂ   r   r—   r\   rë   rÄ   F©Úas_indexrL   r6   T)
r   r¬   r­   r   ÚlinspacerN   r  Úreset_indexrd   re   )rL   rY   rQ   r  Úgroupsr(   Úgroups2rh   s           r   Útest_observed_with_as_indexr-  µ  sã   € ð &Ð%Ð%Ø+Ð+Ð+Ø2Ð2Ð2ð	ð 	€Aõ
 
�1‰Œ€BÝ
Œ&��E”�BœK¨¨2¨qÑ1Ô1Ñ
2Ô
2€CØ€B€w�KØ�ZŠZ˜ %Ð(°5À8ˆZÑLÔL€FØ�ZŠZ˜ÑÔ€Fà�jŠj˜' 5Ð)°DÀ8ˆjÑLÔL€GØ�{Š{˜6Ñ"Ô"×.Ò.Ñ0Ô0€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                 ó®  — g d¢g d¢g d¢dœ}t          |¦  «        }t          j        |d         g d¢¦  «        }d|_        |                     |dg| ¬	¦  «        }t          j        |g d¢gddg¬
¦  «        }t          g d¢g d¢dœ|¬¦  «        }| st          ||j        g d¢gddg¦  «        }| 	                    d¦  «        }t          j        ||¦  «         d S )N)r\   r\   rF   r]   rq   )r—   éd   éÈ   é"   )ÚC1ÚC2ÚC3r2  )r<   r[   r\   rï   r  r3  rK   r   )ç      @r5  g      @g      @)r  g      Y@g      i@g      A@)r2  r4  r    r6   )r   r¬   r­   ra   rN   r	   rø   r,   ru   r  rd   re   )rL   rY   rQ   ru   r  rÜ   rh   r(   s           r   Útest_observed_codes_remapr6  È  s  € Øˆ|ˆ| < < <Ð7IÐ7IÐ7IÐJÐJ€AÝ	�1‰Œ€BÝŒV�B�t”H˜l˜l˜lÑ+Ô+€FØ€F„KØŸ
š
 F¨D >¸H˜
ÑEÔEÐå
Ô
  &¨,¨,¨,Ð!7ÀÀt¸}Ð
MÑ
MÔ
M€CÝØ#Ð#Ð#Ð+EÐ+EÐ+EÐFÐFÈcðñ ô €Hð ð 
Ý1Ø�v”} l l lÐ3°e¸T°]ñ
ô 
ˆð ×"Ò" 6Ñ*Ô*€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c            	      óª  — t          t          j                             d¦  «                             ddd¬¦  «        t          j                             d¦  «                             ddd¬¦  «        t          j                             d¦  «                             ddd¬¦  «        ddœ¦  «        } | j                             t          ¦  «                             d¦  «        | d	<   |                      g d
¢d¬¦  «        }| 	                    ¦   «         }|j
        j        d                              ¦   «         | j                             ¦   «         k    sJ ‚|j
        j        d                              ¦   «         | j                             ¦   «         k    sJ ‚|j
        j        d                              ¦   «         | j                             ¦   «         k    sJ ‚d S )Nr[   r   éÿ   i0u  rÆ   é'  )r  Úint_idÚother_idrÂ   Úcategoryr  )r  r:  r;  TrK   r<   )r   r   rÌ   rÍ   rÎ   r  r�   rŒ   rN   r/   r!   rÙ   r:   r:  r;  )rQ   rÚ   r(   s      r   Útest_observed_perfr=  Ü  s‹  € õ 
å”9×(Ò(¨Ñ+Ô+×4Ò4°Q¸À%Ð4ÑHÔHÝ”i×+Ò+¨AÑ.Ô.×7Ò7¸¸3ÀUÐ7ÑKÔKÝœ	×-Ò-¨aÑ0Ô0×9Ò9¸!¸UÈÐ9ÑOÔOØð		
ð 	
ñ
ô 
€Bð ”—’�cÑ"Ô"×)Ò)¨*Ñ5Ô5€B€u�Ià�jŠjÐ6Ð6Ð6ÀˆjÑFÔF€GØ�]Š]‰_Œ_€FØŒ<Ô˜qÔ!×)Ò)Ñ+Ô+¨r¬v¯~ª~Ñ/?Ô/?Ò?Ð?Ð?Ð?ØŒ<Ô˜qÔ!×)Ò)Ñ+Ô+¨r¬y×/@Ò/@Ñ/BÔ/BÒBÐBÐBÐBØŒ<Ô˜qÔ!×)Ò)Ñ+Ô+¨r¬{×/BÒ/BÑ/DÔ/DÒDÐDÐDÐDÐDÐDr   c                 ó|  — t          g d¢g d¢¬¦  «        }t          |g d¢dœ¦  «        }|                     d| ¬¦  «        }|j        }| r't	          dd	gd
¬¦  «        t	          dgd
¬¦  «        dœ}n6t	          dd	gd
¬¦  «        t	          g d
¬¦  «        t	          dgd
¬¦  «        dœ}t          j        ||¦  «         d S )N)r   rW   r   r  ©r   ©r<   r[   r\   ©r  Úvalsr  rK   r   r[   Úint64©r’   r<   )r   rW   )r   r   rN   r+  r   rd   Úassert_dict_equal)rL   r  rQ   r‘   r(   rh   s         r   Útest_observed_groupsrF  ñ  sé   € õ �o�o�o°/°/°/Ð
BÑ
BÔ
B€CÝ	˜3¨	¨	¨	Ð2Ð2Ñ	3Ô	3€BØ
�
Š
�5 8ˆ
Ñ,Ô,€AàŒX€FØð 
Ý  1˜v¨WÐ5Ñ5Ô5½EÀ1À#ÈWÐ<UÑ<UÔ<UÐVÐVˆˆõ ˜˜1�v WÐ-Ñ-Ô-Ý�r Ð)Ñ)Ô)Ý˜�s 'Ð*Ñ*Ô*ð
ð 
ˆõ Ô˜ Ñ*Ô*Ð*Ð*Ð*r   c           	      ó°  — t          dt          dt          j        dgt	          d¦  «        ¬¦  «        it	          d¦  «        ¬¦  «        }|                     d|| ¬¦  «        }|j        }dt          dd	g¦  «        i}| s|t          j        t          d
g¦  «        iz  }|s"|t          g ¦  «        t          g ¦  «        dœz  }t          j	        ||¦  «         d S )Nr  r   Úadbr?  Úxyzr    ©rL   Údropnar†   rm   rp   )rV   rY   )
r   r   r   rc   rb   rN   r+  r   rd   rE  )rK  rL   rQ   r‘   r(   rh   s         r   Útest_groups_na_categoryrL    sÙ   € å	Ø	•˜S¥"¤&¨#Ð.½4À¹;¼;ÐGÑGÔGÐHÝ�5‰kŒkð
ñ 
ô 
€Bð 	�
Š
�5 8°Fˆ
Ñ;Ô;€AàŒX€FØ•U˜C ˜:Ñ&Ô&Ð'€HØð +Ø•R”V�U C 5™\œ\Ð*Ñ*ˆØð 5Ø�% ™)œ)­%°©)¬)Ð4Ð4Ñ4ˆÝÔ˜ Ñ*Ô*Ð*Ð*Ð*r   z,keys, expected_values, expected_index_levelsr   )r•   é	   r   r@  r‹   rV   )	rv   rÊ   r   r   r   rM  r   r   r   ©rF   r]   rï   Úa2)	r•   r   r   r   rM  r   r   r   r   Útest_seriesc                 ó  — t          t          g d¢g d¢¬¦  «        t          g d¢g d¢¬¦  «        g d¢g d¢dœ¦  «                             ddg¦  «        }d	| vr|                     d	¬
¦  «        }|                     | d¬¦  «        }|r|d         }|                     ¦   «         }t          | ¦  «        dk    r|}ng d¢dg d¢z  g}t          ||| ¬¦  «        }t          d|i|¬¦  «        }	|r|	d         }	t          j	        ||	¦  «         d S )N©r<   r<   r[   r@  r?  rN  )rv   rÊ   rM  )r   rO  rV   rW   r   rO  rV   r�   FrK   rW   r<   ©	r   r   r   r<   r<   r<   r[   r[   r[   r\   ©r   r<   r[   )rÒ   r   r    )
r   r   r  ÚdroprN   rC   r   r	   rd   Úassert_equal)
ÚkeysÚexpected_valuesÚexpected_index_levelsrP  rQ   r{   r(   r!   rÒ   rh   s
             r   Útest_unobserved_in_indexrZ    sO  € õ, 
å˜Y˜Y˜Y°9°9°9Ð=Ñ=Ô=Ý˜i˜i˜i°I°I°IÐ>Ñ>Ô>Ø��Ø��ð		
ð 	
ñ
ô 
÷ ‚i��d�ÑÔð ð �$€€à�WŠW˜SˆWÑ!Ô!ˆà	�Š�D 5ˆÑ	)Ô	)€BØð Ø�ŒWˆØ�VŠV‰XŒX€Få
ˆ4�y„y�A‚~€~Ø%ˆˆà,Ð,Ð,¨a°)°)°)©mÐ<ˆÝØ!ØØð
ñ 
ô 
ˆõ
 ˜#˜Ð/°uÐ=Ñ=Ô=€HØð !Ø˜C”=ˆÝ„O�F˜HÑ%Ô%Ð%Ð%Ð%r   c                 ój  — t          t          dt          j        dgg d¢¬¦  «        g d¢dœ¦  «        }|                     d| ¬¦  «        }|j        }| rdt          dd	gd
¬¦  «        i}n5t          dd	gd
¬¦  «        t          g d
¬¦  «        t          g d
¬¦  «        dœ}t          j        ||¦  «         d S )Nr   )r   rV   rY   r?  r@  rA  r  rK   r   r[   rC  rD  )	r   r   r   rc   rN   r+  r   rd   rE  )rL   rQ   r‘   r(   rh   s        r   Útest_observed_groups_with_nanr\  M  sß   € å	å ¥R¤V¨SÐ1¸o¸o¸oÐNÑNÔNØ�I�Ið	
ð 	
ñ
ô 
€Bð 	�
Š
�5 8ˆ
Ñ,Ô,€AØŒX€FØð 
Ø�  1˜v¨WÐ5Ñ5Ô5Ð6ˆˆõ ˜˜1�v WÐ-Ñ-Ô-Ý�r Ð)Ñ)Ô)Ý�r Ð)Ñ)Ô)ð
ð 
ˆõ
 Ô˜ Ñ*Ô*Ð*Ð*Ð*r   c                  óR  — t          dt          j        t          j        gg d¢¬¦  «        } t          g d¢¦  «        }t	          | |dœ¦  «        }|                     dd¬¦  «        d	                              d
¦  «        }|d	         j        d
g         }t          j	        ||¦  «         d S )Nr   r  r?  r@  )r  Úserr  FrK   r^  r   )
r   r   rc   r
   r   rN   r9   rŠ   rd   r®   )r  r^  rQ   r(   rh   s        r   Útest_observed_nthr_  b  sœ   € å
�s�BœF¥B¤FÐ+¸¸¸Ð
HÑ
HÔ
H€CÝ
���Ñ
Ô
€CÝ	˜3 sÐ+Ð+Ñ	,Ô	,€Bà�ZŠZ˜¨ˆZÑ.Ô.¨uÔ5×9Ò9¸!Ñ<Ô<€FØ�%ŒyŒ~˜q˜cÔ"€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                 ó
  — t          t          j        dt          j        dgg d¢¬¦  «        }t          g d¢¦  «        }t	          ||dœ¦  «        }|                     d| ¬¦  «                             ¦   «                              ¦   «         }| r&t	          t          dgg d¢¬¦  «        dgdœ¦  «        }n<t	          t          g d¢g d¢¬¦  «        dt          j        t          j        gdœ¦  «        }t          j	        ||¦  «         d S )	Nr   r  r?  rq   )Ús1Ús2ra  rK   r[   )
r   r   rc   r
   r   rN   r1   r*  rd   re   )rL   ra  rb  rQ   r(   rh   s         r   Ú#test_dataframe_categorical_with_nanrc  m  s  € å	•b”f˜c¥2¤6¨3Ð/¸O¸O¸OÐ	LÑ	LÔ	L€BÝ	���Ñ	Ô	€BÝ	˜" BÐ'Ð'Ñ	(Ô	(€BØ�ZŠZ˜ xˆZÑ0Ô0×6Ò6Ñ8Ô8×DÒDÑFÔF€FØð 

ÝÝ ˜u°°°ÐAÑAÔAÈ!ÈÐMÐMñ
ô 
ˆˆõ å! / / /¸o¸o¸oÐNÑNÔNØ�"œ&¥"¤&Ð)ðð ñ
ô 
ˆõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r   c                 óØ  — t          g d¢g d¢| ¬¦  «        }t          g d¢¦  «        }t          ||dœ¦  «        }|                     d||¬¦  «        d                              d¦  «        }t          |j        j        d	¬
¦  «        }t          |j        ¦  «        }|sd||                     ¦   «         <   t          ||k    ¦  «        s$d| › d|› d|› d|› �}t          j
        |¦  «         d S d S )N)rY   r   rV   r   rY   rV   )r   rV   rþ   rY   r   )Úlabelr  re  ©rL   rÉ   r  r1   rŽ   rD  rþ   zDLabels and aggregation results not consistently sorted
for (ordered=z, observed=z, sort=z
)
Result:
)r   r
   r   rN   Ú	aggregater!   ÚarrayÚisnar-   ÚpytestÚfail)	r   rL   rÉ   re  r  rQ   r(   ÚaggrÚmsgs	            r   Ú0test_dataframe_categorical_ordered_observed_sortrn  �  s;  € õ Ø&Ð&Ð&Ø-Ð-Ð-Øðñ ô €Eõ
 Ð/Ð/Ð/Ñ
0Ô
0€CÝ	˜U¨3Ð/Ð/Ñ	0Ô	0€Bð �ZŠZ˜¨(¸ˆZÑ>Ô>¸uÔE×OÒOÐPWÑXÔX€Fõ �6”<Ô%¨XÐ6Ñ6Ô6€EÝ�&”,ÑÔ€DØð &Ø%ˆˆT�YŠY‰[Œ[ÑÝˆu˜Š}ÑÔð ð!Ø#ð!ð !Ø08ð!ð !ØAEð!ð !àð!ð !ð 	õ
 	Œ�CÑÔÐÐÐðð r   c                  ó€  — t          j        dd¬¦  «        } t          j                             d¦  «                             ddd¬¦  «        }t          j        || d¬	¦  «        }t          t          j                             d¦  «         	                    d
¦  «        ¦  «        }| 
                    |d¬¦  «                             ¦   «         }| 
                    t          j        |¦  «        d¬¦  «                             ¦   «         }|                     | ¦  «        }t          |j        |j        d¬¦  «        |_        t!          j        ||¦  «         | 
                    |d¬¦  «        }|                     ¦   «         }|j                             ¦   «         }|                     |¦  «        }	|                     |¦  «        }
|
 
                    |	d¬¦  «                             ¦   «         }t!          j        ||¦  «         t!          j        |j        |j        ¦  «         t!          j        |j                             d¦  «        |j                             d¦  «        ¦  «         t          j        t          j        d¦  «                             d¦  «        | d¬	¦  «        }t          |¦  «        }t!          j        |                     ¦   «         j                             d¦  «        |¦  «         t7          g d¢dz  ¦  «        }t!          j        |                     ¦   «         j                             d¦  «        |¦  «         d S )Nz
2014-01-01rF   )Úperiodsr[   r   r—   rÆ   Tr¾   rÇ   FrK   r   rÊ   rË   r<   )r¬   Ú
date_ranger   rÌ   rÍ   rÎ   r   r   r   rÏ   rN   r6   rÐ   r&   r   r!   rd   re   rÑ   rÒ   rÓ   rÔ   rÖ   rØ   r   rÕ   r×   r   )rÙ   rÒ   rR   rf   r(   rh   rÚ   rÛ   rÜ   rÝ   rÞ   rà   rá   s                r   Útest_datetimerr  ¢  s³  € åŒ]˜<°Ð3Ñ3Ô3€FÝŒI×!Ò! !Ñ$Ô$×-Ò-¨a°¸Ð-Ñ<Ô<€EåÔ! %¨¸Ð>Ñ>Ô>€Då•R”Y×*Ò*¨1Ñ-Ô-×=Ò=¸gÑFÔFÑGÔG€DØ�\Š\˜$¨ˆ\Ñ/Ô/×4Ò4Ñ6Ô6€Fà�|Š|�BœJ tÑ,Ô,°uˆ|Ñ=Ô=×BÒBÑDÔD€HØ×Ò Ñ'Ô'€HÝ%ØŒ 8¤>¸4ðñ ô €H„Nõ Ô˜& (Ñ+Ô+Ð+à�lŠl˜4¨%ˆlÑ0Ô0€GØ×"Ò"Ñ$Ô$€Kà
Œ*×
Ò
Ñ
Ô
€CØ—’˜3‘”€JØ�yŠy˜‰~Œ~€HØ×Ò 
°UÐÑ;Ô;×DÒDÑFÔF€HÝÔ˜+ xÑ0Ô0Ð0ÝÔ˜+Ô+¨X¬^Ñ<Ô<Ð<ÝÔØÔ×*Ò*¨1Ñ-Ô-¨x¬~×/NÒ/NÈqÑ/QÔ/Qñô ð õ
 Ô!¥"¤)¨A¡,¤,×"5Ò"5°aÑ"8Ô"8¸&È$ÐOÑOÔO€DÝ
˜4Ñ
 Ô
 €CÝÔ˜;×,Ò,Ñ.Ô.Ô4×EÒEÀaÑHÔHÈ3ÑOÔOÐOÝ
ÐKÐKÐKÈaÑOÑ
PÔ
P€CÝÔ˜;×,Ò,Ñ.Ô.Ô4×EÒEÀaÑHÔHÈ3ÑOÔOÐOÐOÐOr   c                  ó8  — t           j                             d¦  «        } g d¢}|                      ddd¬¦  «        }t	          j        ||d¬¦  «        }t          t          j        t          j        d¦  «        d¦  «         	                    d	d¦  «        t          d
¦  «        ¬¦  «        }||d<   |                     d¦  «                             dd¬¦  «                             ¦   «         }|t          d
¦  «                                      |j        d¬¦  «                             ¦   «         }t          t	          j        g d¢|d¬¦  «        d¬¦  «        |_        t#          j        ||¦  «         |                     dd¬¦  «                             ¦   «         }|t          d
¦  «                                      |j        d¬¦  «                             ¦   «         }t          t	          j        g d¢|d¬¦  «        d¬¦  «        |_        t#          j        ||¦  «         d S )Nr[   rÁ   r   rF   r˜   rÆ   Tr¾   éÿÿÿÿr_   r�   rR   Frè   rK   ©r   r<   r[   r\   r‹   )r   rÌ   rÍ   rÎ   r   r   r   rÕ   r   Úreshaperb   r  rN   rC   rÒ   r   r!   rd   re   )ÚsrÙ   rÒ   rR   rQ   r(   rh   s          r   Útest_categorical_indexrx  É  sÞ  € Ý
Œ	×Ò˜aÑ Ô €AØ)Ð)Ð)€FØ�JŠJ�q˜! "ˆJÑ%Ô%€EÝÔ! %¨¸Ð>Ñ>Ô>€DÝ	•2”9�RœY r™]œ]¨AÑ.Ô.×6Ò6°r¸1Ñ=Ô=ÅtÈFÁ|Ä|Ð	TÑ	TÔ	T€BØ€B€v�Jð �\Š\˜&Ñ!Ô!×)Ò)°¸EÐ)ÑBÔB×FÒFÑHÔH€FØ•$�v‘,”,Ô×'Ò'¨¬
¸UÐ'ÑCÔC×GÒGÑIÔI€HÝ%ÝÔ˜|˜|˜|¨V¸TÐBÑBÔBÈðñ ô €H„Nõ Ô˜& (Ñ+Ô+Ð+ð �ZŠZ˜¨ˆZÑ/Ô/×3Ò3Ñ5Ô5€FØ•$�v‘,”,Ô×'Ò'¨¬
¸UÐ'ÑCÔC×GÒGÑIÔI€HÝ%ÝÔ˜|˜|˜|¨V¸TÐBÑBÔBÈðñ ô €H„Nõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r   c                  óÐ  — t          g d¢g d¢d¬¦  «        } t          t          j                             d¦  «                             d¦  «        | ¬¦  «        }|                     g d¢d	z  ¦  «                             ¦   «         }t          j	        | 
                    ¦   «         j        | ¦  «         t          j        | 
                    ¦   «         j        j        | j        ¦  «         d S )
N)rÅ   rÂ   rÄ   rÃ   rÁ   Tr   r[   )r˜   rF   r�   rq   r]   )r   r   r   rÌ   rÍ   rÏ   rN   rÑ   rd   rÖ   r×   r%   Úassert_categorical_equalru   )rR   rQ   r(   s      r   Ú!test_describe_categorical_columnsr{  â  sÊ   € åØ$Ð$Ð$Ø/Ð/Ð/Øðñ ô €Dõ
 
•2”9×(Ò(¨Ñ+Ô+×;Ò;¸GÑDÔDÈdÐ	SÑ	SÔ	S€BØ�ZŠZ˜˜˜ qÑ(Ñ)Ô)×2Ò2Ñ4Ô4€FåÔ˜&Ÿ,š,™.œ.Ô0°$Ñ7Ô7Ð7ÝÔ §¢¡¤Ô 6Ô =¸t¼{ÑKÔKÐKÐKÐKr   c                  ó’  — t          t          d¦  «        ddgdz  t          d¦  «        dz  dœ¦  «        } | d                              d	¦  «        | d<   |                      d
dgd¬¦  «        d                              ¦   «                              ¦   «         }|                     ¦   «         }t          ddgdd¬¦  «        }t          j
        |j        |¦  «         t          j        |j        j        |j        ¦  «         |d         |d         z   }t          ddgt          ddgd
¬¦  «        ¬¦  «        }t          j        ||¦  «         d S )Nr—   rs   rt   r]   ÚXYXXYr[   )r   ÚmediumÚartistr~  r<  r  FrK   r   ©r   ra   rï   rF   ÚXÚYr‹   r    )r   rë   rb   r�   rN   r/   ÚunstackrÑ   r   rd   rÖ   r%   rz  ru   r
   r   r®   )rQ   Úgcatr(   Úexp_columnsrh   s        r   Útest_unstack_categoricalr†  ð  s2  € å	Ý�B‰iŒi C¨ :°¡>½TÀ'¹]¼]ÈQÑ=NÐOÐOñ
ô 
€Bð �h”<×&Ò& zÑ2Ô2€B€x�Là�:Š:�x Ð*°Uˆ:Ñ;Ô;¸CÔ@×FÒFÑHÔH×PÒPÑRÔR€DØ�]Š]‰_Œ_€Få" C¨ :°uÀ8ÐLÑLÔL€KÝÔ˜&œ.¨+Ñ6Ô6Ð6ÝÔ ¤Ô 5°{Ô7IÑJÔJÐJà�#ŒY˜˜cœÑ"€FÝ�q˜!�f¥E¨3°¨*¸8Ð$DÑ$DÔ$DÐEÑEÔE€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                  ón  — t          t          j        t          j        ddddddddg
¦  «        } t          j        |                      ¦   «         j        d¦  «        }t          j        t          d¬¦  «        5  |  
                    |¦  «                             ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nr<   r[   r\   rF   z$Grouper and axis must be same length©Úmatch)r
   r   rc   r¬   r­   rK  ru   rj  ÚraisesÚ
ValueErrorrN   r6   )Úseriesrœ   s     r   Útest_bins_unequal_lenr�    sÞ   € å•R”V�RœV Q¨¨1¨a°°A°q¸!Ð<Ñ=Ô=€FÝŒ6�&—-’-‘/”/Ô(¨!Ñ,Ô,€Dõ 
Œ•zÐ)OÐ	PÑ	PÔ	Pð $ð $Ø�Š�tÑÔ×!Ò!Ñ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð $ð $s   Á5(B*Â*B.Â1B.rŒ  rf   rF   r\   r[   ©rs   rt   c                 ó   — | dz   S r  r„   )rÜ   s    r   r‡   r‡     s
   € ¨S°1©W€ r   rv   c                 ó*  — |                       t          t          d¦  «        d¬¦  «        d¬¦  «        }|                     t          ¦  «        }t          |t	          |                     ¦   «         ¦  «        ¬¦  «        }t          j        ||¦  «         d S )NÚABBAr<  rD  FrK   r    )rN   r
   rb   rg  r   rW  rd   r®   )rŒ  rf   rN   r(   rh   s        r   Útest_categorical_seriesr’    s{   € ð  �nŠn�V¥D¨¡L¤L¸
ÐCÑCÔCÈeˆnÑTÔT€GØ×Ò�tÑ$Ô$€FÝ�dÕ"2°4·9²9±;´;Ñ"?Ô"?Ð@Ñ@Ô@€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                  óx  ‡— t          t          g d¢g d¢¦  «        g d¢g d¢dœ¦  «        Š‰                     ddgdd	¬
¦  «                             ¦   «         } t          t          ddg‰j        j        j        ¬¦  «        ddgddgdœg d¢¬¦  «        }t          j        | |¦  «         ˆfd„}‰                     d|gdd	¬
¦  «                             ¦   «         } t          t          ddg‰j        j        j        ¬¦  «        ddgddgddgdœ¦  «        }t          j        | |¦  «         t          g d¢d¬¦  «        }‰                     d|gdd	¬
¦  «                             ¦   «         } t          ddgddgddgdœ¦  «        }t          j        | |¦  «         ddg}t          t          ddg‰j        j        j        ¬¦  «        ddgddgdœg d¢¬¦  «        }dD ]d}t          t          d¦  «        |¬¦  «        ‰_        ‰                     |dd	¬
¦  «                             ¦   «         } t          j        | |¦  «         Œed S )N©r<   r[   r[   r@  )r—   é   r•  )ée   éf   ég   )r  rs   rt   r  rs   FTr'  r<   r[   r?  r—   r•  r–  éÍ   r�   c                 ó"   •— ‰j         | df         S )Nrs   )Úloc)ÚrrQ   s    €r   r‡   ztest_as_index.<locals>.<lambda>8  s   ø€ �"”&˜˜C˜”.€ r   rä   )r  Úlevel_1rs   rt   )r   rV   rV   r‹   r   rV   )Nr�  rt   rü   )r   r   rN   rC   r  r   rd   re   r
   r   rb   r!   )r(   rh   r   rw  Úgroup_columnsra   rQ   s         @r   Útest_as_indexrŸ  #  s±  ø€ å	å˜y˜y˜y¨)¨)¨)Ñ4Ô4Ø��Ø ��ð	
ð 	
ñ
ô 
€Bð �ZŠZ˜ ˜¨u¸tˆZÑDÔD×HÒHÑJÔJ€FÝå  1˜v°"´&´*Ô2GÐHÑHÔHØ�b�Ø�s�ð	
ð 	
ð
 "Ð!Ð!ðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+ð 	!Ð Ð Ð €AØ�ZŠZ˜ ˜
¨U¸TˆZÑBÔB×FÒFÑHÔH€FÝå  1˜v°"´&´*Ô2GÐHÑHÔHØ˜B�xØ�b�Ø�s�ð		
ð 	
ñô €Hõ Ô˜& (Ñ+Ô+Ð+õ 	ˆˆˆ UÐ+Ñ+Ô+€AØ�ZŠZ˜ ˜
¨U¸TˆZÑBÔB×FÒFÑHÔH€FÝà˜�:Ø�b�Ø�s�ð	
ð 	
ñô €Hõ Ô˜& (Ñ+Ô+Ð+ð ˜C�L€MÝå  1˜v°"´&´*Ô2GÐHÑHÔHØ�b�Ø�s�ð	
ð 	
ð
 "Ð!Ð!ðñ ô €Hð !ð 0ð 0ˆÝ�˜e™œ¨4Ð0Ñ0Ô0ˆŒØ—’˜M°EÀD�ÑIÔI×MÒMÑOÔOˆå
Ô˜f hÑ/Ô/Ð/Ð/ð	0ð 0r   c                  óî  — t          d¦  «        } t          dt          t          d¦  «        | d¬¦  «        i¦  «        }t          | | dd¬¦  «        }t          t          d¦  «        | dd¬¦  «        }t	          j        |                     ddd¬	¦  «                             ¦   «         j        |¦  «         t	          j        |                     ddd¬	¦  «                             ¦   «         j        |¦  «         d S )
Nrü   rs   ÚbaTr   r€  ÚbacFrÈ   ©	rb   r   r   r   rd   rÖ   rN   r1   r!   ©r   rQ   r'   Únosort_indexs       r   Útest_preserve_categoriesr¦  b  sì   € å�e‘”€Jõ 
�C�¥T¨$¡Z¤Z¸JÐPTÐUÑUÔUÐVÑ	WÔ	W€BÝ! *¨jÀ$ÈSÐQÑQÔQ€JÝ#¥D¨¡K¤K°ÀTÐPSÐTÑTÔT€LÝÔØ
�
Š
�3˜T¨Eˆ
Ñ2Ô2×8Ò8Ñ:Ô:Ô@À*ñô ð õ ÔØ
�
Š
�3˜U¨Uˆ
Ñ3Ô3×9Ò9Ñ;Ô;ÔAÀ<ñô ð ð ð r   c                  ó  — t          d¦  «        } t          dt          t          d¦  «        | d¬¦  «        i¦  «        }t          | | dd¬¦  «        }t          t          d¦  «        t          d¦  «        dd¬¦  «        }t	          j        |                     ddd¬	¦  «                             ¦   «         j        |¦  «         t	          j        |                     ddd¬	¦  «                             ¦   «         j        |¦  «         d S )
Nrü   rs   r¡  Fr   r€  r¢  TrÈ   r£  r¤  s       r   Ú&test_preserve_categories_ordered_falser¨  s  sò   € å�e‘”€JÝ	�C�¥T¨$¡Z¤Z¸JÐPUÐVÑVÔVÐWÑ	XÔ	X€BÝ! *¨jÀ%ÈcÐRÑRÔR€Jõ $¥D¨¡K¤Kµ°e±´ÀeÐRUÐVÑVÔV€LÝÔØ
�
Š
�3˜T¨Eˆ
Ñ2Ô2×8Ò8Ñ:Ô:Ô@À*ñô ð õ ÔØ
�
Š
�3˜U¨Uˆ
Ñ3Ô3×9Ò9Ñ;Ô;ÔAÀ<ñô ð ð ð r   r+   r2  r3  c                 ó@  — t          g d¢g d¢t          t          d¦  «        t          d¦  «        d¬¦  «        t          t          d¦  «        t          d¦  «        d¬¦  «        dœ¦  «        }t          d	d
t          j        gddt          j        gt          t          d¦  «        t          d¦  «        d¬¦  «        t          t          d¦  «        t          d¦  «        d¬¦  «        dœ¦  «        }|                     | dd¬¦  «                             d¬¦  «        }|                     | dd¬¦  «                             d¬¦  «                             ¦   «         }|                     |j	        ¬¦  «        }t          j        ||¦  «         t          j        ||¦  «         d S )N)r<   r[   r<   r<   r[   )r—   é   rä   é   r1  Úabaabr¢  Fr   T)rs   rt   r2  r3  r   g      ð?g      9@r  ©Úbyr(  rL   rw   r�   )r   r   rb   r   rc   rN   r6   r*  r&   r%   rd   re   )r+   rQ   Úexp_fullÚresult1r±   rh   s         r   Útest_preserve_categorical_dtyper±  ƒ  s{  € õ 
à ��Ø%Ð%Ð%Ý�d 7™mœm½¸U¹¼ÈUÐSÑSÔSÝ�d 7™mœm½¸U¹¼ÈTÐRÑRÔRð		
ð 	
ñ
ô 
€Bõ à�s�BœFÐ#Ø˜�bœfÐ%Ý�d 5™kœkµd¸5±k´kÈ5ÐQÑQÔQÝ�d 5™kœkµd¸5±k´kÈ4ÐPÑPÔPð		
ð 	
ñô €Hð �jŠj˜C¨%¸%ˆjÑ@Ô@×EÒEÐSWÐEÑXÔX€Gà
�
Š
�c D°5ˆ
Ñ9Ô9ß	Š˜4ˆÑ	 Ô	 ß	Š‰Œð ð
 ×Ò¨¬ÐÑ8Ô8€HÝÔ˜' 8Ñ,Ô,Ð,ÝÔ˜' 8Ñ,Ô,Ð,Ð,Ð,r   zfunc, valuesÚsecondÚfourthÚthirdc                 óî  — t          g d¢d¬¦  «        }t          g d¢|dœ¦  «        }|                     d¦  «        } t          || ¦  «        ¦   «         }t          ddgt	          ||j        ¬	¦  «        dœ¦  «                             d¦  «        }t          j        ||¦  «         |                     d¦  «        d
         } t          || ¦  «        ¦   «         }|d
         }t          j	        ||¦  «         d S )N)r1   r²  r´  r³  Tr¾   )rt  éþÿÿÿrt  r¶  )Úpayloadr+   r·  r¶  rt  rD  r+   )
r   r   rN   Úgetattrr
   r’   r  rd   re   r®   )Úfuncru   rW   rQ   r‘   r(   rh   Úsgbs           r   Útest_preserve_on_ordered_opsr»  ¢  s  € õ 	Ð:Ð:Ð:ÀDÐIÑIÔI€AÝ	Ð/Ð/Ð/¸Ð:Ð:Ñ	;Ô	;€BØ
�
Š
�9ÑÔ€AØ�W�Q˜ÑÔÑÔ€FÝØ˜�H¥V¨F¸!¼'Ð%BÑ%BÔ%BÐCÐCñô ç‚i�	ÑÔð õ Ô˜& (Ñ+Ô+Ð+ð �*Š*�YÑ
Ô
 Ô
&€CØ�W�S˜$ÑÔÑ!Ô!€FØ˜Œ€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                  ó¤  — t          t          j                             d¦  «                             d¦  «        ¦  «        } t          j        g d¢¦  «        }t          j        |g d¢d¬¦  «        }|                      |d¬¦  «         	                    ¦   «         }|                      |d¬¦  «         	                    ¦   «         }t          |j        |j        |j        ¬	¦  «        |_        t          j        ||¦  «         t          j        g d
¢¦  «        }t          j        |g d¢d¬¦  «        }|                      |d¬¦  «         	                    ¦   «         }|                      |d¬¦  «         	                    ¦   «                              |j        ¦  «        }t          |j        |j        |j        ¬	¦  «        |_        t          j        ||¦  «         d S )Nr[   rM  rS  rT  Tr¾   FrK   r   )	r   r   r   r<   r<   r<   r\   r\   r\   ru  )r
   r   rÌ   rÍ   rÏ   rh  r   r   rN   r6   r   r!   r   r   rd   r®   r&   )rf   rÒ   rR   r(   rá   s        r   Útest_categorical_no_compressr½  ¾  s™  € Ý•"”)×'Ò'¨Ñ*Ô*×:Ò:¸1Ñ=Ô=Ñ>Ô>€DåŒHÐ0Ð0Ð0Ñ1Ô1€EÝÔ! %¨¨¨¸DÐAÑAÔA€Dà�\Š\˜$¨ˆ\Ñ/Ô/×4Ò4Ñ6Ô6€FØ
�,Š,�u uˆ,Ñ
-Ô
-×
2Ò
2Ñ
4Ô
4€Cå ØŒ	˜dœo°t´|ðñ ô €C„Iõ Ô˜6 3Ñ'Ô'Ð'åŒHÐ0Ð0Ð0Ñ1Ô1€EÝÔ! %¨¨¨¸tÐDÑDÔD€Dà�\Š\˜$¨ˆ\Ñ/Ô/×4Ò4Ñ6Ô6€FØ
�,Š,�u uˆ,Ñ
-Ô
-×
2Ò
2Ñ
4Ô
4×
<Ò
<¸T¼_Ñ
MÔ
M€CÝ ØŒ	˜dœo°t´|ðñ ô €C„Iõ Ô˜6 3Ñ'Ô'Ð'Ð'Ð'r   c                  ó4  — t          g d¢g d¢d¬¦  «        } t          g d¢| dœ¦  «        }|                     dd¬	¦  «                             ¦   «         }|d
         j        }t          j        dddt
          j        g¦  «        }t          j	        ||¦  «         d S )NrU   rX   Tr   rZ   r^   rV   FrK   r   r<   r[   rF   )
r   r   rN   r6   ru   r   rh  rc   rd   Úassert_numpy_array_equal)rR   rf   r(   rá   s       r   Ú#test_categorical_no_compress_stringrÀ  ×  s©   € ÝØ5Ð5Ð5Ø'Ð'Ð'Øðñ ô €Dõ
 Ð6Ð6Ð6¸TÐBÐBÑCÔC€Dà�\Š\˜#¨ˆ\Ñ.Ô.×3Ò3Ñ5Ô5€FØ�CŒ[Ô€FÝ
Œ(�A�q˜!�RœVÐ$Ñ
%Ô
%€CÝÔ ¨Ñ,Ô,Ð,Ð,Ð,r   c                  ó:  — t          d gdz  t          g d¢¦  «        dœ¦  «        } |                      d¦  «                             ¦   «         d         }t	          t          g ddg¬¦  «        t	          g d	d¬
¦  «        d¬¦  «        }t          j        ||¦  «         d S )Nr\   )ÚtrainrÂ  ÚtestrŽ  rs   rt   rÃ  rÂ  r?  rŽ   ©r’   ra   rö   )r   r   rN   r1   r
   rd   r®   ©rQ   r(   rh   s      r   Ú test_groupby_empty_with_categoryrÆ  å  s§   € õ 
˜$˜ !™­+Ð6PÐ6PÐ6PÑ*QÔ*QÐRÐRÑ	SÔ	S€BØ�ZŠZ˜‰_Œ_×"Ò"Ñ$Ô$ SÔ)€FÝÝ�B F¨GÐ#4Ð5Ñ5Ô5Ý�R˜x¨cÐ2Ñ2Ô2Øðñ ô €Hõ
 Ô˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                  ó~  — t          dt          j                             d¦  «                             ddd¦  «        i¦  «        } d„ t          ddd¦  «        D ¦   «         }t          ||¦  «        }|                      dgd¬	¦  «        } t          j	        | j
        t          dd
d¦  «        d|¬¦  «        | d<   |                      dgd¬¦  «        d                              ¦   «         }|t          |j        d„ ¬¦  «                 }t          |j        |j        j        ¬¦  «        |_        t#          j        ||¦  «         d S )NÚvaluer[   r   r9  r—   c                 ó"   — g | ]}|› d |dz   › �‘ŒS )z - ió  r„   )Ú.0r  s     r   ú
<listcomp>ztest_sort.<locals>.<listcomp>û  s*   € Ð?Ð?Ð? Q�Ð Ð �q˜3‘wÐ Ð Ð?Ð?Ð?r   iô  T)r®  Ú	ascendingi)  F)Úrightr½   Úvalue_grouprK   c                 óP   — t          |                      ¦   «         d         ¦  «        S )Nr   )ÚfloatÚsplitr…   s    r   r‡   ztest_sort.<locals>.<lambda>  s   € ­e°A·G²G±I´I¸a´LÑ.AÔ.A€ r   )r  r‹   )r   r   rÌ   rÍ   rÎ   rë   r   Úsort_valuesr¬   r­   rÈ  rN   r/   Úsortedr!   r   ra   rd   r®   )rQ   r½   Ú
cat_labelsr*   rá   s        r   Ú	test_sortrÕ  ó  s)  € õ 
�G�RœY×2Ò2°1Ñ5Ô5×>Ò>¸qÀ%ÈÑLÔLÐMÑ	NÔ	N€BØ?Ð?­%°°5¸#Ñ*>Ô*>Ð?Ñ?Ô?€FÝ˜V VÑ,Ô,€Jà	�Š˜G˜9°ˆÑ	5Ô	5€BÝœØ
Œ•%˜˜5 #Ñ&Ô&¨e¸Jðñ ô €B€}Ñð �*Š*�m�_¨uˆ*Ñ
5Ô
5°mÔ
D×
JÒ
JÑ
LÔ
L€CØ
�f�S”YÐ$AÐ$AÐBÑBÔBÔ
C€CÝ  ¤°´´Ð@Ñ@Ô@€C„IÝÔ˜3 Ñ$Ô$Ð$Ð$Ð$r   c           
      óž  — t          g d¢g d¢g d¢g d¢g d¢g d¢g d¢gg d¢¬	¦  «        }t          |d
         |¬¦  «        |d
<   |                     d
| d¬¦  «                             ¦   «         }| rddgddgddgddgg}g d¢}nddgddgddgddgg}g d¢}t          |ddgt	          |d
|¬¦  «        ¬¦  «        }t          j        ||¦  «         d S )N)ú	(7.5, 10]r—   r—   )r×  rÊ   r˜   )ú(2.5, 5]r]   r™   )ú(5, 7.5]rï   rš   )rØ  rF   r"  )ú(0, 2.5]r<   r#  )rÙ  rv   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   rN   r1   r   rd   re   )rÉ   r   rQ   r(   Údata_valuesÚindex_valuesrh   s          r   Ú
test_sort2rÞ  	  sN  € õ
 
à!Ð!Ð!Ø Ð Ð ØÐÐØÐÐØÐÐØÐÐØÐÐð	
ð (Ð'Ð'ð
ñ 
ô 
€Bõ ˜b œk°7Ð;Ñ;Ô;€B€w�KØ�ZŠZ˜ d°UˆZÑ;Ô;×AÒAÑCÔC€Fàð IØ˜2�w  B ¨!¨R¨°2°r°(Ð;ˆØHÐHÐHˆˆà˜B�x ! R ¨1¨b¨'°A°r°7Ð;ˆØHÐHÐHˆÝØØ˜�Ý˜|°'À7ÐKÑKÔKðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r   c                 ó\  — t          t          ddd¦  «        t          ddd¦  «        t          ddd¦  «        t          ddd¦  «        t          ddd¦  «        t          ddd¦  «        t          ddd¦  «        gg d¢g d¢dœg d¢¬	¦  «        }t          |d
         |¬¦  «        |d
<   | rQd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}nPddgddgddgddgg}t          ddd¦  «        t          ddd¦  «        t          ddd¦  «        t          ddd¦  «        g}t          |ddgt          |d
|¬¦  «        ¬¦  «        }|                     d
| d¬¦  «                             ¦   «         }t          j        ||¦  «         d S )NiÛ  rv   r<   r[   r]   )r—   rÊ   r]   rï   rF   r<   rv   r!  )ÚdtrÂ   rÃ   r�   rà  r¾   r#  r™   rï   rš   r—   rÂ   rÃ   r`   rÛ  FrÈ   )r   r   r   r   rN   r1   rd   re   )rÉ   r   rQ   rÜ  rÝ  rh   r(   s          r   Útest_sort_datetimelikerá  ,  s  € õ 
õ ˜˜q !Ñ$Ô$Ý˜˜q !Ñ$Ô$Ý˜˜q !Ñ$Ô$Ý˜˜q !Ñ$Ô$Ý˜˜q !Ñ$Ô$Ý˜˜q !Ñ$Ô$Ý˜˜q !Ñ$Ô$ðð *Ð)Ð)Ø/Ð/Ð/ð	
ð 	
ð %Ð$Ð$ð
ñ 
ô 
€Bõ$ ˜2˜dœ8¨WÐ5Ñ5Ô5€B€t�HØð 
Ø˜2�w  B ¨!¨R¨°2°r°(Ð;ˆå�T˜1˜aÑ Ô Ý�T˜1˜aÑ Ô Ý�T˜1˜aÑ Ô Ý�T˜1˜aÑ Ô ð	
ˆˆð ˜B�x ! R ¨1¨b¨'°A°r°7Ð;ˆå�T˜1˜aÑ Ô Ý�T˜1˜aÑ Ô Ý�T˜1˜aÑ Ô Ý�T˜1˜aÑ Ô ð	
ˆõ ØØ˜�Ý˜|°$ÀÐHÑHÔHðñ ô €Hð
 �ZŠZ˜ 4°%ˆZÑ8Ô8×>Ò>Ñ@Ô@€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                  ó~  — t          t          g d¢g d¢¬¦  «        g d¢dœ¦  «        } t          g d¢d¬¦  «        }|                      dd¬	¦  «        j                             ¦   «         }t          g d
¢|d¬¦  «        }t          j        ||¦  «         |                      dd¬	¦  «        j                             d¬¦  «        }t          g d
¢|d¬¦  «        }t          j        ||¦  «         |                      dd¬	¦  «        j                             d¬¦  «        }t          ddt          j
        g|d¬¦  «        }t          j        ||¦  «         |                      dd¬	¦  «        j                             d¬¦  «        }t          dt          j
        t          j
        g|d¬¦  «        }t          j        ||¦  «         d S )N©r   r   rV   r  r?  ©r<   r[   r<   rŽ  rs   r‹   FrK   )r\   r<   r   rt   r   ©Ú	min_countr<   r\   r[   )r   r   r   rN   rt   rC   r
   rd   r®   r   rc   ©rQ   Úexpected_idxr(   rh   s       r   Útest_empty_sumré  _  s±  € å	Ý˜/˜/˜/°o°o°oÐFÑFÔFÈYÈYÈYÐWÐWñ
ô 
€Bõ $ O O O¸#Ð>Ñ>Ô>€Lð �ZŠZ˜ eˆZÑ,Ô,Ô.×2Ò2Ñ4Ô4€FÝ�i�i�i °CÐ8Ñ8Ô8€HÝÔ˜6 8Ñ,Ô,Ð,ð �ZŠZ˜ eˆZÑ,Ô,Ô.×2Ò2¸QÐ2Ñ?Ô?€FÝ�i�i�i °CÐ8Ñ8Ô8€HÝÔ˜6 8Ñ,Ô,Ð,ð �ZŠZ˜ eˆZÑ,Ô,Ô.×2Ò2¸QÐ2Ñ?Ô?€FÝ�q˜!�RœV�n l¸Ð=Ñ=Ô=€HÝÔ˜6 8Ñ,Ô,Ð,ð �ZŠZ˜ eˆZÑ,Ô,Ô.×2Ò2¸QÐ2Ñ?Ô?€FÝ�q�"œ&¥"¤&Ð)¨<¸cÐBÑBÔB€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                  ó¢  — t          t          g d¢g d¢¬¦  «        g d¢dœ¦  «        } t          g d¢d¬¦  «        }|                      dd¬	¦  «        j                             ¦   «         }t          g d
¢|d¬¦  «        }t          j        ||¦  «         |                      dd¬	¦  «        j                             d¬¦  «        }t          g d
¢|d¬¦  «        }t          j        ||¦  «         |                      dd¬	¦  «        j                             d¬¦  «        }t          ddt          j
        g|d¬¦  «        }t          j        ||¦  «         d S )Nrã  r  r?  rä  rŽ  rs   r‹   FrK   )r[   r<   r<   rt   r   rå  r<   r[   )r   r   r   rN   rt   r;   r
   rd   r®   r   rc   rç  s       r   Útest_empty_prodrë  {  sT  € å	Ý˜/˜/˜/°o°o°oÐFÑFÔFÈYÈYÈYÐWÐWñ
ô 
€Bõ $ O O O¸#Ð>Ñ>Ô>€Lð �ZŠZ˜ eˆZÑ,Ô,Ô.×3Ò3Ñ5Ô5€FÝ�i�i�i °CÐ8Ñ8Ô8€HÝÔ˜6 8Ñ,Ô,Ð,ð �ZŠZ˜ eˆZÑ,Ô,Ô.×3Ò3¸aÐ3Ñ@Ô@€FÝ�i�i�i °CÐ8Ñ8Ô8€HÝÔ˜6 8Ñ,Ô,Ð,ð �ZŠZ˜ eˆZÑ,Ô,Ô.×3Ò3¸aÐ3Ñ@Ô@€FÝ�q˜!�RœV�n l¸Ð=Ñ=Ô=€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                  óJ  — t          t          t          d¦  «        ¦  «        t          t          t          j        ddd¬¦  «        ¦  «        dz  ¦  «        t          j        d¦  «        dœ¦  «        } |                      dd	gd
¬¦  «                             ¦   «         }t          j
        t          g d¢¦  «        t          t          j        ddd¬¦  «        ¦  «        gdd	g¬¦  «        }t          ddddddddt
          j        dg	i|¬¦  «        }t          j        ||¦  «         d S )NÚ	abcbabcbaz2018-06-01 00Ú1minr\   )Úfreqrp  rM  )Úkey1Úkey2ru   rð  rñ  FrK   r  r   ru   r   rF   rÊ   r]   rï   r[   r    )r   r   rb   r¬   rq  r   r   rN   r6   r	   r"   rc   rd   re   )rQ   r(   rÜ   rh   s       r   Ú,test_groupby_multiindex_categorical_datetimerò  “  s+  € õ 
å¥ [Ñ 1Ô 1Ñ2Ô2ÝÝ•R”] ?¸ÈÐKÑKÔKÑLÔLÈqÑPñô õ ”i ‘l”lð	
ð 	
ñ
ô 
€Bð �ZŠZ˜ Ð(°5ˆZÑ9Ô9×>Ò>Ñ@Ô@€Få
Ô
!å˜˜˜Ñ(Ô(Ý�œ o¸FÈAÐNÑNÔNÑOÔOð	
ð �vÐðñ ô €Cõ ˜( Q¨¨1¨a°°A°q½"¼&À!Ð$DÐEÈSÐQÑQÔQ€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   zas_index, expectedrR  r<  rD  r”  r   r†   )r!   rf   ra   ©r   rV   r†   c                 óä   — t          t          g d¢d¬¦  «        g d¢g d¢dœ¦  «        }|                     ddg| d	¬
¦  «        d                              ¦   «         }t	          j        ||¦  «         d S )NrR  r<  rD  r”  r@  ró  r   rV   Tr'  r†   )r   r
   rN   rC   rd   rV  )r(  rh   rQ   r(   s       r   Ú,test_groupby_agg_observed_true_single_columnrõ  ¬  s   € õ6 
Ý�Y�Y�Y jÐ1Ñ1Ô1¸	¸	¸	È	È	È	ÐRÐRñ
ô 
€Bð �ZŠZ˜˜c˜
¨XÀˆZÑEÔEÀcÔJ×NÒNÑPÔP€Få„O�F˜HÑ%Ô%Ð%Ð%Ð%r   r   c                 ó¶   — t          g d¢g d¢d¬¦  «        }t          g d¢g d¢d¬¦  «        }|                     d| ¬¦  «        }t          j        ||¦  «         d S )NrX   Fr   )Nr   rV   rW   r<   r   )r   Úshiftrd   rV  )r   Úctrh   r*   s       r   Ú
test_shiftrù  Ð  sƒ   € å	ØÐÐÐ)=Ð)=Ð)=Àuð
ñ 
ô 
€Bõ ØÐÐÐ*>Ð*>Ð*>Èðñ ô €Hð �(Š(�1 ˆ(Ñ
,Ô
,€CÝ„O�C˜Ñ"Ô"Ð"Ð"Ð"r   c                 ó  — |                       ¦   «         dd…         }|d                              d¦  «        |d<   |d                              d¦  «        |d<   t          g d¢¦  «        |d<   |                     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
    NrF   rs   r<  rt   rq   rM   rO   r<   r¤   )Úcopyr�   r
   rU  )rQ   Údf_cats     r   rü  rü  Ü  s€   € ð" �WŠW‰YŒY�r˜�rŒ]€FØ˜”+×$Ò$ ZÑ0Ô0€Fˆ3�KØ˜”+×$Ò$ ZÑ0Ô0€Fˆ3�KÝ˜˜˜Ñ&Ô&€Fˆ3�KØ�[Š[˜#˜ Qˆ[Ñ'Ô'€FØ€Mr   Ú	operationr  rP   c                 óž  — t          g d¢| d         j        d¬¦  «        }t          g d¢| d         j        d¬¦  «        }t          j        ||g¦  «        }t	          g d¢|d¬¦  «                             ¦   «         }|                      ddgd	¬
¦  «        d         } t          ||¦  «        t          ¦  «        }t          j
        ||¦  «         d S )N)rÃ   rÃ   rÂ   rÂ   rs   rÄ  )ÚoneÚthreerÿ  Útwort   )r[   rF   r<   r\   rM   ©rf   r!   ra   TrK   )r   r’   r	   rø   r
   r'   rN   r¸  rC   rd   r®   )rü  rý  Úlev_aÚlev_br!   rh   rÚ   r(   s           r   Ú test_seriesgroupby_observed_truer  õ  sÑ   € õ Ð.Ð.Ð.°f¸S´kÔ6GÈcÐRÑRÔR€EÝÐ0Ð0Ð0¸¸s¼Ô8IÐPSÐTÑTÔT€EÝÔ" E¨5 >Ñ2Ô2€EÝ˜<˜<˜<¨u¸3Ð?Ñ?Ô?×JÒJÑLÔL€Hà�nŠn˜c 3˜Z°$ˆnÑ7Ô7¸Ô<€GØ(�W�W˜iÑ(Ô(­Ñ-Ô-€FÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   rL   c                 ót  — t          j        t          ddgd¬¦  «        t          g d¢d¬¦  «        gddg¬¦  «                             ¦   «         \  }}t	          g d	¢|d
¬¦  «        }|                      ddg|¬¦  «        d
         } t          ||¦  «        t          ¦  «        }t          j	        ||¦  «         d S )NrÃ   rÂ   Fr¾   ©rÿ  r   r  rs   rt   r   )r[   rF   r   r<   r   r\   rM   r  rK   )
r	   r"   r   Ú	sortlevelr
   rN   r¸  rC   rd   r®   )rü  rL   rý  r!   Ú_rh   rÚ   r(   s           r   Ú)test_seriesgroupby_observed_false_or_noner
    sÓ   € õ
 Ô&å˜e U˜^°UÐ;Ñ;Ô;ÝÐ4Ð4Ð4¸eÐDÑDÔDð	
ð �Cˆjðñ ô ÷ ‚i�k„kñ €Eˆ1õ Ð-Ð-Ð-°UÀÐEÑEÔE€HØ�nŠn˜c 3˜Z°(ˆnÑ;Ô;¸CÔ@€GØ(�W�W˜iÑ(Ô(­Ñ-Ô-€FÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   zobserved, index, datarÃ   rÂ   rs   rÄ  )rÿ  rÿ  r   r   rÿ  rÿ  r  r  rt   )r[   r[   rF   rF   r<   r<   r\   r\   r¾   r  )rs   rt   Nc                 óº   — t          ||d¬¦  «        }|                      ddg|¬¦  «        d                              d„ ¦  «        }t          j        ||¦  «         d S )NrM   r  rs   rt   rK   c                 óT   — |                       ¦   «         |                      ¦   «         dœS )N©r8   r5   r  r…   s    r   r‡   z8test_seriesgroupby_observed_apply_dict.<locals>.<lambda>F  s   € ˜!Ÿ%š%™'œ'¨!¯%ª%©'¬'Ð2Ð2€ r   )r
   rN   rP   rd   r®   )rü  rL   r!   rf   rh   r(   s         r   Ú&test_seriesgroupby_observed_apply_dictr    sh   € õ\ ˜4 u°3Ð7Ñ7Ô7€HØ�^Š^˜S #˜J°ˆ^Ñ:Ô:¸3Ô?×EÒEØ2Ð2ñô €Fõ Ô˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                 óô   — |                       ddgd¬¦  «        d                              ¦   «         }|                       ddgd¬¦  «                             ¦   «         d         }t          j        ||¦  «         d S )Nrs   rt   FrK   rM   )rN   r6   rd   r®   )rü  rh   r(   s      r   Ú4test_groupby_categorical_series_dataframe_consistentr  K  so   € à�~Š~˜s C˜j°5ˆ~Ñ9Ô9¸#Ô>×CÒCÑEÔE€HØ�^Š^˜S #˜J°ˆ^Ñ7Ô7×<Ò<Ñ>Ô>¸sÔC€FÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                 ó:  — t          t          ddg|¬¦  «        ddgdœddg¬	¦  «        }|                     ¦   «         }|                     d| ¬
¦  «                             t           j        d¬¦  «                             ¦   «         }t          j        ||¦  «         d S )NÚBobÚGregr¾   r<   r[   )ÚNameÚItemr  r  r�   rK   T)Úskipna)	r   r   rû  rN   r  rC   r*  rd   re   )rL   r   rQ   rh   r(   s        r   Ú$test_groupby_cat_preserves_structurer  R  sž   € å	Ý˜e V˜_°gÐ>Ñ>Ô>ÈÈAÈÐOÐOØ˜Ð ð
ñ 
ô 
€Bð �wŠw‰yŒy€Hð 	�
Š
�6 Hˆ
Ñ-Ô-ß	Š�YŒ] 4ˆÑ	(Ô	(ß	Š‰Œð õ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r   c                  ó  — t          g d¢t          d¦  «        dœ¦  «        } t          j        t          d¬¦  «        5  |                      d¦  «                             d„ ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrk   rF   )rD   r  z'vau'rˆ  rD   c                 óH   — t          d| j        d         d         gi¦  «        S )Nr  rt  Úvau)r   rŠ   )Úrowss    r   r‡   z/test_get_nonexistent_category.<locals>.<lambda>g  s!   € ­Y¸ÀÄ	È"ÄÈeÔ@TÐ?UÐ7VÑ-WÔ-W€ r   )r   rë   rj  rŠ  ÚKeyErrorrN   rP   ©rQ   s    r   Útest_get_nonexistent_categoryr  c  sÕ   € å	Ð/Ð/Ð/½¸a¹¼ÐAÐAÑ	BÔ	B€BÝ	Œ•x wÐ	/Ñ	/Ô	/ð Yð YØ
�
Š
�5ÑÔ×ÒÐ WÐ WÑXÔXÐXðYð Yð Yñ Yô Yð Yð Yð Yð Yð Yð Yð Yøøøð Yð Yð Yð Yð Yð Ys   ½*A4Á4A8Á;A8c           	      ó„  — | dk    rt          j        d¦  «         t          t          t	          d¦  «        t	          d¦  «        ¬¦  «        t          t	          d¦  «        dz  t	          d¦  «        ¬¦  «        dgd	z  d
œ¦  «        }t          | |¦  «        }|rd	nd}|                     ddg|¬¦  «        d         }| dk    rt          || ¦  «        rJ ‚d S t          || ¦  «        }|s>| dv r:t          j	        t          d¬¦  «        5   ||Ž  d d d ¦  «         n# 1 swxY w Y   d S  ||Ž }t          |¦  «        |k    sJ ‚d S )NÚngroupúngroup is not truly a reductionÚAABBÚABCDr?  r  r[   çš™™™™™¹?rF   ©Úcat_1Úcat_2rÈ  rª  r&  r'  rK   rÈ  r0   ©r3   r2   ú(empty group due to unobserved categoriesrˆ  )rj  Úskipr   r   rb   r   rN   Úhasattrr¸  rŠ  r‹  r   )Úreduction_funcrL   rQ   r)   Úexpected_lengthÚseries_groupbyr  r(   s           r   Ú0test_series_groupby_on_2_categoricals_unobservedr/  j  s°  € à˜Ò!Ð!ÝŒÐ5Ñ6Ô6Ð6å	å ¥ f¡¤½$¸v¹,¼,ÐGÑGÔGÝ ¥ d¡¤¨a¡½DÀ¹L¼LÐIÑIÔIØ�U˜Q‘Yð	
ð 	
ñ
ô 
€Bõ # >°2Ñ6Ô6€Dà#Ð+�a�a¨€Oà—Z’Z ¨'Ð 2¸X�ZÑFÔFÀwÔO€Nà˜Ò#Ð#å˜>¨>Ñ:Ô:Ð:Ð:Ð:Øˆå
�. .Ñ
1Ô
1€Càð ˜Ð*>Ð>Ð>åŒ]ÝÐHð
ñ 
ô 
ð 	ð 	ð ˆC�ˆJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ˆàˆS�$ˆZ€Fåˆv‰;Œ;˜/Ò)Ð)Ð)Ð)Ð)Ð)s   ÄDÄDÄ Dc           	      ó.  — | dk    rt          j        d¦  «         | dk    r5t           j                             d¬¦  «        }|                     |¦  «         t          t          t          d¦  «        t          d¦  «        ¬¦  «        t          t          d	¦  «        d
z  t          d¦  «        ¬¦  «        dgdz  dœ¦  «        }t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        g}t          | |¦  «        }| 
                    ddgd¬¦  «        d         }t          || ¦  «        }| dv r:t          j        t          d¬¦  «        5   ||Ž  d d d ¦  «         n# 1 swxY w Y   d S  ||Ž }t          |          }	|D ]?}
|j        |
         }t!          j        |	¦  «        rt!          j        |¦  «        s||	k    sJ ‚Œ@|	dk    r2| dv r(t%          j        |j        t$          j        ¦  «        sJ ‚d S | dv sJ ‚d S d S )Nr   r!  r0   z6TODO: implemented SeriesGroupBy.corrwith. See GH 32293©Úreasonr"  r  r?  r  r[   r$  rF   r%  ÚACÚBCÚCAÚCBÚCCr&  r'  FrK   rÈ  r(  r)  rˆ  r   )r/   r:   r?   )rC   r.   )rj  r*  ÚmarkÚxfailÚapplymarkerr   r   rb   Útupler   rN   r¸  rŠ  r‹  Ú-_results_for_groupbys_with_missing_categoriesr›  r¬   ri  r   Ú
issubdtyper’   Úinteger)r,  Úrequestr8  rQ   Ú
unobservedr)   r.  r  r(   Úmissing_fillinrÜ   r  s               r   Ú?test_series_groupby_on_2_categoricals_unobserved_zeroes_or_nansrB  �  sx  € ð ˜Ò!Ð!ÝŒÐ5Ñ6Ô6Ð6à˜Ò#Ð#ÝŒ{× Ò ØKð !ñ 
ô 
ˆð 	×Ò˜DÑ!Ô!Ð!å	å ¥ f¡¤½$¸u¹+¼+ÐFÑFÔFÝ ¥ d¡¤¨a¡½DÀ¹K¼KÐHÑHÔHØ�U˜Q‘Yð	
ð 	
ñ
ô 
€Bõ ˜‘+”+�u T™{œ{­E°$©K¬K½¸t¹¼ÅeÈDÁkÄkÐR€JÝ" >°2Ñ6Ô6€Dà—Z’Z ¨'Ð 2¸U�ZÑCÔCÀGÔL€NÝ
�. .Ñ
1Ô
1€CàÐ-Ð-Ð-åŒ]ÝÐHð
ñ 
ô 
ð 	ð 	ð ˆC�ˆJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ˆàˆS�$ˆZ€FåBÀ>ÔR€Nàð Uð UˆØŒj˜ŒoˆÝ”˜Ñ'Ô'ÐT­B¬G°C©L¬LÐT¸cÀ^Ò>SÐ>SÐ>SÐTøð ˜ÒÐØÐ9Ð9Ð9Ý”= ¤­r¬zÑ:Ô:Ð:Ð:Ð:Ð:Ð:à! ^Ð3Ð3Ð3Ð3ð	 Ðð 4Ð3s   Å(E:Å:E>ÆE>c           	      ó,  — | dk    rt          j        d¦  «         t          t          t	          d¦  «        t	          d¦  «        ¬¦  «        t          t	          d¦  «        t	          d¦  «        ¬¦  «        g d¢d	œ¦  «        }g d
¢}|                     ddgd¬¦  «        }t          | |¦  «        }| dk    r
t          }d}nd }d}t          j	        ||¬¦  «        5   t          || ¦  «        |Ž }d d d ¦  «         n# 1 swxY w Y   |D ]}||j        vsJ ‚Œd S )Nr   ú2ngroup does not return the Categories on the indexr"  r  r?  Ú1111Ú12©r$  r$  r$  r$  r%  ©)rs   Ú2)rt   rI  )rM   Ú1)rM   rI  r&  r'  TrK   r0   ú'DataFrameGroupBy.corrwith is deprecatedr	  rˆ  )rj  r*  r   r   rb   rN   r   r   rd   Úassert_produces_warningr¸  r!   )	r,  rQ   Úunobserved_catsÚdf_grpr)   ÚwarnÚwarn_msgr*   r  s	            r   Ú>test_dataframe_groupby_on_2_categoricals_when_observed_is_truerQ  Ç  s„  € ð
 ˜Ò!Ð!ÝŒÐHÑIÔIÐIå	å ¥ f¡¤½$¸u¹+¼+ÐFÑFÔFÝ ¥ f¡¤½$¸t¹*¼*ÐEÑEÔEØ)Ð)Ð)ð	
ð 	
ñ
ô 
€Bð GÐFÐF€Oà�ZŠZ˜ 'Ð*°TˆZÑ:Ô:€Få" >°2Ñ6Ô6€DØ˜Ò#Ð#ÝˆØ<ˆˆàˆØˆÝ	Ô	# D°Ð	9Ñ	9Ô	9ð 5ð 5Ø-�g�f˜nÑ-Ô-¨tÐ4ˆð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð ð $ð $ˆØ˜#œ)Ð#Ð#Ð#Ð#Ð#ð$ð $s   ÃC9Ã9C=Ä C=c           	      ó<  — | dk    rt          j        d¦  «         t          t          t	          d¦  «        t	          d¦  «        ¬¦  «        t          t	          d¦  «        t	          d¦  «        ¬¦  «        g d¢d	œ¦  «        }g d
¢}|                     ddg|¬¦  «        }t          | |¦  «        }|sL| dv rHt          j        t          d¬¦  «        5   t          || ¦  «        |Ž  d d d ¦  «         n# 1 swxY w Y   d S | dk    r
t          }d}nd }d}t          j        ||¬¦  «        5   t          || ¦  «        |Ž }	d d d ¦  «         n# 1 swxY w Y   t          |          }
|r/| dk    r)|	j        |         |
k                         ¦   «         du sJ ‚d S |
t           j        u rG|	j        |                              ¦   «                              ¦   «                              ¦   «         sJ ‚d S |	j        |         |
k                         ¦   «                              ¦   «         sJ ‚d S )Nr   rD  r"  r  r?  rE  rF  rG  r%  rH  r&  r'  rK   r(  r)  rˆ  r0   rK  r	  r?   T)rj  r*  r   r   rb   rN   r   rŠ  r‹  r¸  r   rd   rL  r<  r›  r-   r   rc   Úisnull)r,  rL   Úusing_python_scalarsrQ   rM  rN  r)   rO  rP  r*   rh   s              r   Ú?test_dataframe_groupby_on_2_categoricals_when_observed_is_falserU  è  sÆ  € ð ˜Ò!Ð!ÝŒÐHÑIÔIÐIå	å ¥ f¡¤½$¸u¹+¼+ÐFÑFÔFÝ ¥ f¡¤½$¸t¹*¼*ÐEÑEÔEØ)Ð)Ð)ð	
ð 	
ñ
ô 
€Bð GÐFÐF€Oà�ZŠZ˜ 'Ð*°XˆZÑ>Ô>€Få" >°2Ñ6Ô6€Dàð ˜Ð*>Ð>Ð>åŒ]ÝÐHð
ñ 
ô 
ð 	3ð 	3ð ,�G�F˜NÑ+Ô+¨TÐ2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð 	ˆà˜Ò#Ð#ÝˆØ<ˆˆàˆØˆÝ	Ô	# D°Ð	9Ñ	9Ô	9ð 5ð 5Ø-�g�f˜nÑ-Ô-¨tÐ4ˆð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5õ =¸^ÔL€Hàð B °&Ò 8Ð 8Ø”˜Ô(¨HÒ4×9Ò9Ñ;Ô;¸tÐCÐCÐCÐCÐCÐCØ	•R”VÐ	Ð	ØŒw�Ô'×.Ò.Ñ0Ô0×4Ò4Ñ6Ô6×:Ò:Ñ<Ô<Ð<Ð<Ð<Ð<Ð<à”˜Ô(¨HÒ4×9Ò9Ñ;Ô;×?Ò?ÑAÔAÐAÐAÐAÐAÐAs$   ÃC0Ã0C4Ã7C4Ä'EÅEÅEc                  óp  — g d¢g d¢g d¢dœ} t          | ¦  «        }t          j        |d         t          j        ddd¦  «        ¦  «        }||d	<   |                     d	d
gddd¬¦  «        }|d                              d¦  «        }|                     d¦  «        d         }t          j        ||¦  «         d S )N)r—   rÊ   rF   r<   r  )rY   rW   rY   rW   r&  rÂ   r   r˜   r]   rë   rÄ   TF©r(  rÉ   rL   r6   )	r   r¬   r­   r   r)  rN   r  rd   r®   )rY   rQ   r  r+  r(   rh   s         r   Ú3test_series_groupby_categorical_aggregation_getitemrX    s¾   € à��Ð&6Ð&6Ð&6Ð?SÐ?SÐ?SÐTÐT€AÝ	�1‰Œ€BÝ
Œ&��E”�BœK¨¨2¨qÑ1Ô1Ñ
2Ô
2€CØ€B€w�KØ�ZŠZ˜ %Ð(°4¸dÈUˆZÑSÔS€FØ�EŒ]×Ò˜vÑ&Ô&€FØ�zŠz˜&Ñ!Ô! %Ô(€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   zfunc, expected_valuesc                 ó:  — t          g d¢g d¢t          g d¢¦  «        dœ¦  «                             d¦  «        }|                     d¦  «                             | ¦  «        }t          d|it          g d¢d¬	¦  «        ¬
¦  «        }t          j        ||¦  «         d S )Nr¼   )r   r<   r<   r[   r[   )r   r   r   r   r<   )Úidr+  rÈ  rZ  r+  rÈ  rT  r‹   r    )r   r   r  rN   r  r   rd   re   )r¹  rX  rQ   r(   rh   s        r   Ú$test_groupby_agg_categorical_columnsr[  (  sµ   € õ 
à!�/�/Ø%�o�oÝ    Ñ1Ô1ð	
ð 	
ñ
ô 
÷ ‚i��o„oð ð �ZŠZ˜Ñ!Ô!×%Ò% dÑ+Ô+€FåØ	�/Ð"­%°	°	°	ÀÐ*IÑ*IÔ*Iðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r   c                  ó®  — t          dt          g d¢g d¢¬¦  «        i¦  «        } t          dddgit          j        ddg¦  «        ¬¦  «        }|                      g d¢¦  «                             t          j        ¦  «        }t          j	        ||¦  «         |                      g d¢¦  «                             ¦   «         }t          j	        ||¦  «         d S )	Nrs   rã  r  r?  r[   r<   r    rä  )
r   r   r   rh  rN   r  r
   r:   rd   re   ©rQ   rh   r(   s      r   Útest_groupby_agg_non_numericr^  =  sÃ   € Ý	�C� _ _ _ÀÀÀÐQÑQÔQÐRÑ	SÔ	S€BÝ˜#  1˜v˜­b¬h¸¸1°vÑ.>Ô.>Ð?Ñ?Ô?€Hà�ZŠZ˜	˜	˜	Ñ"Ô"×&Ò&¥v¤~Ñ6Ô6€FÝÔ˜& (Ñ+Ô+Ð+à�ZŠZ˜	˜	˜	Ñ"Ô"×*Ò*Ñ,Ô,€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   r¹  c                 óh  — t          dgt          dgd¬¦  «        j                             ¦   «         dœ¦  «        }|                     d¦  «        d         } t          || ¦  «        ¦   «         }t          dgt          dgd¬¦  «        d|d         j        ¬	¦  «        }t          j	        ||¦  «         d S )
NiÍ  rV   r<  rD  rŽ  rs   rt   r‹   ©r!   ra   r’   )
r   r
   r  Ú
as_orderedrN   r¸  r   r’   rd   r®   )r¹  rQ   Ú
df_groupedr(   rh   s        r   Ú<test_groupby_first_returned_categorical_instead_of_dataframerc  H  sµ   € õ 
˜$˜¥f¨c¨U¸*Ð&EÑ&EÔ&EÔ&I×&TÒ&TÑ&VÔ&VÐWÐWÑ	XÔ	X€BØ—’˜C‘” Ô%€JØ&�W�Z Ñ&Ô&Ñ(Ô(€Fõ Ø	ˆ•U˜D˜6¨Ð,Ñ,Ô,°3¸bÀ¼g¼mðñ ô €Hõ Ô˜6 8Ñ,Ô,Ð,Ð,Ð,r   c            	      ót  — t          j        ddg¦  «        } d| j        _        t	          g d¢t          g d¢t          | ¦  «        ¬¦  «        dœ¦  «        }t	          dd	d
git          | d¬¦  «        ¬¦  «        }|                     ddd¬¦  «         	                    ¦   «         }t          j        ||¦  «         d S )Nr<   r[   F)r<   r\   r]   rv   r  r?  r^   r   r   g      @rV   r‹   rç   rÈ   )r   rh  ÚflagsÚ	writeabler   r   r   r   rN   r6   rd   re   )rR   rQ   rh   r(   s       r   Útest_read_only_category_no_sortrg  W  s¼   € åŒ8�Q˜�FÑÔ€DØ €D„JÔÝ	Øˆlˆl¥¨\¨\¨\ÅeÈDÁkÄkÐ!RÑ!RÔ!RÐSÐSñ
ô 
€Bõ ˜s S¨# JÐ/Õ7GÈÐSVÐ7WÑ7WÔ7WÐXÑXÔX€HØ�ZŠZ˜ %°%ˆZÑ8Ô8×=Ò=Ñ?Ô?€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                  óò  — t          g d¢g d¢dœ¦  «        } | d                              d¦  «        j                             g d¢d¬¦  «        | d<   t          d	d	d
œd	dd
œddd
œddd
œdœ¦  «        }|                     dd¬¦  «        }t          g d¢g d¢ddd¬¦  «        |_        |                      ddgd¬¦  «                             ¦   «          	                    ¦   «         }t          j        ||¦  «         d S )N)ÚsmallÚlargerj  rj  r~  rj  rj  r~  )rM   rs   rs   rM   rs   rM   rs   rM   )rÂ   rÃ   rÂ   r<  )Útinyri  r~  rj  Tr¾   r   )rs   rM   r<   r\   r[   rÃ   r!   r¤   )r   r   ra   r’   FrK   )r   r�   r  Úset_categoriesÚrename_axisr   r%   rN   r?   rƒ  rd   re   r]  s      r   Ú#test_sorted_missing_category_valuesrn  c  sM  € å	ð	ð 	ð 	ð <Ð;Ð;ð	
ð 	
ñ
ô 
€Bð  	ˆ5Œ	ß	Š�
Ñ	Ô	Ü	�^Š^Ð@Ð@Ð@È$ˆ^ÑOÔOð €u�Iõ à !Ð$Ð$Ø 1Ð%Ð%Ø AÐ&Ð&Ø 1Ð%Ð%ð		
ð 	
ñô €Hð ×#Ò# E°Ð#Ñ8Ô8€HÝ'Ø,Ð,Ð,Ø7Ð7Ð7ØØØðñ ô €HÔð �ZŠZ˜ ˜°ˆZÑ7Ô7×<Ò<Ñ>Ô>×FÒFÑHÔH€FåÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                  óò  — t          dg d¢i¦  «        } | d                              d¦  «        | d<   |                      d¦  «        j                             ¦   «         }t          g d¢t          g d¢d¬¦  «        d| d         j        ¬¦  «        }t          j	        ||¦  «         |                      d¦  «         
                    ddi¦  «        }|                     ¦   «         }t          j        ||¦  «         d S )	NÚcol_num)r<   r<   r[   r\   r<  Úcol_catr@  r‹   r`  r1   )r   r�   rN   rq  r1   r
   r   r’   rd   r®   r  Úto_framere   rÅ  s      r   Ú1test_agg_cython_category_not_implemented_fallbackrs  �  sô   € å	�I˜|˜|˜|Ð,Ñ	-Ô	-€BØ�y”M×(Ò(¨Ñ4Ô4€B€y�Mà�ZŠZ˜	Ñ"Ô"Ô*×0Ò0Ñ2Ô2€Fõ Øˆ	ˆ	Ý�I�I�I IÐ.Ñ.Ô.ØØ�ŒmÔ!ð	ñ ô €Hõ Ô˜6 8Ñ,Ô,Ð,à�ZŠZ˜	Ñ"Ô"×&Ò&¨	°7Ð';Ñ<Ô<€FØ× Ò Ñ"Ô"€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                  óx  — t          g d¢g d¢ddt          j        dgg d¢g d¢dœ¦  «        } |                      dd	i¦  «        } |                      d
dg¦  «                             d„ ¦  «        }t          j        ddgddggd¬¦  «        }t          ddgddgddgdœ|¬¦  «        }t          j	        ||¦  «         d S )N)r<   r<   r<   r<   r  r$  gš™™™™™É?g333333Ó?)rÂ   rÃ   rÂ   Úfee)rs   rt   Únumerical_colÚ
object_colÚcategorical_colrx  r<  rs   rt   c                 óN   — |                       ¦   «                              ¦   «         S rƒ   )ri  rC   r  s    r   r‡   z7test_aggregate_categorical_with_isnan.<locals>.<lambda>´  s   € °2·7²7±9´9·=²=±?´?€ r   r<   r[   rŽ  r   r   )rv  rw  rx  rç   )
r   r   rc   r�   rN   r  r	   rø   rd   re   rù   s       r   Ú%test_aggregate_categorical_with_isnanrz  ¦  sþ   € å	à��Ø��Ø! 3­¬°Ð4Ø6Ð6Ð6Ø;Ð;Ð;ð	
ð 	
ñ
ô 
€Bð 
�ŠÐ% zÐ2Ñ	3Ô	3€Bà�ZŠZ˜˜c˜
Ñ#Ô#×'Ò'Ð(BÐ(BÑCÔC€FÝÔ" Q¨ F¨Q°¨FÐ#3¸:ÐFÑFÔF€EÝà ˜VØ˜a˜&Ø ! 1˜vð
ð 
ð
 ðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r   c                  óÊ  — t          g d¢g d¢dœ¦  «        } t          j        g d¢d¬¦  «        }| d                              |¦  «        | d<   |                      d¦  «        d                              t          ¦  «        | d	<   |                      ¦   «         }t          g d¢g d¢g d
¢dœ¦  «        }|d                              |¦  «        |d<   t          j	        ||¦  «         d S )N)r<   r<   r<   r[   r[   r\   )ÚWaitingÚOnTheWayÚ	Deliveredr|  r}  r|  )Ú
package_idÚstatus)r|  r}  r~  Tr   r€  r  Úlast_status)r|  r|  r|  r|  r|  r|  )r  r€  r�  )
r   r¬   ÚCategoricalDtyper�   rN   r�   r5   rû  rd   re   )rQ   Údelivery_status_typer(   rh   s       r   Útest_categorical_transformr„  Á  s%  € å	à,Ð,Ð,ðð ð ð
	
ð 
	
ñ
ô 
€Bõ Ô.Ø7Ð7Ð7Àðñ ô Ðð �h”<×&Ò&Ð';Ñ<Ô<€B€x�LØŸ
š
 <Ñ0Ô0°Ô:×DÒDÅSÑIÔI€B€}ÑØ�WŠW‰YŒY€Fåà,Ð,Ð,ðð ð ðð ð ð	
ð 	
ñô €Hð, " (Ô+×2Ò2Ð3GÑHÔH€HˆXÑÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                 ód  — t          g d¢¦  «        }g d¢}t          |||dœ¦  «        }t          ddg¦  «        }t          j        ||gddg¬¦  «        }t	          dt
          j        t
          j        dg|d	¬
¦  «        t	          dt
          j        t
          j        dg|d	¬
¦  «        dœ}||          }|r1|                     ¦   «                              t
          j	        ¦  «        }| 
                    ddg|¬¦  «        d	         }	 t          |	| ¦  «        ¦   «         }
t          j        |
|¦  «         d S ©N)r   r   r<   r<   )r   r<   r<   r   r  r   r<   r   rV   r   rW   r‹   )r1   r4   rK   )r   r   r	   r"   r
   r   rc   rK  r�   rC  rN   r¸  rd   r®   )r¹  rL   r  r  rQ   rz   rÜ   Úexpected_dictrh   Úsrs_grpr(   s              r   ÚFtest_series_groupby_first_on_categorical_col_grouped_on_2_categoricalsr‰  ò  s.  € õ
 �l�l�lÑ
#Ô
#€CØ
ˆ,ˆ,€CÝ	˜ 3¨SÐ1Ð1Ñ	2Ô	2€Bå˜˜1�vÑÔ€DÝ
Ô
! 4¨ ,°s¸C°jÐ
AÑ
AÔ
A€Cå˜�BœF¥B¤F¨AÐ.°¸#Ð>Ñ>Ô>Ý˜�2œ6¥2¤6¨1Ð-¨s¸Ð=Ñ=Ô=ðð €Mð
 ˜TÔ"€HØð 6Ø—?’?Ñ$Ô$×+Ò+­B¬HÑ5Ô5ˆà�jŠj˜#˜s˜¨hˆjÑ7Ô7¸Ô<€GØ#�W�W˜dÑ#Ô#Ñ%Ô%€FÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                 ó|  — t          g d¢¦  «        }g d¢}t          |||dœ¦  «        }t          ddg¦  «        }t          j        ||gddg¬¦  «        }t	          dt
          j        t
          j        dg|d	¬
¦  «        t	          dt
          j        t
          j        dg|d	¬
¦  «        dœ}||                               ¦   «         }|r1|                     ¦   «          	                    t
          j
        ¦  «        }|                     ddg|¬¦  «        }	 t          |	| ¦  «        ¦   «         }
t          j        |
|¦  «         d S r†  )r   r   r	   r"   r
   r   rc   rr  rK  r�   rC  rN   r¸  rd   re   )r¹  rL   r  r  rQ   rz   rÜ   r‡  rh   rN  r(   s              r   ÚBtest_df_groupby_first_on_categorical_col_grouped_on_2_categoricalsr‹    s5  € õ
 �l�l�lÑ
#Ô
#€CØ
ˆ,ˆ,€CÝ	˜ 3¨SÐ1Ð1Ñ	2Ô	2€Bå˜˜1�vÑÔ€DÝ
Ô
! 4¨ ,°s¸C°jÐ
AÑ
AÔ
A€Cå˜�BœF¥B¤F¨AÐ.°¸#Ð>Ñ>Ô>Ý˜�2œ6¥2¤6¨1Ð-¨s¸Ð=Ñ=Ô=ðð €Mð
 ˜TÔ"×+Ò+Ñ-Ô-€HØð 6Ø—?’?Ñ$Ô$×+Ò+­B¬HÑ5Ô5ˆà�ZŠZ˜˜c˜
¨XˆZÑ6Ô6€FØ"�W�V˜TÑ"Ô"Ñ$Ô$€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                  óú  — t          t          g d¢g d¢¬¦  «        t          d¦  «        dœ¦  «        } |                      ddd¬¦  «        }|j        }t          j        d	d
gd¬¦  «        t          j        dgd¬¦  «        t          j        g d¬¦  «        dœ}|                     ¦   «         |                     ¦   «         k    sJ ‚|                     ¦   «         D ]#}t          j	        ||         ||         ¦  «         Œ$d S )N)rV   rV   r   r  r?  r\   )r  r+   r  FrÈ   r   r<   ÚintprD  r[   )rV   r   rW   )
r   r   rë   rN   Úindicesr   rh  rW  rd   r¿  )rQ   rÚ   r(   rh   r  s        r   Ú2test_groupby_categorical_indices_unused_categoriesr�  $  s
  € å	å˜˜˜¸?¸?¸?ÐKÑKÔKÝ˜‘8”8ð	
ð 	
ñ
ô 
€Bð �jŠj˜ U°UˆjÑ;Ô;€GØŒ_€FåŒX�q˜!�f FÐ+Ñ+Ô+ÝŒX�q�c Ð(Ñ(Ô(ÝŒX�b Ð'Ñ'Ô'ðð €Hð
 �;Š;‰=Œ=˜HŸMšM™OœOÒ+Ð+Ð+Ð+Ø�{Š{‰}Œ}ð @ð @ˆÝ
Ô# F¨3¤K°¸#´Ñ?Ô?Ð?Ð?ð@ð @r   c                 óX  — t          dg d¢i¦  «        }|d                              d¦  «        |d<    t          |                     d¦  «        d         | ¦  «        ¦   «         }t	          t          g d¢¦  «        dt          g d¢d¬¦  «        ¬¦  «        }t          j        ||¦  «         d S )Nr   r@  r<  rV   r‹   )ra   r!   )	r   r�   r¸  rN   r
   r   r   rd   r®   )r¹  rQ   r(   rh   s       r   Ú1test_groupby_last_first_preserve_categoricaldtyper‘  8  s¬   € õ 
�C˜˜˜Ð#Ñ	$Ô	$€BØ�Œg�nŠn˜ZÑ(Ô(€B€s�GØ0�W�R—Z’Z ‘_”_ SÔ)¨4Ñ0Ô0Ñ2Ô2€FÝÝ�I�I�IÑÔ Sµ°i°i°iÀcÐ0JÑ0JÔ0Jðñ ô €Hõ Ô˜8 VÑ,Ô,Ð,Ð,Ð,r   c            
      óŠ  — t          ddgddgddgdœ¦  «        } |                      dddœ¬¦  «        } |                      d	d
gd¬¦  «                             ¦   «         d         }t	          ddgt          j        t          ddgd	¬¦  «        t          ddgd
¬¦  «        g¦  «        d¬¦  «        }t          j	        ||¦  «         d S )Nr<   r[   r—   r•  r  r<  r^   rD  r   rV   TrK   rW   r‹   rö   )
r   r�   rN   r:   r
   r	   rø   r   rd   r®   rÅ  s      r   Ú)test_groupby_categorical_observed_nuniquer“  D  sà   € å	˜!˜Q˜ q¨! f°B¸°8Ð<Ð<Ñ	=Ô	=€BØ	�Š˜z°
Ð;Ð;ˆÑ	<Ô	<€BØ�ZŠZ˜˜c˜
¨TˆZÑ2Ô2×:Ò:Ñ<Ô<¸SÔA€FÝØ	
ˆAˆÝÔ$Ý˜q !˜f¨3Ð/Ñ/Ô/Õ1AÀ1ÀaÀ&ÈsÐ1SÑ1SÔ1SÐTñ
ô 
ð ðñ ô €Hõ Ô˜6 8Ñ,Ô,Ð,Ð,Ð,r   c            	      ó”  — t          j        ddgd¬¦  «        } t          ddgddgddggddg¬	¦  «                             d| i¦  «        }|                     d¦  «        d                              ¦   «         }t          ddgt          ddgd¬
¦  «        dt          j        ddgd¬¦  «        ¬¦  «        }t          j	        ||¦  «         d S )Nri  ÚbigTr   r<   r[   ÚgrpÚdescriptionr�   r‹   r`  )
r¬   r‚  r   r�   rN   r5   r
   r   rd   r®   )r’   rQ   r(   rh   s       r   Ú,test_groupby_categorical_aggregate_functionsr˜  S  sì   € åÔ¨G°UÐ+;ÀTÐJÑJÔJ€EÝ	Ø
ˆWˆ˜˜5�z A w <Ð0¸5À-Ð:Pð
ñ 
ô 
ç‚fˆm˜UÐ#Ñ$Ô$ð ð �ZŠZ˜ÑÔ˜}Ô-×1Ò1Ñ3Ô3€FÝØ	�ÐÝ�Q˜�F Ð'Ñ'Ô'ØÝÔ!¨g°uÐ-=ÀtÐLÑLÔLð	ñ ô €Hõ Ô˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                 óš  — t          ddgg d¢¬¦  «        }t          t          ddgg d¢¬¦  «        ddgdœ¦  «        }|                     d| |¬	¦  «        }|                     ¦   «         }| rt          d
ddgi|¬¦  «        }n)t	          g d¢g d¢¦  «        }t          d
g d¢i|¬¦  «        }d|j        _        t          j        ||¦  «         d S )Nr<   r[   r@  r?  r\   rF   )r†   rp   r†   rJ  rp   r    )r\   rF   r   )	r   r   rN   rC   r   r!   ra   rd   re   )rL   rK  r  rQ   r{   r(   rh   r!   s           r   Útest_groupby_categorical_dropnarš  e  sç   € å
�q˜!�f¨¨¨Ð
3Ñ
3Ô
3€CÝ	� a¨ V¸	¸	¸	ÐBÑBÔBÈ!ÈQÈÐPÐPÑ	QÔ	Q€BØ	�Š�C (°6ˆÑ	:Ô	:€BØ�VŠV‰XŒX€Fàð <Ý˜c A q 6˜]°#Ð6Ñ6Ô6ˆˆå    ¨I¨I¨IÑ6Ô6ˆÝ˜c 9 9 9Ð-°UÐ;Ñ;Ô;ˆØ€H„NÔåÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   Ú
index_kind)rë   ÚsingleÚmultic                 ó˜  — |dk    r>|s<|dk    r6d}|                       t          j                             |¬¦  «        ¦  «         n|dk    r|st          j        d¬¦  «         t          t          g d¢g d¢|¬	¦  «        t          d
¦  «        dœ¦  «        }|dk    rdg}	nI|dk    rdg}	|                     |	¦  «        }n*|dk    r$ddg}	|d         |d<   |                     |	¦  «        }t          ||¦  «        }
| 
                    |	|||¬¦  «        }|sL|dv rHt          j        t          d¬¦  «        5   t          ||¦  «        |
Ž  d d d ¦  «         n# 1 swxY w Y   d S |dk    r
t          }d}nd }d}t          j        ||¬¦  «        5   t          ||¦  «        |
Ž }d d d ¦  «         n# 1 swxY w Y   |r |j                             d¦  «        j        }n|d         j        j        }t+          g d¢¦  «        }t          j        ||¦  «         |dk    r6|j                             d¦  «        j        }t          j        ||¦  «         d S d S )Nr0   rœ  zDGH#49950 - corrwith with as_index=False may not have grouping columnr1  rë   ú/Result doesn't have categories, nothing to test©r[   r<   r[   r\   ©r<   rF   r\   r[   r   rF   r^   r   r�  rO  rW  r(  r)  rˆ  rK  r	  )r:  rj  r8  r9  r*  r   r   rë   r  r   rN   rŠ  r‹  r¸  r   rd   rL  r!   rØ   r   r  r   rÖ   )r?  r(  rÉ   rL   r,  r›  r   rm  rQ   rW  r)   r{   rO  rP  Ú	op_resultr(   rh   s                    r   Útest_category_order_reducerr£  v  s"  € ð ˜Ò#Ð#¨HÐ#¸ÀxÒ9OÐ9OØTˆØ×Ò�FœK×-Ò-°SÐ-Ñ9Ô9Ñ:Ô:Ð:Ð:Ø	�wÒ	Ð	 xÐ	ÝŒÐLÐMÑMÔMÐMÝ	å˜\˜\˜\°l°l°lÈGÐTÑTÔTÝ�q‘”ð	
ð 	
ñ
ô 
€Bð �WÒÐØˆuˆˆØ	�xÒ	Ð	ØˆuˆØ�\Š\˜$ÑÔˆˆØ	�wÒ	Ð	Ø�Tˆ{ˆØ�c”7ˆˆ4‰Ø�\Š\˜$ÑÔˆÝ" >°2Ñ6Ô6€DØ	�Š�D 8°$ÀˆÑ	JÔ	J€Bàð ˜Ð*>Ð>Ð>åŒ]ÝÐHð
ñ 
ô 
ð 	/ð 	/ð (�G�B˜Ñ'Ô'¨Ð.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	ˆØ˜Ò#Ð#ÝˆØ<ˆˆàˆØˆÝ	Ô	# D°Ð	9Ñ	9Ô	9ð 7ð 7Ø/•G˜B Ñ/Ô/°Ð6ˆ	ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7àð /Ø”×1Ò1°#Ñ6Ô6ÔAˆˆà˜3”Ô#Ô.ˆÝ�\�\�\Ñ"Ô"€HÝÔ˜& (Ñ+Ô+Ð+à�WÒÐØ”×1Ò1°$Ñ7Ô7ÔBˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/ð Ðs$   Ä2EÅEÅEÆ	F)Æ)F-Æ0F-rœ  r�  c                 óx  — t          t          g d¢g d¢|¬¦  «        t          d¦  «        dœ¦  «        }|dk    rdg}|                     |¦  «        }n*|dk    r$dd	g}|d         |d	<   |                     |¦  «        }t	          ||¦  «        }|                     || ||¬
¦  «        }	 t          |	|¦  «        |Ž }
|
j                             d¦  «        j	        }t          g d¢¦  «        }t          j        ||¦  «         |dk    r6|
j                             d	¦  «        j	        }t          j        ||¦  «         d S d S )Nr   r¡  r   rF   r^   rœ  r   r�  rO  rW  )r   r   rë   r  r   rN   r¸  r!   rØ   r   r   rd   rÖ   )r(  rÉ   rL   Útransformation_funcr›  r   rQ   rW  r)   r{   r¢  r(   rh   s                r   Útest_category_order_transformerr¦  ®  sY  € õ 
å˜\˜\˜\°l°l°lÈGÐTÑTÔTÝ�q‘”ð	
ð 	
ñ
ô 
€Bð �XÒÐØˆuˆØ�\Š\˜$ÑÔˆˆØ	�wÒ	Ð	Ø�Tˆ{ˆØ�c”7ˆˆ4‰Ø�\Š\˜$ÑÔˆÝ"Ð#6¸Ñ;Ô;€DØ	�Š�D 8°$ÀˆÑ	JÔ	J€BØ0•˜Ð/Ñ0Ô0°$Ð7€IØŒ_×-Ò-¨cÑ2Ô2Ô=€FÝ�\�\�\Ñ"Ô"€HÝÔ˜& (Ñ+Ô+Ð+à�WÒÐØ”×1Ò1°$Ñ7Ô7ÔBˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/ð Ðr   ÚmethodÚheadÚtailc                 ó¨  — t          t          g d¢g d¢|¬¦  «        t          d¦  «        dœ¦  «        }|dk    rdg}nI|dk    rdg}|                     |¦  «        }n*|d	k    r$dd
g}|d         |d
<   |                     |¦  «        }|                     || ||¬¦  «        } t          ||¦  «        ¦   «         }	|dk    r|	d         j        j        }
n|	j         	                    d¦  «        j        }
t          g d¢¦  «        }t          j        |
|¦  «         |d	k    r6|	j         	                    d
¦  «        j        }
t          j        |
|¦  «         d S d S )Nr   r¡  r   rF   r^   rë   r   rœ  r�  rO  rW  )r   r   rë   r  rN   r¸  r  r   r!   rØ   r   rd   rÖ   ©r(  rÉ   rL   r§  r›  r   rQ   rW  r{   r¢  r(   rh   s               r   Útest_category_order_head_tailr¬  Í  sy  € õ 
å˜\˜\˜\°l°l°lÈGÐTÑTÔTÝ�q‘”ð	
ð 	
ñ
ô 
€Bð �WÒÐØˆuˆˆØ	�xÒ	Ð	ØˆuˆØ�\Š\˜$ÑÔˆˆØ	�wÒ	Ð	Ø�Tˆ{ˆØ�c”7ˆˆ4‰Ø�\Š\˜$ÑÔˆØ	�Š�D 8°$ÀˆÑ	JÔ	J€BØ#•˜˜FÑ#Ô#Ñ%Ô%€IØ�WÒÐØ˜3”Ô#Ô.ˆˆà”×1Ò1°#Ñ6Ô6ÔAˆÝ�\�\�\Ñ"Ô"€HÝÔ˜& (Ñ+Ô+Ð+à�WÒÐØ”×1Ò1°$Ñ7Ô7ÔBˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/ð Ðr   )rP   r  r�   c                 ó  — |dk    r|dk    s| s|dk    rt          j        d¦  «         t          t          g d¢g d¢|¬¦  «        t	          d¦  «        dœ¦  «        }|dk    rd	g}nI|d
k    rd	g}|                     |¦  «        }n*|dk    r$d	dg}|d	         |d<   |                     |¦  «        }|                     || ||¬¦  «        } t          ||¦  «        d„ ¦  «        }	|dk    s| s|dk    r|	d	         j        j	        }
n|	j
                             d	¦  «        j	        }
t          g d¢¦  «        }t          j        |
|¦  «         |dk    r6|	j
                             d¦  «        j	        }
t          j        |
|¦  «         d S d S )Nr�   rë   z(No categories in result, nothing to testr   r¡  r   rF   r^   r   rœ  r�  rO  rW  c                 ó.   — |                       d¬¦  «        S )NTrw   )rC   r…   s    r   r‡   z+test_category_order_apply.<locals>.<lambda>
  s   € ¨a¯eªeÀ¨eÑ.FÔ.F€ r   )rj  r*  r   r   rë   r  rN   r¸  r  r   r!   rØ   r   rd   rÖ   r«  s               r   Útest_category_order_applyr¯  ñ  sÇ  € ð
 	�+ÒÐ *°Ò"7Ð"7Øð #8Ø# wÒ.Ð.åŒÐ>Ñ?Ô?Ð?Ý	å˜\˜\˜\°l°l°lÈGÐTÑTÔTÝ�q‘”ð	
ð 	
ñ
ô 
€Bð �WÒÐØˆuˆˆØ	�xÒ	Ð	ØˆuˆØ�\Š\˜$ÑÔˆˆØ	�wÒ	Ð	Ø�Tˆ{ˆØ�c”7ˆˆ4‰Ø�\Š\˜$ÑÔˆØ	�Š�D 8°$ÀˆÑ	JÔ	J€BØ#•˜˜FÑ#Ô#Ð$FÐ$FÑGÔG€IØ�+ÒÐ XÐ°:ÀÒ3HÐ3HØ˜3”Ô#Ô.ˆˆà”×1Ò1°#Ñ6Ô6ÔAˆÝ�\�\�\Ñ"Ô"€HÝÔ˜& (Ñ+Ô+Ð+à�WÒÐØ”×1Ò1°$Ñ7Ô7ÔBˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/ð Ðr   c                 ó|  — |dk    r| st          j        d¬¦  «         t          j        ddd¦  «        }t	          g d¢||¬¦  «        }t          |t          d¦  «        d	œ¦  «        }|dk    rd
g}nI|dk    rd
g}|                     |¦  «        }n*|dk    r$d
dg}|d
         |d<   |                     |¦  «        }|                     || |d¬¦  «        }| 	                    ¦   «         }	|rg d¢ng d¢}
t          |
|j        |d
¬¦  «        }| rIt          d|
i¦  «        }|dk    r*t          j        t          ||dœ¦  «        ¦  «        |_        n[||_        nS|dk    r.t          t          |¦  «        t          |¦  «        |
dœ¦  «        }nt          t          |¦  «        |
d	œ¦  «        }t!          j        |	|¦  «         d S )Nrë   rŸ  r1  i'  rt  r   r   rF   r^   r   rœ  r�  rO  TrW  )r\   r[   r<   )r[   r<   r\   )r   r   ra   rV   )r   rO  )r   rO  rV   )rj  r*  r   r   r   r   rë   r  rN   rC   r   r   r	   Ú
from_framer!   r
   rd   re   )r(  rÉ   r›  r   r   ÚgrouperrQ   rW  r{   r(   rf   r!   rh   s                r   Útest_many_categoriesr³    sï  € ð �WÒÐ XÐÝŒÐLÐMÑMÔMÐMÝ”˜4  RÑ(Ô(€JÝ˜,˜,˜,°:ÀwÐOÑOÔO€GÝ	˜¥u¨Q¡x¤xÐ0Ð0Ñ	1Ô	1€BØ�WÒÐØˆuˆˆØ	�xÒ	Ð	ØˆuˆØ�\Š\˜$ÑÔˆˆØ	�wÒ	Ð	Ø�Tˆ{ˆØ�c”7ˆˆ4‰Ø�\Š\˜$ÑÔˆØ	�Š�D 8°$ÀˆÑ	FÔ	F€BØ�VŠV‰XŒX€Fð Ð+ˆ9ˆ9ˆ9ˆ9 ) ) )€DåØ˜Ô+°WÀ3ðñ ô €Eð ð 	>Ý˜c 4˜[Ñ)Ô)ˆØ˜Ò Ð Ý'Ô2µ9À5ÐPUÐ=VÐ=VÑ3WÔ3WÑXÔXˆHŒNˆNà"ˆHŒNˆNØ	�wÒ	Ð	Ý¥6¨%¡=¤=½¸u¹¼ÈDÐQÐQÑRÔRˆˆå¥6¨%¡=¤=°tÐ<Ð<Ñ=Ô=ˆåÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   rW  Úa1c                 óº  — |r2|dk    r,t          t          d¦  «        rJ ‚t          j        d¦  «         n;|dk    r5d}|                      t          j                             |¬¦  «        ¦  «         t          g d¢g d¢g d¢dœ¦  «        }|                     d	d	d
œ¦  «        }d|vr| 	                    d¬¦  «        }| 
                    |||¬¦  «        }|r|d         }t          ||¦  «        }	|sP|dv rL|ddgk    rDt          j        t          d¬¦  «        5   |j        |gg|	¢R Ž  d d d ¦  «         n# 1 swxY w Y   d S  |j        |gg|	¢R Ž }
 t          ||¦  «        |	Ž }|r|s|dk    r|                     |¦  «        }|s7t#          j        d„ |j        d d…         D ¦   «         d|fgz   ¦  «        |_        n|sg |¢|‘|_        t)          j        |
|¦  «         d S )Nr0   z*corrwith not implemented for SeriesGroupByz1GH#32293: attempts to call SeriesGroupBy.corrwithr1  )r   r   r<   )r[   r\   r\   rN  )r´  rO  rV   r<  )r´  rO  rO  r�   r­  rV   r(  r´  r)  rˆ  r?   c                 ó   — g | ]}|d f‘ŒS )r	  r„   )rÊ  Úinds     r   rË  z!test_agg_list.<locals>.<listcomp>a  s   € Ð8Ð8Ð8˜3ˆc�2ˆYÐ8Ð8Ð8r   rt  )r+  r   rj  r*  r:  r8  r9  r   r�   rU  rN   r   rŠ  r‹  r  r¸  rr  r	   Úfrom_tuplesr%   rd   rV  )r?  r(  rL   r,  rP  rW  rm  rQ   r{   r)   r(   rh   s               r   Útest_agg_listr¹  ?  sž  € ð ð ;�~¨Ò3Ð3Ý�=¨*Ñ5Ô5Ð5Ð5Ð5ÝŒÐ@ÑAÔAÐAÐAØ	˜:Ò	%Ð	%ØAˆØ×Ò�FœK×-Ò-°SÐ-Ñ9Ô9Ñ:Ô:Ð:å	˜)˜)˜)¨9¨9¨9¸9¸9¸9ÐEÐEÑ	FÔ	F€BØ	�Š˜*¨JÐ7Ð7Ñ	8Ô	8€BØ�4ÐÐØ�WŠW˜TˆWÑ"Ô"ˆØ	�Š�t h¸ˆÑ	BÔ	B€BØð Ø�ŒWˆÝ" >°2Ñ6Ô6€Dàð ˜Ð*>Ð>Ð>À4ÈDÐRVÈ<ÒCWÐCWÝŒ]ÝÐHð
ñ 
ô 
ð 	,ð 	,ð ˆBŒF�NÐ#Ð+ dÐ+Ð+Ð+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 	ˆàˆRŒV�^Ð$Ð, tÐ,Ð,Ð,€FØ*�w�r˜>Ñ*Ô*¨DÐ1€Hàð 5�[ð 5 N°fÒ$<Ð$<Ø×$Ò$ ^Ñ4Ô4ˆØð 3Ý%Ô1Ø8Ð8 (Ô"2°3°B°3Ô"7Ð8Ñ8Ô8¸SÀ.Ð<QÐ;RÑRñ
ô 
ˆÔÐð ð 3Ø2˜TÐ2 >Ð2ˆÔå„O�F˜HÑ%Ô%Ð%Ð%Ð%s   ÄD2Ä2D6Ä9D6c           
      ó  — t          t          d¦  «        t          ddddt          j        gg d¢d¬¦  «        g d¢dœ¦  «        }|                     d	d
g| |¬¦  «        }|                     ¦   «         }|r| rg d¢}n|s| rg d¢}n|r| sg d¢}n|s| sg d¢}t          t          d¦  «        t          g d¢g d¢d¬¦  «        g d¢dœ¦  «                             d	d
g¦  «                             |¦  «        }t          j
        ||¦  «         d S )NÚYXXYYr[   r<   r@  Tr   )r<   r[   r\   rF   r]   )ÚdatesÚsectorÚmetricr¼  r½  rf  ru  )r\   r   r<   r[   )r   r<   rF   r[   r\   r]   )r\   r   r<   r[   r]   rF   ÚXXYYXY)r<   r[   r<   r[   r\   r\   )r[   r\   rF   r<   r   r   )r   rb   r   r   rc   rN   rC   r  rÔ   rd   re   )rL   rÉ   rQ   r{   r(   Útakerrh   s          r   Ú'test_categorical_with_noncategorical_narÁ  i  sy  € å	å˜'‘]”]Ý!Ø�A�q˜!�RœVÐ$°°°ÀDðñ ô ð &�o�oð	
ð 	
ñ
ô 
€Bð 
�Š�W˜hÐ'°(ÀˆÑ	FÔ	F€Bà�VŠV‰XŒX€Fàð #�ð #Ø��ˆˆØð #�hð #Ø��ˆˆØ	ð #�hð #Ø"Ð"Ð"ˆˆØð #˜(ð #Ø"Ð"Ð"ˆåå˜h™œÝ%Ø&Ð&Ð&°9°9°9Àdðñ ô ð -Ð,Ð,ðð ñ	
ô 	
÷ 
Š�G˜XÐ&Ñ	'Ô	'ß	Šˆe‰Œð õ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r   )ur   Únumpyr   rj  Úpandas.errorsr   Úpandasr¬   r   r   r   r   r	   r
   r   Úpandas._testingÚ_testingrd   Úpandas.api.typingr   Úpandas.tests.groupbyr   rc   r,   r<  rS   ri   r}   r“   rµ   rº   r¿   râ   rí   rú   r8  Úparametrizer  r
  r  r  r-  r6  r=  rF  rL  rZ  r\  r_  rc  rn  rr  rx  r{  r†  r�  rë   Úrenamer’  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/  rB  rQ  rU  rX  r:   r/   r[  r^  rc  rg  rn  rs  rz  r„  rŒ   Úboolr‰  r‹  r�  r‘  r“  r˜  rš  r£  r¦  r¬  r¯  r³  r¹  rÁ  r„   r   r   ú<module>rÎ     s  ðØ Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€à (Ð (Ð (Ð (Ð (Ð (à Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8ð DFÄ6ð Eð Eð Eð Eð21ð 
ˆ4ð1ð 
ˆ5ð1ð ˆQð1ð �”ð1ð ˆRŒVð1ð ˆbŒfð1ð ˆbŒfð1ð ˆBŒFð1ð 
ˆ2Œ6ð1ð  ˆBŒFð!1ð" ˆbŒfð#1ð$ 
ˆ2Œ6ð%1ð& 
ˆ2Œ6ð'1ð( ˆqð)1ð* ˆAð+1ð, �”ð-1ð. 
ˆ2Œ6ð/1ð0 ØŒFØŒFØŒ6ØØŒ6ð;1ð 1ð 1Ð -ðB(ð (ð (ð,ð ,ð ,ð	,ð 	,ð 	,ð,ð ,ð ,ð6Lð Lð LðBð ð ð&	-ð 	-ð 	-ð"Nð "Nð "NðJ,ð ,ð ,ð4-ð -ð -ð, „×Ò˜ T¨5 MÑ2Ô2ð-ð -ñ 3Ô2ð-ð>),ð ),ð ),ðX,ð ,ð ,ð6!0ð !0ð !0ðH,ð ,ð ,ð&,ð ,ð ,ð(Eð Eð Eð*+ð +ð +ð*+ð +ð +ð" „×ÒØ2à	ˆjˆjˆjÐ*Ð*¨9¨9¨9¸3Ð?Ñ?Ô?Ð@à�#ˆJØ'Ð'Ð'ØÐ˜i˜i˜i¨cÐ2Ñ2Ô2°E°E¸)¸)¸)Ñ4DÔ4DÐEð	
ð �$ˆKØ(Ð(Ð(à Ð    °Ð5Ñ5Ô5Ø Ð    °Ð5Ñ5Ô5ðð	
ðñô ð& „×Ò˜¨¨u¨Ñ6Ô6ð&ð &ñ 7Ô6ñ'ô ð(&ðD+ð +ð +ð*-ð -ð -ð,ð ,ð ,ð( „×Ò˜ T¨5 MÑ2Ô2ðð ñ 3Ô2ðð@$Pð $Pð $PðN,ð ,ð ,ð2Lð Lð Lð-ð -ð -ð&$ð $ð $ð „×ÒØˆvÐð 
ˆ���a‘”Ñ	Ô	 ! Q ¨q°!¨fÐ5Ð5Ð6ð 
ˆ���a‘”Ñ	Ô	×	 Ò	 Ð!4Ð!4Ñ	5Ô	5¸a¸SÈÈ1ÀvÐ7NÐ7NÐOà	ˆ���a‘”Ñ	Ô	 ! Q ¨q°!¨fÐ5Ð5Ð6ðñô ð-ð -ñô ð-ð<0ð <0ð <0ð~ð ð ð"ð ð ð  „×Ò˜  t Ñ-Ô-ð-ð -ñ .Ô-ð-ð< „×ÒØà	�8˜WÐ%Ð&Ø	�(˜GÐ$Ð%Ø	�˜7Ð#Ð$Ø	�˜7Ð#Ð$ð	ñô ð-ð -ñô ð-ð&(ð (ð (ð2-ð -ð -ð-ð -ð -ð%ð %ð %ð, „×Ò˜ T¨5 MÑ2Ô2ð,ð ,ñ 3Ô2ð,ðD „×Ò˜ T¨5 MÑ2Ô2ð/,ð /,ñ 3Ô2ð/,ðd-ð -ð -ð8-ð -ð -ð0,ð ,ð ,ð2 „×ÒØð ØˆFØ,�jÔ,Ø�V˜I˜I˜I¨ZÐ8Ñ8Ô8¸)¸)¸)ÐDÈSÐRUÈJðñ ô ð �Y�YØðñ ô ð		
ð ØˆIà˜ 	 	 	°Ð<Ñ<Ô<Ø"˜˜Ø"˜˜ðð ñô ð		
ðñô ð2&ð &ñ3ô ð2&ð „×Ò˜¨¨b¬f°b´fÐ'=Ñ>Ô>ð#ð #ñ ?Ô>ð#ð „ðð ñ „ðð0 „×Ò˜ u¨gÐ&6Ñ7Ô7ð
-ð 
-ñ 8Ô7ð
-ð „×Ò˜ u¨gÐ&6Ñ7Ô7Ø„×Ò˜ e¨T ]Ñ3Ô3ð-ð -ñ 4Ô3ñ 8Ô7ð-ð" „×ÒØð Ø"ˆJÔ"à�E˜5˜' A™+¨¨°!©Ñ3¸:ÈCÐPÑPÔPØ�EØTÐTÐTØ(Ø ðñ ô ð
 �E˜5 %˜.¨1Ñ,Ñ-Ô-ðñ
ô 
ð %Ð$Ð$ð	
ð  Ø#ˆJÔ#à$Ð$ e¨U ^¸UÐCÑCÔCØ$Ð$Ð%<Ð%<Ð%<ÀeÐLÑLÔLØ�E˜5 %˜.Ñ)Ô)ðð
 'Ð&Ð&ðñ ô ð ��1�a˜œ ¤¨¨A¨r¬v°r´v¸qÀ!ÐDð	
ð Ø#ˆJÔ#à$Ð$ e¨U ^¸UÐCÑCÔCØ$Ð$Ð%<Ð%<Ð%<ÀeÐLÑLÔLØ�E˜5 %˜.Ñ)Ô)ðð
 'Ð&Ð&ðñ ô ð ��1�a˜œ ¤¨¨A¨r¬v°r´v¸qÀ!ÐDð	
ð9(ñ+ô +ðX-ð -ñY+ô +ðX-ð-ð -ð -ð,ð ,ð ,ð"Yð Yð Yð#*ð #*ð #*ðL44ð 44ð 44ðn$ð $ð $ðB „×Ò˜ e¨T ]Ñ3Ô3ð0Bð 0Bñ 4Ô3ð0Bðf	-ð 	-ð 	-ð „×ÒØØ„n�i�i�iÐ  6¤<°°°Ð";Ð<ñô ð,ð ,ñ	ô ð,ð",ð ,ð ,ð „×Ò˜ '¨6Ð!2Ñ3Ô3ð-ð -ñ 4Ô3ð-ð	,ð 	,ð 	,ð*,ð *,ð *,ðZ,ð ,ð ,ð,,ð ,ð ,ð6.,ð .,ð .,ðb „×Ò˜ '¨6Ð!2Ñ3Ô3ð-Ø
ð-Øð-ð -ð -ñ 4Ô3ð-ð0 „×Ò˜ '¨6Ð!2Ñ3Ô3ð,Ø
ð,Øð,ð ,ð ,ñ 4Ô3ð,ð0@ð @ð @ð( „×Ò˜ '¨6Ð!2Ñ3Ô3ð-ð -ñ 4Ô3ð-ð-ð -ð -ð-ð -ð -ð$,ð ,ð ,ð" „×Ò˜Ð'CÐ'CÐ'CÑDÔDØ„×Ò˜ T¨5 MÑ2Ô2ð30ð 30ñ 3Ô2ñ EÔDð30ðl „×Ò˜¨°'Ð':Ñ;Ô;Ø„×Ò˜ T¨5 MÑ2Ô2ð0ð 0ñ 3Ô2ñ <Ô;ð0ð: „×Ò˜Ð'CÐ'CÐ'CÑDÔDØ„×Ò˜ F¨FÐ#3Ñ4Ô4Ø„×Ò˜ T¨5 MÑ2Ô2ð0ð 0ñ 3Ô2ñ 5Ô4ñ EÔDð0ðB „×Ò˜Ð'CÐ'CÐ'CÑDÔDØ„×Ò˜Ð#@Ð#@Ð#@ÑAÔAØ„×Ò˜ T¨5 MÑ2Ô2ð 0ð  0ñ 3Ô2ñ BÔAñ EÔDð 0ðF „×Ò˜Ð'CÐ'CÐ'CÑDÔDð$,ð $,ñ EÔDð$,ðN „×Ò˜¨¨u¨Ñ6Ô6Ø„×Ò˜ 4 &¨4°¨,Ð!7Ñ8Ô8ð%&ð %&ñ 9Ô8ñ 7Ô6ð%&ðP$,ð $,ð $,ð $,ð $,r   