§
    Õ! h§M  ã                   ó°   — 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dS )é    N)ÚPY311)ÚCategoricalÚCategoricalIndexÚ	DataFrameÚIndexÚSeriesÚStringDtype)Úrecode_for_categoriesc                   ó  — e Zd Zd„ Zd„ Zd„ Zd„ Zej         	                    dg d¢ddgg¦  «        d	„ ¦   «         Z
d
„ Zd„ Zd„ Zej         	                    ddgg d¢g d¢g¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Ze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¦  «        ej         	                    dddg¦  «        d „ ¦   «         ¦   «         Zd!„ Zd"„ Zd#„ Zej         	                    d$d%gd%ej        gd%d%d%gg¦  «        d&„ ¦   «         Zd'„ Zd(S ))ÚTestCategoricalAPIc                 óÖ   — t          t          d¦  «        d¬¦  «        }d}t          j        t          |¬¦  «        5  |                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )NÚacbF©Úorderedz5Categorical.to_list is deprecated and will be removed©Úmatch)r   ÚlistÚtmÚassert_produces_warningÚFutureWarningÚto_list)ÚselfÚcat1Úmsgs      úbc:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\pandas/tests/arrays/categorical/test_api.pyÚtest_to_list_deprecatedz*TestCategoricalAPI.test_to_list_deprecated   s¦   € å�4 ™;œ;°Ð6Ñ6Ô6ˆØEˆÝÔ'­¸SÐAÑAÔAð 	ð 	Ø�LŠL‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ¼AÁA"Á%A"c                 ó¾  — 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 ‚d S )	Nr   Fr   ©ÚaÚbÚcÚbca©Ú
categoriesr   )r    r!   r   T)r   r   r   Úassert_index_equalr$   r   r   )r   r   Úcat2Úcat3Úcat4s        r   Útest_ordered_apiz#TestCategoricalAPI.test_ordered_api   s2  € å�4 ™;œ;°Ð6Ñ6Ô6ˆÝ
Ô˜dœo­u°_°_°_Ñ/EÔ/EÑFÔFÐFØ”<ÐÐÐå�4 ™;œ;µ4¸±;´;ÈÐNÑNÔNˆÝ
Ô˜dœo­u°_°_°_Ñ/EÔ/EÑFÔFÐFØ”<ÐÐÐå�4 ™;œ;°Ð5Ñ5Ô5ˆÝ
Ô˜dœo­u°_°_°_Ñ/EÔ/EÑFÔFÐFØŒ|ÐÐˆ|å�4 ™;œ;µ4¸±;´;ÈÐMÑMÔMˆÝ
Ô˜dœo­u°_°_°_Ñ/EÔ/EÑFÔFÐFØŒ|ÐÐˆ|ÐÐó    c                 ó  — t          g d¢d¬¦  «        }|                     ¦   «         }|j        rJ ‚|                     ¦   «         }|j        sJ ‚|                     d¦  «        j        sJ ‚|                     d¦  «        j        rJ ‚t
          rdnd}t          j        t          |¬¦  «        5  d|_        d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  d|_        d d d ¦  «         d S # 1 swxY w Y   d S )N©r   r    r!   r   Tr   Fz8property 'ordered' of 'Categorical' object has no setterúcan't set attributer   )	r   Úas_unorderedr   Ú
as_orderedÚset_orderedr   ÚpytestÚraisesÚAttributeError)r   Úcatr&   r   s       r   Útest_set_orderedz#TestCategoricalAPI.test_set_ordered.   s›  € ÝÐ.Ð.Ð.¸Ð=Ñ=Ô=ˆØ×ÒÑ!Ô!ˆØ”<ÐÐÐØ�~Š~ÑÔˆØŒ|ÐÐˆ|à×Ò Ñ%Ô%Ô-Ð-Ð-Ð-Ø×#Ò# EÑ*Ô*Ô2Ð2Ð2Ð2õ
 ð'ÐFÐFà&ð 	õ
 Œ]�>°Ð5Ñ5Ô5ð 	ð 	ØˆCŒKð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	åŒ]�>°Ð5Ñ5Ô5ð 	 ð 	 ØˆCŒKð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	 ð 	 s$   Â,C Ã CÃCÃ&C;Ã;C?ÄC?c                 ó–  — t          g d¢¦  «        }|                     g d¢¦  «        }t          j        |                     ¦   «         t          j        g d¢t
          j        ¬¦  «        ¦  «         t          j        |j	        t          g d¢¦  «        ¦  «         t          j        g d¢t
          j        ¬¦  «        }t          j        |                     ¦   «         |¦  «         t          g d¢¦  «        }t          j        |j	        |¦  «         |                     d„ ¦  «        }t          g d¢¦  «        }t          j        ||¦  «         d S )Nr,   ©é   é   é   )r8   r9   r:   r8   ©Údtyper   c                 ó*   — |                       ¦   «         S )N)Úupper)Úxs    r   ú<lambda>z;TestCategoricalAPI.test_rename_categories.<locals>.<lambda>T   s   € °·²±´€ r*   )ÚAÚBÚCrA   )r   Úrename_categoriesr   Úassert_numpy_array_equalÚ	__array__ÚnpÚarrayÚint64r%   r$   r   Úobject_Úassert_categorical_equal)r   r4   ÚresÚexp_catÚresultÚexpecteds         r   Útest_rename_categoriesz)TestCategoricalAPI.test_rename_categoriesC   s-  € ÝÐ.Ð.Ð.Ñ/Ô/ˆð ×#Ò# I I IÑ.Ô.ˆÝ
Ô#Ø�MŠM‰OŒO�RœX l l l½"¼(ÐCÑCÔCñ	
ô 	
ð 	
õ 	Ô˜cœn­e°I°I°IÑ.>Ô.>Ñ?Ô?Ð?å”(Ð/Ð/Ð/µr´zÐBÑBÔBˆÝ
Ô# C§M¢M¡O¤O°WÑ=Ô=Ð=å˜˜˜Ñ(Ô(ˆÝ
Ô˜cœn¨gÑ6Ô6Ð6ð ×&Ò&Ð':Ð':Ñ;Ô;ˆÝÐ3Ð3Ð3Ñ4Ô4ˆÝ
Ô# F¨HÑ5Ô5Ð5Ð5Ð5r*   Únew_categories©r8   r9   r:   é   r8   r9   c                 ó¾   — t          g d¢¦  «        }d}t          j        t          |¬¦  «        5  |                     |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr,   zKnew categories need to have the same number of items as the old categories!r   )r   r1   r2   Ú
ValueErrorrD   ©r   rQ   r4   r   s       r   Ú*test_rename_categories_wrong_length_raisesz=TestCategoricalAPI.test_rename_categories_wrong_length_raisesX   s¯   € åÐ.Ð.Ð.Ñ/Ô/ˆðð 	õ Œ]�:¨SÐ1Ñ1Ô1ð 	2ð 	2Ø×!Ò! .Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð 	2ð 	2s   ¯AÁAÁAc                 óÄ   — t          ddg¦  «        }|                     t          ddgddg¬¦  «        ¦  «        }t          ddg¦  «        }t          j        ||¦  «         d S )Nr   r    r   r8   ©Úindex)r   rD   r   r   rK   )r   r!   rN   rO   s       r   Útest_rename_categories_seriesz0TestCategoricalAPI.test_rename_categories_seriesb   se   € å˜˜c˜
Ñ#Ô#ˆØ×$Ò$¥V¨Q°¨F¸3À¸*Ð%EÑ%EÔ%EÑFÔFˆÝ  1˜vÑ&Ô&ˆÝ
Ô# F¨HÑ5Ô5Ð5Ð5Ð5r*   c           	      ó²  — t          g d¢¦  «        }|                     dddddœ¦  «        }t          g d¢¦  «        }t          j        |j        |¦  «         t          g d¢¦  «        }|                     dddœ¦  «        }t          g d¢¦  «        }t          j        |j        |¦  «         t          g d¢¦  «        }|                     ddddd	d
dœ¦  «        }t          g d¢¦  «        }t          j        |j        |¦  «         t          g d¢¦  «        }|                     dddœ¦  «        }t          g d¢¦  «        }t          j        |j        |¦  «         d S )N©r   r    r!   ÚdrS   r:   r9   r8   ©rS   r:   r9   r8   )r   r!   )r8   r    r:   r^   é   é   )r   r    r!   r^   ÚeÚfrR   )rc   Úg)r   rD   r   r   r%   r$   )r   r4   rL   rO   s       r   Útest_rename_categories_dictz.TestCategoricalAPI.test_rename_categories_dicti   su  € åÐ.Ð.Ð.Ñ/Ô/ˆØ×#Ò#¨!°!¸!À!Ð$DÐ$DÑEÔEˆÝ˜˜˜Ñ&Ô&ˆÝ
Ô˜cœn¨hÑ7Ô7Ð7õ Ð.Ð.Ð.Ñ/Ô/ˆØ×#Ò#¨!°!Ð$4Ð$4Ñ5Ô5ˆåÐ)Ð)Ð)Ñ*Ô*ˆÝ
Ô˜cœn¨hÑ7Ô7Ð7õ Ð.Ð.Ð.Ñ/Ô/ˆØ×#Ò#¨!°!¸!À!È!ÐRSÐ$TÐ$TÑUÔUˆÝ˜˜˜Ñ&Ô&ˆÝ
Ô˜cœn¨hÑ7Ô7Ð7õ Ð.Ð.Ð.Ñ/Ô/ˆØ×#Ò#¨!°!Ð$4Ð$4Ñ5Ô5ˆåÐ-Ð-Ð-Ñ.Ô.ˆÝ
Ô˜cœn¨hÑ7Ô7Ð7Ð7Ð7r*   c                 ó  — t          g d¢d¬¦  «        }|                     ¦   «         }t          g d¢g d¢d¬¦  «        }|                     g d¢¦  «        }t          j        ||¦  «         t          j        ||¦  «         d S )Nr,   Tr   ©r!   r    r   r#   )r   ÚcopyÚreorder_categoriesr   rK   ©r   r4   ÚoldÚnewrL   s        r   Útest_reorder_categoriesz*TestCategoricalAPI.test_reorder_categories„   s’   € ÝÐ.Ð.Ð.¸Ð=Ñ=Ô=ˆØ�hŠh‰jŒjˆÝØ Ð Ð ¨_¨_¨_Àdð
ñ 
ô 
ˆð ×$Ò$ _ _ _Ñ5Ô5ˆå
Ô# C¨Ñ-Ô-Ð-å
Ô# C¨Ñ-Ô-Ð-Ð-Ð-r*   r   ©r   r    r^   r]   c                 óÂ   — t          g d¢d¬¦  «        }d}t          j        t          |¬¦  «        5  |                     |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr,   Tr   z=items in new_categories are not the same as in old categoriesr   )r   r1   r2   rU   ri   rV   s       r   Útest_reorder_categories_raisesz1TestCategoricalAPI.test_reorder_categories_raises‘   s¯   € õ Ð.Ð.Ð.¸Ð=Ñ=Ô=ˆØMˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	3ð 	3Ø×"Ò" >Ñ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð 	3ð 	3s   ±AÁAÁAc                 óÊ  — t          g d¢d¬¦  «        }|                     ¦   «         }t          g d¢g d¢d¬¦  «        }|                     d¦  «        }t          j        ||¦  «         t          j        ||¦  «         |                     dg¦  «        }t          j        ||¦  «         t          j        ||¦  «         t          t          d¦  «        d¬¦  «        }t          t          d¦  «        t          d¦  «        d¬¦  «        }|                     t          dd	g¦  «        ¦  «        }t          j        ||¦  «         |                     t          j        dd	g¦  «        ¦  «        }t          j        ||¦  «         |                     t          dd	g¦  «        ¦  «        }t          j        ||¦  «         |                     dd	g¦  «        }t          j        ||¦  «         d S )
Nr,   Tr   r]   r#   r^   ÚabcÚabcderb   )
r   rh   Úadd_categoriesr   rK   r   r   rG   rH   r   )r   r4   rk   rl   rL   rO   s         r   Útest_add_categoriesz&TestCategoricalAPI.test_add_categoriesŸ   sÈ  € ÝÐ.Ð.Ð.¸Ð=Ñ=Ô=ˆØ�hŠh‰jŒjˆÝØ Ð Ð Ð-AÐ-AÐ-AÈ4ð
ñ 
ô 
ˆð × Ò  Ñ%Ô%ˆÝ
Ô# C¨Ñ-Ô-Ð-Ý
Ô# C¨Ñ-Ô-Ð-à× Ò  # Ñ'Ô'ˆÝ
Ô# C¨Ñ-Ô-Ð-Ý
Ô# C¨Ñ-Ô-Ð-õ �$˜u™+œ+¨tÐ4Ñ4Ô4ˆÝ�t E™{œ{µt¸G±}´}ÈdÐSÑSÔSˆà× Ò ¥¨¨c¨
Ñ!3Ô!3Ñ4Ô4ˆÝ
Ô# C¨Ñ2Ô2Ð2Ø× Ò ¥¤¨3°¨*Ñ!5Ô!5Ñ6Ô6ˆÝ
Ô# C¨Ñ2Ô2Ð2Ø× Ò ¥¨¨S zÑ!2Ô!2Ñ3Ô3ˆÝ
Ô# C¨Ñ2Ô2Ð2Ø× Ò  # s Ñ,Ô,ˆÝ
Ô# C¨Ñ2Ô2Ð2Ð2Ð2r*   c                 óè   — t          g d¢d¬¦  «        }t          j        d¦  «        }t          j        t
          |¬¦  «        5  |                     dg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr]   Tr   z5new categories must not include old categories: {'d'}r   r^   )r   ÚreÚescaper1   r2   rU   rt   )r   r4   r   s      r   Ú#test_add_categories_existing_raisesz6TestCategoricalAPI.test_add_categories_existing_raises»   sº   € åÐ.Ð.Ð.¸Ð=Ñ=Ô=ˆÝŒiÐOÑPÔPˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	&ð 	&Ø×Ò ˜uÑ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð 	&ð 	&s   ÁA'Á'A+Á.A+c                 ó¢  — t          t          ddgd¬¦  «        ¦  «        }t          dgd¬¦  «        }|                     |¦  «        }t          t          ddgd¬¦  «        t          g d¢d¬¦  «        ¬¦  «        }t          j        ||¦  «         t          t          g d¢t          ¦   «         ¬¦  «        ¦  «        }t          d	gt          ¦   «         ¬¦  «        }|                     |¦  «        }t          t          g d¢t          ¦   «         ¬¦  «        t          g d
¢t          ¦   «         ¬¦  «        ¬¦  «        }t          j        ||¦  «         d S )Nr8   r9   ÚInt64r;   rS   )r8   r9   rS   ©r$   ©r   r    r   r^   rn   )r   r   rt   r   rK   r	   )r   r4   ÚserrN   rO   s        r   Ú,test_add_categories_losing_dtype_informationz?TestCategoricalAPI.test_add_categories_losing_dtype_informationÂ   sC  € å�& ! Q ¨wÐ7Ñ7Ô7Ñ8Ô8ˆÝ�a�S Ð(Ñ(Ô(ˆØ×#Ò# CÑ(Ô(ˆÝÝ�A�q�6 Ð)Ñ)Ô)µf¸Y¸Y¸YÈgÐ6VÑ6VÔ6Vð
ñ 
ô 
ˆõ 	Ô# F¨HÑ5Ô5Ð5å�&   ½¹¼ÐFÑFÔFÑGÔGˆÝ�c�U¥+¡-¤-Ð0Ñ0Ô0ˆØ×#Ò# CÑ(Ô(ˆÝÝ�?�?�?­+©-¬-Ð8Ñ8Ô8Ý˜o˜o˜oµ[±]´]ÐCÑCÔCð
ñ 
ô 
ˆõ 	Ô# F¨HÑ5Ô5Ð5Ð5Ð5r*   c                 óR	  — t          g d¢d¬¦  «        }t          g d¢¦  «        }t          j        g d¢t          j        ¬¦  «        }|                     g d¢¦  «        }|                     g d¢¦  «        }t          j        |j        |¦  «         t          j	        | 
                    ¦   «         |¦  «         t          g d¢¦  «        }t          j        |j        |¦  «         t          j	        | 
                    ¦   «         |¦  «         t          g d¢d¬¦  «        }|                     dg¦  «        }t          j	        |j        t          j        g d¢t          j        ¬¦  «        ¦  «         |                     g d	¢¦  «        }t          j	        |j        t          j        g d
¢t          j        ¬¦  «        ¦  «         t          j        |j        t          g d	¢¦  «        ¦  «         |                     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        |¦  «        |¦  «         |                     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        |¦  «        |¦  «         |                     ¦   «         dk    sJ ‚|                     ¦   «         dk    sJ ‚|                     g d¢d¬¦  «        }|j        rJ ‚t          j	        t          j        |¦  «        t          j        |¦  «        ¦  «         |                     d¦  «                             g d¢¦  «        }|j        rJ ‚t          j	        t          j        |¦  «        t          j        |¦  «        ¦  «         d S )Nr,   Tr   rg   r;   r   r   )r   éÿÿÿÿr�   r   rn   )r   r8   r�   r   r]   )r8   r9   r:   rS   r8   rR   r#   )r   r8   r9   r:   r   r_   )r:   r9   r8   r   r:   rS   r8   F)r   r   rG   rH   rJ   Úset_categoriesr   r%   r$   rE   rF   ÚcodesÚint8Ú_codesrI   ÚasarrayÚminÚmaxr   r0   )	r   r4   Úexp_categoriesÚ
exp_valuesrL   Úexp_categories_backr!   ÚexpÚc2s	            r   Útest_set_categoriesz&TestCategoricalAPI.test_set_categoriesÕ   sý  € ÝÐ.Ð.Ð.¸Ð=Ñ=Ô=ˆÝ˜˜˜Ñ/Ô/ˆÝ”XÐ2Ð2Ð2½"¼*ÐEÑEÔEˆ
à× Ò    Ñ1Ô1ˆØ× Ò    Ñ1Ô1ˆå
Ô˜cœn¨nÑ=Ô=Ð=Ý
Ô# C§M¢M¡O¤O°ZÑ@Ô@Ð@å# O O OÑ4Ô4ÐÝ
Ô˜cœnÐ.AÑBÔBÐBÝ
Ô# C§M¢M¡O¤O°ZÑ@Ô@Ð@õ Ð.Ð.Ð.¸Ð=Ñ=Ô=ˆØ× Ò  # Ñ'Ô'ˆÝ
Ô# C¤I­r¬x¸¸¸ÍbÌgÐ/VÑ/VÔ/VÑWÔWÐWð × Ò    Ñ1Ô1ˆÝ
Ô# C¤I­r¬x¸¸¸ÍRÌWÐ/UÑ/UÔ/UÑVÔVÐVÝ
Ô˜cœn­e°O°O°OÑ.DÔ.DÑEÔEÐEð × Ò Ð!5Ð!5Ð!5Ñ6Ô6ˆÝÐ3Ð3Ð3Ñ4Ô4ˆÝ
Ô˜cœn¨nÑ=Ô=Ð=õ ˜˜˜°L°L°LÈ$ÐOÑOÔOˆÝ
Ô# A¤H­b¬h°°°ÍbÌgÐ.VÑ.VÔ.VÑWÔWÐWÝ
Ô˜aœl­E°,°,°,Ñ,?Ô,?Ñ@Ô@Ð@åŒh���­b¬hÐ7Ñ7Ô7ˆÝ
Ô#¥B¤J¨q¡M¤M°3Ñ7Ô7Ð7ð ×Ò˜\˜\˜\Ñ*Ô*ˆõ 	Ô# A¤H­b¬h°°°ÍbÌgÐ.VÑ.VÔ.VÑWÔWÐWõ 	Ô˜aœl­E°,°,°,Ñ,?Ô,?Ñ@Ô@Ð@õ Œh���­b¬hÐ7Ñ7Ô7ˆÝ
Ô#¥B¤J¨q¡M¤M°3Ñ7Ô7Ð7Ø�uŠu‰wŒw˜!Š|ˆ|ˆ|ˆ|Ø�uŠu‰wŒw˜!Š|ˆ|ˆ|ˆ|ð ×Ò˜l˜l˜l°EÐÑ:Ô:ˆØ”:ÐÐˆ~å
Ô#¥B¤J¨q¡M¤Mµ2´:¸b±>´>ÑBÔBÐBð �]Š]˜5Ñ!Ô!×0Ò0°°°Ñ>Ô>ˆØ”:ÐÐˆ~å
Ô#¥B¤J¨q¡M¤Mµ2´:¸b±>´>ÑBÔBÐBÐBÐBr*   z"values, categories, new_categoriesr}   r    )r    r   r   r   )r    r   r!   r^   rb   r   TFc                 ó    — t          ||¦  «        }t          |||¦  «        }|                     ||¬¦  «        }t          j        ||¦  «         d S )Nr   )r   r‚   r   rK   )r   Úvaluesr$   rQ   r   r!   rO   rN   s           r   Útest_set_categories_manyz+TestCategoricalAPI.test_set_categories_many  sU   € õ6 ˜ 
Ñ+Ô+ˆÝ˜v ~°wÑ?Ô?ˆØ×!Ò! .¸'Ð!ÑBÔBˆÝ
Ô# F¨HÑ5Ô5Ð5Ð5Ð5r*   c                 ó¸   — t          ddg¦  «        }|                     dgd¬¦  «        }t          dt          j        g¦  «        }t	          j        ||¦  «         d S )NrA   rB   T)Úrename)r   r‚   rG   Únanr   rK   )r   r4   rN   rO   s       r   Útest_set_categories_rename_lessz2TestCategoricalAPI.test_set_categories_rename_less7  sY   € å˜3 ˜*Ñ%Ô%ˆØ×#Ò# S E°$Ð#Ñ7Ô7ˆÝ ¥R¤V˜}Ñ-Ô-ˆÝ
Ô# F¨HÑ5Ô5Ð5Ð5Ð5r*   c                 óŽ  — t          g d¢g d¢¬¦  «        }|                     g d¢¦  «         t          g d¢t          d¦  «        ¬¦  «        }t          j        ||¦  «         t          g d¢g d¢¬¦  «        }|                     g d¢d¬¦  «         t          g d¢t          d¦  «        ¬¦  «        }t          j        ||¦  «         d S )	Nr   r]   r|   )r   r!   r^   rb   )r   r!   r^   ÚacdeT)Úfastpath)r   Ú_set_categoriesr   r   rK   )r   r4   rO   s      r   Útest_set_categories_privatez.TestCategoricalAPI.test_set_categories_private>  sÝ   € Ý˜/˜/˜/Ð6JÐ6JÐ6JÐKÑKÔKˆØ×ÒÐ0Ð0Ð0Ñ1Ô1Ð1Ý˜˜˜½4À¹<¼<ÐHÑHÔHˆÝ
Ô# C¨Ñ2Ô2Ð2õ ˜/˜/˜/Ð6JÐ6JÐ6JÐKÑKÔKˆØ×ÒÐ0Ð0Ð0¸4ÐÑ@Ô@Ð@Ý˜˜˜½4À¹<¼<ÐHÑHÔHˆÝ
Ô# C¨Ñ2Ô2Ð2Ð2Ð2r*   c                 ó–  — t          g d¢d¬¦  «        }|                     ¦   «         }t          ddt          j        dgddgd¬¦  «        }|                     d¦  «        }t          j        ||¦  «         t          j        ||¦  «         |                     dg¦  «        }t          j        ||¦  «         t          j        ||¦  «         d S )Nr,   Tr   r   r    r#   r!   )r   rh   rG   r”   Úremove_categoriesr   rK   rj   s        r   Útest_remove_categoriesz)TestCategoricalAPI.test_remove_categoriesJ  sÆ   € ÝÐ.Ð.Ð.¸Ð=Ñ=Ô=ˆØ�hŠh‰jŒjˆÝ˜3 ¥R¤V¨SÐ1¸sÀC¸jÐRVÐWÑWÔWˆà×#Ò# CÑ(Ô(ˆÝ
Ô# C¨Ñ-Ô-Ð-Ý
Ô# C¨Ñ-Ô-Ð-à×#Ò# S EÑ*Ô*ˆÝ
Ô# C¨Ñ-Ô-Ð-Ý
Ô# C¨Ñ-Ô-Ð-Ð-Ð-r*   Úremovalsr!   c                 óâ   — t          g d¢¦  «        }t          j        d¦  «        }t          j        t
          |¬¦  «        5  |                     |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr}   z-removals must all be in old categories: {'c'}r   )r   rw   rx   r1   r2   rU   rœ   )r   rž   r4   Úmessages       r   Útest_remove_categories_raisesz0TestCategoricalAPI.test_remove_categories_raisesW  s°   € å˜/˜/˜/Ñ*Ô*ˆÝ”)ÐKÑLÔLˆåŒ]�:¨WÐ5Ñ5Ô5ð 	,ð 	,Ø×!Ò! (Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 	,ð 	,s   ÁA$Á$A(Á+A(c           	      óX  — t          g d¢g d¢¬¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          j        |j        |¦  «         |                     ¦   «         }t          j        |j        |¦  «         t          j        |j        |¦  «         t          dddt          j        gg d¢¬¦  «        }|                     ¦   «         }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¦  «        ¬¦  «        }|                     ¦   «         }t          j        |j        t          g d¢¦  «        ¦  «         t          j        g d¢t          j	        ¬
¦  «        }t          j
        |j        |¦  «         |                     ¦   «         |k    sJ ‚t          d¦  «        }	t          j                             d¦  «                             |	d d d…         d¦  «                             d¦  «        }t          j        |t          j                             d¦  «                             t%          |¦  «        d¦  «        <   t          ||	¬¦  «        }|                     ¦   «         }|                     ¦   «         |                     ¦   «         k    sJ ‚d S )N)r   r    r!   r^   r   )r   r    r!   r^   rb   r|   r]   r   r    r!   r   )r   r8   r9   r�   r;   ÚFÚDrB   ÚABCDEFG)r�   r$   )rB   r¤   r£   )r9   r�   r8   r   r8   r9   r�   Úabcdefghijklmnopqrstuvwxyzr9   i'  Úobjectéd   )r   r   r   r%   r$   Úremove_unused_categoriesrG   r”   rH   r„   rE   rƒ   r   ÚtolistÚrandomÚdefault_rngÚchoiceÚastypeÚlen)
r   r!   Úexp_categories_allÚexp_categories_droppedrL   Ú	exp_codesÚvalr4   ÚoutÚalphas
             r   Útest_remove_unused_categoriesz0TestCategoricalAPI.test_remove_unused_categories_  sº  € ÝÐ1Ð1Ð1Ð>WÐ>WÐ>WÐXÑXÔXˆÝ"Ð#<Ð#<Ð#<Ñ=Ô=ÐÝ!&Ð';Ð';Ð';Ñ!<Ô!<Ðå
Ô˜aœlÐ,>Ñ?Ô?Ð?à×(Ò(Ñ*Ô*ˆÝ
Ô˜cœnÐ.DÑEÔEÐEÝ
Ô˜aœlÐ,>Ñ?Ô?Ð?õ ˜˜c 3­¬Ð/Ð<UÐ<UÐ<UÐVÑVÔVˆØ×(Ò(Ñ*Ô*ˆÝ
Ô˜cœn­eµB´H¸_¸_¸_Ñ4MÔ4MÑ.NÔ.NÑOÔOÐOÝ”H˜]˜]˜]µ"´'Ð:Ñ:Ô:ˆ	Ý
Ô# C¤I¨yÑ9Ô9Ð9Ý
Ô˜aœlÐ,>Ñ?Ô?Ð?à•B”F˜C  c¨3µ´Ð7ˆÝ µ°i±´ÐAÑAÔAˆØ×*Ò*Ñ,Ô,ˆÝ
Ô˜cœn­e°O°O°OÑ.DÔ.DÑEÔEÐEÝ”HÐ4Ð4Ð4½B¼GÐDÑDÔDˆ	Ý
Ô# C¤I¨yÑ9Ô9Ð9Ø�zŠz‰|Œ|˜sÒ"Ð"Ð"Ð"åÐ1Ñ2Ô2ˆÝŒi×#Ò# AÑ&Ô&×-Ò-¨e°C°C°a°C¬j¸%Ñ@Ô@×GÒGÈÑQÔQˆÝ>@¼fˆ�BŒI×!Ò! !Ñ$Ô$×+Ò+­C°©H¬H°cÑ:Ô:Ñ;å °Ð7Ñ7Ô7ˆØ×*Ò*Ñ,Ô,ˆØ�zŠz‰|Œ|˜sŸzšz™|œ|Ò+Ð+Ð+Ð+Ð+Ð+r*   N)Ú__name__Ú
__module__Ú__qualname__r   r)   r5   rP   r1   ÚmarkÚparametrizerW   r[   re   rm   rp   ru   ry   r   rŽ   r‘   r•   rš   r�   rG   r”   r¡   r¶   © r*   r   r   r      s=  € € € € € ðð ð ðð ð ð$ ð  ð  ð*6ð 6ð 6ð* „[×ÒÐ-°°°¸qÀ!¸fÐ/EÑFÔFð2ð 2ñ GÔFð2ð6ð 6ð 6ð8ð 8ð 8ð6.ð .ð .ð „[×ÒØàˆEØˆOˆOØ Ð Ð ð	
ñô ð3ð 3ñô ð3ð3ð 3ð 3ð8&ð &ð &ð6ð 6ð 6ð&@Cð @Cð @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 „[×Ò˜Y¨¨u¨Ñ6Ô6ð6ð 6ñ 7Ô6ñ3ô ð46ð6ð 6ð 6ð
3ð 
3ð 
3ð.ð .ð .ð „[×Ò˜Z¨3¨%°#°r´v°ÀÀcÈ3ÀZÐ)PÑQÔQð,ð ,ñ RÔQð,ð!,ð !,ð !,ð !,ð !,r*   r   c                   ó   — e Zd Zd„ ZdS )ÚTestCategoricalAPIWithFactorc                 óâ  — t          g d¢d¬¦  «        }|                     ¦   «         }|j        sJ ‚t          g d¢d|j        ¬¦  «        }t	          g d¢g d¢d	œ|¬
¦  «        }t          j        ||¦  «         |                     ¦   «         }|                     g d¢¦  «        }|                     ¦   «         }t          t          d¦  «        |j        d¬¦  «        }t	          g d¢g d¢d	œ|¬
¦  «        }t          j        ||¦  «         t          g d¢¦  «        }|                     ¦   «         }t          g d¢|j        d¬¦  «        }t	          g d¢g d¢d	œ|¬
¦  «        }t          j        ||¦  «         t          t          j        dddg¦  «        }|                     ¦   «         }t	          g d¢g d¢d	œt          ddt          j        gddgd¬¦  «        ¬
¦  «        }t          j        ||¦  «         d S )N)r   r    r    r   r   r!   r!   r!   Tr   r   r$   )Únamer   )r:   r9   r:   )ç      Ø?ç      Ð?rÁ   )ÚcountsÚfreqsrY   r]   Úabcd)r   rÀ   )r:   r9   r:   r   )rÁ   rÂ   rÁ   r   )r8   r9   r:   r8   r9   r:   r:   r9   r8   r8   r8   r7   )r`   r:   r:   )g]tÑEÝ?çtÑE]tÑ?rÆ   r8   r9   )r8   r9   r8   )rÂ   g      à?rÂ   )r$   rÀ   )r   Údescriber   r   r   r   Úassert_frame_equalrh   r‚   r   rG   r”   )r   ÚfactorÚdescÚ	exp_indexrO   r4   s         r   Útest_describez*TestCategoricalAPIWithFactor.test_describe„  sH  € ÝÐEÐEÐEÈtÐTÑTÔTˆà�ŠÑ Ô ˆØŒ~ÐÐˆ~Ý$ØˆOˆO ,¸¼ð
ñ 
ô 
ˆ	õ Ø �y�yÐ+FÐ+FÐ+FÐGÐGÈyð
ñ 
ô 
ˆõ 	Ô˜d HÑ-Ô-Ð-ð �kŠk‰mŒmˆØ× Ò Ð!5Ð!5Ð!5Ñ6Ô6ˆØ�|Š|‰~Œ~ˆå$Ý�‰LŒL &¤.°|ð
ñ 
ô 
ˆ	õ Ø#�|�|Ð.LÐ.LÐ.LÐMÐMØð
ñ 
ô 
ˆõ 	Ô˜d HÑ-Ô-Ð-õ Ð;Ð;Ð;Ñ<Ô<ˆØ�|Š|‰~Œ~ˆÝ$ Y Y Y¸¼È,ÐWÑWÔWˆ	ÝØ �y�yÐ+IÐ+IÐ+IÐJÐJØð
ñ 
ô 
ˆõ 	Ô˜d HÑ-Ô-Ð-õ �2œ6 1 a¨Ð+Ñ,Ô,ˆØ�|Š|‰~Œ~ˆÝØ �y�yÐ+FÐ+FÐ+FÐGÐGÝ"Ø�A•r”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                             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dS )ÚTestPrivateCategoricalAPIc                 óÀ  — t          ddddt          j        g¦  «        }t          j        g d¢d¬¦  «        }t	          j        |j        |¦  «         t          rdnd}t          j	        t          |¬	¦  «        5  t          j        g d
¢d¬¦  «        |_        d d d ¦  «         n# 1 swxY w Y   |j        }t          j	        t          d¬	¦  «        5  d|d<   d d d ¦  «         n# 1 swxY w Y   d|d<   t          j        g d¢d¬¦  «        }t	          j        |j        |¦  «         d|j        d<   t          j        g d¢d¬¦  «        }t	          j        |j        |¦  «         d S )Nr   r    r!   )r   r8   r9   r   r�   r„   r;   z6property 'codes' of 'Categorical' object has no setterr-   r   )r   r8   r9   r   r8   z#assignment destination is read-onlyr8   rS   )r   r8   r9   r   r   r9   )r   r8   r9   r   r9   )r   rG   r”   rH   r   rE   rƒ   r   r1   r2   r3   rU   r…   )r   r!   rŒ   r   rƒ   s        r   Útest_codes_immutablez.TestPrivateCategoricalAPI.test_codes_immutable·  sÝ  € å˜˜c 3¨­R¬VÐ4Ñ5Ô5ˆÝŒhÐ'Ð'Ð'¨vÐ6Ñ6Ô6ˆÝ
Ô# A¤G¨SÑ1Ô1Ð1õ
 ð'ÐDÐDà&ð 	õ
 Œ]�>°Ð5Ñ5Ô5ð 	>ð 	>Ý”h˜˜˜°fÐ=Ñ=Ô=ˆAŒGð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð ”ˆåŒ]�:Ð-RÐSÑSÔSð 	ð 	ØˆE�!‰Hð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð
 ˆˆ!‰ÝŒh���¨fÐ5Ñ5Ô5ˆÝ
Ô# A¤G¨SÑ1Ô1Ð1ØˆŒ�‰ÝŒh���¨fÐ5Ñ5Ô5ˆÝ
Ô# A¤G¨SÑ1Ô1Ð1Ð1Ð1s$   Á7B!Â!B%Â(B%ÃC Ã C$Ã'C$zcodes, old, new, expectedr   r8   r   r    )r   r8   r   r8   r   )r   r8   r9   r9   )r   r8   r�   r�   )r   r8   r�   )r�   r   r�   r^   )r�   r�   r�   r�   c                 ó  — t          j        |t           j        ¬¦  «        }t          j        |t           j        ¬¦  «        }t          |¦  «        }t          |¦  «        }t	          |||¦  «        }t          j        ||¦  «         d S )Nr;   )rG   Ú
asanyarrayr„   r   r
   r   rE   )r   rƒ   rk   rl   rO   rN   s         r   Útest_recode_to_categoriesz3TestPrivateCategoricalAPI.test_recode_to_categoriesÕ  sp   € õ$ ”˜e­2¬7Ð3Ñ3Ô3ˆÝ”= µ´Ð9Ñ9Ô9ˆÝ�C‰jŒjˆÝ�C‰jŒjˆÝ& u¨c°3Ñ7Ô7ˆÝ
Ô# F¨HÑ5Ô5Ð5Ð5Ð5r*   c                 ó  — d}t          j        |¦  «        }t          |¦  «        }t          j        |dz
  ddt           j        ¬¦  «        }t          |¦  «        }t	          |||¦  «        }t          j        ||¦  «         d S )Niè  r8   r�   r;   )rG   Úaranger   Úint16r
   r   rE   )r   ÚNrƒ   rk   rO   rl   rN   s          r   Útest_recode_to_categories_largez9TestPrivateCategoricalAPI.test_recode_to_categories_largeî  sr   € ØˆÝ”	˜!‘”ˆÝ�E‰lŒlˆÝ”9˜Q ™U B¨µ"´(Ð;Ñ;Ô;ˆÝ�H‰oŒoˆÝ& u¨c°3Ñ7Ô7ˆÝ
Ô# F¨HÑ5Ô5Ð5Ð5Ð5r*   N)	r·   r¸   r¹   rÐ   r1   rº   r»   rÓ   rØ   r¼   r*   r   rÎ   rÎ   ¶  s®  € € € € € ð2ð 2ð 2ð< „[×ÒØ#à�ˆ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ØˆZˆZ˜˜˜¨/¨/¨/¸:¸:¸:ÐFØˆZˆZ˜˜˜¨3¨%°°°Ð=ØˆZˆZ˜˜˜¨3¨%°°°Ð>ØˆZˆZ˜˜˜¨"¨l¨l¨lÐ;Ø�"ˆX�r˜C ˜:¨¨B xÐ0Ø�ˆV�c˜3�Z # s ¨a°¨VÐ4ð	
ñô ð"6ð 6ñ#ô ð"6ð6ð 6ð 6ð 6ð 6r*   rÎ   )rw   ÚnumpyrG   r1   Úpandas.compatr   Úpandasr   r   r   r   r   r	   Úpandas._testingÚ_testingr   Úpandas.core.arrays.categoricalr
   r   r¾   rÎ   r¼   r*   r   ú<module>rß      s7  ðØ 	€	€	€	à Ð Ð Ð Ø €€€à Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð Ø @Ð @Ð @Ð @Ð @Ð @ðl,ð l,ð l,ð l,ð l,ñ l,ô l,ð l,ð^0.ð 0.ð 0.ð 0.ð 0.ñ 0.ô 0.ð 0.ðf?6ð ?6ð ?6ð ?6ð ?6ñ ?6ô ?6ð ?6ð ?6ð ?6r*   