Ë
    AúYjBM  ã                   óœ   — d dl Z d dlZd dlZd dlmZ d dlmZmZm	Z	m
Z
mZmZ d dlmZ d dlmZ  G d„ d«      Z G d„ d«      Z G d	„ d
«      Zy)é    N)ÚPandas4Warning)ÚCategoricalÚCategoricalIndexÚ	DataFrameÚIndexÚSeriesÚStringDtype)Úrecode_for_categoriesc                   ó®  — e Zd Zd„ Zd„ Zd„ Zej                  j                  dg d¢ddgg«      d„ «       Z	d	„ Z
d
„ Zd„ Zej                  j                  ddgg d¢g d¢g«      d„ «       Zd„ Zd„ Zd„ Zd„ Zej                  j                  dg d¢ddgddgfg d¢ddgddgfg d¢ddgddgfg d¢ddgddgfg d¢ddgddgfg d¢ddgddgfg d¢ddgddgfg d¢ddgddgfg d¢ddgdgfg d¢ddgdgfg d¢ddgdgfg d¢ddgdgfg d¢ddgddgfg«      d„ «       Zd„ Zd„ Zd„ Zej                  j                  d d!gd!ej.                  gd!d!d!gg«      d"„ «       Zd#„ Zy$)%ÚTestCategoricalAPIc                 ó¤  — t        t        d«      d¬«      }t        j                  |j                  t        g d¢«      «       |j                  rJ ‚t        t        d«      t        d«      d¬«      }t        j                  |j                  t        g d¢«      «       |j                  rJ ‚t        t        d«      d¬«      }t        j                  |j                  t        g d¢«      «       |j                  sJ ‚t        t        d«      t        d«      d¬«      }t        j                  |j                  t        g d¢«      «       |j                  sJ ‚y )	NÚacbF©Úordered©ÚaÚbÚcÚbca©Ú
categoriesr   )r   r   r   T)r   ÚlistÚtmÚassert_index_equalr   r   r   )ÚselfÚcat1Úcat2Úcat3Úcat4s        ús/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/pandas/tests/arrays/categorical/test_api.pyÚtest_ordered_apiz#TestCategoricalAPI.test_ordered_api   sä   € äœ4 ›;°Ô6ˆÜ
×Ñ˜dŸo™o¬u²_Ó/EÔFØ—<’<ÐÐäœ4 ›;´4¸³;ÈÔNˆÜ
×Ñ˜dŸo™o¬u²_Ó/EÔFØ—<’<ÐÐäœ4 ›;°Ô5ˆÜ
×Ñ˜dŸo™o¬u²_Ó/EÔFØ�|Š|Ðˆ|äœ4 ›;´4¸³;ÈÔMˆÜ
×Ñ˜dŸo™o¬u²_Ó/EÔFØ�|Š|Ð‰|ó    c                 óî  — t        g d¢d¬«      }|j                  «       }|j                  rJ ‚|j                  «       }|j                  sJ ‚|j	                  d«      j                  sJ ‚|j	                  d«      j                  rJ ‚d}t        j                  t        |¬«      5  d|_        d d d «       t        j                  t        |¬«      5  d|_        d d d «       y # 1 sw Y   Œ5xY w# 1 sw Y   y xY w)N©r   r   r   r   Tr   Fz8property 'ordered' of 'Categorical' object has no setter©Úmatch)r   Úas_unorderedr   Ú
as_orderedÚset_orderedÚpytestÚraisesÚAttributeError)r   Úcatr   Úmsgs       r    Útest_set_orderedz#TestCategoricalAPI.test_set_ordered'   s×   € ÜÒ.¸Ô=ˆØ×ÑÓ!ˆØ—<’<ÐÐØ�~‰~ÓˆØ�|Š|Ðˆ|à×Ñ Ó%×-Ò-Ð-Ð-Ø×#Ñ# EÓ*×2Ò2Ð2Ð2ð IˆÜ�]‰]œ>°Ô5ñ 	ØˆCŒK÷	ä�]‰]œ>°Ô5ñ 	 ØˆCŒK÷	 ð 	 ÷	ð 	ú÷	 ð 	 ús   Â#CÃC+ÃC(Ã+C4c                 ó†  — t        g d¢«      }|j                  g d¢«      }t        j                  |j	                  «       t        j                  g d¢t
        j                  ¬«      «       t        j                  |j                  t        g d¢«      «       t        j                  g d¢t
        j                  ¬«      }t        j                  |j	                  «       |«       t        g d¢«      }t        j                  |j                  |«       |j                  d„ «      }t        g d¢«      }t        j                  ||«       y )Nr$   ©é   é   é   )r2   r3   r4   r2   ©Údtyper   c                 ó"   — | j                  «       S )N)Úupper)Úxs    r    ú<lambda>z;TestCategoricalAPI.test_rename_categories.<locals>.<lambda>I   s   € °·±³€ r"   )ÚAÚBÚCr;   )r   Úrename_categoriesr   Úassert_numpy_array_equalÚ	__array__ÚnpÚarrayÚint64r   r   r   Úobject_Úassert_categorical_equal)r   r-   ÚresÚexp_catÚresultÚexpecteds         r    Útest_rename_categoriesz)TestCategoricalAPI.test_rename_categories8   sÙ   € ÜÒ.Ó/ˆð ×#Ñ#¢IÓ.ˆÜ
×#Ñ#Ø�M‰M‹OœRŸX™X¢l¼"¿(¹(ÔCô	
ô 	×Ñ˜cŸn™n¬e²IÓ.>Ô?ä—(‘(Ò/´r·z±zÔBˆÜ
×#Ñ# C§M¡M£O°WÔ=äšÓ(ˆÜ
×Ñ˜cŸn™n¨gÔ6ð ×&Ñ&Ñ':Ó;ˆÜÒ3Ó4ˆÜ
×#Ñ# F¨HÕ5r"   Únew_categories©r2   r3   r4   é   r2   r3   c                 ó¤   — t        g d¢«      }d}t        j                  t        |¬«      5  |j	                  |«       d d d «       y # 1 sw Y   y xY w)Nr$   zKnew categories need to have the same number of items as the old categories!r%   )r   r*   r+   Ú
ValueErrorr>   ©r   rK   r-   r.   s       r    Ú*test_rename_categories_wrong_length_raisesz=TestCategoricalAPI.test_rename_categories_wrong_length_raisesM   sJ   € äÒ.Ó/ˆðð 	ô �]‰]œ:¨SÔ1ñ 	2Ø×!Ñ! .Ô1÷	2÷ 	2ñ 	2ús   «AÁAc                 ó¤   — t        ddg«      }|j                  t        ddgddg¬«      «      }t        ddg«      }t        j                  ||«       y )Nr   r   r   r2   ©Úindex)r   r>   r   r   rE   )r   r   rH   rI   s       r    Útest_rename_categories_seriesz0TestCategoricalAPI.test_rename_categories_seriesW   sM   € ä˜˜c˜
Ó#ˆØ×$Ñ$¤V¨Q°¨F¸3À¸*Ô%EÓFˆÜ  1˜vÓ&ˆÜ
×#Ñ# F¨HÕ5r"   c           	      ó€  — t        g d¢«      }|j                  dddddœ«      }t        g d¢«      }t        j                  |j
                  |«       t        g d¢«      }|j                  dddœ«      }t        g d¢«      }t        j                  |j
                  |«       t        g d¢«      }|j                  ddddd	d
dœ«      }t        g d¢«      }t        j                  |j
                  |«       t        g d¢«      }|j                  dddœ«      }t        g d¢«      }t        j                  |j
                  |«       y )N©r   r   r   ÚdrM   r4   r3   r2   ©rM   r4   r3   r2   )r   r   )r2   r   r4   rX   é   é   )r   r   r   rX   ÚeÚfrL   )r]   Úg)r   r>   r   r   r   r   )r   r-   rF   rI   s       r    Útest_rename_categories_dictz.TestCategoricalAPI.test_rename_categories_dict^   s  € äÒ.Ó/ˆØ×#Ñ#¨!°!¸!À!Ñ$DÓEˆÜšÓ&ˆÜ
×Ñ˜cŸn™n¨hÔ7ô Ò.Ó/ˆØ×#Ñ#¨!°!Ñ$4Ó5ˆäÒ)Ó*ˆÜ
×Ñ˜cŸn™n¨hÔ7ô Ò.Ó/ˆØ×#Ñ#¨!°!¸!À!È!ÐRSÑ$TÓUˆÜšÓ&ˆÜ
×Ñ˜cŸn™n¨hÔ7ô Ò.Ó/ˆØ×#Ñ#¨!°!Ñ$4Ó5ˆäÒ-Ó.ˆÜ
×Ñ˜cŸn™n¨hÕ7r"   c                 óä   — t        g d¢d¬«      }|j                  «       }t        g d¢g d¢d¬«      }|j                  g d¢«      }t        j                  ||«       t        j                  ||«       y )Nr$   Tr   ©r   r   r   r   )r   ÚcopyÚreorder_categoriesr   rE   ©r   r-   ÚoldÚnewrF   s        r    Útest_reorder_categoriesz*TestCategoricalAPI.test_reorder_categoriesy   s]   € ÜÒ.¸Ô=ˆØ�h‰h‹jˆÜÚ ª_Àdô
ˆð ×$Ñ$¢_Ó5ˆä
×#Ñ# C¨Ô-ä
×#Ñ# C¨Õ-r"   r   ©r   r   rX   rW   c                 ó¨   — t        g d¢d¬«      }d}t        j                  t        |¬«      5  |j	                  |«       d d d «       y # 1 sw Y   y xY w)Nr$   Tr   z=items in new_categories are not the same as in old categoriesr%   )r   r*   r+   rO   rc   rP   s       r    Útest_reorder_categories_raisesz1TestCategoricalAPI.test_reorder_categories_raises†   sG   € ô Ò.¸Ô=ˆØMˆÜ�]‰]œ:¨SÔ1ñ 	3Ø×"Ñ" >Ô2÷	3÷ 	3ñ 	3ús   ­AÁAc                 óZ  — t        g d¢d¬«      }|j                  «       }t        g d¢g d¢d¬«      }|j                  d«      }t        j                  ||«       t        j                  ||«       |j                  dg«      }t        j                  ||«       t        j                  ||«       t        t        d«      d¬«      }t        t        d«      t        d«      d¬«      }|j                  t        dd	g«      «      }t        j                  ||«       |j                  t        j                  dd	g«      «      }t        j                  ||«       |j                  t        dd	g«      «      }t        j                  ||«       |j                  dd	g«      }t        j                  ||«       y )
Nr$   Tr   rW   r   rX   ÚabcÚabcder\   )
r   rb   Úadd_categoriesr   rE   r   r   rA   rB   r   )r   r-   re   rf   rF   rI   s         r    Útest_add_categoriesz&TestCategoricalAPI.test_add_categories”   s[  € ÜÒ.¸Ô=ˆØ�h‰h‹jˆÜÚ Ò-AÈ4ô
ˆð × Ñ  Ó%ˆÜ
×#Ñ# C¨Ô-Ü
×#Ñ# C¨Ô-à× Ñ  # Ó'ˆÜ
×#Ñ# C¨Ô-Ü
×#Ñ# C¨Ô-ô œ$˜u›+¨tÔ4ˆÜœt E›{´t¸G³}ÈdÔSˆà× Ñ ¤¨¨c¨
Ó!3Ó4ˆÜ
×#Ñ# C¨Ô2Ø× Ñ ¤§¡¨3°¨*Ó!5Ó6ˆÜ
×#Ñ# C¨Ô2Ø× Ñ ¤¨¨S zÓ!2Ó3ˆÜ
×#Ñ# C¨Ô2Ø× Ñ  # s Ó,ˆÜ
×#Ñ# C¨Õ2r"   c                 óÐ   — t        g d¢d¬«      }t        j                  d«      }t        j                  t
        |¬«      5  |j                  dg«       d d d «       y # 1 sw Y   y xY w)NrW   Tr   z5new categories must not include old categories: {'d'}r%   rX   )r   ÚreÚescaper*   r+   rO   rn   )r   r-   r.   s      r    Ú#test_add_categories_existing_raisesz6TestCategoricalAPI.test_add_categories_existing_raises°   sQ   € äÒ.¸Ô=ˆÜ�i‰iÐOÓPˆÜ�]‰]œ:¨SÔ1ñ 	&Ø×Ñ ˜uÔ%÷	&÷ 	&ñ 	&ús   Á AÁA%c                 ó  — t        t        ddgd¬«      «      }t        dgd¬«      }|j                  |«      }t        t        ddgd¬«      t        g d¢d¬«      ¬«      }t        j                  ||«       t        t        g d¢t        «       ¬«      «      }t        d	gt        «       ¬«      }|j                  |«      }t        t        g d¢t        «       ¬«      t        g d
¢t        «       ¬«      ¬«      }t        j                  ||«       y )Nr2   r3   ÚInt64r5   rM   )r2   r3   rM   ©r   ©r   r   r   rX   rh   )r   r   rn   r   rE   r	   )r   r-   ÚserrH   rI   s        r    Ú,test_add_categories_losing_dtype_informationz?TestCategoricalAPI.test_add_categories_losing_dtype_information·   sÏ   € äœ& ! Q ¨wÔ7Ó8ˆÜ�a�S Ô(ˆØ×#Ñ# CÓ(ˆÜÜ�A�q�6 Ô)´fºYÈgÔ6Vô
ˆô 	×#Ñ# F¨HÔ5äœ&¢¼»ÔFÓGˆÜ�c�U¤+£-Ô0ˆØ×#Ñ# CÓ(ˆÜÜ’?¬+«-Ô8Üšo´[³]ÔCô
ˆô 	×#Ñ# F¨HÕ5r"   c                 ó†	  — t        g d¢d¬«      }t        g d¢«      }t        j                  g d¢t        j                  ¬«      }|j                  g d¢«      }|j                  g d¢«      }t        j                  |j                  |«       t        j                  |j                  «       |«       t        g d¢«      }t        j                  |j                  |«       t        j                  |j                  «       |«       t        g d¢d¬«      }|j                  dg«      }t        j                  |j                  t        j                  g d¢t        j                  ¬«      «       |j                  g d	¢«      }t        j                  |j                  t        j                  g d
¢t        j                  ¬«      «       t        j                  |j                  t        g d	¢«      «       |j                  g d¢«      }t        g d¢«      }t        j                  |j                  |«       t        g d¢g d¢d¬«      }t        j                  |j                  t        j                  g d¢t        j                  ¬«      «       t        j                  |j                  t        g d¢«      «       t        j                  g d¢t        j                  ¬«      }t        j                  t        j                  |«      |«       |j                  g d¢«      }t        j                  |j                  t        j                  g d¢t        j                  ¬«      «       t        j                  |j                  t        g d¢«      «       t        j                  g d¢t        j                  ¬«      }t        j                  t        j                  |«      |«       |j!                  «       dk(  sJ ‚|j#                  «       dk(  sJ ‚|j                  g d¢d¬«      }|j$                  rJ ‚t        j                  t        j                  |«      t        j                  |«      «       |j'                  d«      j                  g d¢«      }|j$                  rJ ‚t        j                  t        j                  |«      t        j                  |«      «       y )Nr$   Tr   ra   r5   r   r   )r   éÿÿÿÿr{   r   rh   )r   r2   r{   r   rW   )r2   r3   r4   rM   r2   rL   r   )r   r2   r3   r4   r   rY   )r4   r3   r2   r   r4   rM   r2   F)r   r   rA   rB   rD   Úset_categoriesr   r   r   r?   r@   ÚcodesÚint8Ú_codesrC   ÚasarrayÚminÚmaxr   r)   )	r   r-   Úexp_categoriesÚ
exp_valuesrF   Úexp_categories_backr   ÚexpÚc2s	            r    Útest_set_categoriesz&TestCategoricalAPI.test_set_categoriesÊ   s  € ÜÒ.¸Ô=ˆÜšÓ/ˆÜ—X‘XÒ2¼"¿*¹*ÔEˆ
à× Ñ ¢Ó1ˆØ× Ñ ¢Ó1ˆä
×Ñ˜cŸn™n¨nÔ=Ü
×#Ñ# C§M¡M£O°ZÔ@ä#¢OÓ4ÐÜ
×Ñ˜cŸn™nÐ.AÔBÜ
×#Ñ# C§M¡M£O°ZÔ@ô Ò.¸Ô=ˆØ× Ñ  # Ó'ˆÜ
×#Ñ# C§I¡I¬r¯x©xºÌbÏgÉgÔ/VÔWð × Ñ ¢Ó1ˆÜ
×#Ñ# C§I¡I¬r¯x©xºÌRÏWÉWÔ/UÔVÜ
×Ñ˜cŸn™n¬e²OÓ.DÔEð × Ñ Ò!5Ó6ˆÜÒ3Ó4ˆÜ
×Ñ˜cŸn™n¨nÔ=ô š²LÈ$ÔOˆÜ
×#Ñ# A§H¡H¬b¯h©h²ÌbÏgÉgÔ.VÔWÜ
×Ñ˜aŸl™l¬E²,Ó,?Ô@ä�h‰h’¬b¯h©hÔ7ˆÜ
×#Ñ#¤B§J¡J¨q£M°3Ô7ð ×Ñš\Ó*ˆô 	×#Ñ# A§H¡H¬b¯h©h²ÌbÏgÉgÔ.VÔWô 	×Ñ˜aŸl™l¬E²,Ó,?Ô@ô �h‰h’¬b¯h©hÔ7ˆÜ
×#Ñ#¤B§J¡J¨q£M°3Ô7Ø�u‰u‹w˜!Š|Ðˆ|Ø�u‰u‹w˜!Š|Ðˆ|ð ×Ñšl°EÐÓ:ˆØ—:’:Ðˆ~ä
×#Ñ#¤B§J¡J¨q£M´2·:±:¸b³>ÔBð �]‰]˜5Ó!×0Ñ0²Ó>ˆØ—:’:Ðˆ~ä
×#Ñ#¤B§J¡J¨q£M´2·:±:¸b³>ÕBr"   z"values, categories, new_categoriesrw   r   )r   r   r   r   )r   r   r   rX   r\   c                 óÄ  — d}t        |«      j                  |«      rt        nd }t        j                  ||¬«      5  t        ||«      }d d d «       t        |«      j                  |«      rt        nd }t        j                  ||¬«      5  t        |||«      }	d d d «       j                  ||¬«      }
t        j                  |
	«       y # 1 sw Y   Œ‚xY w# 1 sw Y   Œ?xY w)Nz=Constructing a Categorical with a dtype and values containingr%   r   )ÚsetÚ
differencer   r   Úassert_produces_warningr   r|   rE   )r   Úvaluesr   rK   r   r.   Úwarn1r   Úwarn2rI   rH   s              r    Útest_set_categories_manyz+TestCategoricalAPI.test_set_categories_many  sË   € ð4 Nˆä"% f£+×"8Ñ"8¸Ô"D•È$ˆÜ×'Ñ'¨°SÔ9ñ 	0Ü˜F JÓ/ˆA÷	0ô #& f£+×"8Ñ"8¸Ô"H•ÈdˆÜ×'Ñ'¨°SÔ9ñ 	DÜ" 6¨>¸7ÓCˆH÷	Dð ×!Ñ! .¸'Ð!ÓBˆÜ
×#Ñ# F¨HÕ5÷	0ð 	0ú÷	Dð 	Dús   ¼C
Â
CÃ
CÃCc                 ó¨   — t        ddg«      }|j                  dgd¬«      }t        dt        j                  g«      }t	        j
                  ||«       y )Nr;   r<   T)Úrename)r   r|   rA   Únanr   rE   )r   r-   rH   rI   s       r    Útest_set_categories_rename_lessz2TestCategoricalAPI.test_set_categories_rename_less3  sI   € ä˜3 ˜*Ó%ˆØ×#Ñ# S E°$Ð#Ó7ˆÜ ¤R§V¡V˜}Ó-ˆÜ
×#Ñ# F¨HÕ5r"   c                 óP  — t        g d¢g d¢¬«      }|j                  g d¢«       t        g d¢t        d«      ¬«      }t        j                  ||«       t        g d¢g d¢¬«      }|j                  g d¢d¬«       t        g d¢t        d«      ¬«      }t        j                  ||«       y )	Nr   rW   rv   )r   r   rX   r\   )r   r   rX   ÚacdeT)Úfastpath)r   Ú_set_categoriesr   r   rE   )r   r-   rI   s      r    Útest_set_categories_privatez.TestCategoricalAPI.test_set_categories_private:  s�   € Üš/Ò6JÔKˆØ×ÑÒ0Ô1Üš¼4À»<ÔHˆÜ
×#Ñ# C¨Ô2ô š/Ò6JÔKˆØ×ÑÒ0¸4ÐÔ@Üš¼4À»<ÔHˆÜ
×#Ñ# C¨Õ2r"   c                 ó|  — t        g d¢d¬«      }|j                  «       }t        ddt        j                  dgddgd¬«      }|j	                  d«      }t        j                  ||«       t        j                  ||«       |j	                  dg«      }t        j                  ||«       t        j                  ||«       y )Nr$   Tr   r   r   r   r   )r   rb   rA   r“   Úremove_categoriesr   rE   rd   s        r    Útest_remove_categoriesz)TestCategoricalAPI.test_remove_categoriesF  sœ   € ÜÒ.¸Ô=ˆØ�h‰h‹jˆÜ˜3 ¤R§V¡V¨SÐ1¸sÀC¸jÐRVÔWˆà×#Ñ# CÓ(ˆÜ
×#Ñ# C¨Ô-Ü
×#Ñ# C¨Ô-à×#Ñ# S EÓ*ˆÜ
×#Ñ# C¨Ô-Ü
×#Ñ# C¨Õ-r"   Úremovalsr   c                 óÊ   — t        g d¢«      }t        j                  d«      }t        j                  t
        |¬«      5  |j                  |«       d d d «       y # 1 sw Y   y xY w)Nrw   z-removals must all be in old categories: {'c'}r%   )r   rq   rr   r*   r+   rO   r›   )r   r�   r-   Úmessages       r    Útest_remove_categories_raisesz0TestCategoricalAPI.test_remove_categories_raisesS  sL   € äš/Ó*ˆÜ—)‘)ÐKÓLˆä�]‰]œ:¨WÔ5ñ 	,Ø×!Ñ! (Ô+÷	,÷ 	,ñ 	,ús   ¾AÁA"c           	      ó:  — t        g d¢g d¢¬«      }t        g d¢«      }t        g d¢«      }t        j                  |j                  |«       |j                  «       }t        j                  |j                  |«       t        j                  |j                  |«       t        dddt        j                  gg d¢¬«      }|j                  «       }t        j                  |j                  t        t        j                  g d¢«      «      «       t        j                  g d	¢t        j                  ¬
«      }t        j                  |j                  |«       t        j                  |j                  |«       dt        j                  ddddt        j                  g}t        |t        d«      ¬«      }|j                  «       }t        j                  |j                  t        g d¢«      «       t        j                  g d¢t        j                  ¬
«      }t        j                  |j                  |«       |j                  «       |k(  sJ ‚t        d«      }	t        j                  j                  d«      j!                  |	d d d…   d«      j#                  d«      }t        j                  |t        j                  j                  d«      j!                  t%        |«      d«      <   t        ||	¬«      }|j                  «       }|j                  «       |j                  «       k(  sJ ‚y )N)r   r   r   rX   r   )r   r   r   rX   r\   rv   rW   r   r   r   r   )r   r2   r3   r{   r5   ÚFÚDr<   ÚABCDEFG)r�   r   )r<   r£   r¢   )r3   r{   r2   r   r2   r3   r{   Úabcdefghijklmnopqrstuvwxyzr3   i'  Úobjectéd   )r   r   r   r   r   Úremove_unused_categoriesrA   r“   rB   r~   r?   r}   r   ÚtolistÚrandomÚdefault_rngÚchoiceÚastypeÚlen)
r   r   Úexp_categories_allÚexp_categories_droppedrF   Ú	exp_codesÚvalr-   ÚoutÚalphas
             r    Útest_remove_unused_categoriesz0TestCategoricalAPI.test_remove_unused_categories[  s/  € ÜÒ1Ò>WÔXˆÜ"Ò#<Ó=ÐÜ!&Ò';Ó!<Ðä
×Ñ˜aŸl™lÐ,>Ô?à×(Ñ(Ó*ˆÜ
×Ñ˜cŸn™nÐ.DÔEÜ
×Ñ˜aŸl™lÐ,>Ô?ô ˜˜c 3¬¯©Ð/Ò<UÔVˆØ×(Ñ(Ó*ˆÜ
×Ñ˜cŸn™n¬e´B·H±Hº_Ó4MÓ.NÔOÜ—H‘Hš]´"·'±'Ô:ˆ	Ü
×#Ñ# C§I¡I¨yÔ9Ü
×Ñ˜aŸl™lÐ,>Ô?à”B—F‘F˜C  c¨3´·±Ð7ˆÜ ´°i³ÔAˆØ×*Ñ*Ó,ˆÜ
×Ñ˜cŸn™n¬e²OÓ.DÔEÜ—H‘HÒ4¼B¿G¹GÔDˆ	Ü
×#Ñ# C§I¡I¨yÔ9Ø�z‰z‹|˜sÒ"Ð"Ð"äÐ1Ó2ˆÜ�i‰i×#Ñ# AÓ&×-Ñ-¨e±C°a°C©j¸%Ó@×GÑGÈÓQˆÜ>@¿f¹fˆŒB�I‰I×!Ñ! !Ó$×+Ñ+¬C°«H°cÓ:Ñ;ä °Ô7ˆØ×*Ñ*Ó,ˆØ�z‰z‹|˜sŸz™z›|Ò+Ð+Ñ+r"   N)Ú__name__Ú
__module__Ú__qualname__r!   r/   rJ   r*   ÚmarkÚparametrizerQ   rU   r_   rg   rj   ro   rs   ry   rˆ   r�   r”   r™   rœ   rA   r“   r    rµ   © r"   r    r   r      sý  „ òò$ ò"6ð* ‡[�[×ÑÐ-²¸qÀ!¸fÐ/EÓFñ2ó Gð2ò6ò8ò6.ð ‡[�[×ÑØàˆEÚÚ ð	
óñ3óð3ò3ò8&ò6ò&@CðD ‡[�[×ÑØ,ò ˜s C˜j¨3°¨*Ð5â˜s C˜j¨3°¨*Ð5â˜s C˜j¨3°¨*Ð5â˜s C˜j¨3°¨*Ð5â˜s C˜j¨3°¨*Ð5Ú˜s C˜j¨3°¨*Ð5Ú˜s C˜j¨3°¨*Ð5Ú˜s C˜j¨3°¨*Ð5â˜s C˜j¨3¨%Ð0Ú˜s C˜j¨3¨%Ð0Ú˜s C˜j¨3¨%Ð0Ú˜s C˜j¨3¨%Ð0â˜s C˜j¨3°¨*Ð5ð)	
óñ26ó3ð26ò6ò
3ò.ð ‡[�[×Ñ˜Z¨3¨%°#°r·v±v°ÀÀcÈ3ÀZÐ)PÓQñ,ó Rð,ó!,r"   r   c                   ó   — e Zd Zd„ Zy)ÚTestCategoricalAPIWithFactorc                 ó�  — t        g d¢d¬«      }|j                  «       }|j                  sJ ‚t        g d¢d|j                  ¬«      }t	        g d¢g d¢d	œ|¬
«      }t        j                  ||«       |j                  «       }|j                  g d¢«      }|j                  «       }t        t        d«      |j                  d¬«      }t	        g d¢g d¢d	œ|¬
«      }t        j                  ||«       t        g d¢«      }|j                  «       }t        g d¢|j                  d¬«      }t	        g d¢g d¢d	œ|¬
«      }t        j                  ||«       t        t        j                  dddg«      }|j                  «       }t	        g d¢g d¢d	œt        ddt        j                  gddgd¬«      ¬
«      }t        j                  ||«       y )N)r   r   r   r   r   r   r   r   Tr   r   r   )Únamer   )r4   r3   r4   )ç      Ø?ç      Ð?rÀ   )ÚcountsÚfreqsrS   rW   Úabcd)r   r¿   )r4   r3   r4   r   )rÀ   rÁ   rÀ   r   )r2   r3   r4   r2   r3   r4   r4   r3   r2   r2   r2   r1   )rZ   r4   r4   )g]tÑEÝ?çtÑE]tÑ?rÅ   r2   r3   )r2   r3   r2   )rÁ   g      à?rÁ   )r   r¿   )r   Údescriber   r   r   r   Úassert_frame_equalrb   r|   r   rA   r“   )r   ÚfactorÚdescÚ	exp_indexrI   r-   s         r    Útest_describez*TestCategoricalAPIWithFactor.test_describe€  s‰  € ÜÒEÈtÔTˆà�‰Ó ˆØ�~Š~Ðˆ~Ü$Ú ,¸¿¹ô
ˆ	ô Ú Ò+FÑGÈyô
ˆô 	×Ñ˜d HÔ-ð �k‰k‹mˆØ× Ñ Ò!5Ó6ˆØ�|‰|‹~ˆä$Ü�‹L &§.¡.°|ô
ˆ	ô Ú#Ò.LÑMØô
ˆô 	×Ñ˜d HÔ-ô Ò;Ó<ˆØ�|‰|‹~ˆÜ$¢Y¸¿¹È,ÔWˆ	ÜÚ Ò+IÑJØô
ˆô 	×Ñ˜d HÔ-ô œ2Ÿ6™6 1 a¨Ð+Ó,ˆØ�|‰|‹~ˆÜÚ Ò+FÑGÜ"Ø�A”r—v‘v�¨A¨q¨6¸ôô
ˆô 	×Ñ˜d HÕ-r"   N)r¶   r·   r¸   rË   r»   r"   r    r½   r½     s   „ ó/.r"   r½   c                   óˆ  — e Zd Zd„ Zej
                  j                  dddgddgddgddgfddgddgddgddgfddgddgddgddgfddgddgddgddgfg d¢ddgg d¢g d¢fg d	¢g d¢ddgg d
¢fg d¢g d¢g d¢g d¢fg d¢g d¢dgg d¢fg d¢g d¢dgg d¢fg d¢g d¢g g d¢fddgg ddgddgfddgddgddgddgfg«      d„ «       Zd„ Zy)ÚTestPrivateCategoricalAPIc                 óà  — t        ddddt        j                  g«      }t        j                  g d¢d¬«      }t	        j
                  |j                  |«       d}t        j                  t        |¬«      5  t        j                  g d	¢d¬«      |_        d d d «       |j                  }t        j                  t        d
¬«      5  d|d<   d d d «       d|d<   t        j                  g d¢d¬«      }t	        j
                  |j                  |«       d|j                  d<   t        j                  g d¢d¬«      }t	        j
                  |j                  |«       y # 1 sw Y   ŒÅxY w# 1 sw Y   ŒœxY w)Nr   r   r   )r   r2   r3   r   r{   r~   r5   z6property 'codes' of 'Categorical' object has no setterr%   )r   r2   r3   r   r2   z#assignment destination is read-onlyr2   rM   )r   r2   r3   r   r   r3   )r   r2   r3   r   r3   )r   rA   r“   rB   r   r?   r}   r*   r+   r,   rO   r   )r   r   r†   r.   r}   s        r    Útest_codes_immutablez.TestPrivateCategoricalAPI.test_codes_immutable³  s  € ä˜˜c 3¨¬R¯V©VÐ4Ó5ˆÜ�h‰hÒ'¨vÔ6ˆÜ
×#Ñ# A§G¡G¨SÔ1ð GˆÜ�]‰]œ>°Ô5ñ 	>Ü—h‘hš°fÔ=ˆAŒG÷	>ð —‘ˆä�]‰]œ:Ð-RÔSñ 	ØˆE�!‰H÷	ð
 ˆˆ!‰Ü�h‰h’¨fÔ5ˆÜ
×#Ñ# A§G¡G¨SÔ1Øˆ�‰�‰Ü�h‰h’¨fÔ5ˆÜ
×#Ñ# A§G¡G¨SÕ1÷!	>ð 	>ú÷	ð 	ús   Á5EÃE$ÅE!Å$E-zcodes, old, new, expectedr   r2   r   r   )r   r2   r   r2   r   )r   r2   r3   r3   )r   r2   r{   r{   )r   r2   r{   )r{   r   r{   rX   )r{   r{   r{   r{   c                 ó  — t        j                  |t         j                  ¬«      }t        j                  |t         j                  ¬«      }t        |«      }t        |«      }t	        |||d¬«      }t        j                  ||«       y )Nr5   T©rb   )rA   Ú
asanyarrayr~   r   r
   r   r?   )r   r}   re   rf   rI   rH   s         r    Útest_recode_to_categoriesz3TestPrivateCategoricalAPI.test_recode_to_categoriesÍ  s^   € ô$ —‘˜e¬2¯7©7Ô3ˆÜ—=‘= ´·±Ô9ˆÜ�C‹jˆÜ�C‹jˆÜ& u¨c°3¸TÔBˆÜ
×#Ñ# F¨HÕ5r"   c                 óü   — d}t        j                  |«      }t        |«      }t        j                  |dz
  ddt         j                  ¬«      }t        |«      }t	        |||d¬«      }t        j                  ||«       y )Niè  r2   r{   r5   TrÑ   )rA   Úaranger   Úint16r
   r   r?   )r   ÚNr}   re   rI   rf   rH   s          r    Útest_recode_to_categories_largez9TestPrivateCategoricalAPI.test_recode_to_categories_largeæ  sb   € ØˆÜ—	‘	˜!“ˆÜ�E‹lˆÜ—9‘9˜Q ™U B¨´"·(±(Ô;ˆÜ�H‹oˆÜ& u¨c°3¸TÔBˆÜ
×#Ñ# F¨HÕ5r"   N)	r¶   r·   r¸   rÏ   r*   r¹   rº   rÓ   rØ   r»   r"   r    rÍ   rÍ   ²  s/  „ ò2ð4 ‡[�[×ÑØ#à�ˆV�c˜3�Z # s ¨a°¨VÐ4Ø�ˆV�c˜3�Z # s ¨a°¨VÐ4Ø�ˆV�c˜3�Z # s ¨a°¨VÐ4Ø�ˆV�c˜3�Z # s ¨a°¨VÐ4Ú˜C ˜:¢ºÐEÚš?¨S°#¨JºÐGÚšª/º:ÐFÚš¨3¨%²Ð=Úš¨3¨%²Ð>Úš¨"ªlÐ;Ø�"ˆX�r˜C ˜:¨¨B xÐ0Ø�ˆV�c˜3�Z # s ¨a°¨VÐ4ð	
óñ"6ó#ð"6ó6r"   rÍ   )rq   ÚnumpyrA   r*   Úpandas.errorsr   Úpandasr   r   r   r   r   r	   Úpandas._testingÚ_testingr   Úpandas.core.arrays.categoricalr
   r   r½   rÍ   r»   r"   r    ú<module>rß      sE   ðÛ 	ã Û å (÷÷ õ Ý @÷h,ñ h,÷V0.ñ 0.÷f;6ò ;6r"   